リンク送信ボタン

このコードスニペットでは、WhatsApp でリンクスタイルのボタンを送信する方法を説明します。Vonage の カスタムオブジェクト 機能をご利用ください。の詳細についてはWhatsApp開発者向けドキュメントをご参照ください。 メッセージ形式.

メッセージ受信者がリンクボタンをクリックすると、ターゲットリンクに進む許可を求めるプロンプトが表示されます。

以下の変数が、便利な方法で必要な値に設定されていることを確認してください:

キー説明
VONAGE_APPLICATION_ID

The Vonage Application ID.

VONAGE_APPLICATION_PRIVATE_KEY_PATH

Private key path.

BASE_URL

For production use the base URL is https://api.nexmo.com/. For sandbox testing the base URL is https://messages-sandbox.nexmo.com/.

MESSAGES_API_URL

There are two versions of the API, each with their own endpoints. For production the previous Messages API endpoint was https://api.nexmo.com/v0.1/messages, the new one is https://api.nexmo.com/v1/messages. For sandbox testing the Messages API endpoint is https://messages-sandbox.nexmo.com/v0.1/messages or https://messages-sandbox.nexmo.com/v1/messages, depending on which version you have set in the sandbox dashboard.

WHATSAPP_NUMBER

The WhatsApp number that has been allocated to you by Vonage. For sandbox testing the number is 14157386102.

VONAGE_WHATSAPP_NUMBER

Refer to WHATSAPP_NUMBER above.

VONAGE_NUMBER

Refer to WHATSAPP_NUMBER above.

TO_NUMBER

Replace with the number you are sending to. E.g. 447700900001

WHATSAPP_TEMPLATE_NAMESPACE

The namespace ID found in your WhatsApp Business Account. Only templates created in your own namespace will work. Using an template with a namespace outside of your own results in an error code 1022 being returned.

WHATSAPP_TEMPLATE_NAME

The name of the template created in your WhatsApp Business Account.

HEADER_IMAGE_URL

The URL of the image to display in the template message header.

注: 先頭の + または 00 電話番号を入力する場合は、447700900000のように国番号から入力してください。

Prerequisites

If you do not have an application you can create one. Make sure you also configure your webhooks.

Write the code

Add the following to send-button-link.sh:

curl -X POST "${MESSAGES_API_URL}" \
  -H "Authorization: Bearer "$JWT\
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d $'{
    "to": "'${MESSAGES_TO_NUMBER}'",
    "from": "'${WHATSAPP_SENDER_ID}'",
    "channel": "whatsapp",
    "message_type": "custom",
    "custom": {
      "type": "template",
      "template": {
        "name": "'${WHATSAPP_TEMPLATE_NAME}'",
        "language": {
          "policy": "deterministic",
          "code": "en"
        },
        "components": [
          {
            "type": "header",
            "parameters": [
              {
                "type": "image",
                "image": {
                  "link": "'${MESSAGES_IMAGE_URL}'"
                }
              }
            ]
          },
         {
            "type": "body",
            "parameters": [
              {
                "type": "text",
                "text": "Joe Bloggs"
              },
              {
                "type": "text",
                "text": "AB123456"
              }
            ]
          },
          {
            "type": "button",
            "index": "0",
            "sub_type": "url",
            "parameters": [
              {
                "type": "text",
                "text": "AB123456"
              }
            ]
          }
        ]
      }
    }
  }'

View full source

Run your code

Save this file to your machine and run it:

bash send-button-link.sh

試してみる

このコードを実行すると、リンクボタンを含むWhatsAppメッセージが受信者に送信されます。この例ではリンクボタンが荷物追跡情報へのリンクになっています。

詳細情報