商品如何订阅更新让亚马逊通知

发布于 2025-07-15 13:46:54

商品如何订阅更新让亚马逊通知 是否更新成功或者上传后 通知是否上传完成或者进度 ,还有订单的订阅通知

查看更多

关注者
0
被浏览
74
1 个回答
Alex
Alex 2025-07-19
10年跨境老兵(微信:sfgoods),熟悉主流平台(Amazon Ebay 速卖通 Shopee Lazada),欢迎交流~

需要用到AWS事件桥和SQS,详细如下:

目标

  • 订阅商品更新(如:LISTINGS_ITEM_STATUS_CHANGE)
  • 订阅订单更新(如:ORDER_CHANGE)

总体流程

有两种接收通知的方式:

  1. Amazon EventBridge:用于商品相关通知(Listings)
  2. Amazon SQS(Simple Queue Service):用于订单等通知(Orders)

商品更新订阅流程(使用 Amazon EventBridge)

支持的通知类型示例

  • LISTINGS_ITEM_STATUS_CHANGE
  • LISTINGS_ITEM_MFN_QUANTITY_CHANGE
  • BRANDED_ITEM_CONTENT_CHANGE

步骤 1:创建 Destination(createDestination)

接口: POST /notifications/v1/destinations

参数:

{
  "resourceSpecification": {
    "eventBridge": {
      "region": "us-east-1",
      "accountId": "AWS_ACCOUNT_ID"
    }
  },
  "name": "MyEventBridgeDestination"
}

返回值中保存:

  • destinationId
  • resource.eventBridge.name(用于 EventBridge 配置)

步骤 2:在 AWS EventBridge 配置 partner event source

  1. 登录 AWS 控制台
  2. 找到 EventBridge > Partner event sources
  3. 找到格式为 aws.partner/sellingpartnerapi.amazon.com/{AWS Account Id}/{Application Id} 的 source
  4. 点击并关联事件总线(Event Bus)

步骤 3:创建 Rule 匹配通知类型

  1. 在 EventBridge 控制台,进入 Rules > Create rule
  2. 选择刚刚关联的 partner event bus
  3. 选择 “Use pattern form”
  4. 事件模式样例(仅接收某类通知):
{
  "source": [
    {
      "prefix": "aws.partner/sellingpartnerapi.amazon.com"
    }
  ],
  "detail-type": ["LISTINGS_ITEM_STATUS_CHANGE"]
}
  1. 设置 Target(如 SQS queue、Lambda 等)

步骤 4:创建 Subscription(createSubscription)

接口: POST /notifications/v1/subscriptions/{notificationType}

参数示例:

{
  "payloadVersion": "1.0",
  "destinationId": "YOUR_DESTINATION_ID"
}

notificationType 示例值:

  • "LISTINGS_ITEM_STATUS_CHANGE"
  • "BRANDED_ITEM_CONTENT_CHANGE"

订单更新订阅流程(使用 Amazon SQS)

支持的通知类型示例

  • ORDER_CHANGE
  • ANY_OFFER_CHANGED(可以包含 marketplaceIds 过滤器)

步骤 1:授权 SP-API 写入 SQS

参考 AWS 文档配置权限策略,允许 SP-API 写入您指定的 SQS 队列。


步骤 2:如使用加密,授权 SP-API 访问 KMS key(可选)

提供以下 IAM policy 示例:

{
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::437568002678:root"
  },
  "Action": ["kms:GenerateDataKey", "kms:Decrypt"],
  "Resource": "*"
}

步骤 3:创建 Destination(createDestination)

接口: POST /notifications/v1/destinations

参数:

{
  "resourceSpecification": {
    "sqs": {
      "arn": "arn:aws:sqs:region:account_id:queue_name"
    }
  },
  "name": "MySQSQueueDestination"
}

返回值中保存:

  • destinationId

步骤 4:创建 Subscription(createSubscription)

接口: POST /notifications/v1/subscriptions/{notificationType}

常见 notificationType 示例:

  • "ORDER_CHANGE"(订单状态/买家取消)
  • "ANY_OFFER_CHANGED"(包含市场过滤器)

参数示例(带过滤器):

{
  "payloadVersion": "1.0",
  "destinationId": "YOUR_DESTINATION_ID",
  "processingDirective": {
    "eventFilter": {
      "eventFilterType": "ANY_OFFER_CHANGED",
      "marketplaceIds": ["ATVPDKIKX0DER"]
    },
    "aggregationSettings": {
      "aggregationTimePeriod": "FiveMinutes"
    }
  }
}

重要说明

  • SQS 类型必须是 Standard queue,不能是 FIFO
  • 接收通知时需去重:通过 NotificationMetadata.notificationId
  • 支持重复、乱序交付,需做好幂等处理
  • ORDER_CHANGE 不支持 marketplaceIds 过滤,若需要请使用 ANY_OFFER_CHANGED

具体流程是这个文档:https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide

撰写答案

请登录后再发布答案,点击登录

发布
问题

公众
平台

最新资讯发布

分享
好友