Endpoint

POST /getCaptureSchemaForConversation

Parâmetros

conversationId
string (UUID)
required

ID da conversa a ser avaliada.

formCatalogIds
array de UUIDs

IDs dos formulários a considerar. Se omitido, avalia todos os formulários do host.

Exemplo

curl -X POST {BASE_URL}/getCaptureSchemaForConversation \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "conversationId": "uuid-da-conversa",
    "formCatalogIds": ["uuid-formulario-1"]
  }'

Resposta

{
  "conversationId": "uuid",
  "leadId": "uuid",
  "hostId": "uuid",
  "totalSchemas": 1,
  "totalForms": 1,
  "schemas": [
    {
      "formId": "uuid",
      "formName": "Formulário de Contato",
      "scope": "lead",
      "totalFields": 5,
      "fieldsToCapture": 3,
      "schema": {
        "name": "form_uuid",
        "description": "Captura estruturada...",
        "parameters": {
          "type": "object",
          "properties": {
            "nome_cliente": {
              "type": "string",
              "description": "Nome do Cliente"
            }
          }
        }
      },
      "fields": [
        {
          "variableId": "uuid",
          "keyName": "nome_cliente",
          "label": "Nome do Cliente",
          "dataType": "text",
          "required": false,
          "captureStrategy": "keep_first"
        }
      ]
    }
  ],
  "forms": [
    {
      "formId": "uuid",
      "formName": "Formulário de Contato",
      "totalFields": 5,
      "fieldsToCapture": 3,
      "needsCapture": true
    }
  ]
}

Campos da Resposta

totalSchemas
number
Quantidade de schemas retornados (formulários com campos pendentes).
schemas
array
forms
array

Resumo por formulário com needsCapture indicando se há campos pendentes.

Estratégias de captura

EstratégiaComportamento
keep_firstRetorna apenas campos sem nenhum valor armazenado
overwriteRetorna todos os campos (permite sobrescrever valor existente)
appendRetorna todos os campos (permite adicionar múltiplos valores)

Erros

CódigoDescrição
400conversationId ausente ou inválido
401Token inválido ou ausente
404Conversa não encontrada
500Erro interno do servidor