请注意:
- 本指南应与Deliverr API规范一起使用: https://api.deliverr.com/documentation/v1/spec
- 本指南需此作用域:api/products, api/orders, api/webhooks
虽然确认集成如期运行的最佳方法,是通过我们的系统发送订单并发货,但Deliverr API提供了测试订单和产品库存管理功能的资源。
测试产品
使用Deliverr API创建产品是完全没问题的。用于测试的产品只会显示在Deliverr卖家门户中。但如果添加了大量的测试产品,则可能会使库存列表变得混乱。
产品库存
目前,无法测试Get Product Inventory,但对于当前没有库存的产品, availableUnits
值都设置为0,所以可以使用该端点,在终端关联相应的响应。
产品库存webhook可以通过Webhook分页中的Trigger mock event端点来测试。要使用此端点通过webhook测试库存更新,必须首先为INVENTORY_UPDATE
类型注册webhook。注册webhook后,使用想接收INVENTORY_UPDATE webhook的external_product_id发出如下请求:
curl --location --request POST '<https://api.deliverr.com/webhooks/v1/event>' \\
--header 'Authorization: Bearer {valid_access_token}' \\
--header 'Content-Type: application/json' \\
--data-raw '{
"type": "INVENTORY_UPDATE",
"updateType": "INVENTORY_AVAILABLE",
"externalProductId": "{external_product_id}"
}'
一旦发出了请求,就会在为INVENTORY_UPDATE正文架构中的INVENTORY-UPDATE-webhook注册的URL处,收到请求。
订单管理
Deliverr API提供了一种方法,允许在没有库存的情况下,测试订单的创建和订单流程。
要测试订单创建,请使用Orders分页中的Create order端点,但要添加字符串值为true
的X-Deliverr-Mock-Request
标头值。请注意,对于测试订单,我们不验证库存,我们只确认externalProductId否与现有产品相关。
curl --location --request POST '<https://api.deliverr.com/orders/v1/order>' \\
--header 'Authorization: Bearer {valid_access_token}' \\
--header 'X-Deliverr-Mock-Request: true' \\
--header 'Content-Type: application/json' \\
--data-raw '{
"externalOrderId": "string",
"source": "string",
"sourceOrderId": "string",
"shiptoAddress": {
"name": "string",
"company": "string",
"street1": "string",
"street2": "string",
"city": "string",
"state": "string",
"postcode": "string",
"countryCode": "string"
},
"lineItems": [
{
"externalProductId": "string",
"quantity": 0
}
],
"orderDeliveryTime": "2019-08-24T14:15:22Z",
"shipMethod": "string",
"orderShipmentTime": "2019-08-24T14:15:22Z",
"orderCreationTime": "2019-08-24T14:15:22Z"
}'
创建订单后,如果已注册ORDER_STATUS_UPDATE
webhook,就会收到CREATED
状态更新webhook。如果尚未注册ORDER_STATUS_UPDATE
webhook,则可以忽略。
创建后,订单将在测试环境中运行一小时。在这一小时内,可以测试订单的发货和取消。
为了测试订单发货,可以使用Trigger mock event端点为 SHIPPED
updateType触发一个模拟的 ORDER_STATUS_UPDATE
webhook事件。 在使用该端点时,请提供用于创建订单的externalOrderId。
curl --location --request POST '<https://api.deliverr.com/webhooks/v1/event>' \\
--header 'Authorization: Bearer {valid_access_token}' \\
--header 'Content-Type: application/json' \\
--data-raw '{
"type": "ORDER_STATUS_UPDATE",
"updateType": "SHIPPED",
"externalOrderId": "{external_order_id}"
}'
触发此webhook模拟事件,还将更新测试订单的发货,并将订单转为SHIPPED
状态。现在也可以在Get order端点和Get order by externalOrderId端点看到货物的详细信息。要看到测试订单,必须将X-Deliverr-Mock-Request
标头值设置为true
。
要测试订单的取消,可以使用Cancel order端点,并将 X-Deliverr-Mock-Request
标头值设置为 true
。当取消订单时,如果已经注册了ORDER_STATUS_UPDATE
webhook,会收到一个CANCELLED
状态更新webhook。