Todas as rotas requerem Authorization: Bearer SUA_API_KEY no header.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| user_input | string | sim | O que o usuário digitou |
| agent_input | string? | não | Pergunta do agente (melhora SmartSuggestion) |
| agent_context | string? | não | Objetivo geral do agente (melhora sugestões contextuais) |
| language | string? | não | pt-BR (padrão), en-US, es-ES |
| 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 |
Este endpoint usa ReplyRequest em vez de ExtractionRequest:
| Campo | Tipo | Descrição |
|---|---|---|
| agent_message | string | O que o agente disse |
| user_reply | string | O que o usuário respondeu |
| agent_context | string? | Contexto geral do agente |
| language | string? | 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..."
# }
| HTTP | Significado |
|---|---|
| 200 | Sucesso — ver campo obtained para saber se extraiu |
| 401 | API Key inválida ou ausente |
| 429 | Créditos esgotados ou rate limit atingido |
| 503 | Motor de IA indisponível — tentar novamente em 30s |
Ver Erros para payloads completos.
| Header | Descrição |
|---|---|
| X-Credits-Used | Créditos consumidos nesta chamada |
| X-Credits-Remaining | Créditos restantes no mês |
| X-Credits-Limit | Limite mensal do seu plano |
| X-Credits-Reset | Data de reset (ISO 8601) |