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

WhatsApp Business API para suporte à decisão de compra

Este cenário envia um modelo de WhatsApp personalizado para um cliente potencial enquanto ele ainda está decidindo.

Visão geral do caso de uso

Esse cenário envia a um potencial cliente um modelo de WhatsApp personalizado enquanto ele ainda está decidindo. A mensagem inclui o nome deles, o produto ou serviço em consideração e uma dica útil sobre o próximo passo. Dois botões de resposta rápida permitem que eles façam uma pergunta ou sinalizem que estão prontos para comprar; os toques chegam via webhook para direcionamento às vendas ou acompanhamento automatizado.

Exemplo de modelo

Oi{{1}}! Estamos aqui para ajudar você a decidir sobre{{2}}. {{3}}— toque um botão abaixo se tiver perguntas ou se estiver pronto para avançar.

Faça uma pergunta
  • {{1}}
    nome do cliente ou potencial cliente
  • {{2}}
    nome do produto ou serviço em questão
  • {{3}}
    dica útil para o próximo passo ou um ponto de contato para nutrição (por exemplo, guia de comparação, FAQ, oferta para agendar uma chamada)
  • “Faça uma pergunta”
    botão — fixo no modelo Meta
WhatsApp Business API for purchase decision nurture

Quando usar isso

Atinga para este cenário quando um prospecto ainda está decidindo após uma proposta, demonstração ou solicitação de preços, e não há um chat ativo no WhatsApp — apenas um modelo aprovado pode iniciar a conversa. Isso se aplica a equipes B2B e de serviços que estão cuidando de negócios parados, leads de e-commerce e SaaS comparando planos, e agências agendando pontos de contato de nutrição a partir do CRM ou de um pipeline de vendas.

Menos negócios perdidos entre o interesse e a compra.
O CRM dispara o template em um marco de nutrição enquanto o prospect está ainda na fase de decisão, assim eles recebem um contato oportuno pelo WhatsApp sem uma chamada fria e sem esperar por uma sessão aberta.
Mensagens que parecem pessoais, não em massa.
Três variáveis de corpo carregam o nome do prospect, o produto em consideração e uma dica sobre o próximo passo, como um guia de comparação ou FAQ, para que cada envio pareça um acompanhamento individual.
Menos perseguições manuais no pipeline
O pipeline de vendas agenda os pontos de contato e puxa informações da ligação, contexto do produto e a dica do CRM, para que os representantes não precisem reescrever mensagens de nutrição para cada prospecto.
Transferência rápida quando estiverem prontos para comprar
Uma resposta rápida «Pronto para comprar» chega via webhook e é direcionada para o checkout ou entrega de vendas dentro da janela de sessão de 24 horas.
Perguntas respondidas no mesmo chat
«Fazer uma pergunta» abre a sessão para uma resposta de um gerente ou bot no WhatsApp, e os cliques no botão de entrega permanecem registrados no CRM até um resultado de compra ou não-compra.

Fluxo de trabalho

  1. Desencadear

    O CRM ou o pipeline de vendas detecta que um ponto de contato de nutrição está devido para um prospect que ainda está na fase de decisão.

    event · triggered

  2. Evento de captura

    O telefone do cliente, o contexto do produto ou serviço e a sugestão do próximo passo são retirados do CRM ou do registro do pipeline.

    phone: "+…"

  3. Construa e envie

    Um modelo personalizado é enviado com três variáveis de corpo e dois botões de resposta rápida para engajamento.

    POST /sendTemplate

  4. Status rastreado

    O prospect clica em «Fazer uma pergunta» ou «Pronto para comprar» — o evento chega via webhook e o follow-up é direcionado de acordo.

    status: "read"

  5. Entregue

    A entrega e o engajamento são registrados no CRM até que o prospecto compre, recuse ou saia da trilha de nutrição.

    delivered

WhatsApp Business API for purchase decision nurture

Implementação técnica

Pré-requisitos

  1. 1MSG API Key · Como obter a chave de API
  2. Conta do WhatsApp Business · Como Conectar WABA
  3. Modelo de WhatsApp · Como Aprovar o Modelo WABA
  4. Opt-in do cliente · Como Gerenciar o Consentimento dos Clientes
  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)

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_PRODUCTORSERVICENAME="___"         # {{2}} product or service name
TEST_NEXTSTEP="___"         # {{3}} 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_PRODUCTORSERVICENAME=$TEST_PRODUCTORSERVICENAME" \
            "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}} product or service name → ${TEST_PRODUCTORSERVICENAME}
# {{3}} 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_PRODUCTORSERVICENAME}" },
        { "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": truenão entendi 1MSGaceitoa mensagem para envio.idcampowamid.…) para correlacionar retornos de entrega.

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

    Aceito para envio.nãoainda no telefone do cliente

  • id

    Armazene isso; chamadas de entrega e retornos.hookInfoestão focados nisso

A entrega em si chega mais tarde, como um retorno separado. Registre um webhookPOST …/webhook) e 1MSG POSTs atualizações de status para seu endpoint HTTPS em um nível superiorhooks[]carga útil.

200 OKStatus de entrega webhook — payload recebido
{
  "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.idretornado pela chamada de envio

  • timestamp

    Segundos Unix, como uma string

Se você prefere não receber chamadas, faça uma pesquisa.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: 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.

Perguntas Frequentes

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

Relacionado

Engajamento de Leads & Conversão
WhatsApp Business API para resposta de sessão — preços
Esse cenário envia uma mensagem de texto livre pelo WhatsApp com sendMessage dentro da janela de atendimento de 24 horas, após o cliente perguntar sobre Preços.
Engajamento de Leads & Conversão
WhatsApp Business API para resposta a solicitação de cliente
Esse cenário envia uma mensagem de texto livre pelo WhatsApp com sendMessage dentro da janela de atendimento de 24 horas após o cliente perguntar.
Engajamento de Leads & Conversão
WhatsApp Business API para resposta de sessão sobre disponibilidade
Este cenário envia uma mensagem pelo WhatsApp com sendMessage dentro da janela de atendimento de 24 horas, após o cliente perguntar se um item está disponível.
Engajamento de Leads & Conversão
WhatsApp Business API para lembrete de acompanhamento de propostas
O cenário envia ao prospect um modelo de mensagem personalizada pelo WhatsApp, lembrando-o de revisar a proposta comercial.
Engajamento de Leads & Conversão
WhatsApp Business API para catálogo de produtos interativo
Este cenário envia uma lista interativa com sendList durante a janela de sessão de 24 horas.
Engajamento de Leads & Conversão
WhatsApp Business API para consulta antes da compra
O cenário envia ao cliente uma mensagem de template personalizada pelo WhatsApp, convidando-o para uma consulta pré-compra.
Engajamento de Leads & Conversão
WhatsApp Business API para notificação de novos leads
O cenário envia um template personalizado de WhatsApp para o gerente de vendas quando um novo lead é capturado.
Engajamento de Leads & Conversão
WhatsApp Business API para qualificação de leads.
Esse caso de uso envia um novo lead um modelo de WhatsApp com uma saudação personalizada: a mensagem substitui o nome do lead e o contexto do produto.

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