Сообщения с запросом геоданных

Сообщения с запросом геоданных содержат основной текст и кнопку отправки геоданных. После нажатия этой кнопки пользователи WhatsApp видят экран предоставления геоданных.


Когда пользователь предоставит свои геоданные, будет активирован Webhooks messages, содержащий сведения о геоданных пользователя.

Отправка сообщений с запросом геоданных

Чтобы отправлять сообщение с запросом геоданных пользователю WhatsApp, используйте конечную точку POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages:

Синтаксис запроса

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages

Тело публикации

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "type": "interactive",
  "to": "<WHATSAPP_USER_PHONE_NUMBER>",
  "interactive": {
    "type": "location_request_message",
    "body": {
      "text": "<BODY_TEXT>"
    },
    "action": {
      "name": "send_location"
    }
  }
}

Параметры тела публикации

ЗаполнительОписаниеПример значения

<BODY_TEXT>

Строка

Обязательный параметр.

Текст тела сообщения. Поддерживает URL.

Максимальное количество символов: 1 024.

Let's start with your pickup. You can either manually *enter an address* or *share your current location*.

<WHATSAPP_USER_PHONE_NUMBER>

String

Required.

WhatsApp user phone number.

+16505551234

Ответ

В случае успеха:

{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "<WHATSAPP_USER_PHONE_NUMBER>",
      "wa_id": "<WHATSAPP_USER_ID>"
    }
  ],
  "messages": [
    {
      "id": "<WHATSAPP_MESSAGE_ID>",
      "message_status": "<PACING_STATUS>"
    }
  ]
}

Содержимое ответа

PlaceholderDescriptionSample Value

<WHATSAPP_USER_PHONE_NUMBER>

String

WhatsApp user's WhatsApp phone number. May not match wa_id value.

+16505551234

<WHATSAPP_USER_ID>

String

WhatsApp user's WhatsApp ID. May not match input value.

16505551234

<WHATSAPP_MESSAGE_ID>

String

WhatsApp Message ID. This ID appears in associated messages webhooks, such as sent, read, and delivered webhooks.

wamid.HBgLMTY0NjcwNDM1OTUVAgARGBI4MjZGRDA0OUE2OTQ3RkEyMzcA

<PACING_STATUS>

String

Indicates template pacing status. The message_status property is only included in responses when sending a template message that uses a template that is being paced.

wamid.HBgLMTY0NjcwNDM1OTUVAgARGBI4MjZGRDA0OUE2OTQ3RkEyMzcA

Webhooks

Когда пользователь WhatsApp делится своими геоданными в ответ на ваше сообщение, активируется Webhooks messages, содержащий сведения о геоданных пользователя.

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<WHATSAPP_BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "context": {
                  "from": "<WHATSAPP_BUSINESS_PHONE_NUMBER>",
                  "id": "<WHATSAPP_CONTEXT_MESSAGE_ID>"
                },
                "from": "<WHATSAPP_USER_ID>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "location": {
                  "address": "<LOCATION_ADDRESS>",
                  "latitude": <LOCATION_LATITUDE>,
                  "longitude": <LOCATION_LONGITUDE>,
                  "name": "<LOCATION_NAME>"
                },
                "type": "location"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

Содержимое Webhooks

ЗаполнительОписаниеПример значения

<LOCATION_ADDRESS>

Строка

Адрес точки.

Этот параметр появляется только в случае, если пользователь WhatsApp делится данными.

1071 5th Ave, New York, NY 10128

<LOCATION_LATITUDE>

Число

Широта местоположения в десятичных градусах.

40.782910059774

<LOCATION_LONGITUDE>

Число

Долгота местоположения в десятичных градусах.

-73.959075808525

<LOCATION_NAME>

Строка

Название точки.

Этот параметр появляется только в случае, если пользователь WhatsApp делится данными.

Solomon R. Guggenheim Museum

<TIMESTAMP>

Строка

Метка времени UNIX, которая указывает, когда наши серверы обработали сообщение пользователя WhatsApp.

1702920965

<WHATSAPP_BUSINESS_ACCOUNT_ID>

Строка

ID аккаунта WhatsApp Business.

102290129340398

<WHATSAPP_BUSINESS_DISPLAY_PHONE_NUMBER>

Строка

Отображаемый номер телефона WhatsApp Business.

15550783881

<WHATSAPP_BUSINESS_PHONE_NUMBER>

Строка

Номер телефона WhatsApp Business.

15550783881

<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>

Строка

ID номера телефона WhatsApp Business.

106540352242922

<WHATSAPP_CONTEXT_MESSAGE_ID>

Строка

ID сообщения в WhatsApp, на которое отвечает пользователь.

wamid.HBgLMTY0NjcwNDM1OTUVAgARGBI1QjJGRjI1RDY0RkE4Nzg4QzcA

<WHATSAPP_MESSAGE_ID>

Строка

ID сообщения пользователя WhatsApp.

wamid.HBgLMTY0NjcwNDM1OTUVAgASGBQzQTRCRDcwNzgzMTRDNTAwRTgwRQA=

<WHATSAPP_USER_ID>

Строка

ID пользователя WhatsApp.

16505551234

<WHATSAPP_USER_NAME>

Строка

Имя пользователя WhatsApp.

Pablo Morales

Пример запроса

curl 'https://graph.facebook.com/v21.0/106540352242922/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "type": "interactive",
  "to": "+16505551234",
  "interactive": {
    "type": "location_request_message",
    "body": {
      "text": "Let us start with your pickup. You can either manually *enter an address* or *share your current location*."
    },
    "action": {
      "name": "send_location"
    }
  }
}'

Пример ответа

{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "+16505551234",
      "wa_id": "16505551234"
    }
  ],
  "messages": [
    {
      "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgARGBJCNUQ5RUNBNTk3OEQ2M0ZEQzgA"
    }
  ]
}

Пример Webhooks

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "102290129340398",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "15550783881",
              "phone_number_id": "106540352242922"
            },
            "contacts": [
              {
                "profile": {
                  "name": "Pablo Morales"
                },
                "wa_id": "16505551234"
              }
            ],
            "messages": [
              {
                "context": {
                  "from": "15550783881",
                  "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgARGBI1QjJGRjI1RDY0RkE4Nzg4QzcA"
                },
                "from": "16505551234",
                "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgASGBQzQTRCRDcwNzgzMTRDNTAwRTgwRQA=",
                "timestamp": "1702920965",
                "location": {
                  "address": "1071 5th Ave, New York, NY 10128",
                  "latitude": 40.782910059774,
                  "longitude": -73.959075808525,
                  "name": "Solomon R. Guggenheim Museum"
                },
                "type": "location"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}