コンタクトを送信する

このコードでは、Messages API を使って連絡先を WhatsApp に送信する方法を説明します。このコードでは Vonage の カスタムオブジェクト 機能をご利用ください。具体的なメッセージフォーマットについてはWhatsApp開発者向けページをご覧下さい。 連絡先メッセージ ドキュメンテーション

各コード・スニペットで使用されているすべての変数の説明を以下に示します:

キー説明
VONAGE_APPLICATION_ID

The Vonage Application ID.

VONAGE_APPLICATION_PRIVATE_KEY_PATH

Private key path.

VONAGE_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

注: 先頭の + または 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-contact.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": "contacts",
      "contacts": [
        {
          "addresses": [
            {
              "city": "Menlo Park",
              "country": "United States",
              "country_code": "us",
              "state": "CA",
              "street": "1 Hacker Way",
              "type": "HOME",
              "zip": "94025"
            },
            {
              "city": "Menlo Park",
              "country": "United States",
              "country_code": "us",
              "state": "CA",
              "street": "200 Jefferson Dr",
              "type": "WORK",
              "zip": "94025"
            }
          ],
          "birthday": "2012-08-18",
          "emails": [
            {
              "email": "test@fb.com",
              "type": "WORK"
            },
            {
              "email": "test@whatsapp.com",
              "type": "WORK"
            }
          ],
          "name": {
            "first_name": "John",
            "formatted_name": "John Smith",
            "last_name": "Smith"
          },
          "org": {
            "company": "WhatsApp",
            "department": "Design",
            "title": "Manager"
          },
          "phones": [
            {
              "phone": "+1 (940) 555-1234",
              "type": "HOME"
            },
            {
              "phone": "+1 (650) 555-1234",
              "type": "WORK",
              "wa_id": "16505551234"
            }
          ],
          "urls": [
            {
              "url": "https://www.facebook.com",
              "type": "WORK"
            }
          ]
        }
      ]
    }
  }'

View full source

Run your code

Save this file to your machine and run it:

bash send-contact.sh

試してみる

コードを実行すると、WhatsApp 連絡先メッセージが相手先の番号に送信されます。WhatsAppでは連絡先の詳細を確認したり、必要に応じてアドレス帳に追加することができます。

詳細情報