SMS来自亚马逊 Pinpoint 的事件数据流 - Amazon Pinpoint

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SMS来自亚马逊 Pinpoint 的事件数据流

如果为项目启用了该SMS频道,Amazon Pinpoint 可以流式传输有关该项目SMS消息传输的事件数据。设置活动直播后,Amazon Pinpoint 会从您在设置期间指定的目标中检索您的事件数据供您查看。有关如何设置事件直播的信息,请参阅 设置 Amazon Pinpoint 以通过亚马逊 Kinesis 或亚马逊 Data Firehose 流式传输应用程序事件数据

注意

SMS运营商生成的事件最多可能需要 72 小时才能接收,因此不应使用这些事件来确定出站邮件的传送是否存在延迟。72 小时后,如果 Amazon Pinpoint 尚未收到承运人的最终事件,则该服务会自动返回UNKNOWN记录状态,因为亚马逊 Pinpoint 不知道该消息发生了什么。

SMS事件示例

SMS事件的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" }

SMS事件属性

本节定义了前面示例中包含的属性,这些数据是 Amazon Pinpoint 在您发送SMS消息时生成的事件流数据。

事件
属性 描述
event_type

事件类型。可能的值有:

  • _ SMS。 BUFFERED— 邮件仍在发送给收件人的过程中。

  • _ SMS。 SUCCESS— 邮件已成功被承运人接受/已送达收件人。

  • _ SMS。 FAILURE— Amazon Pinpoint 无法将消息传送给收件人。要了解有关阻止消息传送的错误的更多信息,请参阅 attributes.record_status

  • _ SMS。 OPTOUT— 客户收到消息并通过发送选择退出关键字(通常STOP为 “”)进行回复。

event_timestamp

报告事件的时间,显示为以毫秒为单位的 Unix 时间。

arrival_timestamp

Amazon Pinpoint 收到事件的时间,显示为以毫秒为单位的 Unix 时间。

event_version

事件JSON架构的版本。

提示

在事件处理应用程序中检查此版本,以便知道何时更新应用程序以响应架构更新。

application

与事件关联的 Amazon Pinpoint 项目的相关信息。有关更多信息,请参阅应用程序表。

client

安装在设备上用于报告事件的应用程序客户端的相关信息。有关更多信息,请参阅客户端 表。

device

报告事件的设备的相关信息。有关更多信息,请参阅设备 表。

对于SMS事件,此对象为空。

session 对于SMS事件,此对象为空。
attributes

与事件关联的属性。对于您的应用程序之一报告的事件,此对象包含由应用程序定义的自定义属性。对于在您发送活动时创建的事件,此对象包含与活动关联的属性。对于在您发送事务性电子邮件时生成的事件,此对象包含与电子邮件本身相关的信息。

有关更多信息,请参阅属性表。

metrics

与事件关联的其他指标。有关更多信息,请参阅指标表。

awsAccountId

用于发送消息的 AWS 账户的 ID。

应用程序

包括与该事件关联的 Amazon Pinpoint 项目相关的信息,以及用于报告SDK该事件的信息(如果适用)。

属性 描述
app_id

报告事件的 Amazon Pinpoint 项目的唯一 ID。

sdk

SDK用于报告事件的。如果您通过直接调用 Amazon Pinpoint 或使用亚马逊 API Pinpoint 控制台发送交易SMS消息,则此对象为空。

Attributes

包括与事件关联的属性的相关信息。

属性 描述
sender_request_id

与发送SMS消息的请求关联的唯一 ID。

campaign_activity_id 活动内活动的唯一 ID。
origination_phone_number

用于发送消息的电话号码。

destination_phone_number

尝试将消息发送到的电话号码。

record_status

有关信息状态的其他消息。可能的值包括:

  • SUCCESSFUL/DELIVERED— 消息已成功传送。

  • PENDING— 消息尚未传送到收件人的设备。

  • INVALID— 目标电话号码无效。

  • UNREACHABLE— 收件人的设备当前无法访问或不可用。例如,设备可能已关闭,或者可能断开与网络的连接。您可以稍后再次尝试发送消息。

  • UNKNOWN— 发生错误,导致邮件无法传送。此错误通常是临时的,您可以稍后再次尝试发送消息。

  • BLOCKED— 收件人的设备正在屏蔽来自发件号码的SMS消息。

  • CARRIER_ UNREACHABLE — 收件人的移动网络问题导致消息无法传送。此错误通常是临时的,您可以稍后再次尝试发送消息。

  • SPAM— 收件人的移动运营商将邮件内容识别为垃圾邮件,并阻止了邮件的传送。

  • INVALID_ MESSAGE — SMS 邮件正文无效,无法传送。

  • CARRIER_ BLOCKED — 收件人的承运人已阻止发送此邮件。当运营商确定消息的内容是未经请求内容或恶意内容时,通常会出现这种情况。

  • TTL_ EXPIRED — 无法在特定时间范围内传送SMS消息。此错误通常是临时的,您可以稍后再次尝试发送消息。

  • MAX_ PRICE _ EXCEEDED — 发送消息会导致费用超过您账户的每月SMS支出配额。您可以通过完成 Amazon Pinpoint 用户指南中请求增加每月SMS支出配额中的程序来申请增加此配额。

  • OPTED_ OUT — SMS 消息未发送,因为收件人选择不接收您的消息。

  • NO_ QUOTA _ LEFT _ON_ ACCOUNT — 您的账户上剩余的支出配额不足,无法发送消息。您可以通过完成《AWS 最终用户消息SMS用户指南》中请求增加每月SMS支出配额中的步骤来申请增加此配额。

  • NO ORIGINATION _ IDENTITY _ _ AVAILABLE _TO_ SEND — 您的账户中不包含可用于向目的地发送消息的电话号码。

  • DESTINATION_ COUNTRY NOT _ SUPPORTED — 目的地国家已被封锁。有关所有支持的国家/ 地区,请参阅《AWS 最终用户消息SMS用户指南》中的支持国家和地区(SMS频道)

  • ACCOUNT_IN_ SANDBOX — 您的账户位于沙箱中,只能发送到经过验证的目的地号码。您可以在 Amazon Pinpoint 控制台中验证目标号码,也可以开始将账户移出沙箱,请参阅AWS 最终用户消息用户指南》中的关于SMS/MMS和语音沙箱。SMS

  • RATE_ EXCEEDED — 您试图发送消息的速度太快并受到限制。您需要降低调用率。有关限制的详细信息,请参阅《AWS 最终用户消息SMS用户指南》中的每秒消息分数 (MPS) 限制

  • INVALID_ ORIGINATION _ IDENTITY — 提供的来源身份无效。

  • ORIGINATION_ IDENTITY DOES _ NOT _ EXIST — 提供的来源身份不存在。

  • INVALID_ DLT _ PARAMETERS — 提供的DLT参数无效(印度境内的目的地是必需的)。

  • INVALID_ PARAMETERS — 提供的参数无效。

  • ACCESS_ DENIED — 您的账户被禁止发送消息。请联系客户支持以找出原因并解决问题。

  • INVALID_ KEYWORD — 提供的关键字无效。关键字的格式可能不正确或未在您的账户中设置。

  • INVALID_ SENDER _ID — 提供的发件人 ID 无效。发件人 ID 的格式或长度可能不正确。

  • INVALID_ POOL _ID — 提供的池 ID 无效。池 ID 的格式可能不正确或不属于您的账户。

  • SENDER_ID_ _ NOT _ SUPPORTED FOR _ DESTINATION — 目的地国家/地区不支持发件人 ID。您必须使用电话号码或其他源身份进行发送。

  • INVALID_ PHONE _ NUMBER — 提供的发件人电话号码无效。电话号码的格式或长度可能不正确。

iso_country_code

与收件人电话号码关联的国家,以 ISO 3166-1 alpha-2 格式显示。

treatment_id

在 A/B 活动中发送消息时,消息处理的 ID。

treatment_id

如果使用 A/B 测试活动发送了消息,则此值表示消息的处理编号。对于交易SMS消息,此值为 0。

number_of_message_parts

Amazon Pinpoint 为了发送消息而创建的消息部分数量。

通常,SMS消息只能包含 160 GSM -7 个字符或 67 个非GSM字符,尽管这些限制可能因国家而异。如果您发送的消息超出了这些限制,Amazon Pinpoint 会自动将消息拆分为较小的部分。我们根据您发送的消息部分数量收取费用。

message_id

Amazon Pinpoint 在接受消息时生成的唯一 ID。

message_type

消息类型。可能的值为 PromotionalTransactional。您可以在创建活动时或使用 Ama API zon Pinpoint 中的SendMessages操作发送交易消息时指定此值。

campaign_id

发送消息的 Amazon Pinpoint 活动的唯一 ID。

客户端

包括安装在设备上用于报告事件的应用程序客户端的相关信息。

属性 描述
client_id

对于应用程序生成的事件,此值是安装在设备上的应用程序客户端的唯一 ID。此 ID 由 AWS Mobile SDK for iOS 和自动生成 AWS Mobile SDK for Android。

对于在您发送活动和事务性消息时生成的事件,此值等于您将消息发送到的端点的 ID。

cognito_id 在应用程序使用的 Amazon Cognito 身份池中分配给应用程序客户端的唯一 ID。

设备

包括报告事件的设备的相关信息。

属性 描述
locale 设备区域设置。
make 设备制造商,如 AppleSamsung
model 设备型号,如 iPhone
platform 设备平台,如 iosandroid

指标

包括与事件关联的指标的相关信息。

属性 描述
price_in_millicents_usd

我们向您收取的发送消息的费用。此价格以千分之一美分显示。例如,如果此属性的值为 645,则我们收取的消息发送单价是 0.645¢ (645 / 1000 = 0.645¢ = $0.00645)。

注意

对于带有 _ 的消息,此属性不会出现SMS。event_type BUFFERED