Team Inbox APIMais
1msg official logo

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.

Visão geral do caso de uso

O cenário envia um modelo de marketing personalizado pelo WhatsApp quando um mecanismo de recomendação ou comerciante prepara uma seleção curada de vários itens para um contato. A mensagem inclui o nome do cliente, o contexto de navegação ou compra por trás das escolhas e uma breve nota sobre a seleção. Um botão de URL estático abre a página de recomendações pessoais com um toque.

Exemplo de modelo

Olá,{{1}}! Baseado em{{2}}, escolhemos uma seleção pessoal para você:{{3}}Toque no botão abaixo para abrir suas recomendações.

Seleção de visualização
  • {{1}}
    nome do cliente
  • {{2}}
    contexto de navegação ou compra que influenciou as escolhas de produtos
  • {{3}}
    nota de seleção curada (por exemplo, contagem de itens, tema ou edição do merchandiser)
  • “Seleção de visualização”
    botão — fixo no template Meta
WhatsApp Business API for personal product recommendations broadcast

Quando usar isso

Use este cenário quando você já tiver contatos do WhatsApp com opt-in e um mecanismo de recomendação ou merchandiser puder montar uma lista curta de vários itens para cada pessoa — com base no histórico de navegação, pedidos anteriores ou uma edição manual — sem enviar o catálogo completo ou uma única promoção genérica. É ideal para lojas de e-commerce que apresentam escolhas personalizadas, marcas de reposição que sugerem produtos complementares a partir dos dados de pedidos, e agências que integram gatilhos de CRM ou recomendações em transmissões de seleção no WhatsApp para marcas de clientes.

Escolhas selecionadas em vez de sobrecarga de catálogo
A mensagem abre uma página de seleção pessoal com vários itens escolhidos para aquele contato, para que eles vejam uma lista curta relevante em vez do sortimento completo ou de um produto aleatório.
Recomendações ligadas a sinais de comportamento reais
Três variáveis de corpo carregam o nome do cliente, o contexto de navegação ou compra por trás das escolhas e uma nota sobre a seleção, para que a transmissão seja lida como merchandising personalizado em vez de um envio em massa.
Contato em conformidade fora da janela de 24 horas
Um modelo de MARKETING aprovado entrega o link de seleção pelo WhatsApp mesmo quando nenhuma conversa está aberta, assim as recomendações chegam aos contatos que optaram por recebê-las sem esperar que eles enviem uma mensagem primeiro.
Menos trabalho de curadoria manual por contato
O mecanismo de recomendação ou CRM fornece campos de contexto e o modelo é enviado nesse gatilho — nenhum representante recria listas ou redefine notas de seleção para cada comprador.
Rastreamento de entrega de campanha para seleções
Os resultados de entrega são registrados para a análise de campanhas de recomendação, para que o marketing possa medir o alcance antes de rastrear cliques e conversões na página de seleção pessoal.

Fluxo de Trabalho

  1. Atos do cliente

    O mecanismo de recomendação ou CRM sinaliza um contato elegível para uma seleção de produto personalizada.

    user action

  2. Capturar evento

    O sistema resolve o número de telefone e os campos de contexto de navegação ou compra.

    phone: "+…"

  3. Construa e envie

    Um modelo de recomendações personalizadas é construído com três variáveis de corpo e um botão de URL estático.

    POST /sendTemplate

  4. Entregue

    O contato que optou por receber informações recebe a mensagem do WhatsApp com um link para suas seleções personalizadas.

    delivered

  5. Status sendo rastreado

    Os resultados de entrega são registrados para o acompanhamento do desempenho da campanha de recomendação.

    status: "read"

WhatsApp Business API for personal product recommendations broadcast

Implementação técnica

Pré-requisitos

  1. 1MSG Chave da API · Como obter a chave da API
  2. Conta do WhatsApp Business · Como Conectar WABA
  3. Modelo de WhatsApp · Como Aprovar o Template do WABA
  4. Consentimento 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_ADDITIONALINFO="___"         # {{3}} additional info

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_ADDITIONALINFO=$TEST_ADDITIONALINFO"; 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}} additional info → ${TEST_ADDITIONALINFO}
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_ADDITIONALINFO}" }
      ]
    }

  ]
}
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": truesignifica 1MSGaceitoa mensagem para enviar — não que já tenha chegado ao telefone do cliente.idcampowamid.…) para correlacionar os 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; retornos e chamadas de entrega.hookInfosão focados nisso

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

200 OKWebhook de status de entrega — carga útil recebida
{
  "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

    Correlaciona o retorno com oidretornado pela chamada de envio

  • timestamp

    Segundos Unix, como uma string

Se você prefere não receber retornos de chamada, faça uma enquete.GET {base}/{channel}/hookInfo?messageId=<id>em vez disso. Na prática, a entrega muitas vezes é completada em segundos — mas o contrato da API não garante isso, então nunca bloqueie um fluxo aguardando por ela.

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 a frio requerem um modelo aprovado pela Meta.

Relacionado

Campanhas de Marketing
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.
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 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