SMS 來自 Amazon Pinpoint 的事件資料串流 - Amazon Pinpoint

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SMS 來自 Amazon Pinpoint 的事件資料串流

如果為專案啟用SMS通道,Amazon Pinpoint 可以串流專案SMS訊息傳遞的事件資料。設定事件串流後,Amazon Pinpoint 會從您在設定期間指定的目的地擷取事件資料,供您檢視。如需有關如何設定事件串流的資訊,請參閱 設定 Amazon Pinpoint,透過 Amazon Kinesis 或 Amazon Data Firehose 串流應用程式事件資料

注意

SMS 由電信業者產生的事件最多可能需要 72 小時才能收到,且不應用於判斷傳出訊息傳遞是否有延遲。72 小時後,如果 Amazon Pinpoint 尚未收到電信業者的最終事件,服務會自動傳回 UNKNOWN record_status,因為 Amazon 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 用於報告事件的 。如果您API直接呼叫 Amazon Pinpoint 或使用 Amazon Pinpoint 主控台傳送交易SMS訊息,則此物件為空。

Attributes

包含與事件相關聯的屬性資訊。

屬性 描述
sender_request_id

與傳送訊息請求相關聯的唯一 IDSMS。

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_IDENTITYAVAILABLE_TO_SEND – 您的帳戶不包含可用來將訊息傳送至目的地的電話號碼。

  • DESTINATION_COUNTRY_NOT_SUPPORTED – 目的地國家/地區遭到封鎖。對於所有支援的國家/地區,請參閱 AWS 使用者傳訊SMS使用者指南 中的支援的國家/地區和區域 (SMS 頻道)

  • ACCOUNT_IN_SANDBOX – 您的帳戶位於沙盒中,只能傳送至已驗證的目的地號碼。您可以在 Amazon Pinpoint 主控台中驗證目的地號碼,或開始將帳戶移出沙盒的程序,請參閱 AWS 使用者傳訊SMS使用者指南 中的關於 SMS/MMS 和語音沙盒

  • RATE_EXCEEDED – 您嘗試過快傳送訊息,並已調節。您需要放慢呼叫速度。如需限制的詳細資訊,請參閱 使用者傳訊使用者指南 中的每秒訊息部分數 (MPS) 限制AWS SMS

  • 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

訊息處理方式的 ID (如果已使用 A/B 行銷活動傳送訊息)。

treatment_id

如果訊息曾使用 A/B 測試行銷活動傳送,則此值代表訊息的處理方式號碼。對於交易SMS訊息,此值為 0。

number_of_message_parts

Amazon Pinpoint 為傳送訊息而建立的訊息部分數。

一般而言,SMS訊息只能包含 160 GSM-7 個字元或非 67GSM 個字元,但這些限制可能因國家或地區 而有所不同。如果您傳送的訊息超過這些限制,Amazon Pinpoint 會自動將訊息分割成較小的部分。收費依傳送的訊息片段數量為準。

message_id

Amazon Pinpoint 接受訊息時,產生的唯一 ID。

message_type

訊息的類型。可能的值為 Promotional (促銷)Transactional (交易)。您可以在建立行銷活動或使用 Amazon Pinpoint 中的 SendMessages操作傳送交易訊息時指定此值API。

campaign_id

傳送訊息的 Amazon Pinpoint 行銷活動的唯一 ID。

customer_context

在 Amazon Pinpoint SendMessages操作中傳送的Context映射中的內容JSON字串。

用戶端

包含回報事件之裝置上安裝的應用程式用戶端資訊。

屬性 描述
client_id

若為應用程式產生的事件,則此值會是安裝在裝置上的應用程式用戶端唯一 ID。此 ID 由 AWS Mobile SDK for iOS 和 自動產生 AWS Mobile SDK for Android。

若為傳送行銷活動和交易訊息時產生的事件,此值等於您訊息傳送目標的端點 ID。

cognito_id 這個唯一 ID 已指派給您應用程式使用的 Amazon Cognito 身分池中的應用程式用戶端。

裝置

包含回報事件的裝置資訊。

屬性 描述
locale 裝置地區設定。
make 裝置品牌,例如 AppleSamsung
model 裝置型號,例如 iPhone
platform 裝置平台,例如 iosandroid

指標

包含與事件相關聯的指標資訊。

屬性 描述
price_in_millicents_usd

我們向您收取的傳訊費金額。此價格以千分之多少美國分顯示。假設此屬性的值是 645,則我們收取的傳訊費用是 0.645¢ (645/1000 = 0.645¢ = $0.00645)。

注意

具有 _ event_type的訊息不會顯示此屬性。 SMSBUFFERED