Mensajes de solicitud de ubicación

Los mensajes de solicitud de ubicación muestran el texto del cuerpo y un botón de envío de ubicación. Cuando un usuario de WhatsApp toca el botón, aparece una pantalla para compartir la ubicación que el usuario puede utilizar para compartir su ubicación.


Una vez que el usuario comparte su ubicación, se activa un webhook de mensajes, que contiene los detalles de la ubicación del usuario.

Enviar mensajes de solicitud de ubicación

Utiliza el extremo POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages para enviar un mensaje de solicitud de ubicación a un usuario de WhatsApp.

Sintaxis de la solicitud

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages

Cuerpo de la solicitud POST

{
  "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"
    }
  }
}

Parámetros del cuerpo de la solicitud POST

Marcador de posiciónDescripciónEjemplo de valor

<BODY_TEXT>

Cadena

Obligatorio.

Texto del cuerpo del mensaje. Admite URL.

Máximo 1024 caracteres.

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

Respuesta

Si se realiza correctamente:

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

Contenido de la respuesta

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

Webhook

Cuando un usuario de WhatsApp comparte su ubicación como respuesta a tu mensaje, se activa un webhook de mensajes con los detalles de la ubicación del usuario.

{
  "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"
        }
      ]
    }
  ]
}

Contenido del webhook

Marcador de posiciónDescripciónEjemplo de valor

<LOCATION_ADDRESS>

Cadena

Dirección de la ubicación.

Este parámetro solo aparecerá si el usuario de WhatsApp elige compartirlo.

1071 5th Ave, New York, NY 10128

<LOCATION_LATITUDE>

Número

Latitud de la ubicación en grados decimales.

40.782910059774

<LOCATION_LONGITUDE>

Número

Longitud de la ubicación en grados decimales.

-73.959075808525

<LOCATION_NAME>

Cadena

Nombre de la ubicación.

Este parámetro solo aparecerá si el usuario de WhatsApp elige compartirlo.

Solomon R. Guggenheim Museum

<TIMESTAMP>

Cadena

Marca de tiempo UNIX que indica el momento en el que nuestros servidores procesaron el mensaje del usuario de WhatsApp.

1702920965

<WHATSAPP_BUSINESS_ACCOUNT_ID>

Cadena

Identificador de la cuenta de WhatsApp Business.

102290129340398

<WHATSAPP_BUSINESS_DISPLAY_PHONE_NUMBER>

Cadena

Número de teléfono de empresa de WhatsApp que se muestra.

15550783881

<WHATSAPP_BUSINESS_PHONE_NUMBER>

Cadena

Número de teléfono de empresa de WhatsApp.

15550783881

<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>

Cadena

Identificador del número de teléfono de empresa de WhatsApp.

106540352242922

<WHATSAPP_CONTEXT_MESSAGE_ID>

Cadena

Identificador del mensaje de WhatsApp al que el usuario responde.

wamid.HBgLMTY0NjcwNDM1OTUVAgARGBI1QjJGRjI1RDY0RkE4Nzg4QzcA

<WHATSAPP_MESSAGE_ID>

Cadena

Identificador del mensaje de WhatsApp del mensaje del usuario.

wamid.HBgLMTY0NjcwNDM1OTUVAgASGBQzQTRCRDcwNzgzMTRDNTAwRTgwRQA=

<WHATSAPP_USER_ID>

Cadena

Identificador de WhatsApp del usuario de WhatsApp.

16505551234

<WHATSAPP_USER_NAME>

Cadena

Nombre del usuario de WhatsApp.

Pablo Morales

Ejemplo de solicitud

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"
    }
  }
}'

Ejemplo de respuesta

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

Ejemplo de webhook

{
  "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"
        }
      ]
    }
  ]
}