本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS 最終使用者簡訊 SMS 事件資料範例
AWS 最終使用者傳訊簡訊可以串流 SMS、MS 和語音訊息交付的事件資料。由於接收電信業者產生的事件最多可能需要 72 小時,因此您不應該使用這些事件來判斷傳出訊息傳遞是否有延遲。72 小時後,如果 AWS 最終使用者簡訊簡訊尚未收到電信業者的最終事件,服務會自動傳回 ,UNKNOWNmessageStatus因為我們不知道該訊息發生了什麼事。
SMS 範例日誌
簡訊事件的 JSON 物件包含以下範例所示的資料。
{ "eventType": "TEXT_SUCCESSFUL", "eventVersion": "1.0", "eventTimestamp": 1686975103470, "isFinal": true, "originationPhoneNumber": "+12065550152", "destinationPhoneNumber": "+14255550156", "isInternationalSend": false, "mcc": "310", "mnc": "800", "messageId": "862a8790-60c0-4430-9b2b-658bdexample", "messageRequestTimestamp": 1686975103170, "messageEncoding": "GSM", "messageType": "PROMOTIONAL", "messageStatus": "SUCCESSFUL", "messageStatusDescription": "Message has been accepted by phone carrier", "context": { "account": "bar" }, "totalMessageParts": 1, "totalMessagePrice": 0.09582, "totalCarrierFee": 0.0 }
| 屬性 | 說明 |
|---|---|
eventType |
事件的類型。值列於 SMS、MS 和語音的事件類型 |
eventVersion |
事件 JSON 結構描述的版本。 |
eventTimestamp |
報告事件的時間,以 Unix 時間顯示 (毫秒)。 |
isFinal |
True 如果這是訊息的最終狀態。有中繼訊息狀態,接收最終訊息狀態最多可能需要 72 小時。 |
originationPhoneNumber |
訊息傳送來源的電話號碼或 RCS 代理程式 ID。對於 SMS 和 MMS 訊息,此值是 E.164 電話號碼或短碼。對於透過 RCS 原生傳遞的 RCS 訊息,此值是 RCS 代理程式 ID。對於回退至 SMS 的 RCS 訊息,此值是用於 SMS 交付的 E.164 電話號碼或短碼。如果您使用 Amazon Pinpoint SendMessages API 傳送訊息,則交付事件中的同等欄位為 originationNumber。 |
destinationPhoneNumber |
您嘗試傳送訊息的電話號碼。 |
isInternationalSend |
True 如果此電話號碼已啟用國際簡訊。 |
isoCountryCode |
與收件人電話號碼相關聯的國家,以 ISO 3166-1 alpha-2 格式顯示。 |
mcc |
Mobile Country Codes 會識別電話號碼所屬的國家/地區。此欄位是選用的,可能不存在。 |
mnc |
Mobile Network Codes 可識別行動網路營運商。此欄位是選用的,可能不存在。 |
messageId |
AWS 最終使用者簡訊簡訊在接受訊息時產生的唯一 ID。 |
messageRequestTimestamp |
收到簡訊請求的時間,以毫秒為單位顯示為 Unix 時間。 |
messageEncoding |
訊息的編碼。可能的值為 GSM 和 Unicode。如需訊息編碼的詳細資訊,請參閱 簡訊字元限制。 |
messageType |
訊息的類型。可能的值為 Promotional (促銷) 和 Transactional (交易)。 |
messageStatus |
訊息的狀態。可能值為:
|
messageStatusDescription |
訊息狀態的描述。 |
context |
當您傳送訊息時,您可以指定並將記錄的自訂屬性。 |
totalMessageParts |
AWS 最終使用者訊息 SMS 建立以傳送訊息的訊息部分數量。 一般而言,簡訊只能包含 160 個 GSM-7 字元或 67 個非 GSM 字元,但這些限制會因國家而異。如果您傳送訊息超過這些限制, AWS 最終使用者傳訊簡訊會自動將訊息分割成較小的部分。收費依傳送的訊息片段數量為準。如需訊息部分的詳細資訊,請參閱 什麼是每秒訊息部分數 (MPS) 限制。 |
totalMessagePrice |
我們向您收取的傳訊費金額。此價格以千分之多少美國分顯示。假設此屬性的值是 645,則我們收取的傳訊費用是 0.645¢ (645/1000 = 0.645¢ = $0.00645)。 |
totalCarrierFee |
訊息的電信業者費用總成本。 |
SMS Protect 範例日誌
使用 SMS Protect 時 SMS 事件的 JSON 物件包含下列範例所示的資料。
{ "eventType": "TEXT_PROTECT_BLOCKED", "eventVersion": "1.0", "eventTimestamp": 1686975103470, "isFinal": true, "originationPhoneNumber": "+12065550152", "destinationPhoneNumber": "+14255550156", "isoCountryCode": "US", "mcc": "310", "mnc": "800", "messageId": "862a8790-60c0-4430-9b2b-658bdexample", "messageRequestTimestamp": 1686975103170, "messageEncoding": "GSM", "messageType": "PROMOTIONAL", "messageStatus": "PROTECT_BLOCKED", "messageStatusDescription": "Message blocked by protect configuration", "context": { "account": "bar" }, "totalMessageParts": 1, "totalMessagePrice": 0, "totalCarrierFee": 0, "protectConfiguration": { "protectConfigurationId": "protect-d777777777777771bbd5d59f4d903479", "protectStatus": "FILTER" }, "protectConfigurationAssessment": { "protectRecommendation": "BLOCK" "protectInsights": { "blockReason": "AIT_SUSPECTED" } } }
| 屬性 | 說明 |
|---|---|
eventType |
事件的類型。值列於 SMS、MS 和語音的事件類型 |
eventVersion |
事件 JSON 結構描述的版本。 |
eventTimestamp |
報告事件的時間,以 Unix 時間顯示 (毫秒)。 |
isFinal |
True 如果這是訊息的最終狀態。有中繼訊息狀態,接收最終訊息狀態最多可能需要 72 小時。 |
originationPhoneNumber |
訊息傳送來源的電話號碼。 |
destinationPhoneNumber |
您嘗試傳送訊息的電話號碼。 |
isoCountryCode |
與收件人電話號碼相關聯的國家,以 ISO 3166-1 alpha-2 格式顯示。 |
mcc |
Mobile Country Codes 會識別電話號碼所屬的國家/地區。此欄位是選用的,可能不存在。 |
mnc |
Mobile Network Codes 可識別行動網路營運商。此欄位是選用的,可能不存在。 |
messageId |
AWS 最終使用者簡訊簡訊在接受訊息時產生的唯一 ID。 |
messageRequestTimestamp |
收到簡訊請求的時間,以毫秒為單位顯示為 Unix 時間。 |
messageEncoding |
訊息的編碼。可能的值為 GSM 和 Unicode。如需訊息編碼的詳細資訊,請參閱 簡訊字元限制。 |
messageType |
訊息的類型。可能的值為 Promotional (促銷) 和 Transactional (交易)。 |
messageStatus |
訊息的狀態。可能值為:
|
messageStatusDescription |
訊息狀態的描述。 |
context |
當您傳送訊息時,您可以指定並將記錄的自訂屬性。 |
totalMessageParts |
AWS 最終使用者訊息 SMS 建立以傳送訊息的訊息部分數量。 一般而言,簡訊只能包含 160 個 GSM-7 字元或 67 個非 GSM 字元,但這些限制會因國家而異。如果您傳送訊息超過這些限制, AWS 最終使用者傳訊簡訊會自動將訊息分割成較小的部分。收費依傳送的訊息片段數量為準。如需訊息部分的詳細資訊,請參閱 什麼是每秒訊息部分數 (MPS) 限制。 |
totalMessagePrice |
我們向您收取的傳訊費金額。此價格以千分之多少美國分顯示。假設此屬性的值是 645,則我們收取的傳訊費用是 0.645¢ (645/1000 = 0.645¢ = $0.00645)。 |
totalCarrierFee |
訊息的電信業者費用總成本。 |
protectConfiguration |
傳送訊息時所使用的保護組態 ID,以及目的地國家/地區當時的狀態。如需 SMS Protect 的詳細資訊,請參閱 SMS Protect。 |
protectConfigurationAssessment |
評估 SMS Protect 是否認為您的訊息應允許或封鎖傳送,以及可用時的封鎖原因。 |
語音範例事件日誌
語音事件的 JSON 物件包含下列範例所示的資料。
{ "eventType": "VOICE_COMPLETED", "eventVersion": "1.0", "eventTimestamp": 1697835373500, "isFinal": true, "originationPhoneNumber": "+12065550153", "destinationPhoneNumber": "+14255550159", "isoCountryCode": "US", "messageId": "567f6c11-6e8b-4352-9749-a42a0example", "messageRequestTimestamp": 1697835372720, "messageStatus": "COMPLETED", "callDurationInSeconds": 60, "totalDurationInMinutes": 1, "totalMessagePrice": 0.013, "context": { "account": "bar" } }
| 屬性 | 說明 |
|---|---|
eventType |
事件的類型。值列於 SMS、MS 和語音的事件類型 |
eventVersion |
事件 JSON 結構描述的版本。 |
eventTimestamp |
報告事件的時間,以 Unix 時間顯示 (毫秒)。 |
isFinal |
True 如果這是訊息的最終狀態。有中繼訊息狀態。 |
originationPhoneNumber |
訊息傳送來源的電話號碼。 |
destinationPhoneNumber |
您嘗試傳送訊息的電話號碼。 |
isoCountryCode |
與收件人電話號碼相關聯的國家,以 ISO 3166-1 alpha-2 格式顯示。 |
messageId |
AWS 最終使用者簡訊簡訊在接受訊息時產生的唯一 ID。 |
messageRequestTimestamp |
收到簡訊請求的時間,以毫秒為單位顯示為 Unix 時間。 |
messageStatus |
訊息的狀態。可能值為:
|
callDurationInSeconds |
呼叫的持續時間,以秒為單位。 |
totalDurationInMinutes |
呼叫的持續時間,以分鐘為單位。 |
totalMessagePrice |
我們向您收取的語音訊息傳送費用。此價格以千分之多少美國分顯示。 |
context |
當您傳送訊息時,您可以指定並將記錄的自訂屬性。 |
MMS 範例日誌
MMS 事件的 JSON 物件包含下列範例所示的資料。
{ "contentType":"MMS", "eventType": "MEDIA_DELIVERED", "eventVersion": "1.0", "eventTimestamp": 1635197695208, "isFinal": true, "originationPhoneNumber": "+12065550153", "destinationPhoneNumber": "+14255550159", "isoCountryCode": "US", "messageId": "b4a3196d-5b61-4884-a0d9-745acf1f6235example", "messageRequestTimestamp": 1635197693241, "messageType": "TRANSACTIONAL", "messageStatus": "DELIVERED", "messageStatusDescription": "Message has been accepted by phone", "context": {"foo":"bar"}, "totalMessageParts": 1, "totalMessagePrice": 0.0195, "totalCarrierFee": 0.00266 }
| 屬性 | 說明 |
|---|---|
eventType |
事件的類型。值列於 SMS、MS 和語音的事件類型 |
eventVersion |
事件 JSON 結構描述的版本。 |
eventTimestamp |
報告事件的時間,以 Unix 時間顯示 (毫秒)。 |
isFinal |
True 如果這是訊息的最終狀態。有中繼訊息狀態,收到最終訊息狀態最多可能需要 72 小時。 |
originationPhoneNumber |
訊息傳送來源的電話號碼。 |
destinationPhoneNumber |
您嘗試傳送訊息的電話號碼。 |
isoCountryCode |
與收件人電話號碼相關聯的國家,以 ISO 3166-1 alpha-2 格式顯示。 |
messageId |
AWS 最終使用者簡訊簡訊在接受訊息時產生的唯一 ID。 |
messageRequestTimestamp |
收到簡訊請求的時間,以毫秒為單位顯示為 Unix 時間。 |
messageType |
訊息的類型。可能的值為 Promotional (促銷) 和 Transactional (交易)。 |
messageStatus |
訊息的狀態。可能值為:
|
messageStatusDescription |
訊息狀態的說明。 |
context |
當您傳送訊息時,您可以指定並將記錄的自訂屬性。 |
totalMessageParts |
AWS 最終使用者訊息 SMS 建立以傳送訊息的訊息部分數量。如需訊息部分的詳細資訊,請參閱 什麼是每秒訊息部分數 (MPS) 限制。 |
totalMessagePrice |
我們向您收取的傳訊費金額。此價格以千分之多少美國分顯示。假設此屬性的值是 645,則我們收取的傳訊費用是 0.645¢ (645/1000 = 0.645¢ = $0.00645)。 |
totalCarrierFee |
訊息的電信業者費用總成本。 |
RCS 範例日誌
RCS 事件的 JSON 物件包含下列範例所示的資料。originationPhoneNumber 欄位會因訊息是透過 RCS 以原生方式交付或落回 SMS 而有所不同。
RCS 原生交付 — originationPhoneNumber 欄位包含 RCS 代理程式 ID:
{ "eventType": "TEXT_SUCCESSFUL", "eventVersion": "1.0", "eventTimestamp": 1714000000000, "isFinal": true, "originationPhoneNumber": "rcs-agent-id-example", "destinationPhoneNumber": "+14255550156", "isInternationalSend": false, "messageId": "a1b2c3d4-e5f6-7890-abcd-ef1234example", "messageRequestTimestamp": 1714000000000, "messageType": "TRANSACTIONAL", "messageStatus": "SUCCESSFUL", "messageStatusDescription": "Message has been accepted by phone carrier", "totalMessageParts": 1, "totalMessagePrice": 0.003, "totalCarrierFee": 0.0 }
SMS 備用交付 — originationPhoneNumber 欄位包含用於 SMS 交付的 E.164 電話號碼或短碼:
{ "eventType": "TEXT_SUCCESSFUL", "eventVersion": "1.0", "eventTimestamp": 1714000000000, "isFinal": true, "originationPhoneNumber": "+12065550152", "destinationPhoneNumber": "+14255550156", "isInternationalSend": false, "messageId": "b2c3d4e5-f6a7-8901-bcde-f12345example", "messageRequestTimestamp": 1714000000000, "messageType": "TRANSACTIONAL", "messageStatus": "SUCCESSFUL", "messageStatusDescription": "Message has been accepted by phone carrier", "totalMessageParts": 1, "totalMessagePrice": 0.00645, "totalCarrierFee": 0.0 }
若要判斷交付管道,請檢查 originationPhoneNumber 欄位。如果值是 RCS 代理程式 ID,則訊息是透過 RCS 傳送。如果該值是 E.164 電話號碼或短碼,訊息會透過 SMS 傳遞 (直接或在 RCS 後退)。如需 RCS 備用行為的詳細資訊,請參閱 使用電話集區的 RCS 到 SMS 備用。