Interaction Guide for Dropship Integrations

Integrating Dropship providers with RetailOps is easy with our simple API. RO uses a JSON API that's easy to use in any language. Complete the following API interactions to start shipping.

Key Concepts

See our Developer Portal for more information on using the RetailOps API.

1. Inventory Advice

For external SKUs and their inventory, RO is not the system of record. Vendors manage this inventory so their system is the system of record. Because of this, RO must receive regular updates from vendors regarding the inventory levels. These updates are called inventory advice. In RO, 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 RO, 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: 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":"ready","with_items":true }'

3. PO Status Update

Vendors must notify RO once they've retrieved POs from RO. RO 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 RO 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.

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 }] }] }'
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk