Order Shipping
The purpose of this page is to specify the methods for shipping an order on OnBuy
Version | Created / Updated by | Notes |
---|---|---|
1.0 | Danail Deltchev | Initial Creation |
Dispatch
Shipment on OnBuy can be full or partial. If just an order ID is sent the whole order will be sent. Alternatively order_items can be shipped separately. Currently we don’t support partial shipment in Hemisphere meaning we will always send just the order ID with its necessary parameters.
When creating a shipment there are a few specifications to follow:
- If there is no tracking don’t include tracking section at all
- If it is tracked it either needs to be one of their supported couriers or an “other” ID: 16
- If ID 16 is used a tracking URL must be provided. Otherwise URL shouldn’t be provided
- To obtain the available couriers for a matching reference please see section “Tracking ID’s” below
Dispatch call: https://api.onbuy.com/v2/orders/dispatch
Docs: https://docs.api.onbuy.com/?version=latest#700c4c14-8965-49ab-893d-44d8edafbaad
Parameters:
Name | Type | Required | Details | WAP Mapping | WAP Notes | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
orders | array | YES | Key | Type | Required | Details | |||||
order_id | string | NO | OnBuy internal order reference |
Type:
string
Example:
T9R7V
| | | | Orders > Marketplace Order ID | |
| | | | products | array | NO | Key | Type | Required | Details | | |
| | | | | | | sku | string | NO | SKU of product
Type:
string
Example:
EXP-143-33S
| N/A | |
| | | | | | | opc | string | NO | OnBuy product code of product
Type:
string
Example:
PN8JV6
| N/A | |
| | | | | | | quantity | integer | NO | quantity of products
Type:
integer
Example:
125
| N/A | |
| | | | tracking | array | NO | Key | Type | Required | Details | | |
| | | | | | | tracking_id | string | YES | ID of tracking provider. Ignored if supplier_name is specified.
Type:
string
Example:
bar
| Mapping from Tracking ID’s based on Orders > Shipping Courier name mapping to Courier name | If no tracking number is present (orders > shipping tracking num) the whole “tracking” section is to be skipped |
| | | | | | | supplier_name | string | NO | the name of the tracking provider
Type:
string
Example:
bar
| N/A | We don’t want to supply our courier as it is controlled as value by our clients meaning there can be 100 different ways to spell “DHL Express” for example |
| | | | | | | number | string | YES | a tracking number
Type:
string
Example:
bar
| Orders > Tracking number | |
| | | | | | | url | string | NO | a url to the tracking provider's page
Type:
string
Example:
https://example.com/path-to-resource/
| Orders > Shipping Tracking URL or Courier > Tracking URL | If the Orders field is supplied we should use it otherwise we should default to the “other” courier default URL in the account_specifics section |
Tracking ID’s
These are literally internal courier IDs that OnBuy support. If we are using one of their supported couriers it would be much better to use the correct ID. To achieve that we must be able to download their supported courier list and store it to allow it for mapping as enumeration value in our Couriers section. A Courier_onBuy section should be created (TBD if it can be standardised as Courier_marketplace) where we should be able to select to which OnBuy courier ours corresponds.
Just to reiterate - any such mapping should be done by comparing Orders > Shipping Courier Name with the Courier Name in the respective table to either obtain the OnBuy Courier “Tracking ID” or the relevant “tracking” URL in case the used courier is not matching with anything from OnBuy
API Call: https://api.onbuy.com/v2/orders/tracking-providers?site_id=2000
Docs: https://docs.api.onbuy.com/?version=latest#c67ee24b-aada-4978-8fee-167f30cc7f37
Specifications: This call is not needed on regular bases so it should either be running once a month or be present for trigger when needed