1msg official logo

WhatsApp Business API para mensagem de marketing pós-visita

O cenário envia um modelo de marketing personalizado via WhatsApp logo após uma visita presencial, passeio pelo showroom, consulta ou contato telefônico.

visão geral do caso de uso

O cenário envia um modelo de marketing personalizado pelo WhatsApp logo após uma visita presencial, viagem ao showroom, consulta ou contato telefônico. A mensagem agradece ao cliente, menciona a empresa ou especialista que encontraram, o serviço discutido e o próximo passo recomendado. Um botão de URL estático abre a página de oferta ou reserva.

Exemplo de modelo

Olá, {{1}}! Obrigado por visitar {{2}} — foi ótimo conversar com você sobre {{3}}. {{4}} Toque no botão abaixo para dar seu próximo passo conosco.

Dar o próximo passo
  • {{1}}
    nome do cliente
  • {{2}}
    empresa ou especialista que o cliente conheceu durante a visita
  • {{3}}
    serviço ou tópico discutido durante a visita ou contato
  • {{4}}
    próximo passo recomendado ou oferta de marketing (visita repetida, associação, serviço agendado)
  • “Dar o próximo passo”
    botão — fixo no modelo Meta
WhatsApp Business API for post-visit marketing message

Quando usar isso

Utilize este cenário quando um cliente completar uma visita presencial, tour pela loja, consulta ou contato por telefone e o negócio desejar um acompanhamento de marketing caloroso no WhatsApp — não um lembrete utilitário e não uma pesquisa — que os agradeça e ofereça o próximo passo natural, como uma visita repetida, associação ou o serviço discutido. É adequado para clínicas e salões que oferecem pacotes pós-agendamento, salas de exposição e estúdios que fazem acompanhamentos após um tour, centros de serviços de automóveis lembrando sobre manutenções agendadas, e agências integrando gatilhos pós-visita dos sistemas de reserva ou CRM nos fluxos de marketing do WhatsApp.

Converta visitas enquanto o interesse ainda está quente
O gatilho pós-visita é ativado logo após a consulta ou o contato ser registrado, para que a mensagem de marketing chegue ao cliente no WhatsApp enquanto eles ainda se lembram da visita — e não dias depois, quando já seguiram em frente.
Ofertas vinculadas ao que realmente discutiram
Quatro variáveis do corpo contêm o nome do cliente, a empresa ou especialista que ele encontrou, o tópico do serviço da visita e o próximo passo recomendado, para que a mensagem pareça um acompanhamento pessoal em vez de uma comunicação genérica de marketing.
Contato em conformidade fora da janela de 24 horas
Um modelo de MARKETING aprovado entrega a oferta pós-visita mesmo quando nenhuma conversa está aberta, para que o negócio não dependa do cliente enviar uma mensagem primeiro após deixar o local.
Menos acompanhamento manual de representantes após visitas
O sistema de reservas ou CRM resolve os campos de telefone e visita, constrói o modelo com quatro variáveis de corpo e um botão de URL estático, e registra a entrega — para que a equipe não precise reescrever o contexto da visita ou lembrar de enviar cada oferta manualmente.
Análise de conversão pós-visita no mesmo registro
O resultado da entrega é registrado de volta no sistema de reserva ou CRM, para que as campanhas de marketing pós-visita relatem o mesmo registro de visita que acionou a mensagem.

Como funciona

  1. Build & send

    O sistema de reserva ou CRM dispara um gatilho pós-visita quando a visita ou contato é registrado como completo.

    POST /sendTemplate

  2. Capture event

    O sistema resolve os campos do número de telefone do destinatário e do contexto da visita a partir do registro de contato.

    phone: "+…"

  3. Um marketing pós-visita personalizado

    Um modelo de marketing personalizado pós-visita é construído com quatro variáveis de corpo e um botão de URL estático.

    POST /sendTemplate

  4. Entregue

    O cliente recebe a mensagem de marketing do WhatsApp com o contexto da visita e o próximo passo recomendado.

    delivered

  5. Resultado da entrega está registrado

    O resultado da entrega é registrado para a conversão pós-visita e a análise da campanha de visitas repetidas.

    POST /sendTemplate

WhatsApp Business API for post-visit marketing message

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. Modelo WhatsApp · Como Aprovar o Modelo WABA
  4. Opt-in do cliente · Como Gerenciar o Consentimento dos Clientes

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)

TEMPLATE_NAME="___"                        # approved template name
TEMPLATE_NAMESPACE="___"                   # template namespace (required — send fails without it)
TEMPLATE_LANGUAGE="___"                    # template language code, e.g. "en"



# === Test data ===
TEST_PHONE="___"                 # client phone in international format
TEST_CUSTOMERNAME="___"         # {{1}} customer name
TEST_COMPANYORSPECIALISTNAME="___"         # {{2}} company or specialist name
TEST_SERVICE="___"         # {{3}} service name
TEST_NEXTSTEP="___"         # {{4}} next step

PHONE_NORM="$(printf '%s' "$TEST_PHONE" | tr -cd '0-9')"

for pair in "CHANNEL_ID=$CHANNEL_ID" "API_TOKEN=$API_TOKEN" \
            "TEMPLATE_NAME=$TEMPLATE_NAME" "TEMPLATE_NAMESPACE=$TEMPLATE_NAMESPACE" \
            "TEMPLATE_LANGUAGE=$TEMPLATE_LANGUAGE" "TEST_PHONE=$TEST_PHONE" \
            "TEST_CUSTOMERNAME=$TEST_CUSTOMERNAME" \
            "TEST_COMPANYORSPECIALISTNAME=$TEST_COMPANYORSPECIALISTNAME" \
            "TEST_SERVICE=$TEST_SERVICE" \
            "TEST_NEXTSTEP=$TEST_NEXTSTEP"; do
    val="${pair#*=}"
    if [ -z "$val" ] || [ "$val" = "___" ]; then
        echo "Missing configuration value: ${pair%%=*}" >&2
        exit 1
    fi
done

if [ -z "$PHONE_NORM" ]; then
    echo "Error: phone number has no digits after normalization" >&2
    exit 1
fi

URL="${API_BASE_URL%/}/${CHANNEL_ID}/sendTemplate"

# params carries body ONLY. Button text is fixed in the Meta template — no button param.

# {{1}} customer name → ${TEST_CUSTOMERNAME}
# {{2}} company or specialist name → ${TEST_COMPANYORSPECIALISTNAME}
# {{3}} service name → ${TEST_SERVICE}
# {{4}} next step → ${TEST_NEXTSTEP}
read -r -d '' PAYLOAD <<JSON || true
{
  "phone": "${PHONE_NORM}",
  "template": "${TEMPLATE_NAME}",
  "namespace": "${TEMPLATE_NAMESPACE}",
  "language": { "policy": "deterministic", "code": "${TEMPLATE_LANGUAGE}" },
  "params": [
    {
      "type": "body",
      "parameters": [
        { "type": "text", "text": "${TEST_CUSTOMERNAME}" },
        { "type": "text", "text": "${TEST_COMPANYORSPECIALISTNAME}" },
        { "type": "text", "text": "${TEST_SERVICE}" },
        { "type": "text", "text": "${TEST_NEXTSTEP}" }
      ]
    }

  ]
}
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."
    echo "API response: $BODY"
else
    echo "Send failed. HTTP status: $HTTP_CODE" >&2
    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 id campo (parece 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 estão vinculados a isso

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 OKWebhook de status de entrega — dados recebidos
{
  "hooks": [
    {
      "id": "gBGGeSaGViBfAgnlzOSHEwK9O6F",
      "type": "message",
      "status": "sent",
      "timestamp": "1654864094",
      "recipient_id": "556123122026"
    }
  ]
}
  • status

    sent, delivered, read — 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 retornos de chamada, faça polling em 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 aguardando por isso.

Erros comuns

StatusRespostaCausa
200Message was not sent: template is not definednamespace, template or language missing from the request body.
200template name (…) does not exist in <language>The template is approved in a different language than the one requested.
200Message was not sent: provide chatId, phone, bsuid, or usernameNo recipient the channel could resolve.
403access deniedThe token is wrong, or belongs to a different channel than the URL.
429too many requests. please try laterThe channel is over its send rate.

FAQ

Sim — mensagens de WhatsApp com início frio requerem um modelo aprovado pela Meta.

Relacionado

Campanhas de Marketing
WhatsApp Business API para anúncio de lançamento de produto
O cenário envia um modelo de marketing personalizado pelo WhatsApp quando um único produto, linha de serviço, tarifa ou recurso é lançado.
Campanhas de Marketing
WhatsApp Business API para recomendações por broadcast
O cenário envia um template de marketing pelo WhatsApp quando um mecanismo de recomendação ou merchandiser prepara uma seleção de itens para um contato.
Campanhas de Marketing
WhatsApp Business API para aviso de oferta limitada
O cenário envia um modelo de marketing personalizado pelo WhatsApp como o segundo contato de uma promoção que já está em andamento e prestes a encerrar.
Campanhas de Marketing
WhatsApp Business API para difusão de ofertas pessoais
O cenário envia um modelo de marketing por WhatsApp quando o CRM divide uma base com consentimento em segmentos de público e atribui termos de oferta a cada um.
Campanhas de Marketing
WhatsApp Business API para engajamento de conteúdo
O cenário envia um template de marketing pelo WhatsApp quando a empresa publica conteúdo educacional ou de entretenimento para contatos optados.
Campanhas de Marketing
WhatsApp Business API para notícias da empresa
O cenário envia um modelo de WhatsApp personalizado quando a empresa publica notícias sobre a empresa ou serviços.
Campanhas de Marketing
WhatsApp Business API para acompanhamento pós-compra
O cenário envia um modelo de marketing pelo WhatsApp após uma compra, quando uma oferta de acompanhamento é relevante — reabastecimento ou produto complementar.
Campanhas de Marketing
WhatsApp Business API para reativação de clientes inativos
O cenário envia um modelo de marketing personalizado pelo WhatsApp para um cliente existente que comprou ou usou o serviço antes, mas está inativo há meses.

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