

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

# 使用 AWS 最終使用者傳訊社交透過 WhatsApp 傳送訊息
<a name="whatsapp-send-message"></a>

傳送訊息之前，您必須設定您的 WhatsApp 商業帳戶 (WABA)，而且您的使用者必須選擇接收來自您的訊息。如需詳細資訊，請參閱[取得許可](whatsapp-best-practices.md#best-practices-whatsapp-obtain-permission)。

當使用者向您傳送訊息時，稱為客戶服務時段的 24 小時計時器會開始或重新整理。只有在您和使用者之間開啟客戶服務時段時，才能傳送除了範本訊息以外的所有訊息類型。只要使用者已選擇接收來自您的訊息，即可隨時傳送範本訊息。

對於您傳送或接收的每個訊息，都會產生訊息狀態並傳送至事件目的地。如果您的客戶尚未註冊 WhatsApp，則會產生訊息狀態為 的事件`fail`。您必須開啟[訊息和事件目的地](managing-event-destinations.md)，才能接收[訊息狀態](managing-event-destinations-status.md)。

如需訊息類型的清單，請參閱 *WhatsApp Business Platform Cloud API 參考*中的[訊息](https://developers.facebook.com/docs/whatsapp/conversation-types/)。

**重要**  
您使用 WhatsApp 商業解決方案時，需遵守 [WhatsApp 商業服務條款](https://www.whatsapp.com/legal/business-terms)、[WhatsApp 商業解決方案條款](https://www.whatsapp.com/legal/business-solution-terms)、[WhatsApp 商業訊息政策](https://business.whatsapp.com/policy)、[WhatsApp 訊息傳送準則](https://www.whatsapp.com/legal/messaging-guidelines)，以及併入其中的所有其他條款、政策或準則。這些可能會不時更新。
Meta 或 WhatsApp 可能隨時禁止您使用 WhatsApp 商業解決方案。
在使用 WhatsApp 商業解決方案時，您不會提交任何內容、資訊或資料，這些內容、資訊或資料會受到適用法規的保護或分發限制。

**Topics**
+ [在 AWS 最終使用者傳訊社交中傳送範本訊息的範例](send-message-text.md)
+ [在 AWS 最終使用者傳訊社交中傳送媒體訊息的範例](send-message-media.md)

# 在 AWS 最終使用者傳訊社交中傳送範本訊息的範例
<a name="send-message-text"></a>

如需可傳送的訊息範本類型詳細資訊，請參閱 *WhatsApp Business Platform Cloud API 參考*中的[訊息範本](https://developers.facebook.com/docs/whatsapp/cloud-api/guides/send-message-templates)。如需可傳送的訊息類型清單，請參閱 *WhatsApp Business Platform Cloud API 參考*中的[訊息](https://developers.facebook.com/docs/whatsapp/conversation-types/)。

下列範例示範如何使用 範本，使用 [傳送訊息](https://docs.aws.amazon.com//social-messaging/latest/APIReference/API_SendWhatsAppMessage.html)給您的客戶 AWS CLI。如需設定 的詳細資訊 AWS CLI，請參閱[AWS Command Line Interface 《 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)》中的[設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。

**注意**  
使用 第 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","to":"'{PHONE_NUMBER}'","type":"template","template":{"name":"statement","language":{"code":"en_US"},"components":[{"type":"body","parameters":[{"type":"text","text":"1000"}]}]}}' --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID} --meta-api-version v20.0
```

針對上述命令執行以下事項：
+ 使用客戶的電話號碼取代 *\$1PHONE\$1NUMBER\$1*。
+ 將 *\$1ORIGINATION\$1PHONE\$1NUMBER\$1ID\$1* 取代為您的電話號碼 ID。

下列範例示範如何傳送不包含任何元件的範本訊息。

```
aws socialmessaging send-whatsapp-message --message '{"messaging_product": "whatsapp","to": "'{PHONE_NUMBER}'","type": "template","template": {"name":"simple_template","language": {"code": "en_US"}}}' --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID} --meta-api-version v20.0
```
+ 使用客戶的電話號碼取代 *\$1PHONE\$1NUMBER\$1*。
+ 將 *\$1ORIGINATION\$1PHONE\$1NUMBER\$1ID\$1* 取代為您的電話號碼 ID。

# 在 AWS 最終使用者傳訊社交中傳送媒體訊息的範例
<a name="send-message-media"></a>

下列範例示範如何使用 將媒體訊息傳送給客戶 AWS CLI。如需設定 的詳細資訊 AWS CLI，請參閱[AWS Command Line Interface 《 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)》中的[設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。如需支援的媒體檔案類型清單，請參閱 [WhatsApp 中支援的媒體檔案類型和大小支援的媒體檔案類型](supported-media-types.md)。

**注意**  
WhatsApp 會在刪除媒體檔案前存放 30 天，請參閱 *WhatsApp Business Platform Cloud API 參考*中的[上傳媒體](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#upload-media)。

1. 將媒體檔案上傳至 Amazon S3 儲存貯體。如需詳細資訊，請參閱[上傳媒體檔案以使用 WhatsApp 傳送](managing-media-files-s3.md)。

1. 使用 post-WhatsApp-message-media 命令將媒體檔案上傳至 WhatsApp。 [post-whatsapp-message-media](https://docs.aws.amazon.com/cli/latest/reference/socialmessaging/post-whatsapp-message-media.html) 成功完成時，命令會傳回 *\$1MEDIA\$1ID\$1*，這是傳送媒體訊息的必要項目。

   ```
   aws socialmessaging post-whatsapp-message-media --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID}  --source-s3-file bucketName={BUCKET},key={MEDIA_FILE}
   ```

   針對上述命令執行以下事項：
   + 將 *\$1ORIGINATION\$1PHONE\$1NUMBER\$1ID\$1* 取代為您的電話號碼 ID。
   + 將 *\$1BUCKET\$1* 取代為 Amazon S3 儲存貯體的名稱。
   + 以媒體檔案名稱取代 *\$1MEDIA\$1FILE\$1*。

   您也可以使用 `--source-s3-presigned-url`而非 來使用[預先簽章 URL](managing-media-files-s3.md#managing-media-files-s3.title) 上傳`--source-s3-file`。您必須在 `headers` `Content-Type`欄位中新增 。如果您同時使用兩者，`InvalidParameterException`則會傳回 。

   ```
   --source-s3-presigned-url headers={"Name":"Value"},url=https://BUCKET.s3.REGION/MEDIA_FILE
   ```

1. 使用 [send-whatsapp-message](https://docs.aws.amazon.com/cli/latest/reference/socialmessaging/send-whatsapp-message.html) 命令來傳送媒體訊息。

   ```
   aws socialmessaging send-whatsapp-message --message '{"messaging_product":"whatsapp","to":"'{PHONE_NUMBER}'","type":"image","image":{"id":"'{MEDIA_ID}'"}}' --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID} --meta-api-version v20.0
   ```
**注意**  
使用 第 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","to":"'{PHONE_NUMBER}'","type":"image","image":{"id":"'{MEDIA_ID}'"}}' --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID} --meta-api-version v20.0 --cli-binary-format raw-in-base64-out
   ```

   針對上述命令執行以下事項：
   + 使用客戶的電話號碼取代 *\$1PHONE\$1NUMBER\$1*。
   + 將 *\$1ORIGINATION\$1PHONE\$1NUMBER\$1ID\$1* 取代為您的電話號碼 ID。
   + 以上一個步驟傳回的媒體 ID 取代 *\$1MEDIA\$1ID\$1*。

1. 當您不再需要媒體檔案時，您可以使用 delete-whatsapp-message-media 命令將其從 WhatsApp 中刪除。 [delete-whatsapp-message-media](https://docs.aws.amazon.com/cli/latest/reference/socialmessaging/delete-whatsapp-media-message.html) 這只會從 WhatsApp 移除媒體檔案，而非您的 Amazon S3 儲存貯體。

   ```
   aws socialmessaging delete-whatsapp-message-media --media-id {MEDIA_ID} --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID}
   ```

   針對上述命令執行以下事項：
   + 將 *\$1ORIGINATION\$1PHONE\$1NUMBER\$1ID\$1* 取代為您的電話號碼 ID。
   + 以媒體 ID 取代 *\$1MEDIA\$1ID\$1*。