教程:订阅 ORDER_CHANGE 通知
订阅 ORDER_CHANGE
通知的工作流程
本教程介绍如何使用 ORDER_CHANGE
通知,每当订单可用性状态发生变化时都会发送通知。订阅此通知将有助于减少您的订单处理工作量并提高您与亚马逊销售合作伙伴 API 集成的绩效。
的好处 ORDER_CHANGE
通知
ORDER_CHANGE
通知这个 ORDER_CHANGE
通知具有以下优点:
- 足够的信息来自动化您的后续工作流程: 你现在可以使用
ORDER_CHANGE
有效载荷以获取有关订单的信息。该通知还旨在在买家请求取消时通知您。 - 需要时通知的事件: 您将不再需要继续轮询订单 API,从而节省服务器容量。
- 订单级别的合并有效载荷: 如果您的订单中有多个订单商品,您将收到订单级别的合并有效载荷。在订单层触发允许您创建更有效的集成工作流程。
- 事件过滤器允许筛选订阅: 现在支持事件过滤器
ORDER_CHANGE
通知。使用事件过滤器,您可以订阅相关的OrderChangeType
筛选与您的业务相关的订单通知。我们目前支持买家请求的取消和订单状态变更。 - 事件过滤器可扩展以备将来的用例: 这一新通知允许亚马逊将来添加与订单相关的其他活动,例如某些 Easy Ship 活动或路边提货活动。
- 添加了更改时间以提供实时事件更改: 这个
ORDER_CHANGE
通知将订单更改时间作为有效载荷中的一个字段。将其实施到您的集成中,您可以为卖家提供实时更新。
教程
以下教程将帮助您订阅和使用 ORDER_CHANGE
通知。
先决条件
在您订阅之前 ORDER_CHANGE
通知,您的开发者资料和应用程序必须有 库存和订单跟踪角色 要么 亚马逊配送角色 已分配。
重要说明:
此通知的先前版本,
ORDER_STATUS_CHANGE
,已被弃用。订阅ORDER_CHANGE
通知并删除您的订阅ORDER_STATUS_CHANGE
。
- 致电
getSubscription
手术 去取subscriptionId
的ORDER_STATUS_CHANGE
。- 随着
subscriptionId
,使用deleteSubscriptionById
手术 删除对的订阅ORDER_STATUS_CHANGE
通知。请记住deleteSubscriptionById
操作是无授权的操作。
第 1 步。订阅 ORDER_CHANGE
通知
ORDER_CHANGE
通知- 创建订阅
ORDER_CHANGE
使用处理指令。
这个 processingDirective
用于向订阅传递其他信息以控制通知的处理。例如,你可以使用 eventFilter
筛选出特定订单变更类型的通知。
要使用 eventFilter
为了 ORDER_CHANGE
通知,请务必包括 eventFilterType
和 orderChangeTypes
在创建订阅步骤中。
-
调用
createSubscription
操作。 -
添加参数
ORDER_CHANGE
在notificationType
路径变量。
以下有效负载显示如何将过滤器设置为仅接收有关订单状态变化的通知。请务必包括你的 destinationId
:
POST https://sellingpartnerapi-na.amazon.com/notifications/v1/subscriptions/ORDER_CHANGE
{
"payloadVersion": "1.0",
"destinationId": "e22gf420-1606-47c4-a393-91df6648d3da",
"processingDirective": {
"eventFilter": {
"orderChangeTypes": [
"OrderStatusChange"
],
"eventFilterType": "ORDER_CHANGE"
}
}
}
如果请求成功,您将收到以下响应:
{
"payload": {
"subscriptionId": "92d519e4-f208-493b-9092-d70cf546c383",
"destinationId": "e22gf420-1606-47c4-a393-91df6648d3da",
"payloadVersion": "1.0",
"processingDirective": {
"eventFilter": {
"orderChangeTypes": [
"OrderStatusChange"
],
"eventFilterType": "ORDER_CHANGE"
}
}
}
}
如果你想收到 BuyerRequestedChange
信息,你必须包括 BuyerRequestedChange
在 orderChangeTypes
过滤掉相关通知。要接收所有订单变更类型的订单通知,请添加 eventFilterType
订阅此通知时进行设置。
有效载荷示例:
{
"destinationId": "e22gf420-1606-47c4-a393-91df6648d3da",
"payloadVersion": "1.0",
"processingDirective": {
"eventFilter": {
"eventFilterType": "ORDER_CHANGE"
}
}
}
第 2 步。接收通知消息
正确设置通知后,您将在亚马逊简单队列服务 (Amazon SQS) 队列中收到所有订单状态变更的消息。
以下是示例 ORDER_CHANGE
通知:
{
"NotificationVersion" : "1.0",
"NotificationType" : "ORDER_CHANGE",
"PayloadVersion" : "1.0",
"EventTime" : "2023-10-03T01:35:06.382Z",
"Payload" : {
"OrderChangeNotification" : {
"NotificationLevel" : "OrderLevel",
"SellerId" : "ABCDEFGFMDKELDW",
"AmazonOrderId" : "123-4567891-4567891",
"OrderChangeType" : "OrderStatusChange",
"OrderChangeTrigger" : {
"TimeOfOrderChange" : "2023-10-03T01:35:01.000Z",
"ChangeReason" : "Order Status Change"
},
"Summary" : {
"MarketplaceId" : "A2Q3Y263D00KWC",
"OrderStatus" : "Unshipped",
"PurchaseDate" : "2023-10-03T01:03:44.106Z",
"DestinationPostalCode" : null,
"FulfillmentType" : "MFN",
"OrderType" : "StandardOrder",
"OrderPrograms" : [ ],
"ShippingPrograms" : [ ],
"OrderItems" : [ {
"OrderItemId" : "12345207241",
"SellerSKU" : "SKU123",
"SupplySourceId" : null,
"Quantity" : 15
} ]
}
}
},
"NotificationMetadata" : {
"ApplicationId" : "amzn1.sp.solution.c4d.......",
"SubscriptionId" : "52ac10........",
"PublishTime" : "2023-10-03T01:35:07.931Z",
"NotificationId" : "e9b0f384........"
}
}
当您收到通知时,请检查的值 OrderChangeTypes
在通知有效载荷中:
BuyerRequestedChange
:买家已发起取消。要取消 MFN 订单,请使用POST_ORDER_ACKNOWLEDGEMENT_DATA
喂。OrderStatusChange
:订单状态已更改。查看已更改的内容OrderStatus
。如果是Unshipped
,您现在可以开始准备订单以配送买家购买的商品。这是一项时间敏感的任务;实时通知有助于您及时履行订单。将商品配送给买家后,您还需要确认向亚马逊发货,通知买家商品已发货。请参阅 如何使用 SP-API 确认卖家自行配送订单 了解有关使用卖家合作伙伴 API 确认卖家自行配送订单的更多信息。
的有效载荷 ORDER_CHANGE
通知现在提供 OrderItems
来自相关订单。当你使用 OrderItems
信息,您不再需要致电 getOrderItems
操作以了解订单中有哪些物品。
结论
本教程介绍了如何订阅和使用 ORDER_CHANGE
通知,这有助于减少您的订单处理工作量并提高您与亚马逊销售合作伙伴 API 集成的绩效。
Updated 8 months ago