来自 Amazon Pinpoint 的短信事件数据流
如果为项目启用了短信渠道,Amazon Pinpoint 可以流式传输有关项目的短信传送事件数据。设置事件流式传输后,Amazon Pinpoint 会从您在设置期间指定的目的地中检索事件数据供您查看。有关如何设置事件流式传输的信息,请参阅 设置 Amazon Pinpoint 以通过 Amazon Kinesis 或 Amazon Data Firehose 流式传输应用程序事件数据 。
注意
运营商生成的短信事件最多可能需要 72 小时才能接收,因此不应将其用于判断出站消息传送是否存在延迟。72 小时后,如果 Amazon Pinpoint 仍未收到运营商的最终事件,则该服务将自动返回 UNKNOWN record_status,因为 Amazon Pinpoint 不知道该消息发生了什么情况。
短信事件示例
短信事件的 JSON 对象包含以下示例中显示的数据。
{ "event_type": "_SMS.SUCCESS", "event_timestamp": 1553104954322, "arrival_timestamp": 1553104954064, "event_version": "3.1", "application": { "app_id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "sdk": {} }, "client": { "client_id": "123456789012" }, "device": { "platform": {} }, "session": {}, "attributes": { "sender_request_id": "565d4425-4b3a-11e9-b0a5-example", "campaign_activity_id": "cbcfc3c5e3bd48a8ae2b9cb41example", "origination_phone_number": "+12065550142", "destination_phone_number": "+14255550199", "record_status": "DELIVERED", "iso_country_code": "US", "treatment_id": "0", "number_of_message_parts": "1", "message_id": "1111-2222-3333", "message_type": "Transactional", "campaign_id": "52dc44b35c4742c98c5935269example" }, "metrics": { "price_in_millicents_usd": 645.0 }, "awsAccountId": "123456789012" }
短信事件属性
本节定义了在您发送短信消息时 Amazon Pinpoint 生成的事件流数据的上一个示例中包含的属性。
属性 | 描述 |
---|---|
event_type |
事件类型。可能的值有:
|
event_timestamp |
报告事件的时间,显示为以毫秒为单位的 Unix 时间。 |
arrival_timestamp |
Amazon Pinpoint 收到事件的时间,显示为以毫秒为单位的 Unix 时间。 |
event_version |
事件 JSON 架构的版本。 提示在事件处理应用程序中检查此版本,以便知道何时更新应用程序以响应架构更新。 |
application |
与事件关联的 Amazon Pinpoint 项目的相关信息。有关更多信息,请参阅应用程序表。 |
client |
安装在设备上用于报告事件的应用程序客户端的相关信息。有关更多信息,请参阅客户端 表。 |
device |
报告事件的设备的相关信息。有关更多信息,请参阅设备 表。 对于短信事件,此对象为空。 |
session |
对于短信事件,此对象为空。 |
attributes |
与事件关联的属性。对于您的应用程序之一报告的事件,此对象包含由应用程序定义的自定义属性。对于在您发送活动时创建的事件,此对象包含与活动关联的属性。对于在您发送事务性电子邮件时生成的事件,此对象包含与电子邮件本身相关的信息。 有关更多信息,请参阅属性表。 |
metrics |
与事件关联的其他指标。有关更多信息,请参阅指标表。 |
awsAccountId |
已用于发送电子邮件的 AWS 账户的 ID。 |
应用程序
包括有关与事件关联的 Amazon Pinpoint 项目和(如果适用)用于报告事件的开发工具包的信息。
属性 | 描述 |
---|---|
app_id |
报告事件的 Amazon Pinpoint 项目的唯一 ID。 |
sdk |
用于报告该事件的开发工具包。如果您通过直接调用 Amazon Pinpoint API 或使用 Amazon Pinpoint 控制台来发送事务性短信,则此对象为空。 |
Attributes
包括与事件关联的属性的相关信息。
属性 | 描述 |
---|---|
sender_request_id |
与发送短信的请求关联的唯一 ID。 |
campaign_activity_id |
活动内活动的唯一 ID。 |
origination_phone_number |
用于发送消息的电话号码。 |
destination_phone_number |
尝试将消息发送到的电话号码。 |
record_status |
有关信息状态的其他消息。可能的值包括:
|
iso_country_code |
与接收人的电话号码关联的国家,按 ISO 3166-1 alpha-2 格式显示。 |
treatment_id |
在 A/B 活动中发送消息时,消息处理的 ID。 |
treatment_id |
如果使用 A/B 测试活动发送了消息,则此值表示消息的处理编号。对于事务性短信,此值为 0。 |
number_of_message_parts |
Amazon Pinpoint 为了发送消息而创建的消息部分数量。 通常,短信只能包含 160 个 GSM-7 字符或 67 个非 GSM 字符,但这些限制会因国家而异。如果您发送的消息超出了这些限制,Amazon Pinpoint 会自动将消息拆分为较小的部分。我们根据您发送的消息部分数量收取费用。 |
message_id |
Amazon Pinpoint 在接受消息时生成的唯一 ID。 |
message_type |
消息类型。可能的值为 Promotional 和 Transactional。您可以在创建活动时,或在 Amazon Pinpoint API 中使用 SendMessages 操作来发送事务性消息时指定此值。 |
campaign_id |
发送消息的 Amazon Pinpoint 活动的唯一 ID。 |
customer_context |
Amazon Pinpoint SendMessages 操作中发送的 |
客户端
包括安装在设备上用于报告事件的应用程序客户端的相关信息。
属性 | 描述 |
---|---|
client_id |
对于应用程序生成的事件,此值是安装在设备上的应用程序客户端的唯一 ID。此 ID 由 AWS Mobile SDK for iOS 和 AWS Mobile SDK for Android 自动生成。 对于在您发送活动和事务性消息时生成的事件,此值等于您将消息发送到的端点的 ID。 |
cognito_id |
在应用程序使用的 Amazon Cognito 身份池中分配给应用程序客户端的唯一 ID。 |
设备
包括报告事件的设备的相关信息。
属性 | 描述 |
---|---|
locale |
设备区域设置。 |
make |
设备制造商,如 Apple 或 Samsung 。 |
model |
设备型号,如 iPhone 。 |
platform |
设备平台,如 ios 或 android 。 |
指标
包括与事件关联的指标的相关信息。
属性 | 描述 |
---|---|
price_in_millicents_usd |
我们向您收取的发送消息的费用。此价格以千分之一美分显示。例如,如果此属性的值为 注意对于 |