Success. Optoro recommends client APIs respond with a JSON-structured object. This is used for debugging purposes only so this guidance is technically optional.
- Returns Management
- Optoro Endpoints
- Drop Ship
Drop Ship (1.0.0)
The Drop Ship is used to communicate to the client once an order has been shipped or cancelled from OptiTurn, to close an order within the client's OMS.
The Drop Shipment Confirmation API is used to post a shipment confirmation for the orders shipped so that the client can close the order on their end. Optoro can POST a shipment confirmation to the client endpoint.
The Drop Shipment Cancellation API is used to post a cancelled order to a client endpoint. An order could be rejected or cancelled in the warehouse, due to the inventory not being found or it being damaged.
The Drop Shipment Partial Cancellation API is used to post a partially cancelled order to a client endpoint. An order item could be cancelled in the warehouse, due to the inventory is not being found or damaged.
When Optoro receives a 401 HTTP status, Optoro will request a new Authentication Token from the client's services and retry the request.
When Optoro receives any other error (as described above and identified by a 4xx (not 401) or 5xx range http status code) Optoro will retry five times with the same message. The retries will happen at an exponential backoff cadence in order not to overload machines. If the failure persists, the message will be stored in a failure queue and Optoro will have a technical contact person reach out to client tech support to report a problem. When the problem has been resolved, Optoro can manually retry failed requests.
For Drop Shipment acknowledgement, all errors are handled the same since this is not in a user facing flow. However, the differentiation of status codes will help Optoro when reporting an issue.
- Mock serverhttps://developer.optoro.com/_mock/openapi/drop_ship/webhooks/openapi/drop_shipment_confirmation
- https://developer.optoro.com/drop_shipment_confirmation
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developer.optoro.com/_mock/openapi/drop_ship/webhooks/openapi/drop_shipment_confirmation \
-H 'Content-Type: application/json' \
-d '{
"shipment": {
"id": 1,
"client_identifier": "3fda4c37-6830-469f-b343-9d1a482a97fd",
"channel": "rts_drop_ship",
"carrier": "UPS",
"shipping_method": "UPS Ground",
"tracking_number": "1Z2E07A20302245707",
"billed_weight": 10,
"shipping_cost_cents": 1000,
"packing_slip_identifier": "1497064",
"shipment_items": [
{
"id": 1,
"client_identifier": "296f0b98-7bc5-4750-8cb9-2e36db1ff766",
"quantity": 1,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
}'{ "message": "Success" }
- Mock serverhttps://developer.optoro.com/_mock/openapi/drop_ship/webhooks/openapi/drop_shipment_cancellation
- https://developer.optoro.com/drop_shipment_cancellation
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developer.optoro.com/_mock/openapi/drop_ship/webhooks/openapi/drop_shipment_cancellation \
-H 'Content-Type: application/json' \
-d '{
"order": {
"id": 1,
"client_identifier": "3fda4c37-6830-469f-b343-9d1a482a97fd",
"billing_address": {
"id": 1,
"name": "Lacy Macejkovic",
"company": "Bayer-Abernathy",
"telephone_number": "(914) 000-8971",
"street": "315 5th Ave",
"street2": "Suite 2112",
"city": "Scarsdale",
"state": "NY",
"zip_code": "10583",
"country": "US",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"shipping_address": {
"id": 1,
"name": "James Carter",
"company": "Carter Industries",
"telephone_number": "(206) 555-1208",
"street": "121 Vine Street",
"street2": "Suite 1200",
"city": "Seattle",
"state": "WA",
"zip_code": "98121",
"country": "US",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"brand": "acme",
"shipping_method": "STANDARD",
"status": "cancelled",
"price_cents": 10000,
"tax_cents": 1000,
"processing_fee_cents": 0,
"shipping_cost_cents": 500,
"shipping_tax_cents": 0,
"comments": "Sample order instructions",
"expected_delivery_date": "2019-08-24",
"signature_required": true,
"packing_slip_identifier": "1497064",
"reject_reason": "",
"order_items": [
{
"id": 1,
"client_identifier": "296f0b98-7bc5-4750-8cb9-2e36db1ff766",
"sku": "PTBQ121308",
"brand": "test_brand",
"condition": "N",
"quantity": 1,
"price_cents": 10000,
"tax_cents": 1000,
"shipping_cost_cents": 500,
"shipping_tax_cents": 0,
"status": "cancelled",
"comments": ""
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
}'{ "message": "Success" }
- Mock serverhttps://developer.optoro.com/_mock/openapi/drop_ship/webhooks/openapi/drop_shipment_partial_cancellation
- https://developer.optoro.com/drop_shipment_partial_cancellation
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developer.optoro.com/_mock/openapi/drop_ship/webhooks/openapi/drop_shipment_partial_cancellation \
-H 'Content-Type: application/json' \
-d '{
"order": {
"id": 1,
"client_identifier": "3fda4c37-6830-469f-b343-9d1a482a97fd",
"status": "shipped",
"order_items": [
{
"id": 1,
"client_identifier": "296f0b98-7bc5-4750-8cb9-2e36db1ff766",
"status": "cancelled",
"quantity": 3,
"cancelled_quantity": 1
}
]
}
}'{ "message": "Success" }