Captura com IA
Capturar a partir de Conversas
Extrai dados estruturados de conversas usando IA e persiste os valores capturados
Endpoint
POST /formCaptureFromConversations
Parâmetros
formCatalogIds
array de UUIDs
requiredIDs dos formulários a serem avaliados.
conversationIds
array de UUIDs
requiredIDs das conversas a serem processadas.
maxConcurrentCaptures
number
default: "4"Limite de capturas paralelas. Mínimo 1, máximo 20.
structuredOutput
boolean
default: "true"Força uso de structured output do LLM para maior precisão.
model
string
Modelo LLM a usar (ex: gpt-4o-mini, gpt-4).
provider
string
Provider LLM (ex: openai, anthropic).
Exemplo
curl -X POST {BASE_URL}/formCaptureFromConversations \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"formCatalogIds": ["form-id-1"],
"conversationIds": ["conv-id-1", "conv-id-2"],
"maxConcurrentCaptures": 4,
"model": "gpt-4o-mini"
}'
Resposta
{
"processedPairs": [
{
"conversationId": "uuid",
"formId": "uuid",
"hostId": "uuid",
"leadId": "uuid",
"capturedFields": 3,
"totalFields": 5,
"insertedCount": 2,
"updatedCount": 1,
"skipped": [
{
"property": "lead_phone",
"reason": "same_value"
}
],
"captureTime": 523
}
],
"missingForms": [],
"missingConversations": [],
"errors": []
}
Campos da Resposta
processedPairs
array
missingForms
array
IDs de formulários não encontrados.
missingConversations
array
IDs de conversas não encontradas.
errors
array
Erros ocorridos durante o processamento.
Razões de skip
| Razão | Descrição |
|---|---|
empty_value | O LLM não encontrou o dado na conversa |
same_value | O valor capturado é igual ao já armazenado |
normalization_failed | Falha ao normalizar o dado para o tipo esperado |
missing_scope_target | Falta o ID do escopo necessário (ex: lead sem leadId) |
Erros
| Código | Descrição |
|---|---|
400 | formCatalogIds ou conversationIds ausentes |
401 | Token inválido ou ausente |
500 | Erro interno do servidor |