Docs / API Reference

API Reference

Base URL: https://api.naluai.dev/v1/extract

Autenticação

Todas as rotas requerem Authorization: Bearer SUA_API_KEY no header.

Corpo da requisição (ExtractionRequest)

Campo Tipo Obrigatório Descrição
user_inputstringsimO que o usuário digitou
agent_inputstring?nãoPergunta do agente (melhora SmartSuggestion)
agent_contextstring?nãoObjetivo geral do agente (melhora sugestões contextuais)
languagestring?nãopt-BR (padrão), en-US, es-ES

Endpoints

POST Descrição Créditos
/v1/extract/cpf Extrai CPF, valida mod 11, formata XXX.XXX.XXX-XX 3
/v1/extract/cep Extrai CEP e retorna endereço enriquecido (logradouro, bairro, cidade, estado) 3
/v1/extract/cnpj Extrai CNPJ, valida mod 11, formata XX.XXX.XXX/XXXX-XX 3
/v1/extract/email Extrai email, corrige typos de domínio 3
/v1/extract/phone Extrai telefone com DDD, normaliza formato brasileiro 3
/v1/extract/plate-br Extrai placa Mercosul ou formato antigo, aceita por extenso 3
/v1/extract/postal-code Código postal internacional (não CEP) 3
/v1/extract/name Extrai nome completo, ignora saudações e títulos 3
/v1/extract/yes-no Detecta sim/não em linguagem natural 3
/v1/extract/birthdate Extrai data de nascimento, calcula idade 3
/v1/extract/handoff Detecta intenção de falar com humano + urgência 3
/v1/extract/cancel-intent Classifica cancelamento de serviço vs operação atual 3
/v1/extract/company-name Extrai nome de empresa, detecta sufixos legais 3
/v1/extract/reply Analisa contexto conversacional completo (par agente+usuário) 5

validate_reply — corpo especial

Este endpoint usa ReplyRequest em vez de ExtractionRequest:

Campo Tipo Descrição
agent_messagestringO que o agente disse
user_replystringO que o usuário respondeu
agent_contextstring?Contexto geral do agente
languagestring?pt-BR (padrão)
# Exemplo: detectar contraproposta de parcelas
curl https://api.naluai.dev/v1/extract/reply \
  -H "Authorization: Bearer SUA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_message": "Posso parcelar em 20x de R$100. Topa?",
    "user_reply":    "Bora em 48?",
    "agent_context": "Agente de negociação de parcelas"
  }'

# Resposta:
# {
#   "reply_type":       "counter_proposal",
#   "extracted_value":  "48",
#   "value_type":       "quantity",
#   "extracted_meaning":"48 parcelas, não R$48",
#   "confidence":       0.95,
#   "suggestion_to_agent": "Cliente propõe 48 parcelas..."
# }

Códigos de resposta

HTTP Significado
200Sucesso — ver campo obtained para saber se extraiu
401API Key inválida ou ausente
429Créditos esgotados ou rate limit atingido
503Motor de IA indisponível — tentar novamente em 30s

Ver Erros para payloads completos.

Headers de resposta

Header Descrição
X-Credits-UsedCréditos consumidos nesta chamada
X-Credits-RemainingCréditos restantes no mês
X-Credits-LimitLimite mensal do seu plano
X-Credits-ResetData de reset (ISO 8601)