Integrating Dropship providers with RetailOps is easy with our simple API. RetailOps uses a JSON API that's easy to use in any language. Complete the following API interactions to start shipping.
Summary of Integrations
Key Concepts
See our Developer Portal for more information on using the RetailOps API.
1. Inventory Advice
For external SKUs and their inventory, RetailOps is not the system of record. Vendors manage this inventory so their system is the system of record. Because of this, RetailOps must receive regular updates from vendors regarding the inventory levels. These updates are called inventory advice. In RetailOps, inventory advice is tracked against a vendor and a vendor product code (VPC).
API call: Product.ExternalSku.Update - Version 2.
Sample:
curl -X POST 'https://api.retailops.com/product/externalsku/update~2.json' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_APIKEY_GOES_HERE' \
-d '{ "records": [{ "vendor_id":"27","vpc":"ABC123","quantity":12 }] }'
2. PO Retrieval
In RetailOps, when a customer places an order for a Dropship-enabled item, RO generates a PO for the item. Vendors must retrieve any POs in Status: Open and Ready. They may retrieve these POs using the API call below. Note that they should only retrieve the POs that are returned that have a date_submit value equal to now or any point in the past.
API call: Vendor.PO.fetch - Version 1
Sample:
curl -X POST 'https://api.retailops.com/Vendor/PO/Fetch.json' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_APIKEY_GOES_HERE' \
-d '{ "vendor_id":"27","start":0,"limit":100,"status":["open","ready"],"with_items":true }'
3. PO Status Update
Vendors must notify RetailOps once they've retrieved POs from RetailOps. RetailOps will then update the PO to Status: Submitted. Vendors may update up to 1000 POs with each API call.
API call: Vendor.PO.MarkSubmitted - Version 1
Sample:
curl -X POST 'https://api.retailops.com/Vendor/PO/MarkSubmitted.json' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_APIKEY_GOES_HERE' \
-d '{ "records": [{ "po":"D123","items":[{ "po_item_id":456,"quantity":1 }] }] }'
4. PO Completion & Tracking Upload
After the PO’s items have entered the order fulfillment process, vendors must notify RetailOps so that the PO can be changed to Status: Complete. To do so, they must supply a list of packages for each PO with the associated item contents and tracking numbers. To convey back to RetailOps any items which will not be fulfilled the "cancel_remainder" flag may be set. This flag is used to indicate that any items NOT referenced should be canceled.
Please note that, before performing this call, vendors must retrieve a list of supported ship carrier classes (see below). After doing so, they must select the appropriate ship carrier class for each package and use the ship_class_id parameter.
API call: Vendor.PO.Complete - Version 1
Sample:
curl -X POST 'https://api.retailops.com/Vendor/PO/Complete.json' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_APIKEY_GOES_HERE' \
-d '{ "po":"D123","packages":[{ "ship_class_id":7,"tracking_number":"1Z1234567890123456","items":[{ "vpc":"ABC123","quantity":1 }],"unit_count":1 }] }'
Retrieve List of Ship Carrier Classes
To retrieve a list of ship carrier classes, use the API call below.
API call: Constant.Ship.CarrierClass.fetch - Version 1
Sample:
curl -X POST 'https://api.retailops.com/Constant/Ship/CarrierClass/fetch.json' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_APIKEY_GOES_HERE' \
-d '{ "all":1 }'
5. PO Acknowledgment (Optional)
This integration only applies to vendors for which the Vendor Setting “Change POs after submit” is checked.
If this is checked, POs may be modified even after being submitted to the vendor. In this situation, vendors must update the PO to Status: Accepted. This finalizes the PO in a sense as this prevents any further changes from being made to the PO. This indicates that the vendor has now committed to fulfilling the items on the PO as it stands.
API call: Vendor.PO.MarkAccepted - Version 1
Sample:
curl -X POST 'https://api.retailops.com/Vendor/PO/MarkAccepted.json' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_APIKEY_GOES_HERE' \
-d '{ "records": [{ "po":"D123","items":[{ "po_item_id":456,"quantity":1 }] }] }'
6. Estimated Ship Date Update (Optional)
Vendors may also update the estimated ship date for the PO and its associated shipments. They may update up to 1000 POs with each API call.
API call: Vendor.PO.UpdateEstShipDate - Version 1
Sample:
curl -X POST 'https://api.retailops.com/Vendor/PO/UpdateEstShipDate.json' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_APIKEY_GOES_HERE' \
-d '{ "records": [{ "po":"D123","estimated_ship_date":"2015-07-02T14:47:47Z"items":[{ "po_item_id":456,"quantity":1 }] }] }'
Comments
0 comments
Please sign in to leave a comment.