更新:查看版本資訊瞭解新功能和產品更新。

傳送已驗證郵件

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

傳送已驗證訊息的程序包含兩個步驟:首先,使用已驗證簡訊儲存訊息雜湊,然後透過簡訊傳送訊息內容給使用者。使用者收到訊息後,「訊息」應用程式會驗證訊息是否確實來自您的代理程式。

驗證傳送給使用者的簡訊之前,請先確認您的訊息驗證流程是否適用於您管理的裝置。

必要條件

如要傳送已驗證郵件,你必須

  1. 註冊成為合作夥伴
  2. 註冊代理程式
  3. 建立公開/私密金鑰組
  4. 使用已驗證簡訊更新代理程式的公開金鑰
  5. 設定訊息雜湊功能
  6. 設定測試裝置

此外,您還需要透過與代理程式相關聯的傳送者 ID 傳送簡訊。

對郵件進行雜湊處理並儲存

使用已驗證簡訊範例和 SDK,您可以取得使用者的公開金鑰、對訊息進行雜湊處理,以及一次儲存訊息雜湊。

必要條件

儲存雜湊之前,請確認已驗證簡訊擁有代理程式目前的公開金鑰

此外,也請您收集一些資訊:

  • 您的 API 金鑰或開發機器上的服務帳戶金鑰路徑
  • 開發機器上代理程式私密金鑰與公開金鑰的路徑
  • 您要接收訊息的裝置電話號碼

執行範例

  1. 在開發機器上設定訊息雜湊

  2. 執行下列指令來設定必要的環境變數:

    export VERIFIED_SMS_PUBLIC_KEY_PATH="PATH_TO_PUBLIC_KEY.DER"
    export VERIFIED_SMS_PRIVATE_KEY_PATH="PATH_TO_PRIVATE_KEY_PKCS8.DER"
    export VERIFIED_SMS_SERVICE_ACCOUNT_PATH="PATH_TO_SERVICE_ACCOUNT_KEY.JSON"
    
  3. 前往開發機器中的範例根目錄。

  4. 使用收件者的電話號碼、訊息內容和回傳資料更新範例。

    C#

    1. 前往「/vsms-csharp-client-v1/」。
    2. 開啟「StoreHashes.cs」。
    3. sms 更新為訊息內容的字串。

      例如,將 string sms = "Hello, sync world!"; 變更為 string sms = "My first hashed message.";

    4. 使用接收者的電話號碼、訊息內容和回傳資料,更新 recipientAndMessages

      舉例來說,將

      List<RecipientAndMessage> recipientAndMessages = new List<RecipientAndMessage>() {
          new RecipientAndMessage("+16509999996", sms + "1", "+16509999996", agentId),
          new RecipientAndMessage("+16509999997", sms + "1", "+16509999997", agentId),
          new RecipientAndMessage("+16509999998", sms + "1", "+16509999998", agentId),
          new RecipientAndMessage("+16509999999", sms + "1", "+16509999999", agentId),
      };
      

      List<RecipientAndMessage> recipientAndMessages = new List<RecipientAndMessage>() {
          new RecipientAndMessage("+16509999996", sms, "+16509999996", agentId),
      };
      
    5. 儲存並關閉「StoreHashes.cs」。

    Java

    1. 前往「/src/main/java/com/google/communication/businessmessaging/verifiedsms/v1/examples/」。
    2. 開啟「CreateHashesWithCapabilitiesRequestExampleAsync.java」。
    3. sms 更新為訊息內容的字串。

      例如,將 String sms = "Hello, sync world!"; 變更為 String sms = "My first hashed message.";

    4. recipientAndMessages 更新為收件者電話號碼和訊息內容的對應關係。

      舉例來說,將

      List<RecipientAndMessage> recipientsAndMessages =
          new ArrayList<RecipientAndMessage>() {
            {
              add(new RecipientAndMessage("+16509999996", sms + "1", "+16509999996", agentId));
              add(new RecipientAndMessage("+16509999997", sms + "1", "+16509999997", agentId));
              add(new RecipientAndMessage("+16509999998", sms + "1", "+16509999998", agentId));
              add(new RecipientAndMessage("+16509999999", sms + "1", "+16509999999", agentId));
            }
          };
      

      List<RecipientAndMessage> recipientsAndMessages =
          new ArrayList<RecipientAndMessage>() {
            {
              add(new RecipientAndMessage("+16509999996", sms, "+16509999996", agentId));
            }
          };
      
    5. 儲存並關閉「CreateHashesWithCapCapabilityRequestExampleAsync.java」。

    Node.js

    1. 開啟「store_hashes.js」。
    2. sms 更新為訊息內容的字串。

      例如,將 let sms = 'Hello, simple post world!'; 變更為 let sms = 'My first hashed message.';

    3. recipientAndMessages 更新為包含電話號碼、訊息內容和回傳資料的陣列。

      舉例來說,將

      let recipientAndMessages = [
        { phoneNumber: '+16509999996', text: sms + '1',
            postbackData: '+16509999996', agentId: agentId },
        { phoneNumber: '+16509999997', text: sms + '2',
            postbackData: '+16509999997', agentId: agentId },
        { phoneNumber: '+16509999998', text: sms + '3',
            postbackData: '+16509999998', agentId: agentId },
        { phoneNumber: '+16509999999', text: sms + '4',
            postbackData: '+16509999999', agentId: agentId }
      ];
      

      let recipientAndMessages = [
        { phoneNumber: '+16509999996', text: sms,
            postbackData: '+16509999996', agentId: agentId },
      ];
      
    4. 儲存並關閉「store_hashes.js」。

    PHP

    1. 開啟「store-hashes.php」。
    2. $sms 更新為訊息內容的字串。

      例如,將 $sms = 'Hello, simple post world!'; 變更為 $sms = 'Hello, simple post world!';

    3. 使用接收者的電話號碼、訊息內容和回傳資料,更新 $recipientAndMessages

      舉例來說,將

      $recipientAndMessages = array(
          array('phoneNumber' => '+16509999996', 'text' => $sms . '1',
                'postbackData' => '+16509999996', 'agentId' => $agentId),
          array('phoneNumber' => '+16509999997', 'text' => $sms . '2',
                'postbackData' => '+16509999997', 'agentId' => $agentId),
          array('phoneNumber' => '+16509999998', 'text' => $sms . '3',
                'postbackData' => '+16509999998', 'agentId' => $agentId),
          array('phoneNumber' => '+16509999999', 'text' => $sms . '4',
                'postbackData' => '+16509999999', 'agentId' => $agentId),
      );
      

      $recipientAndMessages = array(
          array('phoneNumber' => '+16509999996', 'text' => $sms,
                'postbackData' => '+16509999996', 'agentId' => $agentId),
      );
      
    4. 儲存並關閉「store-hashes.php」。

    Python

    1. 開啟「create_hashes_example.py」。
    2. sms 更新為訊息內容的字串。

      例如,將 sms = 'Hello, simple post world!' 變更為 sms = 'My first hashed message.'

    3. 使用接收者的電話號碼、訊息內容和回傳資料,更新 recipient_and_messages

      舉例來說,將

      recipient_and_messages = [
          { 'phone_number': '+16509999996', 'text': sms + '1',
            'postback_data': '+16509999996', 'agent_id': agent_id },
          { 'phone_number': '+16509999997', 'text': sms + '2',
            'postback_data': '+16509999997', 'agent_id': agent_id },
          { 'phone_number': '+16509999998', 'text': sms + '3',
            'postback_data': '+16509999998', 'agent_id': agent_id },
          { 'phone_number': '+16509999999', 'text': sms + '4',
            'postback_data': '+16509999999', 'agent_id': agent_id }
      ]
      

      recipient_and_messages = [
          { 'phone_number': '+16509999996', 'text': sms,
            'postback_data': '+16509999996', 'agent_id': agent_id },
      ]
      
    4. 儲存並關閉「create_hashes_example.py」。

  5. 在終端機中,前往範例的根目錄。

  6. 執行雜湊處理範例。

    C#

    dotnet build vsms-csharp-client-v1 /p:StartupObject=VerifiedSmsExample.StoreHashes
    dotnet run --project vsms-csharp-client-v1
    

    Java

    Maven

    mvn compile && mvn exec:java -Dexec.mainClass="com.google.communication.businessmessaging.verifiedsms.v1.examples.CreateHashesWithCapabilitiesRequestExampleAsync"
    

    Gradle

    gradle build && gradle -PmainClass=com.google.communication.businessmessaging.verifiedsms.v1.examples.CreateHashesWithCapabilitiesRequestExampleAsync runExample
    

    Node.js

    node store_hashes.js
    

    PHP

    php store-hashes.php
    

    Python

    python create_hashes_example.py
    

範例指令碼會建立各收件者電話號碼的專屬訊息內容雜湊,並使用已驗證簡訊儲存這些雜湊。

如果只要為已啟用已驗證簡訊的電話號碼建立雜湊,請使用功能檢查

傳送簡訊

現在訊息雜湊已經儲存在已驗證簡訊中,那麼您可以開始傳送簡訊了。

  1. 以簡訊傳送「Hello, world!」簡訊做為代理程式的傳送裝置。
  2. 在測試裝置上開啟「訊息」應用程式。

    裝置上應會顯示「Hello, world!」做為新訊息,對話中應顯示代理程式的品牌資訊。在裝置驗證訊息時,您可以快速看到待處理訊息。

疑難排解

如果您在儲存或驗證訊息時遇到問題,請確認您已完成事前準備中的所有工作。如果問題持續發生,請與我們聯絡

後續步驟

當裝置驗證代理程式的訊息時,您就可以將驗證訊息傳送給使用者。