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

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.

Visão geral do caso de uso

Este cenário envia um cartão de contato do WhatsApp com sendContact durante a janela de atendimento ao cliente de 24 horas após um motorista ou mensageiro ser designado para o pedido.

Exemplo de modelo

Seu contato do mensageiro para esta entrega está no cartão abaixo.

WhatsApp Business API for courier or driver contact — share contact card

Quando usar isso

Acesse este cenário quando a logística atribuir um motorista ou mensageiro a uma entrega ativa e o comprador precisar do número de telefone dessa pessoa sem copiar os dígitos de uma resposta em texto simples. Isso se adequa às equipes de entrega da última milha que compartilham contatos para salvar com um toque dentro de uma sessão de pedido aberto e operadores de frotas que passam o mensageiro designado, para que o cliente possa ligar diretamente do WhatsApp.

Menos chamadas erradas
sendContact entrega um vCard com o nome de exibição do entregador e o número de telefone em E.164, assim o cliente pode tocar para salvar ou ligar em vez de digitar números que frequentemente são digitados erroneamente no chat.
Menos contatos repetidos "número do motorista?"
A linha de introdução e o cartão de contato chegam na mesma sessão aberta do WhatsApp que o pedido, assim o comprador tem acesso direto ao telefone sem precisar abrir e-mail ou ligar para o suporte novamente.
Sem compartilhamento de dígitos manuais
Quando a logística designa o motoboy, seu backend carrega o nome de exibição e o telefone do contrato de integração.
O contato fica na thread do pedido.
O corpo da mensagem curta aponta para o cartão abaixo, para que os detalhes do entregador fiquem no chat de entrega que o cliente já utiliza, em vez de um SMS ou thread de e-mail separado.

Fluxo de Trabalho

  1. Gatilho

    A logística designa um motorista ou entregador para a entrega.

    event · triggered

  2. Registrar evento

    Seu backend carrega o nome e telefone do entregador.

    phone: "+…"

  3. Construa e envie.

    sendContact entrega o cartão de contato na sessão ativa.

    POST /send_contact

  4. Entregue

    O cliente salva ou chama o entregador pelo WhatsApp.

    delivered

WhatsApp Business API for courier or driver contact — share contact card

Implementação técnica

Pré-requisitos

  1. 1MSG API Key · Como obter a chave da API
  2. Conta do WhatsApp Business · Como Conectar WABA
  3. Abre janela de sessão de 24 horas · Como funciona a janela de 24 horas
  4. Escolha do cliente · Como Gerenciar o Consentimento dos Clientes
  5. Endpoint de Webhook · 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}/sendContact"

# specialist display name (code_contract)
# specialist phone in E.164 format
read -r -d '' PAYLOAD <<JSON || true
{
  "phone": "${PHONE_NORM}",
  "contacts": [
    {
      "name": { "formatted_name": "Иван Курьер", "first_name": "Иван Курьер" },
      "phones": [{ "phone": "+998901234567", "type": "CELL" }]
    }
  ]
}
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 (parecido com wamid.…) para correlacionar os callbacks de entrega.

200 Tudo certo!Resposta
{
  "sent": true,
  "id": "wamid.HBgLMzgwNjM5...",
  "message": "Message accepted for delivery"
}
  • sent

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

  • id

    Armazene isso; chamadas de entrega e hookInfo são baseadas nisso.

Delivery itself arrives later, as a separate callback. Register a webhook (POST …/webhook) and 1MSG POSTs status updates to your HTTPS endpoint in a top-level hooks[] payload.

200 Entendido!Webhook 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

    Correla 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 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.
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 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