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

WhatsApp Business API para notificação de reativação da conta

O cenário envia ao titular da conta um modelo personalizado do WhatsApp quando uma revisão ou verificação da conta é concluída e o acesso é restaurado.

Visão geral do caso de uso

O cenário envia ao titular da conta um modelo de WhatsApp personalizado quando uma revisão ou rechecagem da conta é concluída e o acesso é restabelecido. A mensagem inclui o nome do cliente, o contexto da conta ou do processo e o rótulo de status de reativação. Um botão de URL estático abre o portal da conta ou do cliente.

Modelo de exemplo

Olá, {{1}}! Sua {{2}} foi reativada após revisão: {{3}}. Você agora pode acessar todos os recursos da conta. Se você tiver perguntas — estamos aqui para ajudar.

Abrir conta
  • {{1}}
    nome do cliente
  • {{2}}
    conta ou contexto de processamento (por exemplo, conta de comerciante, perfil de parceiro, carteira empresarial)
  • {{3}}
    rótulo de status de reativação (por exemplo, Conta reativada, Acesso restaurado, Revisão completa)
  • “Abrir conta”
    botão — fixo no modelo da Meta
WhatsApp Business API for account reactivation notification

Quando usar isso

Aposte nesse cenário quando uma revisão de conta ou revisão de conformidade terminar e o acesso for restaurado — e o titular da conta ainda não tiver nenhum chat aberto no WhatsApp, então apenas um modelo aprovado pode confirmar a reativação proativamente. Isso se aplica a fintechs e marketplaces reativando comerciantes após a revisão de KYC, equipes de B2B SaaS notificando administradores de que uma revisão de conta programada foi aprovada, e integradores enviando webhooks de conclusão de revisão do CRM, motores de risco ou plataformas de onboarding para o WhatsApp outbound.

Menos ligações perguntando "minha conta está ativa novamente?"
Três variáveis de corpo carregam o nome do cliente, a conta ou o contexto do processo, e o rótulo de status de reativação no WhatsApp, para que o titular da conta saiba que o acesso foi restaurado sem precisar abrir e-mail ou ligar para o suporte.
Acesso ao portal a um toque de distância
O botão de URL estático abre a conta ou o portal do cliente fixo no modelo da Meta, para que o titular da conta possa fazer login sem precisar responder pelo WhatsApp.
Sem congratulações manuais em larga escala
Quando a conformidade ou a gestão de contas marca uma conta reativada, a integração resolve o número de telefone e dispara o modelo nesse evento, em vez de alguém copiar o texto de sucesso manualmente entre contas de comerciantes ou parceiros.
Entre em contato com titulares sem conversa aberta
Um modelo aprovado é a única primeira mensagem permitida quando não há conversa aberta, para que o aviso de reativação possa ser enviado imediatamente após a conclusão da revisão.
Monitoramento de compliance e CRM
O resultado da entrega é registrado após o envio, para que o compliance ou o CRM possam rastrear quem foi notificado quando o acesso foi restaurado.

Como funciona

  1. Gatilho

    Compliance ou gerenciamento de conta completa uma revisão ou verificação de conta.

    event · triggered

  2. Escritório

    O back office, o motor de risco ou a integração marcam a conta como reativada.

    POST /sendTemplate

  3. Capturar evento

    O sistema resolve os campos do número de telefone do titular da conta e de reativação.

    phone: "+…"

  4. Construir & enviar

    Uma mensagem de modelo personalizada é construída com três variáveis de corpo e um botão de URL estático.

    POST /sendTemplate

  5. Entregue

    O titular da conta recebe a notificação do WhatsApp de que a conta está ativa novamente.

    delivered

  6. Status monitorado

    O resultado da entrega é registrado para conformidade ou acompanhamento do CRM.

    status: "read"

WhatsApp Business API for account reactivation notification

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_PRODUCTCONTEXT="___"         # {{2}} product context
TEST_STATUS="___"         # {{3}} status label

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_PRODUCTCONTEXT=$TEST_PRODUCTCONTEXT" \
            "TEST_STATUS=$TEST_STATUS"; 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 context → ${TEST_PRODUCTCONTEXT}
# {{3}} status label → ${TEST_STATUS}
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_PRODUCTCONTEXT}" },
        { "type": "text", "text": "${TEST_STATUS}" }
      ]
    }

  ]
}
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 são vinculados a isso

A entrega em si chega mais tarde, como um callback separado. Registre um webhook (POST …/webhook) e 1MSG faz POST das atualizações de status para seu endpoint HTTPS nos hooks[] dados.

200 OKWebhook de status de entrega — dados que você recebe
{
  "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 callbacks, use a polling 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.

FAQ

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

Relacionado

Serviço ao Cliente
WhatsApp Business API para confirmação de recebimento de documentos
O cenário envia ao cliente um modelo de WhatsApp personalizado quando os documentos necessários são recebidos e registrados no back office.
Serviço ao Cliente
WhatsApp Business API para esclarecimento de dados de verificação
O cenário envia ao cliente um modelo WhatsApp personalizado se a verificação de identidade ou KYC não puder ser concluída até dados específicos serem aclarados.
Serviço ao Cliente
WhatsApp Business API para solicitação de confirmação de dados ou assinatura
O cenário envia ao cliente um modelo WhatsApp personalizado quando eles devem assinar um documento ou confirmar dados enviados para continuar.
Serviço ao Cliente
WhatsApp Business API para notificação de verificação rejeitada
O cenário envia ao cliente um modelo de WhatsApp personalizado quando sua eKYC ou verificação de identidade é rejeitada.
Serviço ao Cliente
WhatsApp Business API para confirmação de sucesso da verificação
O cenário envia ao cliente um modelo de WhatsApp personalizado quando a verificação de identidade ou eKYC é aprovada.
Serviço ao Cliente
WhatsApp Business API para notificação de status de verificação
O cenário envia ao cliente um modelo de WhatsApp personalizado quando o status de verificação ou eKYC deles muda.
Serviço ao Cliente
WhatsApp Business API para solicitação de upload de documentos
O cenário envia um modelo de WhatsApp personalizado ao cliente quando um documento necessário está faltando e ele deve carregá-lo para continuar.
Serviço ao Cliente
WhatsApp Business API para notificação de transferência
O cenário envia para o cliente um modelo personalizado de WhatsApp quando um chamado de suporte é transferido para outro departamento.

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