Sign inGet started

Mensagens de localização WhatsApp

Uma mensagem de localização envia um pin: um ponto no mapa, com um nome e endereço opcionais abaixo dele. Esta é a parte de envio; para pedir que um contato compartilhe a localização dele, veja solicitações de localização.

Enviar uma localização

Defina location.latitude e location.longitude:
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  location: { latitude: 37.7793, longitude: -122.4193 },
});
console.log(msg.id, msg.status);
A forma completa adiciona name e address:
Exemplo de código
{
  "to": "+16505551234",
  "from": "+13124495648",
  "location": {
    "latitude": 37.7793,
    "longitude": -122.4193,
    "name": "Ferry Building Pickup",
    "address": "1 Market St, San Francisco, CA 94105"
  }
}
address só é exibido para o destinatário quando name também está definido. from é obrigatório em toda mensagem de serviço: um número que o seu espaço de trabalho possui, não um gerenciado pelo Bird.

Limites

CampoLimiteAplicado por
latitudeobrigatório, -90 a 90, graus decimaisBird, ao aceitar (422)
longitudeobrigatório, -180 a 180, graus decimaisBird, ao aceitar (422)
nameopcional, até 1000 caracteresBird, ao aceitar (422)
addressopcional, até 1000 caracteres, exibido apenas quando name está definidoBird, ao aceitar (422)
A documentação do próprio WhatsApp lista latitude e longitude como obrigatórios sem faixa numérica declarada; a verificação de faixa ±90/±180 e os limites de 1000 caracteres em name e address são limites próprios do Bird.

Lendo uma localização recebida

Um contato compartilhando sua localização, espontaneamente ou em resposta a uma solicitação de localização, produz uma mensagem location recebida comum. Nada nela é garantido: um pin bruto pode chegar sem name e sem address, e um recebido também pode trazer um url vinculando ao local, que nunca aparece em uma localização que você envia. Localização não é um tipo de mídia, então não há arquivo para baixar. Veja Recebendo localizações WhatsApp para a leitura completa da mensagem recebida, o payload whatsapp.received e o que observar.

Limites e casos extremos

  • A janela de atendimento ao cliente precisa estar aberta. Um envio de localização é uma mensagem de serviço, entregável apenas dentro de uma janela aberta; veja a janela de atendimento ao cliente do hub.
  • name e address são genuinamente opcionais na leitura, não opcionais-com-fallback. Um pin bruto não tem nenhum dos dois, e address nunca aparece sem name. Não assuma que um endereço acompanha um par de coordenadas.
  • Este não é o mesmo tipo que uma solicitação de localização. Solicitações de localização são um tipo interativo que pede ao destinatário a própria localização; esta página envia uma para ele. Não confunda as duas formas de envio.
  • Um toque em uma solicitação de localização retorna como uma mensagem location recebida comum, não como um interactive_reply. Uma integração que monitora apenas interactive_reply para toques perde isso completamente; ela precisa também monitorar mensagens recebidas location.

Próximos passos