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

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.

Visão geral do caso de uso

O cenário envia um template personalizado de WhatsApp quando a empresa publica notícias sobre a empresa ou serviços. A mensagem inclui o nome do contato, o título da notícia e um resumo curto do que mudou. Um botão de URL estático abre a página do anúncio completo com os detalhes.

Exemplo de modelo

Olá,{{1}}! Atualização da empresa:{{2}}. {{3}}Toque no botão abaixo para ler o anúncio completo em nosso site.

Leia o anúncio
  • {{1}}
    nome do cliente
  • {{2}}
    tópico ou título de notícias da empresa
  • {{3}}
    resumo do que mudou ou o detalhe chave
  • “Leia o anúncio”
    botão — fixo no modelo Meta
WhatsApp Business API for company news broadcast

Quando usar isso

Use este cenário quando a empresa precisar que toda a base opt-in ouça as notícias da empresa ou serviço — uma nova filial, horário estendido, uma rebranding, uma parceria ou uma atualização de serviço — e o texto for um anúncio, não uma proposta de desconto ou um produto sendo lançado. Isso se encaixa em redes de varejo compartilhando notícias de localização, plataformas de SaaS divulgando atualizações de políticas ou parcerias, e agências realizando ondas de notícias da empresa para marcas de clientes no WhatsApp.

Mantenha a base informada sem um chat aberto.
Um modelo de MARKETING aprovado alcança contatos que optaram por receber fora da janela de 24 horas, então a transmissão de notícias não depende de uma conversa existente.
Cópia de anúncio, sem abordagem de vendas.
Três variáveis de corpo carregam o nome do contato, a manchete da notícia e o resumo da mudança, de modo que a mensagem é lida como notícias da empresa, em vez de uma linha promocional ou lançamento de produto.
Diferente das notificações de serviço de cada conta.
A transmissão tem como alvo todo o segmento que optou por receber informações, com notícias em nível de empresa, e não mudanças de plano ou conta de um único cliente, como uma notificação de serviço público.
Menos trabalho manual com listas
O CRM ou a automação carregam o segmento no dia da publicação e o template é enviado com esse gatilho, assim as operações não precisam reescrever o anúncio para cada contato.
Alcance de anúncio mensurável
Os resultados de entrega retornam ao sistema de envio e os toques no botão levam à URL do anúncio, portanto, os relatórios de alcance estão vinculados à mesma execução de transmissão.

Fluxo de Trabalho

  1. Desencadear

    O marketing ou as operações programam uma transmissão de notícias da empresa e definem o segmento de contato.

    event · triggered

  2. Capturar evento

    O sistema resolve cada campo de telefone do destinatário e de personalização de notícias.

    phone: "+…"

  3. Construir e enviar

    Um modelo de notícias personalizado é construído com três variáveis de corpo e um botão de URL estático.

    POST /sendTemplate

  4. Entregue

    Cada contato recebe a mensagem de notícias da empresa pelo WhatsApp.

    delivered

  5. Status rastreado

    As entregas e toques nos botões são registrados para relatórios de alcance de anúncios.

    status: "read"

WhatsApp Business API for company news broadcast

Implementação técnica

Pré-requisitos

  1. Chave da API 1MSG · 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_TOPIC="___"         # {{2}} topic or subject
TEST_DETAILS="___"         # {{3}} change details

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_TOPIC=$TEST_TOPIC" \
            "TEST_DETAILS=$TEST_DETAILS"; 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}} topic or subject → ${TEST_TOPIC}
# {{3}} change details → ${TEST_DETAILS}
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_TOPIC}" },
        { "type": "text", "text": "${TEST_DETAILS}" }
      ]
    }

  ]
}
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 da resposta e da entrega

HTTP 2xx e JSON"sent": truemean 1MSGaceitoa mensagem para enviar — não que ela já tenha chegado ao telefone do cliente.idcampo (parece que)wamid.…) para correlacionar callbacks 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; chamadas de retorno de entrega.hookInfosão focados nisso

A entrega em si chega mais tarde, como um callback separado. Registre um webhook (POST …/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 — 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 aidretornado pela chamada de envio

  • timestamp

    Segundos Unix, como uma string

Se você preferir não receber ligações, desmarque.GET {base}/{channel}/hookInfo?messageId=<id>em vez disso. Na prática, a entrega muitas vezes é concluída em segundos — mas o contrato da API não garante isso, então nunca bloqueie um fluxo esperando 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 frio exigem um template aprovado pelo Meta.

Relacionado

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 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.
Campanhas de Marketing
WhatsApp Business API para transmissão de campanha sazonal
O cenário envia um template de marketing personalizado pelo WhatsApp quando uma campanha sazonal baseada em calendário é ativada.
Campanhas de Marketing
WhatsApp Business API para envio de convites para eventos
O cenário envia um template de marketing para WhatsApp personalizado para contatos que optaram por receber informações sobre um evento público futuro.

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