Você pode testar esta rota diretamente em nossa documentação interativa.

Endpoint

POST /api/externalAPIs/public/externalNotificationTemplate

Parâmetros

template
string
required

Nome do template pré-aprovado da Meta a ser utilizado.

data
array
required

Array de objetos com informações de cada destinatário.

externalCampaignId
string

Identificador externo de campanha para rastreio.

dialogueInserts
string

Texto ou instrução inserida na conversa após o envio da mensagem.

expireAt
string

Data de expiração da campanha no formato YYYY-MM-DD. Opcional.

O body pode ser enviado como array de itens ou objeto com chaves numéricas, além do formato { template, data, externalCampaignId }. O número de elementos em templateParams deve corresponder ao esperado pelo template.

Exemplo

curl -X POST {{BASE_URL}}/api/externalAPIs/public/externalNotificationTemplate \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "order_confirmation",
    "externalCampaignId": "camp123",
    "data": [
      {
        "phone": "553199999999",
        "templateParams": ["João", "Pedido #1234"]
      },
      {
        "phone": "553188888888",
        "templateParams": ["Maria", "Pedido #5678"]
      }
    ]
  }'

Resposta

{
  "code": 200,
  "message": "OK",
  "data": {
    "trackingId": "abc123",
    "timestamp": "2025-07-06T12:34:56.789Z",
    "results": [
      {
        "status": "queued",
        "phone": "553199999999",
        "campaignId": "abc123",
        "message": "Mensagem enviada para processamento"
      }
    ],
    "summary": {
      "totalItems": 2,
      "validItems": 2,
      "skippedItems": 0,
      "queuedItems": 2,
      "failedItems": 0
    },
    "processedItems": [
      {
        "originalData": { "phone": "553199999999", "templateParams": ["João", "Pedido #1234"] },
        "processedData": { "phone": "553199999999", "templateParams": ["João", "Pedido #1234"] },
        "status": "queued",
        "phone": "553199999999",
        "campaignId": "abc123",
        "message": "Mensagem enviada para processamento"
      }
    ],
    "error": null,
    "time": 1234,
    "message": "2 mensagens foram enviadas para processamento em fila. O processamento ocorrerá em segundo plano e as notificações serão enviadas conforme forem processadas."
  }
}

Campos da Resposta

data.trackingId
string
ID do lote para acompanhamento.
data.timestamp
string
Data e hora do processamento em ISO 8601.
data.results
array

Resultado do processamento por destinatário.

data.summary
object

Totais do processamento.

data.processedItems
array

Detalhe por item processado.

data.error
any
Erro, se houver; caso contrário null.
data.time
number
Tempo de processamento em milissegundos.
data.message
string
Mensagem informativa sobre quantas mensagens foram enviadas para processamento em fila.

Se o nome do template não existir para o WABA associado, a API retorna erro 400 com mensagem do tipo “Template not found.”

Erros

CódigoDescrição
400Parâmetros inválidos, payload ausente ou template não encontrado para o WABA
401Token inválido ou ausente
403Credenciais insuficientes
408Timeout — requisição excedeu 60 segundos
500Erro interno do servidor