POST /send-location-request
Pede que o cliente envie a localização dele via GPS. O WhatsApp mostra uma mensagem com botão "Enviar localização atual"; ao tocar, o cliente compartilha coordenadas + nome/endereço (se disponível).
Útil pra delivery, agendamento de visita técnica, mapeamento de cliente.
| Campo | Valor |
|---|---|
| URL | https://api.wevi.chat/functions/v1/send-location-request |
| Método | POST |
| Auth | Authorization: Bearer wevi_... |
| Content-Type | application/json |
| Rate limit | 60 req/min por API key |
| Plano necessário | Pro ou Ultra |
Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
connection_id |
string (uuid) | sim | ID da conexão WhatsApp. |
to |
string | sim | Telefone destino. |
body |
string | sim | Mensagem explicando por que precisa da localização. Max 1024. |
contact_id |
string (uuid) | não | Vincula ao contato. |
idempotency_key |
string | não | Idempotência. |
Não tem footer nem header (o Meta não suporta nesse tipo).
Exemplo
curl -X POST https://api.wevi.chat/functions/v1/send-location-request \
-H "Authorization: Bearer wevi_abc..." \
-H "Content-Type: application/json" \
-d '{
"connection_id": "conn-uuid",
"to": "+5511999999999",
"body": "Pra agendar a visita, qual o endereço? Toque no botão abaixo pra enviar sua localização atual."
}'
await fetch("https://api.wevi.chat/functions/v1/send-location-request", {
method: "POST",
headers: { "Authorization": "Bearer wevi_abc...", "Content-Type": "application/json" },
body: JSON.stringify({
connection_id: "conn-uuid",
to: "+5511999999999",
body: "Pra agendar a visita, qual o endereço?",
}),
});
Resposta
Sucesso (200)
{ "id": "envio-uuid", "wamid": "wamid.HBgN...", "status": "sent" }
Erros principais
| Status | error |
|---|---|
| 400 | connection_id is required, to is required, body is required |
| 401 | Invalid API key |
| 402 | plan_limit_exceeded |
| 404 | Connection not found |
Como o cliente responde
Quando o cliente compartilha a localização, o WhatsApp envia uma mensagem type: "location". A Wevi persiste no histórico com:
{
"kind": "interaction_reply",
"payload": {
"source": "location",
"latitude": -23.5505,
"longitude": -46.6333,
"name": "Av. Paulista, 1000",
"address": "Bela Vista, São Paulo - SP",
"maps_url": "https://www.google.com/maps?q=-23.5505,-46.6333"
}
}
Pra integrações que escutam as mensagens do contato, o content da mensagem vai ser uma string tipo "Av. Paulista, 1000 · Bela Vista, São Paulo - SP · -23.5505, -46.6333" (composta do que o cliente compartilhou).
Próximo
/send-product