npm install ebay-promised --save
This module provides a succint, verbose way to build requests with the eBay API.
Currently it works in production applications with the eBay XML POST Trading API, and I have not properly fleshed out the other eBay services.
Most of the other services are GET based and query string driven.
- Bluebird Promises
- Transparent pagination
- Transparent eBay compliant rate-limiting
- Reasonable response parsers
- Functionally tested vs the Sandbox API
- ergonomic chaining API with immutability
- transparently can load instance from ENV vars
- proper Error subclassing to enable verbose use of
Promise.catch
Readinging through the Functional Tests is a great way to familiarize yourself with some common API calls.
# Basic Setup
import Ebay from 'ebay-promised'
import config from './config'
const ebay = Ebay.create(config)
const {err} = Ebay.errors
ebay
.GetMyeBaySelling() // Transforms it to a sealed Request, global config can no longer change
.ActiveList({ Include: true }) // Pass in a field,value
.DetailLevel("ReturnAll") // Pass in another field, value
.run() // Run the request against the eBay API
.then(handleSuccess)
.catch(err.Ebay_Api_Error, err => {
// this error is a special case
// it means your HTTP request was successful but eBay did not like it
})
.catch( err = {
// catch all other errors ala:
// Network Errors
})
// Ebay can also load your credentials from `process.env`
const envEbay = Ebay.fromEnv()
All calls, fields, and globals that are currently defined live in ./es6/definitions
If you find a call that is missing, feel free to open an issue so it can be addressed, or make a pull request.
Internally ebay-promised will attempt to detect when a request is paginated and go ahead and grab the subsequent pages for you and concatenate the results.
Pull requests are welcome.