

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

# 以讀取接收和反應回應訊息的範例
<a name="example-response"></a>

在此範例中，您的客戶 Diego 傳送了一則「Hi」訊息給您，而您以讀取回條和手波表情符號回應他。

## 先決條件
<a name="example-response_prerequisite"></a>

若要收到 Diego 傳送訊息的通知，您必須設定事件目的地 Amazon SNS 主題並訂閱主題端點。

## 回應
<a name="example-response_steps"></a>

1. 收到來自 Diego 的訊息時，事件會發佈到主題的端點。以下是主題發佈內容的程式碼片段。
**注意**  
由於 Diego 已啟動對話，因此不會計入業務啟動對話的配額。  
此範例中`whatsAppWebhookEntry`的 以 JSON 表示法顯示。如需將 `whatsAppWebhookEntry` 從 JSON sting 轉換為 JSON 的範例，請參閱 [接收訊息的範例 WhatsApp JSON](managing-event-destination-dlrs.md#managing-event-destination-dlrs-example-receive-text)。

   ```
   {
     "context": {
       "MetaWabaIds": [
         {
           "wabaId": "1234567890abcde",
           "arn": "arn:aws:social-messaging:us-east-1:123456789012:waba/fb2594b8a7974770b128a409e2example"
         }
       ],
       "MetaPhoneNumberIds": [
         {
           "metaPhoneNumberId": "abcde1234567890",
           "arn": "arn:aws:social-messaging:us-east-1:123456789012:phone-number-id/976c72a700aac43eaf573ae050example"
         }
       ]
     },
     "whatsAppWebhookEntry": "{\"...JSON STRING....",
     "aws_account_id": "123456789012",
     "message_timestamp": "2025-01-08T23:30:43.271279391Z"
   }
   //Decoding the contents of whatsAppWebhookEntry
   {
     "id": "365731266123456",
     "changes": [
       {
         "value": {
           "messaging_product": "whatsapp",
           "metadata": {
             "display_phone_number": "12065550100",
             "phone_number_id": "321010217712345"
           },
           "contacts": [
             {
               "profile": {
                 "name": "Diego"
               },
               "wa_id": "12065550102"
             }
           ],
           "messages": [
             {
               "from": "14255550150",
               "id": "wamid.HBgLMTQyNTY5ODgzMDIVAgASGCBDNzBDRjM5MDU2ODEwMDkwREY4ODBDRDE0RjVGRkexample",
               "timestamp": "1723506035",
               "text": {
                 "body": "Hi"
               },
               "type": "text"
             }
           ]
         },
         "field": "messages"
       }
     ]
   }
   ```

1. 若要顯示您收到的訊息，請將狀態設定為 `read`。Diego 會在其裝置上的訊息旁看到兩個藍色核取記號。
**注意**  
使用 第 2 AWS CLI 版時，您必須指定 base64 編碼。這可以透過新增 AWS CLI 參數`--cli-binary-format raw-in-base64-out`或變更 AWS CLI 全域組態檔案來完成。如需詳細資訊，請參閱《 第 *AWS 2 版命令列界面使用者指南*[https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-settings](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-settings)》中的 。

   ```
   aws socialmessaging send-whatsapp-message --message '{"messaging_product":"whatsapp","message_id":"'{{{MESSAGE_ID}}}'","status":"read"}' --origination-phone-number-id {{{ORIGINATION_PHONE_NUMBER_ID}}} --meta-api-version v20.0    
   ```

   針對上述命令執行以下事項：
   + 以 Diego 傳送訊息至 的電話號碼 ID 取代 {{{ORIGINATION\_PHONE\_NUMBER\_ID}}}`phone-number-id-976c72a700aac43eaf573ae050example`。
   + 將 {{{MESSAGE\_ID}}} 取代為訊息的唯一識別符。這是所接收訊息 中 `id` 欄位的相同值`wamid.HBgLMTQyNTY5ODgzMDIVAgASGCBDNzBDRjM5MDU2ODEwMDkwREY4ODBDRDE0RjVGRkexample`。

1. 您可以傳送手波反應給 Diego。

   ```
   aws socialmessaging send-whatsapp-message --message '{"messaging_product":"whatsapp","recipient_type":"individual","to":"'{{{PHONE_NUMBER}}}'","type": "reaction","reaction": {"message_id": "'{{{MESSAGE_ID}}}'","emoji":"\uD83D\uDC4B"}}' --origination-phone-number-id {{{ORIGINATION_PHONE_NUMBER_ID}}} --meta-api-version v20.0
   ```

   針對上述命令執行以下事項：
   + 將 {{{PHONE\_NUMBER}}} 取代為 Diego 的電話號碼 `14255550150`。
   + 以訊息的唯一識別符取代 {{{MESSAGE\_ID}}}。這是所接收訊息 中 `id` 欄位的相同值`wamid.HBgLMTQyNTY5ODgzMDIVAgASGCBDNzBDRjM5MDU2ODEwMDkwREY4ODBDRDE0RjVGRkexample`。
   + 將 {{{ORIGINATION\_PHONE\_NUMBER\_ID}}} 取代為 Diego 向其傳送訊息的電話號碼 ID：`phone-number-id-976c72a700aac43eaf573ae050example`。

## 其他資源
<a name="example-response_additional_resources"></a>
+ 啟用[事件目的地](managing-event-destinations.md)以記錄事件並接收傳入訊息。
+ 如需 WhatsApp 訊息物件的清單，請參閱 *WhatsApp Business Platform Cloud API 參考*中的[訊息](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#message-object)。