Team Inbox APIMais
1msg official logo

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.

Visão geral do caso de uso

O cenário envia um template de marketing personalizado pelo WhatsApp quando um único produto nomeado, linha de serviço, tarifa ou recurso é lançado. A mensagem inclui o nome do cliente, o nome do produto lançado, o benefício do lançamento e a próxima etapa recomendada. Um botão com uma URL estática abre a página de lançamento.

Exemplo de template

Olá{{1}}!{{2}}está agora ao vivo.{{3}} {{4}}Toque no botão abaixo para explorar a página de lançamento.

Visualizar lançamento
  • {{1}}
    nome do cliente
  • {{2}}
    nome do produto lançado
  • {{3}}
    benefício do lançamento (característica principal ou proposta de valor)
  • {{4}}
    próximo passo recomendado (por exemplo, explorar preços, iniciar teste, agendar demonstração)
  • “Visualizar lançamento”
    botão — fixo no template do Meta
WhatsApp Business API for product launch announcement

Quando usar isso

Use este cenário quando um produto principal, linha de serviço, tarifa ou recurso for lançado e a base optada deve ser informada primeiro, com o benefício do lançamento e um acesso à página de lançamento. Isso se aplica a equipes de SaaS que anunciam um novo nível de plano, varejistas divulgando o lançamento de um produto ou coleção nomeada, e agências realizando ondas de lançamento de produtos para marcas de clientes — não é um aviso de reposição, não são notícias a nível de empresa, e não é uma divulgação genérica de desconto.

Sua base ouve o lançamento primeiro.
Um template de MARKETING aprovado alcança contatos que optaram por recebê-lo fora da janela de 24 horas, então o anúncio de lançamento chega no WhatsApp antes de uma promoção ampla ou envio de e-mail.
Um produto específico, não um catálogo.
Quatro variáveis do corpo carregam o nome do contato, o produto lançado, o benefício do lançamento e o próximo passo, de modo que a mensagem é entendida como um lançamento oficial, e não como um alerta de reabastecimento ou uma atualização de notícias da empresa.
Caminho claro para a página de lançamento
Um botão de URL estático no template Meta abre a página de lançamento sem enviar o link como uma variável de corpo, assim o CTA permanece consistente em todo o segmento.
Menos trabalho manual na lista.
O CRM ou o marketing de produtos acionam o segmento e o modelo é enviado com base nesse evento, então nenhum representante reconstrói a lista ou reescreve o texto de lançamento para cada contato.
Métricas de lançamento em um só lugar
Os resultados da entrega retornam para a camada de integração e são registrados para o acompanhamento da campanha de lançamento, ao lado do mesmo segmento de onde a divulgação foi iniciada.

Fluxo de Trabalho

  1. Desencadear

    O produto ou marketing define um anúncio de lançamento e seleciona um segmento de contatos opt-in.

    event · triggered

  2. Capturar evento

    O sistema resolve números de telefone e lança campos de personalização para cada contato.

    phone: "+…"

  3. Construir e enviar

    Um modelo de lançamento personalizado é construído com quatro variáveis de corpo e um botão de URL estático.

    POST /sendTemplate

  4. Entregue

    Cada contato que optou por receber informações recebe a mensagem de lançamento do produto via WhatsApp.

    delivered

  5. Status rastreado

    Os resultados de entrega são registrados para o acompanhamento e a continuidade da campanha de lançamento.

    status: "read"

WhatsApp Business API for product launch announcement

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 de WhatsApp · Como Aprovar o Modelo 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_PRODUCTNAME="___"         # {{2}} product name
TEST_DETAILS="___"         # {{3}} change details
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_PRODUCTNAME=$TEST_PRODUCTNAME" \
            "TEST_DETAILS=$TEST_DETAILS" \
            "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 name → ${TEST_PRODUCTNAME}
# {{3}} change details → ${TEST_DETAILS}
# {{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_PRODUCTNAME}" },
        { "type": "text", "text": "${TEST_DETAILS}" },
        { "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": truemean 1MSGaceitoa mensagem para envio — não que já tenha chegado ao 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 isso; retornos de entrega.hookInfoestão focados nisso

A entrega chega mais tarde, como uma chamada separada. Registre um webhook.POST …/webhook) e 1MSG POSTs atualizações de status para o seu endpoint HTTPS em um nível superiorhooks[]carga.

200 OKWebhook de status de entrega — 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 retorno com o contexto.idretornado pela chamada de envio

  • timestamp

    Segundos Unix, como uma string

Se você prefere não receber ligações, faça uma enquete.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.

Perguntas Frequentes

Sim — mensagens de WhatsApp de início frio requerem um template aprovado pelo 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 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