01 · How it works, in 6 steps
How does a location request message work?
- 1
Pick the moment
Ask when the location is about to be used: right after a COD Confirmation, before dispatch, or when a rider cannot find the building. The window must be open, which it is just after the customer has replied.
- 2
Write a clear ask
Say why you need the location and what happens next in one or two sentences, and mention the alternative: "Prefer to type it? Just reply with your address."
- 3
Send the request and keep its WAMID
POST the
location_request_messageto/{PHONE_NUMBER_ID}/messagesand store the returned WAMID against the order, so the reply can be matched later. - 4
Match the shared pin
When a
type: locationmessage arrives, look upcontext.id. If it is missing because the customer shared from the attach menu instead, fall back to the latest open request for that WhatsApp ID. - 5
Validate and confirm
Range-check the coordinates, test them against your delivery zone, save them to the order and reply with a confirmation naming the area, so a wrong pin is caught at once.
- 6
Fall back gracefully
If no pin arrives, or the customer types instead, accept the typed address or offer an address message. Follow up once, not repeatedly.
02Try it
Hands-on: use the controls to work through it yourself.
Ask for a pin, get a pin
Today
- Woodcraft Store, Jaipur: COD order #JP-5521Your 3-seater sofa (cash on delivery) is ready to ship. Please confirm the order.Confirm orderCancel order10:30Read
- Customer: Confirm order10:31
- Woodcraft Store, Jaipur: Thanks! Please share your delivery location so our van can find you. Prefer to type it? Just reply with your address.10:32ReadSend location
- Customer: Shared locationMalviya Nagar, Jaipur 30201710:33
- Woodcraft Store, Jaipur: Got it: Malviya Nagar. Delivery on Saturday, 10 am to 1 pm. The driver will call 30 minutes before.10:34DeliveredCustomer reacted 👍
Message 6 of 6
CustomerReaction
An emoji reaction pinned to an earlier message — it does not add a new bubble.
Message 6 of 6: Customer, Reaction. An emoji reaction pinned to an earlier message — it does not add a new bubble.
03What is a location request message?
A location request message is an Interactive Message that asks the customer to share where they are. It shows your body text and a single Send location button; tapping the button opens WhatsApp's location-sharing screen, where the customer can send their current position or pick a place. Whatever they share comes back to your webhook as a normal location pin.
On the WhatsApp Cloud API it is a send with type: interactive, interactive.type set to location_request_message, a required body.text of up to 1,024 characters (URLs allowed) and an action of {"name": "send_location"}. Meta's syntax has no header, footer or custom button label. When the customer shares, the Messages Webhook delivers a message of type: location with latitude and longitude, a name and address only if they chose to include them, and a context object whose id is the WAMID of your request. That context.id, the same field a Contextual Reply uses, is how you tie the pin to the right order, visit or ticket.
It is the asking half of a pair: a Location Message is the pin itself, sent by either side. It also differs from an Address Message, which opens a structured form for a typed delivery address and is limited to businesses in India messaging customers in India. Because it is free-form, a location request needs an open 24-hour customer service window; for business-initiated asks, Meta documents location request templates in the utility category.
Key takeaways
- A location request message shows body text and a Send location button that opens the customer's location sharer.
- Send it with
interactive.type: location_request_messageandaction.name: send_location; the body takes up to 1,024 characters. - The answer arrives as an ordinary
type: locationmessage whosecontext.idis the WAMID of your request. - It is a free-form service message that needs an open 24-hour window; Meta also documents a utility template version.
- Sharing is the customer's choice, so always offer a typed-address fallback.
04 · In code
A location request message in code
curl -X POST "https://graph.facebook.com/v26.0/{PHONE_NUMBER_ID}/messages" \-H "Authorization: Bearer {ACCESS_TOKEN}" \-H "Content-Type: application/json" \-d '{"messaging_product": "whatsapp","recipient_type": "individual","to": "919812345678","type": "interactive","interactive": {"type": "location_request_message","body": {"text": "Please share your delivery location so our van can find you. Prefer to type it? Just reply with your address."},"action": { "name": "send_location" }}}'
Body text and the fixed send_location action: no header, footer or custom button label.
05Example: COD deliveries for a Jaipur furniture store
A Jaipur furniture store confirms cash-on-delivery orders on WhatsApp. When a customer taps Confirm order on the COD confirmation template, the 24-hour window opens, so the bot immediately sends a location request: "Please share your delivery location so our van can find you. Prefer to type it? Just reply with your address." The pin arrives with a context.id matching the request; the order system checks it falls inside the Jaipur delivery zone, saves it to the order and replies, "Got it: Malviya Nagar. Delivery on Saturday, 10 am to 1 pm." On delivery day the driver navigates straight to the pin.
06 · Mistakes to avoid
Common mistakes with a location request message
Sending it cold
A free-form location request outside the customer service window fails with a re-engagement error. Ask right after the customer replies, or use a utility location request template.
Not linking the reply to the request
Without the request's WAMID stored against the order, a customer with two open orders leaves you guessing. Save the WAMID at send time and match on
context.id.Assuming the pin is the delivery address
A customer at work may share the office. Reply with the area you received and ask them to correct it if needed, or confirm with a quick-reply question.
No fallback
Some customers will not share their location, and some type the address instead. Accept a typed address, and offer an address message when you need structured fields.
Asking too early or too often
Requesting location at the start of every chat feels intrusive and trains customers to ignore it. Ask once, at the step that actually needs it.
07 · Key facts
A location request message: key facts and limits
- interactive.type
- location_request_message
- Action
- { "name": "send_location" }
- Body
- Required, up to 1,024 characters, URLs allowed
- Header, footer, label
- Not part of Meta's syntax
- Reply
- type: location message, context.id = your request's WAMID
- Optional in reply
- name and address, only if the customer includes them
- When
- Inside the 24-hour window; utility template version for business-initiated asks
08 · Pro tips
Best practices for a location request message
- Say who will see the location and why ("so our driver can find you") in the body text.
- Name the area back to the customer so a wrong pin is corrected before dispatch.
- Keep coordinates only as long as the delivery or visit needs them, in line with the DPDP Act.
- Store the shared pin with the order so the rider's app can open navigation directly.
09 · Why it matters
Why does a location request message matter?
Vague or wrong addresses are among the costliest failures in Indian e-commerce and home services: a failed cash-on-delivery attempt, a technician circling a colony, a van at the wrong gate. Asking for a pin at the right moment, in the same chat where the order lives, gives the rider or field agent coordinates they can navigate to and turns a long conversation about landmarks into one tap.