IA com Template
Dispara notificações via WhatsApp usando templates pré-aprovados da Meta com parâmetros gerados por IA
Você pode testar esta rota diretamente em nossa documentação interativa.
A IA recebe as instruções e os dados de cada destinatário para gerar automaticamente os parâmetros do template. Se a geração de parâmetros falhar, o sistema envia uma mensagem livre no lugar.
Endpoint
POST /api/externalAPIs/public/externalNotificationAITemplate
Parâmetros
Instruções para a IA sobre como gerar os parâmetros do template a partir dos dados de cada destinatário.
Nome do template pré-aprovado da Meta a ser utilizado.
Array de objetos com informações dos destinatários para contextualização.
Identificador de campanha externa para rastreio. Se não fornecido, gerado automaticamente com prefixo external-ai-template-{template}.
Define se a conversa será pausada após o disparo (a IA não responderá caso o usuário retorne).
Instruções para serem inseridas na conversa após o disparo.
Data de expiração da campanha no formato YYYY-MM-DD. Opcional.
O body pode ser enviado em formatos alternativos: array de itens ou objeto com chaves numéricas, além do formato padrão { generalInstructions, template, data: [...], ... }.
Exemplo
curl -X POST {{BASE_URL}}/api/externalAPIs/public/externalNotificationAITemplate \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"generalInstructions": "Gerar saudação personalizada mencionando o veículo do cliente para o template de boas-vindas.",
"template": "welcome_vehicle",
"externalCampaignId": "campanha-boas-vindas-01",
"pauseConversation": false,
"data": [
{
"phone": "5531999999991",
"name": "João Silva",
"email": "joao@email.com",
"veiculo": "Sedan Luxo"
},
{
"phone": "5531999999992",
"name": "Maria Santos",
"email": "maria@email.com",
"veiculo": "SUV Compacto"
}
]
}'
Resposta
{
"code": 200,
"message": "OK",
"data": {
"trackingId": "campaign-uuid-123",
"timestamp": "2024-01-15T10:30:00.000Z",
"results": [
{
"status": "queued",
"phone": "5531999999991",
"campaignId": "campaign-uuid-123",
"message": "Mensagem enviada para processamento"
}
],
"summary": {
"totalItems": 2,
"validItems": 2,
"skippedItems": 0,
"queuedItems": 2,
"failedItems": 0
},
"processedItems": [
{
"originalData": { "phone": "5531999999991", "name": "João Silva", "email": "joao@email.com", "veiculo": "Sedan Luxo" },
"processedData": { "phone": "5531999999991", "name": "João Silva", "email": "joao@email.com", "veiculo": "Sedan Luxo" },
"status": "queued",
"phone": "5531999999991",
"campaignId": "campaign-uuid-123",
"message": "Mensagem enviada para processamento"
}
],
"error": null,
"time": 512,
"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
ID da campanha criada para acompanhamento do lote.
Data e hora do processamento em ISO 8601.
Resultado do processamento por destinatário.
Totais do processamento.
Detalhe por item processado.
Se o nome do template não existir para o WABA associado, a API retorna erro 400 com mensagem “Template not found.”
As mensagens são processadas em segundo plano. O status "queued" indica que a mensagem foi aceita para processamento.
Erros
| Código | Descrição |
|---|---|
400 | generalInstructions, template ou data ausentes, vazios ou template não encontrado para o WABA |
401 | Token inválido ou ausente |
403 | Credenciais insuficientes |
408 | Timeout — requisição excedeu 60 segundos |
500 | Erro interno do servidor |