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

Todas as variáveis adicionais fornecidas dentro de cada objeto de data serão usadas pela IA para contextualizar a mensagem.

Endpoint

POST /api/externalAPIs/public/externalNotificationAI

Parâmetros

data
array
required

Array de objetos com informações dos destinatários para contextualização.

generalInstructions
string
required

Instruções sobre como a IA deve proceder com os dados disponíveis.

externalCampaignId
string

Identificador de campanha externa para rastreio.

pauseConversation
boolean
default: "false"

Define se a conversa será pausada após o disparo (a IA não responderá caso o usuário retorne).

dialogueInserts
string

Instruções para serem inseridas na conversa após o disparo.

expireAt
string

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 { data: [...], generalInstructions, ... }.

Exemplo

curl -X POST {{BASE_URL}}/api/externalAPIs/public/externalNotificationAI \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "data": [
      {
        "id": "123",
        "name": "João Silva",
        "email": "joao@email.com",
        "phone": "5531999999991",
        "cidade": "Belo Horizonte",
        "veiculo": "Sedan Luxo"
      },
      {
        "id": "124",
        "name": "Maria Santos",
        "email": "maria@email.com",
        "phone": "5531999999992",
        "cidade": "São Paulo",
        "veiculo": "SUV Compacto"
      }
    ],
    "generalInstructions": "Enviar mensagem de campanha de proteção veicular, engajando o usuário a contratar o plano.",
    "externalCampaignId": "campanha-veicular-01",
    "pauseConversation": false
  }'

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": { "id": "123", "name": "João Silva", "email": "joao@email.com", "phone": "5531999999991", "cidade": "Belo Horizonte", "veiculo": "Sedan Luxo" },
        "processedData": { "id": "123", "name": "João Silva", "email": "joao@email.com", "phone": "5531999999991", "cidade": "Belo Horizonte", "veiculo": "Sedan Luxo" },
        "status": "queued",
        "phone": "5531999999991",
        "campaignId": "campaign-uuid-123",
        "message": "Mensagem enviada para processamento"
      }
    ],
    "error": null,
    "time": 456,
    "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

code
number
Código HTTP da resposta.
message
string
Mensagem de status (ex.: “OK”).
data.trackingId
string

ID da campanha criada para acompanhamento do lote.

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.

As mensagens são processadas em segundo plano. O status "queued" indica que a mensagem foi aceita para processamento.

Erros

CódigoDescrição
400generalInstructions ou data ausentes ou vazios
401Token inválido ou ausente
403Credenciais insuficientes
408Timeout — requisição excedeu 60 segundos
500Erro interno do servidor