管理 Amazon Marketing Stream 订阅
完成 Amazon Marketing Stream 初始设置之后,您可以使用以下操作来查看、添加、更新和存档订阅。
提示
使用亚马逊的 Postman 集合来测试 Amazon Marketing Stream API。集合和环境设置完成后,请查看 Amazon Marketing Stream 文件夹以调用 API。
提示
请尝试 CLI。用于处理本文档中所有操作的 CLI 作为 Amazon Marketing Stream 在 GitHub 上的参考实施的一部分提供。
查看所有订阅
要查看与广告配置文件关联的所有数据集订阅,请使用 GET /streams/subscriptions
接口。
请求
此资源返回为 Amazon-Advertising-API-Scope
中传递的配置文件标识符创建的订阅。您可以使用 maxResults
查询参数以控制每页返回的结果数。
示例
curl --location --request GET 'https://advertising-api.amazon.com/streams/subscriptions?maxResults=10' \
--header 'Amazon-Advertising-API-ClientId: xxxxxxxxx' \
--header 'Amazon-Advertising-API-Scope: xxxxxxxxx' \
--header 'Authorization: Bearer xxxxxxxxx'
响应
示例
{
"nextToken": "string",
"subscriptions": [
{
"createdDate": "2022-02-16T20:11:05.323Z",
"destinationArn": "string",
"dataSetId": "sp-traffic",
"subscriptionId": "54321",
"updatedDate": "2022-02-18T20:11:05.323Z",
"status": "ACTIVE"
},
{
"createdDate": "2022-02-15T20:11:05.323Z",
"destinationArn": "string",
"dataSetId": "sp-conversion",
"subscriptionId": "12345",
"updatedDate": "2022-03-19T20:11:05.323Z",
"status": "ARCHIVED"
},
]
}
如果有更多页的结果,您可以在下次调用的 startingToken
查询参数中传递 nextToken
值。
添加订阅
如果您需要订阅新的数据集或广告主,请使用 POST /streams/subscriptions
接口。
在添加订阅之前,请确保您已经为数据集添加相关的 IAM 策略到您的 SQS 队列。为了完成订阅并开始接收数据,您需要在 SQS 中确认订阅。
您可以在数据指南中查看目前支持哪些数据集。
请求
对于 destinationArn
,请确保包含一个 SQS ARN,该 ARN 应用了与您要请求的 dataSetId
匹配的 IAM 策略。
示例
curl --location --request POST 'https://advertising-api.amazon.com/streams/subscriptions' \
--header 'Amazon-Advertising-API-ClientId: xxxxxx' \
--header 'Amazon-Advertising-API-Scope: xxxxxxx' \
--header 'Content-Type: application/vnd.MarketingStreamSubscriptions.StreamSubscriptionResource.v1.0+json' \
--header 'Authorization: Bearer xxxxxxxxx' \
--data-raw '{
"clientRequestToken": "123456xyz789101112",
"dataSetId": "sp-traffic",
"notes": "Advertiser 1 sp-traffic subscription",
"destinationArn": "QUEUE_ARN"
}‘
响应
成功调用会返回一个响应,显示 subscriptionID
,您可以用来查看订阅状态。
示例
{
"subscriptionId": "xxxxxxxxxxxxx",
"clientRequestToken": "123456xyz789101112",
}
查看订阅状态
创建并确认订阅之后,您可以使用 GET /streams/subscriptions/{subscriptionId}
接口查看订阅的状态信息。
提示
请定期查看订阅状态,以确保所有订阅都处于活动状态。如果一个订阅中使用了用户的令牌,但用户失去了对广告实体的访问权限,则该订阅会被暂停。
可能的状态
| 状态 | 描述 | |--- |--- | | PROVISIONING | 订阅已创建,并且正由亚马逊预配。预配完成后,订阅将进入 PENDING_CONFIRMATION 状态。 | | PENDING_CONFIRMATION | 订阅已创建和预配,正在等待在 SQS 队列中确认。 | | FAILED_CONFIRMATION | 订阅在 3 天内未在 SQS 中得到确认。如果发生这种情况,请创建一个新的订阅,并在 3 天失效期结束前确认该订阅。 | | ACTIVE | 订阅处于活跃状态并正在传送数据。 | | ARCHIVED | 订阅已存档。 | | SUSPENDED | 订阅已暂停。如果创建订阅的账户在广告平台中失去了对广告主的访问权限,则会发生这种情况。 |
警告
SUSPENDED
订阅无法设置为ACTIVE
。暂停订阅后,您必须使用有权访问数据的账户重复进行订阅流程。
请求
示例
curl --location -g --request GET 'https://advertising-api.amazon.com/streams/subscriptions/xxxxxxxxxx' \
--header 'Amazon-Advertising-API-ClientId: xxxxxxx' \
--header 'Amazon-Advertising-API-Scope: xxxxxxxx' \
--header 'Authorization: Bearer Atza| xxxxxxxx'
响应
示例
{
"subscription": {
"createdDate": "2021-10-14T18:25:52.861Z",
"notes": "Advertiser 1 sp-traffic subscription",
"subscriptionId": "xxxxxxxxxx",
"destinationArn": "QUEUE_ARN",
"dataSetId": "sp-traffic",
"updatedDate": "2021-10-15T18:25:52.861Z",
"status": "PROVISIONING"
}
}
存档订阅
目前无法删除 Amazon Marketing Stream 订阅。您可以通过使用 PUT /streams/subscriptions/{subscriptionId}
接口并将 status
设置为 ARCHIVED
来存档订阅。将状态设置为“已存档”会停止与订阅关联的广告主账户和数据集的所有数据传输。
请求
示例
curl --location -g --request PUT 'https://advertising-api.amazon.com/streams/subscriptions/xxxxxxxxx' \
--header 'Amazon-Advertising-API-ClientId: xxxxxxx' \
--header 'Amazon-Advertising-API-Scope: xxxxxx' \
--header 'Authorization: Bearer Atza|xxxxxxxxx' \
--data-raw '{
"status": "ARCHIVED"
}'
响应
成功的响应将返回 200 响应。