Open documentation ↗Overview
Welcome to our current iteration of our REST API. While we encourage you to upgrade to v2.0 we will continue support for our [SOAP API](https://github.com/fulfillment/soap-integration). # Versioning The Fulfillment.com (FDC) REST API is version controlled and backwards compatible. We have many future APIs scheduled for publication within our v2.0 spec so please be prepared for us to add data nodes in our responses, however, we will not remove knowledge from previously published APIs. #### A Current Response ```javascript { id: 123 } ``` #### A Potential Future Response ```javascript { id: 123, reason: "More Knowledge" } ``` # Getting Started We use OAuth v2.0 to authenticate clients, you can choose [implicit](https://oauth.net/2/grant-types/implicit/) or [password](https://oauth.net/2/grant-types/password/) grant type. To obtain an OAuth `client_id` and `client_secret` contact your account executive. **Tip**: Generate an additional login and use those credentials for your integration so that changes are accredited to that "user". You are now ready to make requests to our other APIs by filling your `Authorization` header with `Bearer {access_token}`. ## Perpetuating Access Perpetuating access to FDC without storing your password locally can be achieved using the `refresh_token` returned by [POST /oauth/access_token](#operation/generateToken). A simple concept to achieve this is outlined below. 1. Your application/script will ask you for your `username` and `password`, your `client_id` and `client_secret` will be accessible via a DB or ENV. 2. [Request an access_token](#operation/generateToken) + Your function should be capable of formatting your request for both a `grant_type` of \"password\" (step 1) and \"refresh_token\" (step 4). 3. Store the `access_token` and `refresh_token` so future requests can skip step 1 4. When the `access_token` expires request anew using your `refresh_token`, replace both tokens in local storage. + If this fails you will have to revert to step 1. Alternatively if you choose for your application/script to have access to your `username` and `password` you can skip step 4. In all scenarios we recommend storing all credentials outside your codebase. ## Date Time Definitions We will report all date-time stamps using the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. When using listing API's where fromDate and toDate are available note that both dates are inclusive while requiring the fromDate to be before or at the toDate. ### The Fulfillment Process Many steps are required to fulfill your order we report back to you three fundamental milestones inside the orders model. * `recordedOn` When we received your order. This will never change. * `dispatchDate` When the current iteration of your order was scheduled for fulfillment. This may change however it is an indicator that the physical process of fulfillment has begun and a tracking number has been **assigned** to your order. The tracking number **MAY CHANGE**. You will not be able to cancel an order once it has been dispatched. If you need to recall an order that has been dispatched please contact your account executive. * `departDate` When we recorded your order passing our final inspection and placed with the carrier. At this point it is **safe to inform the consignee** of the tracking number as it will not change. ## Evaluating Error Responses We currently return two different error models, with and without context. All errors will include a `message` node while errors with `context` will include additional information designed to save you time when encountering highly probable errors. For example, when you send us a request to create a duplicate order, we will reject your request and the context will include the FDC order `id` so that you may record it for your records. ### Without Context New order with missing required fields. | Header | Response | | ------ | -------- | | Status | `400 Bad Request` | ```javascript { "message": "Invali
Fulfillment.com APIv2 is a shopping API from fulfillment.com. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 13 endpoints.
At a glance
- Authentication
- API key
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Shopping
- Base URL
https://api.fulfillment.com/v2- Version
- 2.0
- Endpoints
- 13
- OpenAPI
- Specification ↗
- Spec updated
- 2023-03-06
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://api.fulfillment.com/v2/accounting" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch("https://api.fulfillment.com/v2/accounting", {
method: "GET",
headers: {
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://api.fulfillment.com/v2/accounting",
headers={
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /accounting | List Order Accounting |
| GET | /inventory | List of Item Inventories |
| POST | /oauth/access_token | Generate an Access Token |
| GET | /orders | List of Orders |
| POST | /orders | New Order |
| GET | /orders/{id} | Order Details |
| DELETE | /orders/{id} | Cancel an Order |
| PUT | /orders/{id}/ship | Ship an Order |
| PUT | /orders/{id}/status | Update Order Status |
| GET | /returns | List Returns |
| PUT | /returns | Inform us of an RMA |
| GET | /track | Tracking |
| GET | /users/me | About Me |
Questions
Does the Fulfillment.com APIv2 API need an API key?
Yes. The Fulfillment.com APIv2 API uses API key authentication; the documentation explains how to get credentials.
Does the Fulfillment.com APIv2 API support HTTPS?
Yes, the Fulfillment.com APIv2 API is served over HTTPS.
How many endpoints does the Fulfillment.com APIv2 API have?
Its OpenAPI description lists 13 endpoints in version 2.0. All of them are shown on this page.
What are alternatives to the Fulfillment.com APIv2 API?
Other Shopping APIs include Etsy, eBay, Flipkart Marketplace, Inventory Management, Intel Product Catalogue Service.
Similar shopping APIs
Compare alternatives →Etsy
ShoppingManage shop and interact with listings
eBay
ShoppingSell and Buy on eBay
Flipkart Marketplace
ShoppingProduct listing management, Order Fulfilment in the Flipkart Marketplace
Inventory Management
ShoppingMaintaining up-to-date inventory for your items on Walmart.com ensures a great experience for your customers and greater sales opportunities for you.
Intel Product Catalogue Service
ShoppingThis is the documentation for PIM Micro services. In order to use this tool you need to have Basic Auth credentials and a client id. If you dont have one, please make sure to request one by sending an email to the PIM MS team: [[email protected]](mailto:[email protected]?subject=PIMServices)
Item API
ShoppingPlease make sure you use the correct version of the APIs for your use case. To find out the appropriate version, go to the API Docs drop down on the menu.
Listed from APIs.guru (CC0).