Location request messages display body text and a send location button. When a WhatsApp user taps the button, a location sharing screen appears which the user can then use to share their location.
Once the user shares their location, a messages webhook is triggered, containing the user's location details.
Use the POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages endpoint to send a location request message to a WhatsApp user.
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" } } }
Placeholder | Description | Example Value |
---|---|---|
String | Required. Message body text. Supports URLs. Maximum 1024 characters. |
|
String | Required. WhatsApp user phone number. |
|
Upon success:
{ "messaging_product": "whatsapp", "contacts": [ { "input": "<WHATSAPP_USER_PHONE_NUMBER>", "wa_id": "<WHATSAPP_USER_ID>" } ], "messages": [ { "id": "<WHATSAPP_MESSAGE_ID>", "message_status": "<PACING_STATUS>" } ] }
Placeholder | Description | Sample Value |
---|---|---|
String | WhatsApp user's WhatsApp phone number. May not match |
|
String | WhatsApp user's WhatsApp ID. May not match |
|
String | WhatsApp Message ID. This ID appears in associated messages webhooks, such as sent, read, and delivered webhooks. |
|
String | Indicates template pacing status. The |
|
When a WhatsApp user shares their location in response to your message, a messages webhook is triggered containing the user's location details.
{ "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" } ] } ] }
Placeholder | Description | Example Value |
---|---|---|
String | Location address. This parameter will only appear if the WhatsApp user chooses to share it. |
|
Number | Location latitude in decimal degrees. |
|
Number | Location longitude in decimal degrees. |
|
String | Location name. This parameter will only appear if the WhatsApp user chooses to share it. |
|
String | UNIX timestamp indicating when our servers processed the WhatsApp user's message. |
|
String | WhatsApp Business Account ID. |
|
String | WhatsApp business phone number's display number. |
|
String | WhatsApp business phone number. |
|
String | WhatsApp business phone number ID. |
|
String | WhatsApp message ID of message that the user is responding to. |
|
String | WhatsApp message ID of the user's message. |
|
String | WhatsApp user's WhatsApp ID. |
|
String | WhatsApp user's name. |
|
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" } ] }
{ "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" } ] } ] }