💬 Shared Inbox do WhatsApp na nova PlataformaMais
1msg official logo

WhatsApp Business API para entrega — compartilhe localização

Este cenário envia uma localização de mapa com sendLocation durante a janela de atendimento ao cliente de 24 horas.

Visão geral do caso de uso

Este cenário envia uma localização no mapa com sendLocation durante a janela de atendimento ao cliente de 24 horas. As coordenadas, o nome do local e o endereço ajudam o comprador a navegar sem precisar copiar o texto.

Exemplo de modelo

Seu ponto de coleta está pronto. Toque no pin do mapa abaixo para navegar.

WhatsApp Business API for delivery update — share pickup location

Quando usar

Alcance este cenário quando um pedido for movido para pronto para retirada e o comprador ainda precisar do ponto de coleta exato enquanto a sessão do WhatsApp estiver aberta. Isso se encaixa no e-commerce de clique e retire, onde digitar endereços manualmente causa desvios errôneos e contatos repetidos com o suporte.

Menos direções de coleta erradas
sendLocation entrega a latitude, longitude, nome do ponto de coleta e endereço da rua como um pin de mapa, para que o comprador navegue até as coordenadas exatas em vez de copiar um endereço digitado incorretamente do chat.
Menos mensagens de "onde eu pego?"
O envio é ativado quando o status do pedido muda para pronto para retirada durante uma sessão aberta de 24 horas, então o pin cai na mesma conversa onde o comprador já perguntou sobre a entrega.
Mapas de um toque do chat
O cartão de localização compartilhada abre a navegação no aplicativo de mapas do comprador; o texto da sessão diz para eles tocarem no ícone do mapa abaixo, em vez de procurar por um endereço em outro lugar.
Sem reescrita manual de endereço
Seu backend carrega coordenadas, nome do local e endereço da rua quando o evento de pedido é acionado, para que o suporte não repita os detalhes de retirada em texto livre.

Fluxo de Trabalho

  1. Status rastreado

    Uma mudança no status do pedido indica que o pacote está pronto para retirada.

    status: "read"

  2. Evento capturado

    Seu backend carrega coordenadas, nome do local e endereço da rua.

    phone: "+…"

  3. Construa & envie

    sendLocation entrega o pin ao cliente na sessão ativa.

    POST /send_location

  4. Entregue

    O cliente abre a navegação de mapas a partir do cartão de localização compartilhada.

    delivered

WhatsApp Business API for delivery update — share pickup location

Implementação técnica

Pré-requisitos

  1. Chave da API 1MSG · Como obter a Chave da API
  2. Conta do WhatsApp Business · Como Conectar o WABA
  3. Janela de sessão 24 horas · Como funciona a janela de 24 horas
  4. Opt-in do cliente · Como Gerenciar o Consentimento
  5. Webhook endpoint · Como Configurar Webhooks

Exemplos de código

#!/usr/bin/env bash
set -euo pipefail

# === Configuration (replace "___" placeholders) ===
API_BASE_URL="https://api.1msg.io"        # production 1MSG API base URL
CHANNEL_ID="___"                           # channel ID from 1MSG dashboard
API_TOKEN="___"                            # channel JWT token (Bearer)



# === Test data ===
TEST_PHONE="___"                 # client phone in international format

PHONE_NORM="$(printf '%s' "$TEST_PHONE" | tr -cd '0-9')"
URL="${API_BASE_URL%/}/${CHANNEL_ID}/sendLocation"

read -r -d '' PAYLOAD <<JSON || true
{
  "phone": "${PHONE_NORM}",
  "lat": "41.40338",
  "lng": "2.17403",
  "name": "Pickup point",
  "address": "Example street 1"
}
JSON

RESPONSE="$(curl -s -w '\n%{http_code}' -X POST "$URL" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -d "$PAYLOAD")"

HTTP_CODE="$(printf '%s' "$RESPONSE" | tail -n1)"
BODY="$(printf '%s' "$RESPONSE" | sed '$d')"

case "$BODY" in
  *'"sent":true'*) ok=1 ;;
  *) ok=0 ;;
esac

if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ] && [ "$ok" -eq 1 ]; then
  echo "Message sent to client."
else
  echo "$BODY" >&2
  exit 1
fi

Status de resposta e entrega

HTTP 2xx e JSON "sent": true significam que 1MSG aceitou a mensagem para envio — não que ela já tenha chegado ao telefone do cliente. Salve o campo id (parece com wamid.…) para correlacionar os callbacks de entrega.

200 OKResposta
{
  "sent": true,
  "id": "wamid.HBgLMzgwNjM5...",
  "message": "Message accepted for delivery"
}
  • sent

    Aceito para envio — não ainda no telefone do cliente

  • id

    Armazene isso; os callbacks de entrega e hookInfo são baseados nisso.

A entrega em si chega mais tarde, como um callback separado. Registre um webhook (POST …/webhook) e 1MSG envia atualizações de status para seu endpoint HTTPS em uma carga útil de nível superior hooks[].

200 OKWebhook de status de entrega — payload recebido.
{
  "hooks": [
    {
      "id": "gBGGeSaGViBfAgnlzOSHEwK9O6F",
      "type": "message",
      "status": "sent",
      "timestamp": "1654864094",
      "recipient_id": "556123122026"
    }
  ]
}
  • status

    enviado, entregue, lido — ou um status de falha quando aplicável

  • id

    Correlaciona o callback com o id retornado pela chamada de envio

  • timestamp

    Segundos Unix, como uma string

Se você preferir não receber chamadas de retorno, consulte GET {base}/{channel}/hookInfo?messageId=<id> em vez disso. Na prática, a entrega geralmente é concluída em segundos — mas o contrato da API não garante isso, então nunca bloqueie um fluxo esperando por isso.

Erros comuns

StatusRespostaCausa
200Message was not sent: empty bodyNo body in the request.
200Message was not sent: provide chatId, phone, bsuid, or usernameNo recipient the channel could resolve.
200wrong fileThe media could not be fetched or uploaded — not a reachable URL, not valid base64.
403access deniedThe token is wrong, or belongs to a different channel than the URL.
200Message was not sent: filenamesendFile called without a filename, so the media has no extension to send.

Perguntas Frequentes

Não — este cenário usa uma mensagem de sessão dentro da janela de atendimento ao cliente de 24 horas.

Relacionado

Pedidos & Entrega
WhatsApp Business API para confirmação de entrega de pedido
O cenário envia ao cliente um modelo personalizado WhatsApp quando seu pedido é marcado como entregue.
Pedidos & Entrega
WhatsApp Business API para notificação de pedido cancelado
O cenário envia ao cliente um modelo de WhatsApp personalizado quando um pedido é cancelado.
Pedidos & Entrega
WhatsApp Business API para notificação de nova rota
O cenário faz com que um gerente ou despachante envie um modelo personalizado de WhatsApp quando uma nova rota ou viagem é criada.
Pedidos & Entrega
WhatsApp Business API para confirmação de novos pedidos
O cenário envia ao cliente um modelo de WhatsApp personalizado logo após um novo pedido ser criado.
Pedidos & Entrega
Notificação de entrega falha no WhatsApp Business API
O cenário envia ao cliente um modelo personalizado de WhatsApp quando uma tentativa de entrega falha.
Pedidos & Entrega
WhatsApp Business API para notificação de atraso na entrega
O cenário envia ao cliente um template personalizado pelo WhatsApp quando a entrega do pedido está atrasada.
Pedidos & Entrega
WhatsApp Business API para contato de entregador.
Este cenário envia um cartão de contato do WhatsApp com sendContact durante a janela de atendimento ao cliente após um motorista ser designado ao pedido.
Pedidos & Entrega
WhatsApp Business API para notificação de mudança de status
O cenário envia ao cliente um template personalizado pelo WhatsApp quando o status do seu pedido, solicitação ou requisição muda.

Crie para o WhatsApp em horas
sem complicações de infraestrutura