{"id":33242412,"url":"https://github.com/code-n-cloud/ebaysharp","last_synced_at":"2026-05-14T01:33:50.514Z","repository":{"id":323652444,"uuid":"1094141714","full_name":"Code-n-Cloud/EbaySharp","owner":"Code-n-Cloud","description":"EbaySharp is a .NET library that enables you to authenticate and make API calls to eBay. It's used for listing products and processing orders on eBay using C# and .NET","archived":false,"fork":false,"pushed_at":"2025-11-11T11:57:06.000Z","size":1540,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-11T12:15:03.056Z","etag":null,"topics":["csharp","dotnet","dotnet-sdk","ebay","ebay-api","ebay-dotnet-sdk","ebay-sdk","ebay-sdk-dotnet","ebay-sharp","ebaysharp","rest-api","sdk","wrapper-api"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Code-n-Cloud.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-11T10:07:54.000Z","updated_at":"2025-11-11T10:36:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Code-n-Cloud/EbaySharp","commit_stats":null,"previous_names":["code-n-cloud/ebaysharp"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/Code-n-Cloud/EbaySharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Code-n-Cloud%2FEbaySharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Code-n-Cloud%2FEbaySharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Code-n-Cloud%2FEbaySharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Code-n-Cloud%2FEbaySharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Code-n-Cloud","download_url":"https://codeload.github.com/Code-n-Cloud/EbaySharp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Code-n-Cloud%2FEbaySharp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284767947,"owners_count":27060132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-16T02:00:05.974Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet","dotnet-sdk","ebay","ebay-api","ebay-dotnet-sdk","ebay-sdk","ebay-sdk-dotnet","ebay-sharp","ebaysharp","rest-api","sdk","wrapper-api"],"created_at":"2025-11-16T20:01:26.781Z","updated_at":"2025-11-16T20:02:02.475Z","avatar_url":"https://github.com/Code-n-Cloud.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EbaySharp: A .NET wrapper library for eBay REST API.\n\n[![NuGet](https://img.shields.io/nuget/v/Code-n-Cloud.EbaySharp.svg?logo=nuget)](https://www.nuget.org/packages/Code-n-Cloud.EbaySharp/)\n![NuGet Downloads](https://img.shields.io/nuget/dt/Code-n-Cloud.EbaySharp)\n![GitHub last commit (main)](https://img.shields.io/github/last-commit/Code-n-Cloud/EbaySharp/main.svg?logo=github)\n[![Build status](https://img.shields.io/azure-devops/build/cms-365/EbaySharp/9.svg?logo=azuredevops)](https://cms-365.visualstudio.com/EbaySharp/_build?definitionID=9)\n[![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE)\n![GitHub Stars](https://img.shields.io/github/stars/Code-n-Cloud/EbaySharp?style=social)\n\nEbaySharp is a .NET library that enables you to authenticate and make REST API calls to eBay. This .NET SDK used for creating listings and managing orders using C#.\n\n# Installation\n\nEbaySharp is [available on NuGet](https://www.nuget.org/packages/Code-n-Cloud.EbaySharp/). Use the package manager\nconsole in Visual Studio to install it:\n\n```pwsh\nInstall-Package Code-n-Cloud.EbaySharp\n```\n\n# API support\n\n| EbaySharp version | eBay REST API version       |\n| ----------------- | ----------------------------|\n| 9.X.X             | Analytics API v1_beta.0.1   |\n|                   | Browse API v1.20.1          |\n|                   | Feed API v1.3.1             |\n|                   | Finances API v1.17.2        |\n|                   | Fulfillment API v1.20.7     |\n|                   | Identity API v1.1.0         |\n|                   | Inventory API v1.18.2       |\n|                   | Key Management API v1.0.0   |\n|                   | Metadata API v1.9.0         |\n|                   | Stores API v1.0.0           | \n|                   | Taxonomy API v1.1.0         |\n|                   | Trading API (Legacy) v1363  |\n\nEbaySharp currently supports the following Ebay REST APIs:\n\n- Access and Security\n  - [Getting a user access token](#access-and-security)\n- Using the EbaySharp\n  - [Using the EbaySharp](#using-the-EbaySharp)\n  - [Buy](#buy)\n    - [Browse](#browse)\n        - [Item](#item)\n            - [Get item](#get-item)\n  - [Commerce](#commerce)\n    - [Taxonomy](#taxonomy)\n        - [Category Tree](#category-tree)\n            - [Get category suggestions](#get-category-suggestions)\n            - [Get category tree](#get-category-tree)\n            - [Get default category tree Id](#get-default-category-tree-Id)\n  - [Developer](#developer)\n    - [Analytics](#analytics)\n        - [Rate Limit](#rate-limit)\n            - [Get rate limits](#get-rate-limits)\n            - [Get user rate limits](#get-user-rate-limits)\n    - [Key Management](#key-management)\n        - [Signing Key](#signing-key)\n            - [Get signing keys](#get-signing-keys)\n            - [Get signing key](#get-signing-key)\n            - [Create signing key](#create-signing-key)\n  - [Sell](#sell)\n    - [Feed](#feed)\n        - [Task](#task)\n            - [Get result file](#get-result-file)\n    - [Finances](#finances)\n        - [Transaction](#transaction)\n            - [Get transactions](#get-transactions)\n            - [Get transaction summary](#get-transaction-summary)\n        - [Payout](#payout)\n            - [Get payout summary](#get-payout-summary)\n            - [Get payouts](#get-payouts)\n            - [Get payout](#get-payout)\n    - [Fulfillment](#fulfillment)\n        - [Order](#order)\n            - [Get orders by order numbers](#get-orders-by-order-numbers)\n            - [Get orders by filter](#get-orders-by-filter)\n            - [Shipping fulfillment](#shipping-fulfillment)\n                - [Create shipping fulfillment](#create-shipping-fulfillment)\n                - [Get shipping fulfillments](#get-shipping-fulfillments)\n                - [Get shipping fulfillment](#get-shipping-fulfillment)\n    - [Identity](#identity)\n        - [User](#user)\n            - [Get user](#get-user)\n    - [Inventory](#inventory)\n        - [Inventory item](#inventory-item)\n            - [Get inventory items](#get-inventory-items)\n            - [Get inventory item](#get-inventory-item)\n            - [Create or replace inventory item](#create-or-replace-inventory-item)\n            - [Delete inventory item](#delete-inventory-item)\n        - [Inventory location](#inventory-locations)\n            - [Get inventory locations](#get-inventory-locations)\n            - [Get inventory location](#get-inventory-location)\n            - [Create inventory location](#create-inventory-location)\n            - [Delete inventory location](#delete-inventory-location)\n        - [Listing](#listing)\n            - [Bulk migrate listings](#bulk-migrate-listings)\n            - [Create a new listing](#create-a-new-listing)\n            - [Revise a listing](#revise-a-listing)\n            - [Update an active listing](#update-an-active-listing)\n            - [End a listing](#end-a-listing)\n        - [Offer](#offer)\n            - [Get offers](#get-offers)\n            - [Get offer](#get-offer)\n            - [Create offer](#create-offer)\n            - [Update offer](#update-offer)\n            - [Publish offer](#publish-offer)\n            - [Withdraw offer](#withdraw-offer)\n            - [Delete offer](#delete-offer)\n    - [Metadata](#metadata)\n        - [Marketplace](#marketplace)\n            - [Get return policies](#get-return-policies)\n    - [Stores](#stores)\n        - [Store](#store)\n            - [Get store categories](#get-store-categories)\n    - [Trading](#trading)\n        - [Standard Listing Calls](#standard-listing-calls)\n            - [GetSellerList](#getsellerlist)\n            - [GetAccount](#getaccount)\n            \n# Access and Security\n\nCreate an account here https://developer.ebay.com/my/keys and generate keys for production.\n\nFor example: ![alt text](https://github.com/Code-n-Cloud/EbaySharp/blob/main/EbaySharp/Screenshots/keys.png?raw=true)\n\nNavigate to user tokens https://developer.ebay.com/my/auth/?env=production\u0026index=0 and select following options.\n\n![alt text](https://github.com/Code-n-Cloud/EbaySharp/blob/main/EbaySharp/Screenshots/user_token.png?raw=true)\n\nFrom the same page, generate the ebay redirect URL (called RU)\n\n![alt text](https://github.com/Code-n-Cloud/EbaySharp/blob/main/EbaySharp/Screenshots/ru.png?raw=true)\n\nCopy the URL of the field \"Your branded eBay Production Sign In (OAuth)\" and open in a new browser in private mode and also save a copy of the URL for future use.\nLog in with your store user ID and password and you will be redirected to the following page\n\n![alt text](https://github.com/Code-n-Cloud/EbaySharp/blob/main/EbaySharp/Screenshots/consent.png?raw=true)\n\nCopy the URL of the thank you page and assign it to a variable called \"secureURL\" and execute the following function.\n```C#\npublic async Task\u003cstring\u003e GetRefreshToken()\n{\n    string secureURL=\"replace with the URL of the thank you page\";\n    EbaySharp.Controllers.AuthenticationController authenticationController = new EbaySharp.Controllers.AuthenticationController();\n    string refreshToken = await authenticationController.GetRefreshToken(ReplaceYourClientId, ReplaceYourClientSecret, \n        , secureURL, Replace with RU);\n}\n```\n\nThis method returns a refresh token which is valid for 18 months or If you change your user/id or password. You will need to re run this function after 18 months when refresh token has expired. We will use the refresh token and generate an access token.\n\n```C#\nAuthenticationController authenticationController=new AuthenticationController();\nvar clientCredentials = await authenticationController.GetClientCredentials(ReplaceYourClientId, ReplaceYourClientSecret, ReplaceWithRefreshToken , ReplaceWithScopes);\n```\nProvide scope separated by a space, for example https://api.ebay.com/oauth/api_scope https://api.ebay.com/oauth/api_scope/sell.marketing.readonly\nThis method now gives you ClientCredentialsResponse object which contains an access token.\n\n## Using the EbaySharp\n\nInitialize the instance with the access token.\n\n```C#\nEbayController ebayController = new EbayController(clientCredentials.AccessToken);\n```\n# Buy\n\n## Browse\n\nYou can see a list of Browse API methods [here](https://developer.ebay.com/api-docs/buy/browse/resources/methods)\n### Item\n#### Get item\nYou can find more detail [here](https://developer.ebay.com/api-docs/buy/browse/resources/item/methods/getItem)\nYou need to pass an item Id.\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nItem item = await ebayController.GetItem(\"355731616267\");\n```\n# Commerce\n\n## Taxonomy\n\nYou can see a list of Taxonomy API methods [here](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/methods)\n### Category Tree\n#### Get category suggestions\nYou can find more detail [here](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/getCategorySuggestions)\nYou need to pass a Category Tree Id and the product title you are searching categories for.\n```C#\nCategorySuggestionsList categorySuggestionsList = await ebayController.GetCategorySuggestions(15, \"I am a table, look for me\");\n```\n#### Get category tree\nYou can find more detail [here](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/getCategoryTree)\nYou need to pass a Category Tree ID.\n```C#\nCategoryTree categoryTree = await ebayController.GetCategoryTree(15);\n```\n#### Get default category tree Id\nYou can find more detail [here](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/getDefaultCategoryTreeId)\nYou need to pass MarketplaceId, please visit [here](https://developer.ebay.com/api-docs/commerce/taxonomy/static/supportedmarketplaces.html) for supported market places.\n```C#\nCategoryTreeId categoryTreeId = await ebayController.GetDefaultCategoryTreeId(\"EBAY_US\");\n```\n# Developer\n\n## Analytics\n\nYou can see a list of Analytics API methods [here](https://developer.ebay.com/api-docs/developer/analytics/resources/methods)\n### Rate Limits\n\n#### Get rate limits\nYou can find more detail [here](https://developer.ebay.com/api-docs/developer/analytics/resources/rate_limit/methods/getRateLimits)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nRateLimits rateLimits = await ebayController.GetRateLimits();\n```\n#### Get user rate limits\nYou can find more detail [here](https://developer.ebay.com/api-docs/developer/analytics/resources/rate_limit/methods/getUserRateLimits)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nRateLimits rateLimits = await ebayController.GetUserRateLimits();\n```\n## Key Management\n\nYou can see a list of Key management API methods [here](https://developer.ebay.com/api-docs/developer/key-management/resources/methods)\n### Signing key\n\n#### Get signing keys\nYou can find more detail [here](https://developer.ebay.com/api-docs/developer/key-management/resources/signing_key/methods/getSigningKeys)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nSigningKeys signingKeys = await ebayController.GetSigningKeys();\n```\n#### Get signing key\nYou can find more detail [here](https://developer.ebay.com/api-docs/developer/key-management/resources/signing_key/methods/getSigningKey)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nSigningKeys signingKeys = await ebayController.GetSigningKey(string signinKeyId);\n```\n#### Create signing key\nYou can find more detail [here](https://developer.ebay.com/api-docs/developer/key-management/resources/signing_key/methods/createSigningKey)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nsigningKey = await ebayController.CreateSigningKey(SigningKeyCipher.ED25519);\n```\n# Sell\n## Feed\nYou can see a list of Feed API methods [here](https://developer.ebay.com/api-docs/sell/feed/resources/methods)\n### Task\n#### Get result file\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/feed/resources/task/methods/getResultFile)\n```C#\nResultFile resultFile = await ebayController.GetResultFile([TASK_ID]);\nawait resultFile.SaveUncompressed(\"C:\\\\Work\");\n```\n## Finances\nYou can see a list of Finances API methods [here](https://developer.ebay.com/api-docs/sell/finances/resources/methods)\n### Transaction\n\u003cspan style=\"color:red\"\u003eImportant! Due to EU \u0026 UK Payments regulatory requirements, an additional security verification via Digital Signatures is required for certain API calls that are made on behalf of EU/UK sellers, including all Finances API methods.\u003c/span\u003e\n```C#\nSigningKey signingKey = await ebayController.CreateSigningKey(SigningKeyCipher.ED25519);\n```\n#### Get transactions\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/finances/resources/transaction/methods/getTransactions)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nTransactions transactions = await ebayController.GetTransactions(signingKey);\nor\nTransactions transactions = await ebayController.GetTransactions();\n```\n#### Get transaction summary\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/finances/resources/transaction/methods/getTransactionSummary)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nTransactionSummary transactionSummary = await ebayController.GetTransactionSummary(signingKey, \"transactionStatus:{PAYOUT}\");\nor\nTransactionSummary transactionSummary = await ebayController.GetTransactionSummary(\"transactionStatus:{PAYOUT}\");\n```\n### Payout\n#### Get payout summary\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/finances/resources/payout/methods/getPayoutSummary)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nPayoutSummary payoutSummary = await ebayController.GetPayoutSummary(signingKey, \"payoutDate:[2025-02-01T00:00:01.000Z..2025-03-20T00:00:01.000Z]\");\nor\nPayoutSummary payoutSummary = await ebayController.GetPayoutSummary(\"payoutDate:[2025-02-01T00:00:01.000Z..2025-03-20T00:00:01.000Z]\");\n```\n#### Get payouts\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/finances/resources/payout/methods/getPayouts)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nPayoutList payoutList = await ebayController.GetPayouts(signingKey, \"payoutStatus:{SUCCEEDED}\");\nor\nPayoutList payoutList = await ebayController.GetPayouts(\"payoutStatus:{SUCCEEDED}\");\n```\n#### Get payout\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/finances/resources/payout/methods/getPayout)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nPayout payout = await ebayController.GetPayout(signingKey, 6801425208);\nor\nPayout payout = await ebayController.GetPayout(6801425208);\n```\n## Fulfillment\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/fulfillment/resources/methods)\n### Order\n\n\n#### Get orders by order numbers\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/fulfillment/resources/order/methods/getOrders)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nOrders orders = await ebayController.GetOrders(new string[] { \"ORDERNUMBER\", \"ORDERNUMBER\" });\n```\n#### Get orders by filter\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/fulfillment/resources/order/methods/getOrders)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nstring dateRange = $\"{(DateTime.UtcNow.AddDays(-10).ToString(\"yyyy-MM-ddThh:mm:00.0Z\"))}..{(DateTime.UtcNow.ToString(\"yyyy-MM-ddThh:mm:00.0Z\"))}\";\nOrders orders = await ebayController.GetOrders($\"creationdate:[{dateRange}]\",50);\nor\norders = await ebayController.GetOrders($\"lastmodifieddate:[{dateRange}]\");\nor\norders = await ebayController.GetOrders(\"orderfulfillmentstatus:{NOT_STARTED|IN_PROGRESS}\");\n```\n#### Shipping Fulfillment\n##### Create shipping Fulfillment\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/fulfillment/resources/order/shipping_fulfillment/methods/createShippingFulfillment)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nList\u003cEbaySharp.Entities.Develop.SellingApps.OrderManagement.Fulfillment.Order.Order\u003e allOrders = new List\u003cEbaySharp.Entities.Develop.SellingApps.OrderManagement.Fulfillment.Order.Order\u003e();\nint totalCount = 0;\ndo\n{\n    var eBayOrders = await ebayController.GetOrders(\"orderfulfillmentstatus:{NOT_STARTED|IN_PROGRESS}\", 50, totalCount);\n    totalCount = eBayOrders.Total;\n    allOrders.AddRange(eBayOrders.OrderList);\n} while (allOrders.Count \u003c totalCount);\nEbaySharp.Entities.Develop.SellingApps.OrderManagement.Fulfillment.Order.Order order = allOrders.Where(x =\u003e x.OrderId == orderTracking.OrderNumber).FirstOrDefault();\n\n//Execute the following block in a loop If you have multiple tracking numbers.\nawait ebayController.CreateShippingFulfillment(\"Order Number\", new EbaySharp.Entities.Develop.SellingApps.OrderManagement.Fulfillment.Order.ShippingFulfillment.Fulfillment()\n{\n    LineItems = order.LineItems.Select(x =\u003e new EbaySharp.Entities.Develop.SellingApps.OrderManagement.Fulfillment.Order.ShippingFulfillment.LineItem()\n    {\n        LineItemId = x.LineItemId,\n        Quantity = x.Quantity\n    }).ToList(),\n    TrackingNumber = \"Tracking Number\",\n    ShippingCarrierCode = \"Courier Name\",\n    ShippedDate = DateTime.UtcNow.ToString(\"yyyy-MM-ddTHH:mm:ss.0Z\")\n});\n```\n##### Get shipping Fulfillments\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/fulfillment/resources/order/shipping_fulfillment/methods/getShippingFulfillments)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nFulfillments fulfillments = await ebayController.GetShippingFulfillments(\"Order Number\");\n```\n##### Get shipping Fulfillment\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/fulfillment/resources/order/shipping_fulfillment/methods/getShippingFulfillment)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nFulfillment fulfillment = await ebayController.GetShippingFulfillment(\"Order Number\", \"Fulfillment Id\");\n```\n## Identity\nYou can see a list of Identity API methods [here](https://developer.ebay.com/api-docs/commerce/identity/resources/methods)\n### User\n#### Get user\nYou can find more detail [here](https://developer.ebay.com/api-docs/commerce/identity/resources/user/methods/getUser)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nUser user = await ebayController.GetUser();\n\n```\n\n## Inventory\nYou can see a list of Inventory API methods [here](https://developer.ebay.com/api-docs/sell/inventory/resources/methods)\n### Inventory Item\n#### Get inventory items\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/inventory_item/methods/getInventoryItems)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nInventoryItemsList inventoryItemsList = await ebayController.GetInventoryItems(limit, offset);\n\n```\n#### Get inventory item\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/inventory_item/methods/getInventoryItem)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nInventoryItem inventoryItem = await ebayController.GetInventoryItem(SKU);\n\n```\n#### Create or replace inventory item\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/inventory_item/methods/createOrReplaceInventoryItem)\n\n```C#\n\nDictionary\u003cstring, string[]\u003e aspects = new()\n{\n    { \"Brand\", new[] { \"GoPro\" } },\n    { \"Type\", new[] { \"Helmet/Action\" } }\n};\n\nCreatedOrReplacedInventoryItem createdOrReplacedInventoryItem = await ebayController.CreateOrReplaceInventoryItem(\"test-sku-api\", new InventoryItem()\n{\n    Availability = new Availability() { ShipToLocationAvailability = new ShipToLocationAvailability() { Quantity = 3 } },\n    Condition = ConditionEnum.NEW,\n    Product = new Product()\n    {\n        Title = \"Creating from REST API, please don't buy\",\n        Description = \"I am created by the REST API\",\n        Aspects = aspects,\n        Brand = \"GoPro\",\n        MPN = \"CHDHX-401\",\n        ImageUrls = new[] { \"https://i.ebayimg.com/images/g/OKsAAOSwr2VlsUPx/s-l1600.jpg\", \"https://i.ebayimg.com/images/g/a9AAAOSw2IVlsUPz/s-l1600.jpg\" }\n    },\n    //Find locale information here https://developer.ebay.com/api-docs/static/rest-request-components.html#marketpl\n    Locale = \"en-AU\"\n});\n\n```\n#### Delete inventory item\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/inventory_item/methods/deleteInventoryItem)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nawait ebayController.DeleteInventoryItem(SKU);\n\n```\n### Inventory Location\n#### Get inventory locations\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/location/methods/getInventoryLocations)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nInventoryLocations inventoryLocations = await ebayController.GetInventoryLocations(limit, offset);\n\n```\n#### Get inventory location\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/location/methods/getInventoryLocation)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nInventoryLocation inventoryLocation = await ebayController.GetInventoryLocation(merchantLocationKey);\n\n```\n#### Create inventory location\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/location/methods/createInventoryLocation)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nawait ebayController.CreateInventoryLocation(new InventoryLocation()\n{\n    MerchantLocationKey = merchantLocationKey,\n    LocationTypes = new List\u003cStoreTypeEnum\u003e() { StoreTypeEnum.WAREHOUSE },\n    MerchantLocationStatus = StatusEnum.ENABLED,\n    Location = new Location()\n    {\n        Address = new Address()\n        {\n            PostalCode = \"3698\",\n            Country = CountryCodeEnum.AU\n        }\n    }\n});\n\n```\n#### Delete inventory location\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/location/methods/deleteInventoryLocation)\n\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nawait ebayController.DeleteInventoryLocation(merchantLocationKey);\n\n```\n### Listing\n#### Bulk migrate listings\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/listing/methods/bulkMigrateListing)\nIf you have already created your listing using old API (for example .NET C# SDK), you will need to migrate all listing to new REST API. You can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/listing/methods/bulkMigrateListing)\n\n```C#\nBulkMigrateListingRequest bulkMigrateListingRequest = new BulkMigrateListingRequest()\n{\n    Requests = new BulkMigrateListingRequestItem[]\n    {\n        new BulkMigrateListingRequestItem(){ListingId = \"21432432432\" },\n        new BulkMigrateListingRequestItem(){ListingId = \"78658678678\" }\n    }\n});\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nBulkMigrateListingResponse bulkMigrateListingResponse = await ebayController.BulkMigrate(bulkMigrateListingRequest);\n\n```\n#### Create a new listing\nIf you want to create a new listing, you will need to perform following 3 steps.\n\n1 - Create a new inventory item\n```C#\n\nMarketplaceEnum? marketplaceId = MarketplaceEnum.EBAY_AU (for example)\nCurrencyCodeEnum? CurrencyCodeId = CurrencyCodeEnum.AUD (for example)\n\nEbaySharp.Entities.Sell.Inventory.InventoryItem.InventoryItem inventoryItem = new EbaySharp.Entities.Sell.Inventory.InventoryItem.InventoryItem()\n{\n    Condition = ConditionEnum.NEW,\n    Availability = new Availability() { ShipToLocationAvailability = new ShipToLocationAvailability() { Quantity = 3, AllocationByFormat = new AllocationByFormat() { FixedPrice = 3 } } },\n    Product = new EbaySharp.Entities.Sell.Inventory.InventoryItem.Product()\n    {\n        Title = YOUR PRODCT TITLE,\n        Aspects = DICTIONARY OF ASPECTS IN Dictionary\u003cstring, string[]\u003e FORMAT,\n        Brand = PRODUCT BRAND,\n        MPN = SKU/MPN,\n        ImageUrls = ARRAY OF IMAGE URLS\n    },\n    Locale = LOCALE OF YOUR STORE\n};\nCreatedOrReplacedInventoryItem createdOrReplacedInventoryItem = await ebayController.CreateOrReplaceInventoryItem(UNIQUE SKU OF THE PRODUCT, inventoryItem);\n```\n2 - Create a new offer\nYou can see detail [here](https://github.com/Code-n-Cloud/EbaySharp?tab=readme-ov-file#create-offer) \n\n3 - Publish offer\nYou can see detail [here](https://github.com/Code-n-Cloud/EbaySharp?tab=readme-ov-file#publish-offer)\n#### Revise a listing\nIf you want to revise a listing, you will need to perform following 4 steps.\n\n1 - Get an existing inventory item you want to revise\nYou can see detail [here](https://github.com/Code-n-Cloud/EbaySharp?tab=readme-ov-file#get-inventory-item)\n2 - Get an existing offer\n```C3\nOffers offers = await ebayController.GetOffers(product.SKU);\nOffer offer = offers.OfferList.FirstOrDefault();\n```\n3 - Make changes in the inventory item or offer\n```C#\nstring locale = \"en-AU\" //FOR EXAMPLE\ninventoryItem.Product.Title = UPDATED TITLE;\noffer.PricingSummary.Price.Value = NEW PRICE;\noffer.AvailableQuantity = NEW STOCK;\nawait ebayController.CreateOrReplaceInventoryItem(product.SKU, inventoryItem);\nawait ebayController.UpdateOffer(offer.OfferId, offer, locale);\n\n```\n4 - Publish offer\n```C#\nOfferPublished offerPublished = await ebayController.PublishOffer(offer.OfferId, locale);\n```\n#### Update an active listing\nIf you want to update an existing active listing, you will need to perform following 3 steps.\n\n1 - Get an existing inventory item you want to update\nYou can see detail [here](https://github.com/Code-n-Cloud/EbaySharp?tab=readme-ov-file#get-inventory-item)\n2 - Get an existing offer\n```C3\nOffers offers = await ebayController.GetOffers(product.SKU);\nOffer offer = offers.OfferList.FirstOrDefault();\n```\n3 - Make changes in the inventory item or offer\n```C#\nstring locale = \"en-AU\" //FOR EXAMPLE\ninventoryItem.Product.Title = UPDATED TITLE;\noffer.PricingSummary.Price.Value = NEW PRICE;\noffer.AvailableQuantity = NEW STOCK;\nawait ebayController.CreateOrReplaceInventoryItem(product.SKU, inventoryItem);\nawait ebayController.UpdateOffer(offer.OfferId, offer, locale);\n\n```\n#### End a listing\nIf you want to end a listing, you will need to perform following 2 steps.\n\n1 - Get an offer and set quantity to 0\n```C#\nOffers offers = await ebayController.GetOffers(SKU);\nOffer offer = offers.OfferList.FirstOrDefault();\noffer.AvailableQuantity = 0; //optional\n```\n2 - Withdraw offer\n```C#\nOfferWithdrawn offerWithdrawn = await ebayController.WithdrawOffer(offer.OfferId);\n```\n\n### Offer\n#### Get offers\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/offer/methods/getOffers)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nOffersList offersList = await ebayController.GetOffers(SKU);\n\n```\n#### Get offer\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/offer/methods/getOffer)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nOffer offer = await ebayController.GetOffer(offerId);\n\n```\n#### Create offer\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/offer/methods/createOffer)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nOffer offer = new Offer()\n{\n    SKU = SKU,\n    MarketplaceId = MarketplaceEnum.EBAY_AU,\n    Format = FormatTypeEnum.FIXED_PRICE,\n    PricingSummary = new PricingSummary()\n    {\n        Price = new Amount()\n        {\n            Currency = \"AUD\",\n            Value = \"75\"\n        }\n    },\n    MerchantLocationKey = inventoryLocation.MerchantLocationKey,\n    CategoryId = \"162480\",\n    ListingPolicies = new ListingPolicies()\n    {\n        FulfillmentPolicyId = \"ReplaceYourFulfillmentPolicyId\",\n        PaymentPolicyId = \"ReplaceYourPaymentPolicyId\",\n        ReturnPolicyId = \"ReplaceYourReturnPolicyId\"\n    }\n};\nOfferCreated offerCreated = await ebayController.CreateOffer(offer, \"en-AU\");\n\n```\n#### Update offer\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/offer/methods/updateOffer)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nOffer offer = await ebayController.GetOffer(offerId);\noffer.PricingSummary.Price.Value = \"100\";\nOfferUpdated offerUpdated = await ebayController.UpdateOffer(offerId, offer, \"en-AU\");\n```\n#### Publish offer\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/offer/methods/publishOffer)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nOfferPublished offerPublished = await ebayController.PublishOffer(offerId, \"en-AU\");\n```\n#### Withdraw offer\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/offer/methods/withdrawOffer)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nOfferWithdrawn offerWithdrawn = await ebayController.WithdrawOffer(offerId);\n```\n#### Delete offer\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/inventory/resources/offer/methods/deleteOffer)\n\n```C#\n\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nawait ebayController.DeleteOffer(offerId);\n```\n\n\n## Metadata\nYou can see a list of Metadata API methods [here](https://developer.ebay.com/api-docs/sell/metadata/resources/methods)\n### Marketplace\n#### Get return policies\nYou need to pass MarketplaceId, please visit [here](https://developer.ebay.com/api-docs/commerce/taxonomy/static/supportedmarketplaces.html) for supported market places.\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nReturnPoliciesList returnPoliciesList = await ebayController.GetReturnPolicies(\"EBAY_US\");\n```\n\n## Stores\nYou can see a list of Stores API methods [here](https://developer.ebay.com/api-docs/sell/stores/resources/methods)\n### Store\n#### Get store categories\nYou can find more detail [here](https://developer.ebay.com/api-docs/sell/stores/resources/store/methods/getStoreCategories)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nStoreCategories storeCategories = await ebayController.GetStoreCategories();\n```\n## Trading\n\u003e [!WARNING]  \n\u003e This is a legacy API, I am adding methods based on a request only. You can see a list of Trading call categories [here](https://developer.ebay.com/devzone/xml/docs/reference/ebay/index.html)\n### Standard Listing Calls\n#### GetSellerList\nThis method is used to get a list of all active and ended items. You can find more detail [here](https://developer.ebay.com/devzone/xml/docs/reference/ebay/GetSellerList.html)\n```C#\nEbaySharp.Controllers.EbayController ebayController = new EbaySharp.Controllers.EbayController(clientCredentials.AccessToken);\nint pageNumber = 0;\nbool hasMoreResults = true;\nwhile (hasMoreResults)\n{\n    GetSellerListResponse getSellerListResponse = await ebayController.GetItems(siteId, ++pageNumber, 200, DateTime.Now.AddDays(-87).ToString(\"O\"), DateTime.Now.AddDays(33).ToString(\"O\"));\n    hasMoreResults = getSellerListResponse.HasMoreItems;\n    //Process items response here.\n}\n```\n#### GetAccount\nThis is a legacy XML call and you should be considering [Finances API](#finances) as a recommended approach and please read [Issue](https://github.com/Code-n-Cloud/EbaySharp/issues/19) for more detail.\n\nThis method is used to get account information which contains transactions, payouts and invoice related data. You can find more detail [here](https://developer.ebay.com/devzone/xml/docs/reference/ebay/GetAccount.html)\n```C#\n//FOR EU\n    SigningKey signingKey = await ebayController.CreateSigningKey(SigningKeyCipher.ED25519);\n    int siteId = 3;\n\n    //For AU\n    //int siteId=15\n\n    XNamespace ns = \"urn:ebay:apis:eBLBaseComponents\";\n    XDocument xmlDocument = new XDocument(\n        new XDeclaration(\"1.0\", \"utf-8\", \"yes\"),\n        new XElement(ns + \"GetAccountRequest\", new XAttribute(\"xmlns\", ns),\n            new XElement(\"RequesterCredentials\",\n                new XElement(\"eBayAuthToken\", accessToken)\n            ),\n            new XElement(\"AccountEntrySortType\", \"AccountEntryFeeTypeAscending\"),\n            new XElement(\"AccountHistorySelection\", \"LastInvoice\"),\n            new XElement(\"Pagination\",\n                new XElement(\"EntriesPerPage\", 10),\n                new XElement(\"PageNumber\", 1)\n            )\n        )\n    );\n    var memory = new MemoryStream();\n    xmlDocument.Save(memory);\n    string inputXml = Encoding.UTF8.GetString(memory.ToArray()).Replace(\"xmlns=\\\"\\\"\", \"\");\n    GetAccountResponse getAccountResponse = await ebayController.GetAccount(siteId, inputXml, signingKey);\n    or\n    GetAccountResponse getAccountResponse = await ebayController.GetAccount(siteId, inputXml);\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-n-cloud%2Febaysharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode-n-cloud%2Febaysharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-n-cloud%2Febaysharp/lists"}