

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用已读回执和回复来回复消息的示例
<a name="example-response"></a>

在此示例中，您的客户 Diego 向您发送了一条消息，上面写着 “嗨”，然后您用已读回执和挥手表情符号回复他。

## 先决条件
<a name="example-response_prerequisite"></a>

要接收 Diego 已发送消息的通知，您必须设置事件目标 Amazon SNS 主题并订阅主题终端节点。

## 正在回应
<a name="example-response_steps"></a>

1. 收到来自 Diego 的消息后，会向该主题的终端节点发布一个事件。以下是该主题发布内容的摘要。
**注意**  
由于 Diego 发起了对话，因此它不计入您的企业发起的对话的配额。  
本示例`whatsAppWebhookEntry`中的以 JSON 表示法显示。有关将 JSON 字符串转换为 `whatsAppWebhookEntry` 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. 要向 Diego 显示你已收到消息，请将状态设置为`read`。迭戈将在设备上的消息旁边看到两个蓝色的复选标记。
**注意**  
使用 AWS CLI 版本 2 时，必须指定 base64 编码。这可以通过添加 AWS CLI 参数`--cli-binary-format raw-in-base64-out`或更改 AWS CLI 全局配置文件来完成。有关更多信息，请参阅[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)*版本 2 的《AWS 命令行界面用户指南》*。

   ```
   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    
   ```

   在上述命令中，执行以下操作：
   + {{{ORIGINATION\_PHONE\_NUMBER\_ID}}}替换为 Diego 向其发送消息的电话号码 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}}}替换为迭戈的电话号码，`14255550150`。
   + {{{MESSAGE\_ID}}}替换为消息的唯一标识符。这与收到的消息中的`id`字段值相同`wamid.HBgLMTQyNTY5ODgzMDIVAgASGCBDNzBDRjM5MDU2ODEwMDkwREY4ODBDRDE0RjVGRkexample`。
   + {{{ORIGINATION\_PHONE\_NUMBER\_ID}}}替换为迭戈向其发送消息的电话号码ID:`phone-number-id-976c72a700aac43eaf573ae050example`.

## 其他资源
<a name="example-response_additional_resources"></a>
+ 启用[事件目标](managing-event-destinations.md)以记录事件和接收传入消息。
+ 有关 WhatsApp消息对象的列表，请参阅《*WhatsApp 商业平台云 API 参考*》中的[消息](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#message-object)。