支援終止通知:2026 年 10 月 30 日, AWS 將結束對 Amazon Pinpoint 的支援。2026 年 10 月 30 日之後,您將無法再存取 Amazon Pinpoint 主控台或 Amazon Pinpoint 資源 (端點、客群、行銷活動、旅程和分析)。如需詳細資訊,請參閱 Amazon Pinpoint 終止支援。注意:與 SMS、語音、行動推播、OTP 和電話號碼驗證相關的 APIs 不受此變更影響,並受 AWS 最終使用者傳訊支援。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon Pinpoint 產生一次性密碼 (OTPs)
Amazon Pinpoint 包含一次性密碼 (OTP) 管理功能,可用來產生新的一次性密碼,並以簡訊的形式傳送給收件人。
重要
若要使用此功能,您的帳戶必須具有生產存取權和作用中的原始身分。如需詳細資訊,請參閱AWS 《最終使用者傳訊簡訊使用者指南》中的關於 SMS/MMS 和語音沙盒和請求電話號碼。
在某些國家和地區,您必須先取得專用的電話號碼或起始 ID,才能傳送簡訊。例如傳送訊息給美國收件人時,您必須擁有專用的免付費電話號碼、10DLC 號碼或短碼。傳送訊息給印度收件人時,您必須要有已註冊寄件者 ID,寄件者 ID 包含主體實體 ID (PEID) 和範本 ID。使用 OTP 功能時,這些要求仍然適用。
若要使用此功能,您需要傳送和驗證 OTP 訊息的許可,詳情請參閱 一次性密碼。如果您需要判斷許可的協助,請參閱 疑難排解 Amazon Pinpoint 身分和存取管理。
您可以使用 Amazon Pinpoint API 中的 SendOtpMessages 操作,傳送 OTP 密碼給應用程式的使用者。您使用此 API 時,Amazon Pinpoint 會產生一組隨機代碼,並透濄 SMS 訊息傳送給您的使用者。您的請求可以包含下列參數:
-
Channel– 傳送 OTP 密碼所通過的通訊管道。目前只支援 SMS 訊息,因此唯一可接受的值是 SMS。 -
BrandName– 與 OTP 密碼相關聯的品牌、公司或產品的名稱。此名稱最多可包含 20 個字元。注意
Amazon Pinpoint 傳送 OTP 訊息時,品牌名稱會自動插入以下訊息範本:
This is your One Time Password: {{otp}} from {{brand}}
因此如果您將 ExampleCorp 指定為品牌名稱,而 Amazon Pinpoint 產生的一次性密碼為 123456,您的使用者會收到以下訊息:
This is your One Time Password: 123456 from ExampleCorp
-
CodeLength– 傳送給收件人的 OTP 密碼的位數。OTP 密碼可以包含 5 到 8 位數字。 -
ValidityPeriod– OTP 密碼的有效時間 (以分鐘為單位)。有效期限是 5 至 60 分鐘。 -
AllowedAttempts– 收件人嘗試驗證 OTP 失敗的次數。如果嘗試次數超過此值,OTP 將自動失效。允許的嘗試次數上限是 5 次。 -
Language– 傳送訊息時使用的語言,以 IETF BCP-47 格式表示。可接受的值為:-
de-DE– 德文 -
en-GB– 英文 (英國) -
en-US– 英文 (美國) -
es-419– 西班牙文 (拉丁美洲) -
es-ES– 西班牙文 -
fr-CA– 法文 (加拿大) -
fr-FR– 法文 -
it-IT– 義大利文 -
ja-JP– 日文 -
ko-KR– 韓文 -
pt-BR– 葡萄牙文 (巴西) -
zh-CN– 簡體中文 -
zh-TW– 繁體中文
-
-
OriginationIdentity– 用於傳送 OTP 密碼的起始身分 (例如長碼、短碼或寄件者 ID)。如果您使用長碼或免付費電話號碼傳送 OTP,電話號碼必須以 E.164 格式顯示。 -
DestinationIdentity– 接收 OTP 密碼的電話號碼 (E.164 格式)。 -
ReferenceId– 請求的唯一參考 ID。參考 ID 與您驗證 OTP 時提供的參考 ID 完全相符。參考 ID 可以包含 1 到 48 個字元。 -
EntityId– 已在監管機構註冊的實體 ID。此參數目前只適用於傳送訊息給印度收件人。如果沒有要傳訊給印度收件人,可以省略此參數。 -
TemplateId– 已在監管機構註冊的範本 ID。此參數目前只適用於傳送訊息給印度收件人。如果沒有要傳訊給印度收件人,可以省略此參數。注意
如需有關傳送訊息給印度收件人要求的詳細資訊,請參閱《Amazon Pinpoint 使用者指南》中的印度寄件者 ID 註冊程序。
為了確保您的 Amazon Pinpoint 帳戶已正確設定為傳送 OTP 訊息,您可以使用 AWS CLI 來傳送測試訊息。如需 的詳細資訊 AWS CLI,請參閱AWS Command Line Interface 《 使用者指南》。
若要使用 傳送測試 OTP 訊息 AWS CLI,請在終端機中執行 send-otp-message 命令:
aws pinpoint send-otp-message --application-id7353f53e6885409fa32d07cedexample--send-otp-message-request-parameters Channel=SMS,BrandName=ExampleCorp,CodeLength=5,ValidityPeriod=20,AllowedAttempts=5,OriginationIdentity=+18555550142,DestinationIdentity=+12065550007,ReferenceId=SampleReferenceId
針對上述命令執行以下事項:
-
以您的應用程式 ID 取代
7353f53e6885409fa32d07cedexample。 -
以您的公司名稱取代
ExampleCorp。 -
CodeLegth將 中的5取代為 OTP 程式碼中傳送給收件人的位數。 -
ValidityPeriod將 中的20取代為 OTP 程式碼將有效的時間,以分鐘為單位。 -
將 中的
5取代AllowedAttempts為收件人無法成功嘗試驗證 OTP 的次數。 -
將 中的
+18555550142OriginationIdentity取代為用於傳送 OTP 程式碼的原始身分。 -
DestinationIdentity將 中的+12065550007取代為要傳送 OTP 代碼的電話號碼。 -
將 中的
SampleReferenceIdReferenceId取代為請求的唯一參考 ID。
SendOtpMessage 回應
若傳送 OTP 訊息成功,會收到類似以下範例的回應:
{ "MessageResponse": { "ApplicationId": "7353f53e6885409fa32d07cedexample", "RequestId": "255d15ea-75fe-4040-b919-096f2example", "Result": { "+12065550007": { "DeliveryStatus": "SUCCESSFUL", "MessageId": "nvrmgq9kq4en96qgp0tlqli3og1at6aexample", "StatusCode": 200, "StatusMessage": "MessageId: nvrmgq9kq4en96qgp0tlqli3og1at6aexample" } } } }