Endpoint

POST /formCaptureFromConversations

Parâmetros

formCatalogIds
array de UUIDs
required

IDs dos formulários a serem avaliados.

conversationIds
array de UUIDs
required

IDs 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ãoDescrição
empty_valueO LLM não encontrou o dado na conversa
same_valueO valor capturado é igual ao já armazenado
normalization_failedFalha ao normalizar o dado para o tipo esperado
missing_scope_targetFalta o ID do escopo necessário (ex: lead sem leadId)

Erros

CódigoDescrição
400formCatalogIds ou conversationIds ausentes
401Token inválido ou ausente
500Erro interno do servidor