Desenvolvedor
API Pública de Followup
Como autenticar, consultar, atualizar e resetar a configuração de followup via API pública
Visão rápida
Endpoints públicos e autenticados para ler, atualizar e resetar a configuração de followup do seu host. Foque no essencial: headers, payloads aceitos e respostas esperadas.
Autenticação
Envie sempre o header:
Authorization: Bearer <seu-token>
Base URL (exemplo): https://api.exemplo.com
GET /api/externalAPIs/public/followup/getFollowupConfig
- Objetivo: obter a configuração de followup normalizada do host autenticado, incluindo
triggersewebhookData. - Auth: Bearer Token.
Exemplo (curl)
curl -X GET "https://api.exemplo.com/api/externalAPIs/public/followup/getFollowupConfig" \
-H "Authorization: Bearer SEU_TOKEN"
Resposta 200
{
"triggers": {
"idle": {
"active": true,
"auto": false,
"minutes": 15,
"max_notifications": 3,
"hits": [
{
"hit": 0,
"generalInstructions": "Retome a conversa com o usuário",
"dialogueInserts": "",
"smartDecisionInstructions": "NUNCA envie uma mensagem repetida",
"agentCalling": [
{ "schemaName": "public", "agentName": "buscar_produtos", "payload": {} }
],
"minutes": 15
}
]
},
"schedule": {
"active": false,
"max_notifications": 0,
"hits": []
},
"conditionalAgents": {
"active": false,
"preCheck": [],
"decisions": []
}
},
"webhookData": {
"active": true,
"url": "https://minha.api/webhooks/followup",
"method": "POST",
"headers": { "X-Custom-Auth": "abc123" },
"includeReasoningResponse": true,
"includeMessage": true,
"includeConversationData": true,
"timeout": 30000,
"retries": 1
}
}
Erros
- 401: token inválido ou ausente
- 404: configuração de followup não encontrada
- 500: erro interno
POST /api/externalAPIs/public/followup/updateFollowupConfig
- Objetivo: atualizar a configuração de followup do host (ativação e triggers).
- Auth: Bearer Token.
Body (mínimo)
{
"followup_active": true,
"triggers": {
"idle": { "active": true, "minutes": 30, "max_notifications": 3 }
}
}
Body (avançado)
{
"followup_active": true,
"triggers": {
"idle": {
"active": true,
"auto": false,
"minutes": 30,
"max_notifications": 5,
"hits": [
{
"hit": 0,
"generalInstructions": "Primeira tentativa - seja sutil",
"smartDecisionInstructions": "Envie apenas se houve interesse",
"agentCalling": [
{ "schemaName": "public", "agentName": "verificar_interesse", "payload": {} }
],
"minutes": 30
},
{
"hit": 1,
"generalInstructions": "Segunda tentativa - ofereça ajuda específica",
"minutes": 120
}
]
},
"conditionalAgents": {
"active": true,
"preCheck": [
{ "schemaName": "public", "agentName": "verificar_contexto", "payload": {} }
],
"decisions": [
{
"description": "Quando o usuário pediu ajuda",
"content": "Vamos continuar nossa conversa! Como posso ajudar?",
"agents": [
{ "schemaName": "public", "agentName": "assistente_vendas", "payload": {} }
]
}
]
}
},
"webhookData": {
"active": true,
"url": "https://minha.api/webhooks/followup",
"method": "POST",
"headers": { "Authorization": "Bearer XYZ" },
"includeReasoningResponse": true,
"includeMessage": true,
"includeConversationData": true,
"timeout": 45000,
"retries": 2
}
}
Restrições e validações
- minutes (idle e hits): 1 a 10080.
- max_notifications: 1 a 50.
- webhookData.url: URL absoluta válida; obrigatória quando
webhookData.active= true. - webhookData.method:
GET,POST,PUT,PATCH,DELETE(padrão:POST). - webhookData.timeout: 1000 a 300000 ms (padrão: 30000).
- webhookData.retries: 0 a 5 (padrão: 1).
Exemplo (curl)
curl -X POST "https://api.exemplo.com/api/externalAPIs/public/followup/updateFollowupConfig" \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"followup_active": true,
"triggers": { "idle": { "active": true, "minutes": 60, "max_notifications": 2 } },
"webhookData": { "active": true, "url": "https://minha.api/webhooks/followup", "timeout": 30000, "retries": 1 }
}'
Resposta 200
{
"message": "Configuração de followup atualizada com sucesso",
"updated_at": "2024-01-01T00:00:00.000Z",
"config": {
"triggers": { /* configuração normalizada aplicada quando disponível */ }
}
}
Erros
- 400: dados inválidos
- 401: não autorizado
- 404: configuração do host não encontrada
- 500: erro interno
POST /api/externalAPIs/public/followup/resetFollowupConfig
- Objetivo: resetar a configuração para os valores padrão (opcionalmente mantendo o followup ativo e customizando minutos/limite).
- Auth: Bearer Token.
Body (opcional)
{
"keep_active": true,
"custom_minutes": 20,
"custom_max_notifications": 4,
"reset_webhook": true
}
Exemplo (curl)
curl -X POST "https://api.exemplo.com/api/externalAPIs/public/followup/resetFollowupConfig" \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "keep_active": true, "custom_minutes": 45, "custom_max_notifications": 3, "reset_webhook": true }'
Resposta 200
{
"message": "Configuração de followup resetada com sucesso",
"config": { "triggers": { /* defaults aplicados */ } },
"followup_active": true,
"webhook_reset": true,
"updated_at": "2024-01-01T00:00:00.000Z"
}
Restrições e validações
- custom_minutes: 1 a 10080.
- custom_max_notifications: 1 a 50.
- reset_webhook: quando
false, owebhookDataatual é preservado.
Erros
- 401: não autorizado
- 404: configuração do host não encontrada
- 500: erro interno
Notas de segurança (essencial)
- Use sempre Bearer Token válido e escopado ao host; não compartilhe seu token.
- Envie apenas campos documentados; respostas não incluem dados sensíveis.
- Mensagens de erro são objetivas por segurança (sem detalhes internos).
Última atualização: Setembro 2025 · Versão: 3.2