Analise uma conversa individual com saída estruturada para integrar em fluxo operacional, BI ou automação.

Endpoint

POST /api/externalAPIs/public/docAnalyzer/analyzeDialogue

Parâmetros

instructions
string
required

Instruções que orientam o que deve ser extraído do diálogo.

schema
object

JSON Schema de saída; use quando não for enviar formCatalogId.

formCatalogId
string (UUID)

UUID do catálogo FormFlow usado como fonte de schema e instruções.

dialogue
string | array

Texto único ou lista de mensagens { role, content }.

conversationId
string (UUID)

UUID de uma conversa quando os dados já estão no banco.

model
string

Modelo principal da análise estruturada.

provider
string

Provedor do modelo, como openai ou google.

recordFormData
boolean
default: "false"

Quando true, grava os dados extraídos no FormFlow.

leadId
string (UUID)

Identificador do lead para gravação no escopo correto.

avatarId
string (UUID)

Identificador do avatar quando necessário para persistência.

Também são aceitos aliases em snake_case, como form_catalog_id, record_form_data, lead_id e avatar_id.

Exemplo

curl -X POST "{{BASE_URL}}/api/externalAPIs/public/docAnalyzer/analyzeDialogue" \
  -H "Authorization: Bearer {{TOKEN}}" \
  -H "Content-Type: application/json" \
  -d '{
    "instructions": "Extraia nome e intencao do cliente.",
    "schema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "nome": { "type": "string" },
        "intencao": { "type": "string" }
      },
      "required": ["nome"]
    },
    "dialogue": [
      { "role": "user", "content": "Sou a Ana e quero um orcamento." }
    ]
  }'

Resposta

{
  "data": {
    "nome": "Ana",
    "intencao": "orcamento"
  },
  "error": null,
  "rawResult": {},
  "metrics": {
    "elapsedMs": 320
  },
  "formDataRecorded": null
}

Campos da Resposta

data
object | null

JSON estruturado gerado a partir do schema.

error
string | null

Mensagem de erro quando a análise falha.

rawResult
object

Payload bruto retornado pelo provedor do modelo.

metrics
object
formDataRecorded
object | null

Contadores de inserção, atualização e skip quando recordFormData estiver ativo.

Erros

CódigoDescrição
400Falha de validação ou combinação mínima de parâmetros inválida
401Token inválido ou ausente
500Erro interno do servidor