项目作者: bhushankumarl

项目描述 :
Ebay NodeJS Wrapper
高级语言: JavaScript
项目地址: git://github.com/bhushankumarl/eBay-node-client.git
创建时间: 2018-09-13T13:17:59Z
项目社区:https://github.com/bhushankumarl/eBay-node-client

开源协议:MIT License

下载


eBay-node-client (eBay Node Client)

Version
Build Status

This API supported eBay’s standard REST-style API that accepts/returns JSON requests and Here is the [API reference] (https://developer.ebay.com/api-docs/commerce/static/commerce-landing.html)

You can testify API through eBay API Explorer without any installation.

You can find examples of JavaScript and TypeScript here. This will help you for faster implementation of eBay APIs.

Do you need an expert?

Are you in need of a developer? If so, please reach out here. Submit your project request here.
Originally by Bhushankummar - bhushan.lilapra@gmail.com.

It does supports EcmaScript 5, EcmaScript 6, EcmaScript 8, TypeScript, async-await, Promises, Callback !
It does also supports for AWS Lambda like serverless cloud function call.
It supports pure JSON response.
All methods support Promise and Callback both.
Please Feel free to create Issue for any help !
All developers/contributors are requested to open Pull Request/Merge Request on development branch. Please make sure Test Cases be passed.

Installation

  1. npm install ebay-node-client --save

Test Cases

  1. npm run test.mocha

Debugging

  1. export DEBUG=eBay:*

Usage

  1. export EBAY_CLIENT_ID=KEY
  2. export EBAY_CLIENT_SECRET=SECRET

Additional Parameters based on different API Call

  1. export EBAY_DEV_ID=DEV_ID

To Enable Sandbox Purpose

  1. export EBAY_CLIENT_SANDBOX='true'

Configuration Using JavaScript

  1. var eBay = require('ebay-node-client')('YOUR_KEY', 'YOUR_SECRET');

Configuration Using TypeScript

  1. import * as eBay from 'ebay-node-client';
  2. const eBay = new eBay();
  3. eBay.setApiKey('YOUR_KEY', 'YOUR_SECRET');

Set Application Access Token

  1. eBay.setToken(token.access_token);

Set User Token

  1. eBay.setUserToken(userToken);

Set Content Language (Default is en-US)

  1. eBay.setContentLanguage('en-GB');

Set MarketplaceId

  1. eBay.setMarketplaceId('EBAY_US');

Pull Request

  • Contributors can send their Pull Request to development branch.
  • Kindly validate test cases & linting before opening new PR.

Examples

Application

Oauth Token

  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. console.log('token.access_token ', token.access_token);
  7. eBay.setToken(token.access_token);
  8. } catch (error) {
  9. console.log('error ', error);
  10. }

Buy

Browse

Get Item

  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. eBay.setToken(token.access_token);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }
  11. var itemId = 'v1|110329773707|410089528845';
  12. try {
  13. var response = await eBay.browse.getItem(itemId);
  14. console.log('response', response);
  15. } catch (error) {
  16. console.log('error', error);
  17. return;
  18. }
  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. eBay.setToken(token.access_token);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }
  11. var data = {
  12. gtin: '010942122258',
  13. limit: '1'
  14. };
  15. try {
  16. var response = await eBay.browse.search(data);
  17. console.log('response', response);
  18. } catch (error) {
  19. console.log('error ', error);
  20. return;
  21. }

Search By Image

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var base64Content = base64_encode('sample-image.jpg');
  4. // console.log('base64Content ', base64Content);
  5. var data = {
  6. image: base64Content
  7. };
  8. try {
  9. var response = await eBay.browse.searchByImage(data);
  10. console.log('response', response);
  11. } catch (error) {
  12. console.log('error ', error);
  13. return;
  14. }

Commerce

Catalog

Create Change Request

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'changeRequestType': 'PRODUCT_CREATION',
  5. 'reasonForChangeRequest': 'Request to add new product',
  6. 'suggestedProduct': {
  7. 'title': 'Apple iPhone',
  8. 'description': 'This Space Grey iPhone comes with 256GB of storage, and can be used on any carrier network in the US.',
  9. 'primaryCategoryId': '178114',
  10. 'aspects': [
  11. {
  12. 'name': 'Model',
  13. 'values': ['iPhone 20']
  14. }
  15. ],
  16. 'imageUrl': 'https://i.ebayimg.com/images/g/HFAAAOSw9W5bWgcQ/s-l1600.jpg?set_id=89040003C1C1',
  17. 'brand': 'Apple',
  18. 'upc': ['0745577656433'],
  19. 'mpn': ['MD295LL/A']
  20. }
  21. };
  22. try {
  23. var response = await eBay.catalog.createChangeRequest(data);
  24. console.log('response', response);
  25. } catch (error) {
  26. console.log('error ', error);
  27. return;
  28. }

Get Change Request

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var changeRequestId = '1010101';
  4. try {
  5. var response = await eBay.catalog.getChangeRequest(changeRequestId);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Get Change Requests

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. try {
  4. var response = await eBay.catalog.getChangeRequests();
  5. console.log('response', response);
  6. } catch (error) {
  7. console.log('error ', error);
  8. return;
  9. }

Get Product

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var epId = '1300568638';
  4. try {
  5. var response = await eBay.catalog.getProduct(epId);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Get Product Metadata

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'epid': '241827861',
  5. 'primary_category_id': '9355',
  6. 'other_applicable_category_ids': '15032,42428'
  7. };
  8. try {
  9. var response = await eBay.catalog.getProductMetadata(data);
  10. console.log('response', response);
  11. } catch (error) {
  12. console.log('error ', error);
  13. return;
  14. }

Get Product Metadata For Categories

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'primary_category_id': '500',
  5. 'other_applicable_category_ids': '34,36,63'
  6. };
  7. try {
  8. var response = await eBay.catalog.getProductMetadataForCategories(data);
  9. console.log('response', response);
  10. } catch (error) {
  11. console.log('error ', error);
  12. return;
  13. }
  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. gtin: '010942122258'
  5. };
  6. try {
  7. var response = await eBay.catalog.search(data);
  8. console.log('response', response);
  9. } catch (error) {
  10. console.log('error ', error);
  11. return;
  12. }

Search By Category

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. // Leaf Category Name
  5. q: 'Video Cables',
  6. // Leaf Category Id
  7. category_ids: '67859'
  8. };
  9. try {
  10. var response = await eBay.catalog.search(data);
  11. console.log('response', response);
  12. } catch (error) {
  13. console.log('error ', error);
  14. return;
  15. }

Taxonomy

Get Category Subtree

  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. eBay.setToken(token.access_token);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }
  11. var categoryTreeId = '0';
  12. var data = {
  13. category_id: '34'
  14. };
  15. try {
  16. var response = await eBay.taxonomy.getCategorySubtree(categoryTreeId, data);
  17. console.log('response', JSON.stringify(response));
  18. } catch (error) {
  19. console.log('error ', error);
  20. return;
  21. }

Get Category Suggestions

  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. eBay.setToken(token.access_token);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }
  11. var categoryTreeId = 203;
  12. var data = {
  13. 'q': 'abc'
  14. };
  15. try {
  16. var response = await eBay.taxonomy.getCategorySuggestions(categoryTreeId, data);
  17. console.log('response', response);
  18. } catch (error) {
  19. console.log('error ', error);
  20. return;
  21. }

Get Category Tree

  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. eBay.setToken(token.access_token);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }
  11. var categoryTreeId = 203;
  12. try {
  13. var response = await eBay.taxonomy.getCategoryTree(categoryTreeId);
  14. console.log('response', response);
  15. } catch (error) {
  16. console.log('error ', error);
  17. return;
  18. }

Get Category Tree To File

  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. eBay.setToken(token.access_token);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }
  11. var categoryTreeId = '0';
  12. try {
  13. var response = await eBay.taxonomy.getCategoryTree(categoryTreeId);
  14. console.log('response', JSON.stringify(response));
  15. fse.writeFileSync('temp/response.json', JSON.stringify(response));
  16. } catch (error) {
  17. console.log('error ', error);
  18. return;
  19. }

Get Default Category Tree Id

  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. eBay.setToken(token.access_token);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }
  11. var data = {
  12. marketplace_id: 'EBAY_IN'
  13. };
  14. try {
  15. var response = await eBay.taxonomy.getDefaultCategoryTreeId(data);
  16. console.log('response', response);
  17. } catch (error) {
  18. console.log('error ', error);
  19. return;
  20. }

Get Item Aspects For Category

  1. try {
  2. var token = await eBay.application.getOAuthToken({
  3. grant_type: 'client_credentials',
  4. scope: 'https://api.ebay.com/oauth/api_scope'
  5. });
  6. eBay.setToken(token.access_token);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }
  11. var categoryTreeId = 203;
  12. var data = {
  13. category_id: '931'
  14. };
  15. try {
  16. var response = await eBay.taxonomy.getItemAspectsForCategory(categoryTreeId, data);
  17. console.log('response', response);
  18. } catch (error) {
  19. console.log('error ', error);
  20. return;
  21. }

Finding

Find Items By Product

  1. try {
  2. var content = fse.readFileSync('./sample.xml', 'UTF-8');
  3. var response = await eBay.finding.findItemsByProduct({content: content});
  4. console.log('response', response);
  5. } catch (error) {
  6. console.log('error ', error);
  7. return;
  8. }

Sell

Account

Create Or Replace Sales Tax

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var countryCode = 'US';
  4. var jurisdictionId = 'IN';
  5. var data = {
  6. 'salesTaxPercentage': 7.0,
  7. 'shippingAndHandlingTaxed': false
  8. };
  9. try {
  10. var response = await eBay.account.getSalesTax(countryCode, jurisdictionId, data);
  11. console.log('response', response);
  12. } catch (error) {
  13. console.log('error ', error);
  14. return;
  15. }

Delete Sales Tax

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var countryCode = 'US';
  4. var jurisdictionId = 'IN';
  5. try {
  6. var response = await eBay.account.deleteSalesTax(countryCode, jurisdictionId);
  7. console.log('response', response);
  8. } catch (error) {
  9. console.log('error ', error);
  10. return;
  11. }

Fulfillment Policy

Get Fulfillment Policies

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. marketplace_id: 'EBAY_US'
  5. };
  6. try {
  7. var response = await eBay.fulfillmentPolicy.getFulfillmentPolicies(data);
  8. console.log('response', response);
  9. } catch (error) {
  10. console.log('error ', error);
  11. return;
  12. }

Get Sales Tax

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var countryCode = 'US';
  4. var jurisdictionId = 'IN';
  5. try {
  6. var response = await eBay.account.getSalesTax(countryCode, jurisdictionId);
  7. console.log('response', response);
  8. } catch (error) {
  9. console.log('error ', error);
  10. return;
  11. }

Get Sales Taxes

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. country_code: 'US'
  5. };
  6. try {
  7. var response = await eBay.account.getSalesTaxes(data);
  8. console.log('response', response);
  9. } catch (error) {
  10. console.log('error ', error);
  11. return;
  12. }

Payment Policy

Get Payment Policies

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. marketplace_id: 'EBAY_US'
  5. };
  6. try {
  7. var response = await eBay.paymentPolicy.getPaymentPolicies(data);
  8. console.log('response', response);
  9. } catch (error) {
  10. console.log('error ', error);
  11. return;
  12. }

Return Policy

Get Return Policies

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. marketplace_id: 'EBAY_US'
  5. };
  6. try {
  7. var response = await eBay.returnPolicy.getReturnPolicies(data);
  8. console.log('response', response);
  9. } catch (error) {
  10. console.log('error ', error);
  11. return;
  12. }

Inventory

Bulk Create Or Replace Inventory Item

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'requests': [
  5. {
  6. 'sku': '13465446'
  7. },
  8. {
  9. 'sku': '132165496'
  10. }
  11. ]
  12. };
  13. try {
  14. var response = await eBay.inventory.bulkCreateOrReplaceInventoryItem(data);
  15. console.log('response ', response);
  16. } catch (error) {
  17. console.log('error ', error);
  18. return;
  19. }

Bulk Update Price Quantity

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = { /* BulkPriceQuantity */
  4. 'requests': [
  5. { /* PriceQuantity */
  6. 'offers': [
  7. { /* OfferPriceQuantity */
  8. 'availableQuantity': 'integer',
  9. 'offerId': 'string',
  10. 'price': { /* Amount */
  11. 'currency': 'string',
  12. 'value': 'string'
  13. }
  14. }
  15. ],
  16. 'shipToLocationAvailability': {
  17. /* ShipToLocationAvailability */
  18. 'quantity': 'integer'
  19. },
  20. 'sku': 'string'
  21. }
  22. ]
  23. }
  24. try {
  25. var response = await eBay.inventory.bulkUpdatePriceQuantity(sku, data);
  26. console.log('response', response);
  27. } catch (error) {
  28. console.log('error ', error);
  29. return;
  30. }

Create Or Replace Inventory Item

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'availability': {
  5. 'shipToLocationAvailability': {
  6. 'quantity': 50
  7. }
  8. },
  9. 'condition': 'NEW',
  10. 'product': {
  11. 'title': 'GoPro Hero4 Helmet Cam',
  12. 'description': 'New GoPro Hero4 Helmet Cam. Unopened box.',
  13. 'aspects': {
  14. 'Brand': ['GoPro'],
  15. 'Type': ['Helmet/Action'],
  16. 'Storage Type': ['Removable'],
  17. 'Recording Definition': ['High Definition'],
  18. 'Media Format': ['Flash Drive (SSD)'],
  19. 'Optical Zoom': ['10x']
  20. },
  21. 'brand': 'GoPro',
  22. 'mpn': 'CHDHX-401',
  23. 'imageUrls': [
  24. 'http://i.ebayimg.com/images/i/182196556219-0-1/s-l1000.jpg',
  25. 'http://i.ebayimg.com/images/i/182196556219-0-1/s-l1001.jpg',
  26. 'http://i.ebayimg.com/images/i/182196556219-0-1/s-l1002.jpg'
  27. ]
  28. }
  29. };
  30. var sku = '32984729384730';
  31. try {
  32. var response = await eBay.inventory.createOrReplaceInventoryItem(sku, data);
  33. console.log('response', response);
  34. } catch (error) {
  35. console.log('error ', error);
  36. return;
  37. }

Delete Inventory Item

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var sku = '32984729384730';
  4. try {
  5. var response = await eBay.inventory.deleteInventoryItem(sku);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Get Bulk Inventory Item

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'requests': [
  5. {
  6. 'sku': '13465446'
  7. },
  8. {
  9. 'sku': '132165496'
  10. }
  11. ]
  12. };
  13. try {
  14. var response = await eBay.inventory.bulkGetInventoryItem(data);
  15. console.log('response ', response);
  16. } catch (error) {
  17. console.log('error ', error);
  18. return;
  19. }

Get Inventory Item

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var sku = '32984729384730';
  4. try {
  5. var response = await eBay.inventory.getInventoryItem(sku);
  6. console.log('response ', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. }

Get Inventory Items

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. limit: '10'
  5. };
  6. try {
  7. var response = await eBay.inventory.getInventoryItems(data);
  8. console.log('response', response);
  9. } catch (error) {
  10. console.log('error ', error);
  11. return;
  12. }

Location

Create Inventory Location

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'location': {
  5. 'address': {
  6. 'addressLine1': '2055 Hamilton Ave',
  7. 'addressLine2': 'Building 3',
  8. 'city': 'San Jose',
  9. 'stateOrProvince': 'CA',
  10. 'postalCode': '95125',
  11. 'country': 'US'
  12. }
  13. },
  14. 'locationInstructions': 'Open for drop-off only.',
  15. 'name': 'Warehouse-1',
  16. 'merchantLocationStatus': 'ENABLED',
  17. 'locationTypes': [
  18. 'WAREHOUSE'
  19. ],
  20. 'operatingHours': [
  21. {
  22. 'dayOfWeek': 'MONDAY',
  23. 'intervals': [
  24. {
  25. 'open': '09:00:00',
  26. 'close': '12:00:00'
  27. },
  28. {
  29. 'open': '13:00:00',
  30. 'close': '18:00:00'
  31. }
  32. ]
  33. },
  34. {
  35. 'dayOfWeek': 'TUESDAY',
  36. 'intervals': [
  37. {
  38. 'open': '09:00:00',
  39. 'close': '15:00:00'
  40. }
  41. ]
  42. }
  43. ],
  44. 'specialHours': [
  45. {
  46. 'date': '2016-10-19T00:09:00.000Z',
  47. 'intervals': [
  48. {
  49. 'open': '09:00:00',
  50. 'close': '11:00:00'
  51. }
  52. ]
  53. }
  54. ]
  55. };
  56. var customLocationIdentifier = 'LOC1014';
  57. try {
  58. var response = await eBay.location.createInventoryLocation(customLocationIdentifier, data);
  59. console.log('response', response);
  60. } catch (error) {
  61. console.log('error ', error);
  62. return;
  63. }

Delete Inventory Location

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var customLocationIdentifier = 'LOC1014';
  4. try {
  5. var response = await eBay.location.deleteInventoryLocation(customLocationIdentifier);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Disable Inventory Location

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var customLocationIdentifier = 'LOC1014';
  4. try {
  5. var response = await eBay.location.disableInventoryLocation(customLocationIdentifier);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Enable Inventory Location

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var customLocationIdentifier = 'LOC1014';
  4. try {
  5. var response = await eBay.location.enableInventoryLocation(customLocationIdentifier);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Get Inventory Location

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var customLocationIdentifier = 'LOC1014';
  4. try {
  5. var response = await eBay.location.getInventoryLocation(customLocationIdentifier);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Get Inventory Locations

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. limit: 10,
  5. offset: 0
  6. };
  7. try {
  8. var response = await eBay.location.getInventoryLocations(data);
  9. console.log('response', response);
  10. } catch (error) {
  11. console.log('error ', error);
  12. return;
  13. }

Update Inventory Location

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'name': 'My Store #1',
  5. 'location': {
  6. 'address': {
  7. 'addressLine1': '2055 Hamilton Ave',
  8. 'addressLine2': 'Building 3',
  9. 'city': 'San Jose',
  10. 'stateOrProvince': 'CA',
  11. 'postalCode': '95008',
  12. 'country': 'US'
  13. }
  14. },
  15. 'merchantLocationStatus': 'ENABLED',
  16. 'locationTypes': [
  17. 'STORE'
  18. ],
  19. 'merchantLocationKey': 'store-1'
  20. };
  21. var customLocationIdentifier = 'LOC1014';
  22. try {
  23. var response = await eBay.location.updateInventoryLocation(customLocationIdentifier, data);
  24. console.log('response', response);
  25. } catch (error) {
  26. console.log('error ', error);
  27. return;
  28. }

Offer

Create Offer

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'sku': '32984729384730',
  5. 'marketplaceId': 'EBAY_US',
  6. 'format': 'FIXED_PRICE',
  7. 'listingDescription': 'This is Test product',
  8. 'availableQuantity': 1,
  9. 'quantityLimitPerBuyer': 1,
  10. 'pricingSummary': {
  11. 'price': {
  12. 'value': 0.99,
  13. 'currency': 'USD'
  14. }
  15. },
  16. 'listingPolicies': {
  17. 'fulfillmentPolicyId': '78842674011',
  18. 'paymentPolicyId': '61019561011',
  19. 'returnPolicyId': '61019560011'
  20. },
  21. 'categoryId': '178086',
  22. 'merchantLocationKey': 'Store1',
  23. 'tax': {
  24. 'vatPercentage': 10.2,
  25. 'applyTax': true,
  26. 'thirdPartyTaxCategory': 'Electronics'
  27. }
  28. };
  29. try {
  30. var response = await eBay.offer.createOffer(data);
  31. console.log('response', response);
  32. } catch (error) {
  33. console.log('error ', error);
  34. return;
  35. }

Delete Offer

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var offerId = '6360335010';
  4. try {
  5. var response = await eBay.offer.deleteOffer(offerId);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Get Listing Fees

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. offers: [
  5. {
  6. 'offerId': '6360337010'
  7. }
  8. ]
  9. };
  10. try {
  11. var response = await eBay.offer.getListingFees(data);
  12. console.log('response', response);
  13. } catch (error) {
  14. console.log('error ', error);
  15. return;
  16. }

Get Offer

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var offerId = '6360335010';
  4. try {
  5. var response = await eBay.offer.getOffer(offerId);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Get Offers By Sku

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. sku: '32984729384730'
  5. };
  6. try {
  7. var response = await eBay.offer.getOffers(data);
  8. console.log('response', response);
  9. } catch (error) {
  10. console.log('error ', error);
  11. return;
  12. }

Publish Offer

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var offerId = '6360337010';
  4. try {
  5. var response = await eBay.offer.publishOffer(offerId);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Update Offer

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var data = {
  4. 'availableQuantity': 60,
  5. 'categoryId': '30120',
  6. 'listingDescription': 'Test Test : Lumia phone with a stunning 5.7 inch Quad HD display and a powerful octa-core processor.',
  7. 'listingPolicies': {
  8. 'fulfillmentPolicyId': '78842674011',
  9. 'paymentPolicyId': '61019561011',
  10. 'returnPolicyId': '61019560011'
  11. },
  12. 'pricingSummary': {
  13. 'price': {
  14. 'currency': 'USD',
  15. 'value': '260.00'
  16. }
  17. },
  18. 'quantityLimitPerBuyer': 3
  19. };
  20. var offerId = '6360335010';
  21. try {
  22. var response = await eBay.offer.updateOffer(offerId, data);
  23. console.log('response', response);
  24. } catch (error) {
  25. console.log('error ', error);
  26. return;
  27. }

Withdraw Offer

  1. var userToken = utils.USER_TOKEN;
  2. eBay.setUserToken(userToken);
  3. var offerId = '6360335010';
  4. try {
  5. var response = await eBay.offer.withdrawOffer(offerId);
  6. console.log('response', response);
  7. } catch (error) {
  8. console.log('error ', error);
  9. return;
  10. }

Shopping

Find Products

  1. try {
  2. var content = fse.readFileSync('./sample.xml', 'UTF-8');
  3. // console.log('content', content);
  4. var response = await eBay.shopping.findProducts({content: content});
  5. console.log('response', response);
  6. } catch (error) {
  7. console.log('error ', error);
  8. return;
  9. }

Trading

Add Item

  1. try {
  2. var content = fse.readFileSync('./sample.xml', 'UTF-8');
  3. // console.log('content', content);
  4. var response = await eBay.trading.addItem({content: content});
  5. console.log('response', response);
  6. } catch (error) {
  7. console.log('error ', error);
  8. return;
  9. }

Get Item

  1. try {
  2. var content = fse.readFileSync('./sample.txt', 'UTF-8');
  3. // console.log('content', content);
  4. var response = await eBay.trading.addItem({content: content});
  5. console.log('response', response);
  6. } catch (error) {
  7. console.log('error ', error);
  8. return;
  9. }

Get Session Id

  1. var devId = utils.DEV_ID;
  2. var ruName = utils.RU_NAME;
  3. eBay.setDevName(devId);
  4. const obj = {
  5. '@': {
  6. 'xmlns': 'urn:ebay:apis:eBLBaseComponents'
  7. },
  8. 'ErrorLanguage': 'en_US',
  9. 'WarningLevel': 'High',
  10. 'RuName': ruName
  11. };
  12. var content = js2xmlparser.parse('GetSessionIDRequest', obj, {declaration: {encoding: 'UTF-8'}});
  13. try {
  14. var response = await eBay.trading.getSessionID({content: content});
  15. console.log('response', response);
  16. } catch (error) {
  17. console.log('error ', error);
  18. return;
  19. }

User

Get Redirect Url

  1. try {
  2. var DEFAULT_SCOPE_SANDBOX = 'https://api.ebay.com/oauth/api_scope/sell.inventory https://api.ebay.com/oauth/api_scope/commerce.catalog.readonly';
  3. var options = {
  4. scope: DEFAULT_SCOPE_SANDBOX,
  5. redirectURI: 'Bhushankumar_L-Bhushank-DemoAp-onqph'
  6. };
  7. var response = await eBay.user.getRedirectUrl(options);
  8. console.log('redirectUrl ', response);
  9. } catch (error) {
  10. console.log('error ', error);
  11. }

Refresh User Token

  1. try {
  2. var options = {
  3. access_token: 'v7.1#i7#p^3#f^0#I^3#r^0#t^H4sIAAAAAAAAAOVXa2wUVRTu9sGrIAkSkGriOpgQITM7d3ZnZ2eg22xf0ABt6baIEGzvzpxph87ObObOtt0fxKYmRYkgsTEGAeWR9A+BgOGPkfKjFU1ATA1RgwkkakSjMfGFpojRO9sHbY2ALiRN3D+Te+65557vO989ey/fPWvuyt51vb8t8M3OP9zNd+f7fKiYnzuraNVDBfklRXn8JAff4e4nuwt7Cr5ZQ3DSTCkNQFK2RcDflTQtomSNpUzasRQbE4MoFk4CUVxVicc2blAEjldSju3aqm0y/prKUiYUlCO6wEfEYFALyZJOrdZ4zEa7lIlEQAzJoVA4JIVBlsJ0npA01FjExZZbygg8irBIYFGwEQkKLypI4sJhaSvj3wwOMWyLunA8E82mq2TXOpNyvXOqmBBwXBqEidbEquN1sZrKqtrGNYFJsaJjPMRd7KbJ1FGFrYF/MzbTcOdtSNZbiadVFQhhAtHRHaYGVWLjyfyH9LNUQxAAY10LY02K8CH5vlBZbTtJ7N45D89iaKyedVXAcg03czdGKRuJHaC6Y6NaGqKm0u99NqWxaegGOKVMVXnsmaZ4VQPjj9fXO3aHoYHmIUXBkBCMSCJioi4QSiE4zYm2NGnDVns6iR3TMHEKO3hs39HgY6xP27jCtjTD45D4a223HCgImEoVUsRJVFGnOqvOiemul+Bkv9A4pWJoq1fj0aKm3TbLKzMkKS/+7PDuBRlXyG1N3C+NiLoEcgIAJFFVEUKM3zvruesk6pUqVl8f8HKBBM6wtAzt4KZMrAKrUnrTSXAMTQmKOi2dDqwWlnU2JOs6mxC1MIt0AB4gkVDlyP9YLq7rGIm0CxOSmT6RxUzPOqVYMbCuuHY7WI2ZFDDTPbONaUwnXaSUaXPdlBIIdHZ2cp1BznZaAwLPo8CWjRviahskMTPha9zdmTWyalGBriKG4tIESpkuKki6udXKRBuqqhuq4uuaG+vWV9WOi3lKZtHp1n9AGlftFNTbpqFmZhbEoKPVY8fNlKczdBwH06SfnKASD+qDBOmd9X8P1ItBaBCcMjhPd5xqJwM2pq3MMzVnsw4Qip8zrA4qWdvJ+O9pDbXRpqACp2IXm3Yr5wDWbMvM5MRiLJWqSSbTLk6YUKPNMM2gMPXPGd4MQ1U+1kvZSkjaNL9qNl6+hRXDvBoUEIisKGgaj4HPCbcGHYYKzcYMw26lTTMnXJXQ8UDqSc96IgdcegQimizKrCbJMhvSBcwmEAqy4WBCS9Cruo5CudVzY+tMK2VtIJYTogrToN1v5v0Xr7OJC1pu0OgdcmaB8jrMeIOREQgsDksiGxIAsXIYJFaQZOFeIU8zTLp7/e0WHpj6Ko7mZX+oxzfA9/jepg9rXuJZtIp/alZBU2HBfIYYLnAEW1rC7uLofY0jRqtFH30OcO2QSWHDyZ/l2/bot2W3Jr3HD2/nH5l4kc8tQMWTnuf8Y7dnitDCpQtQBAkoiAReRNJWfvnt2UK0pHDx4OfFv7YsvzZ4K/JexdqeyyXH5jf9xC+YcPL5ivIKe3x5b1y8tP2FPr73s6ELLfg4s231zZGROY9/sLc3/92SwVeadpJ3nj5f2fjW8EAvI50/MKfF131ucefxN38/cnnFntmb6p69+eUp++oTD1/YFP4Kjp3c1bN/2cii4UEt/sfSbfmLRq7v3XkNPYf69hXOa97tf+lES+OyoVun++s6D9Se2O07efHVD5vaubJ91wfOVvu+uHrozCHcJCvJn62Bhf1l+8t/eTldRC4dXXrtYDF/WR0S532nrOjfsb6l70je60v6TpErPxx6Mfp+3cDB04udXcfX/vna2ZUfLbvxvPbpmbWrhZGPixe13zhSO9R//ZMAfM8eLeN+vPGqdm74a3JCW73fHS7Zw/Re8Y2W8S9LNhvtKREAAA==',
  4. refresh_token: 'v7.1#i7#f^0#p^3#r7#I^3#t^Ul4xMF8wOkJFNDYxN0FFQzQxMjMxRDZCRkQ3RTNCNTQwMzFDNDM5XzJfMSNFXjEyODQ='
  5. };
  6. var response = await eBay.user.refreshUserToken(options);
  7. console.log('refreshedToken ', response);
  8. } catch (error) {
  9. console.log('error ', error);
  10. }

Retrieve User Token

  1. var token = {};
  2. try {
  3. var options = {
  4. redirectURI: 'Bhushankumar_L-Bhushank-DemoAp-onqph',
  5. code: 'v^1.1#i^1#f^0#r^1#p^3#I^3#t^Ul41Xzg6QTgwNEM4REE5RDUwODMyNzgyNjJFNUVBRTk1OTQ3QzlfMl8xI0VeMTI4NA=='
  6. };
  7. token = await eBay.user.retrieveUserToken(options);
  8. console.log('response ', token);
  9. } catch (error) {
  10. console.log('error ', error);
  11. return;
  12. }
  13. console.log('user token ', token.access_token);
  14. eBay.setUserToken(token.access_token);
  15. var data = {
  16. q: 'drone'
  17. };
  18. try {
  19. var response = await eBay.catalog.search(data);
  20. console.log('response', response);
  21. } catch (error) {
  22. console.log('error ', error);
  23. return;
  24. }