---
title: "Localização no WhatsApp pela API: enviar, pedir e compartilhar em tempo real"
description: "Como enviar localização, pedir a localização do cliente com botão nativo e compartilhar localização em tempo real pela API não oficial do WhatsApp."
url: "https://wame.api.br/blog/localizacao-whatsapp-api-enviar-pedir-tempo-real"
language: "pt-BR"
og:type: "article"
published_time: "2026-09-28"
modified_time: "2026-09-28"
author: "Raphael Serafim"
keywords: "api whatsapp não oficial, api não oficial whatsapp, enviar localização whatsapp api, pedir localização whatsapp, localização em tempo real whatsapp api, whatsapp api location, whatsapp entrega localização"
reading_time: "8 min de leitura"
---

# Localização no WhatsApp pela API: enviar, pedir e compartilhar em tempo real

> Como enviar localização, pedir a localização do cliente com botão nativo e compartilhar localização em tempo real pela API não oficial do WhatsApp.

**Pela API não oficial do WhatsApp você resolve localização em três direções: envia um pin com `POST /{key}/message/location`, pede a posição do cliente com um botão nativo em `POST /{key}/message/location-request` e compartilha localização ao vivo com `POST /{key}/message/live-location`. É o que transforma "me manda o endereço certinho?" em um toque — para delivery, visita técnica, retirada em loja e qualquer operação que depende de onde as pessoas estão.**

Endereço digitado à mão é fonte clássica de erro: número trocado, bairro errado, "é a casa do portão azul". Coordenadas não erram. Neste guia você vê os três endpoints, um fluxo completo de entrega e os cuidados para usar localização sem invadir ninguém.

> A camada não oficial da WAME é independente e não é afiliada, endossada ou suportada pelo WhatsApp ou pela Meta. O uso é de responsabilidade de quem envia.

## Os três jeitos de usar localização

| O que você quer | Endpoint | Quem compartilha |
| --- | --- | --- |
| Mostrar onde fica a loja, o evento, o ponto de retirada | `POST /message/location` | Você |
| Saber exatamente onde o cliente está | `POST /message/location-request` | O cliente, com um toque |
| Deixar o cliente acompanhar quem está a caminho | `POST /message/live-location` | Você, em tempo real |

Todos seguem o mesmo padrão da API: `POST` para `https://server.wame.api.br/{key}/...`, `Content-Type: application/json` e o destinatário em `to` (telefone com DDI, grupo terminado em `@g.us` ou LID).

## Enviar uma localização fixa

É o pin clássico: o cliente vê um mapa, o nome do lugar e o endereço, e toca para abrir no app de mapas.

```bash
curl -X POST "https://server.wame.api.br/SUA_KEY/message/location" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "location": {
      "latitude": -23.5874,
      "longitude": -46.6576,
      "name": "Loja Vila Mariana",
      "address": "Rua Domingos de Morais, 1000 - Vila Mariana, São Paulo - SP"
    }
  }'
```

Só `latitude` e `longitude` são obrigatórios, mas preencha `name` e `address`: é o que o cliente lê antes de abrir o mapa, e evita a pergunta "é aquela loja da esquina?".

Onde isso aparece no dia a dia:

- **Resposta automática a "onde vocês ficam?"** — o bot detecta a pergunta e responde com o pin, não com um texto de endereço.
- **Confirmação de agendamento** — "Seu horário é amanhã às 14h, aqui" + localização da clínica.
- **Ponto de retirada** — pedido pronto, pin do balcão de retirada.
- **Eventos** — combine com [convite de evento pela API](/blog/convite-evento-whatsapp-api) para mandar data e lugar juntos.

Se você tem várias unidades, a mesma chamada resolve "qual a loja mais perto?": pergunte o bairro ou peça a localização (próxima seção), calcule a unidade mais próxima e envie o pin dela.

## Pedir a localização do cliente com um botão

Este é o recurso que mais economiza atendimento. Em vez de pedir o endereço por texto, você envia um pedido nativo: o cliente vê sua mensagem com um botão para compartilhar a localização e só precisa tocar.

```bash
curl -X POST "https://server.wame.api.br/SUA_KEY/message/location-request" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "text": "Para calcular o frete certinho, toque no botão e compartilhe sua localização 📍"
  }'
```

O `text` é obrigatório e deve dizer **por que** você está pedindo. Pedido de localização sem contexto assusta; com motivo claro ("calcular o frete", "mandar o técnico certo"), é serviço.

Um detalhe que vale para qualquer mensagem interativa: se a conversa ainda está fria — o cliente nunca falou com o número —, abra com um texto antes do pedido. No fluxo normal de delivery isso nem aparece, porque é o cliente que chama primeiro. O porquê está em [como aquecer um número](/blog/aquecer-numero-whatsapp-api-nao-oficial).

## Receber a localização no webhook

Quando o cliente compartilha, a posição chega no mesmo webhook das mensagens, no envelope `meta`, como uma mensagem de tipo localização com as coordenadas. Os nomes exatos dos campos estão na [documentação](/docs); o importante é isolar a leitura numa função, como fizemos no [bot do zero](/blog/criar-bot-whatsapp-api-nao-oficial):

```js
function extrairLocalizacao(body) {
  const msg = body?.entry?.[0]?.changes?.[0]?.value?.messages?.[0];
  if (!msg || msg.type !== 'location') return null;

  // Ajuste os campos conforme o formato descrito em /docs.
  const loc = msg.location;
  return {
    de: msg.from,
    lat: loc?.latitude,
    lng: loc?.longitude,
    messageId: msg.id,
  };
}
```

Com a coordenada em mãos, o resto é lógica sua:

```js
// Distância em km entre dois pontos (fórmula de haversine)
function distanciaKm(a, b) {
  const R = 6371;
  const rad = (g) => (g * Math.PI) / 180;
  const dLat = rad(b.lat - a.lat);
  const dLng = rad(b.lng - a.lng);
  const h =
    Math.sin(dLat / 2) ** 2 +
    Math.cos(rad(a.lat)) * Math.cos(rad(b.lat)) * Math.sin(dLng / 2) ** 2;
  return 2 * R * Math.asin(Math.sqrt(h));
}

const LOJA = { lat: -23.5874, lng: -46.6576 };
const km = distanciaKm(LOJA, { lat: loc.lat, lng: loc.lng });
const frete = km <= 3 ? 'grátis' : `R$ ${(km * 1.5).toFixed(2)}`; // sua regra
```

A distância em linha reta é uma aproximação; se o frete precisa da distância de rota, passe as coordenadas para o serviço de mapas que você já usa. O ganho continua o mesmo: nada de endereço digitado errado.

## Compartilhar localização em tempo real

A localização ao vivo é o "acompanhe seu pedido" dentro do WhatsApp. Você envia uma posição que o app do cliente mostra como localização em tempo real:

```bash
curl -X POST "https://server.wame.api.br/SUA_KEY/message/live-location" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "latitude": -23.5505,
    "longitude": -46.6333,
    "caption": "Seu pedido saiu! O entregador está a caminho 🛵"
  }'
```

Casos em que ela vale a pena:

- **Entrega** — o cliente para de mandar "já saiu?" a cada cinco minutos.
- **Visita técnica** — "o técnico está a 10 minutos" com o mapa junto evita cliente fora de casa.
- **Transporte e traslado** — motorista chegando ao ponto de encontro.

Cuidado de privacidade: a localização ao vivo é de quem está se deslocando — o entregador, o técnico. Combine isso com a equipe, deixe claro quando o compartilhamento começa e termina, e não use para monitorar funcionário fora do serviço.

## Um fluxo completo de delivery

Juntando as peças, um atendimento de delivery fica assim:

1. **Cliente chama** — "quero pedir".
2. **Bot responde e pede a localização** com `location-request`, explicando que é para o frete.
3. **Webhook recebe as coordenadas**; o sistema calcula distância, frete e unidade mais próxima.
4. **Bot confirma** o pedido com valor e prazo (texto ou botões — a conversa já está quente).
5. **Pedido sai**: `live-location` com a legenda "saiu para entrega".
6. **Entregue**: mensagem de confirmação e, se fizer sentido, uma [pesquisa de satisfação](/blog/pesquisa-satisfacao-enquete-whatsapp-api).

Tudo isso acontece numa conversa que **o cliente iniciou**. É o uso mais seguro possível da API não oficial: o volume acompanha os pedidos reais, as mensagens são esperadas e ninguém denuncia a pizzaria que avisou que a pizza saiu. É por isso que, nesse tipo de operação, a taxa de bloqueio é muito baixa para quem usa do jeito certo. Os fundamentos estão em [o que derruba um número](/blog/api-whatsapp-nao-oficial-bane-o-que-derruba-numero).

## Boas práticas com localização

- **Sempre explique o motivo** ao pedir a localização. Pedido sem contexto parece golpe.
- **Não guarde mais do que precisa.** Coordenada de entrega é dado pessoal; guarde vinculada ao pedido, pelo tempo necessário, e siga a sua política de privacidade. O contrato com cliente e a LGPD estão em [API de WhatsApp e LGPD](/blog/whatsapp-api-lgpd-contrato-cliente).
- **Tenha fallback em texto.** Nem todo cliente compartilha — aceite o endereço digitado e siga o fluxo.
- **Nada de pedido em massa.** Mandar pedido de localização para uma lista de quem não está comprando nada é abordagem não solicitada. A WAME não apoia esse uso, e ele derruba número rápido.
- **Grupos também recebem pin.** Para um evento ou uma turma, mandar a localização no grupo (`to` com `@g.us`) economiza dezenas de "onde é?".

## Conclusão

Localização é um daqueles recursos pequenos que resolvem um problema grande: endereço errado, cliente perguntando onde fica, entrega sem visibilidade. Com a API não oficial da WAME você envia o pin da loja com `message/location`, pede a posição do cliente com um toque via `message/location-request` e deixa ele acompanhar a entrega com `message/live-location` — tudo no mesmo padrão de chamada, dentro da conversa que o próprio cliente abriu. Os campos completos estão na [documentação](/docs), e o panorama dos recursos da camada não oficial está em [API do WhatsApp não oficial: vantagens](/blog/api-whatsapp-nao-oficial-vantagens).

## Perguntas frequentes

### Como enviar uma localização pelo WhatsApp via API?

Faça POST /{key}/message/location com o destinatário em to e um objeto location com latitude, longitude e, opcionalmente, name e address. O cliente recebe o pin no mapa, com o nome do lugar e o endereço, e abre direto no app de mapas.

### Dá para pedir a localização do cliente pela API?

Sim. O endpoint POST /{key}/message/location-request envia um pedido nativo de localização com um texto seu. O cliente toca no botão e compartilha a posição, que chega no seu webhook como mensagem do tipo localização.

### A API envia localização em tempo real?

Sim. POST /{key}/message/live-location compartilha uma localização ao vivo com latitude, longitude e uma legenda opcional. É útil em entregas e visitas técnicas, para o cliente acompanhar quem está a caminho.

### Onde chega a localização que o cliente compartilhou?

No mesmo webhook de mensagens, como uma mensagem de tipo localização, com as coordenadas. O formato exato dos campos está na documentação da API em /docs. A partir daí você calcula frete, distância ou atribui a entrega ao entregador mais próximo.

### Pedir localização do cliente é seguro para o número?

Sim, quando faz parte de um atendimento que o cliente iniciou ou de um pedido em andamento. Pedir localização para listas frias é abordagem não solicitada, é denunciada e não é um uso que a WAME apoia.
