# 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](/docs/guides/whatsapp/message-types/interactive/location-requests).

## Enviar uma localização

Defina `location.latitude` e `location.longitude`:

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  location: { latitude: 37.7793, longitude: -122.4193 },
});
console.log(msg.id, msg.status);
```

Examples: [TypeScript](/pt-br/documentacao/guides/whatsapp/message-types/location.ts.md) · [Python](/pt-br/documentacao/guides/whatsapp/message-types/location.py.md) · [Go](/pt-br/documentacao/guides/whatsapp/message-types/location.go.md) · [PHP](/pt-br/documentacao/guides/whatsapp/message-types/location.php.md) · [CLI](/pt-br/documentacao/guides/whatsapp/message-types/location.cli.md) · [MCP](/pt-br/documentacao/guides/whatsapp/message-types/location.mcp.md) · [cURL](/pt-br/documentacao/guides/whatsapp/message-types/location.curl.md)

A forma completa adiciona `name` e `address`:

```json
{
  "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

| Campo       | Limite                                                                    | Aplicado por             |
| ----------- | ------------------------------------------------------------------------- | ------------------------ |
| `latitude`  | obrigatório, -90 a 90, graus decimais                                     | Bird, ao aceitar (`422`) |
| `longitude` | obrigatório, -180 a 180, graus decimais                                   | Bird, ao aceitar (`422`) |
| `name`      | opcional, até 1000 caracteres                                             | Bird, ao aceitar (`422`) |
| `address`   | opcional, até 1000 caracteres, exibido apenas quando `name` está definido | Bird, 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](/docs/guides/whatsapp/receiving-whatsapp/location) 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](/docs/guides/whatsapp/message-types#the-customer-service-window) 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](/docs/guides/whatsapp/message-types/interactive/location-requests) 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

- [Mensagens de serviço WhatsApp](/docs/guides/whatsapp/message-types): a janela de atendimento ao cliente e o modelo que toda mensagem de serviço compartilha
- [Solicitações de localização](/docs/guides/whatsapp/message-types/interactive/location-requests): peça a localização de um contato em vez de enviar uma
- [Enviando mensagens WhatsApp](/docs/guides/whatsapp/sending-whatsapp): o envelope de solicitação, o modelo `202` e tentativas seguras de reenvio

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
