> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanify.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Payload de Resposta

> Entenda como interpretar o payload enviado pelo Scanify após o processamento de um documento

<img className="block" src="https://mintcdn.com/scanify/j5DSW-Q3HR_qT9nO/images/hero.svg?fit=max&auto=format&n=j5DSW-Q3HR_qT9nO&q=85&s=18c9479416e1c8d1c3df449a2950f092" alt="Hero" width="700" height="320" data-path="images/hero.svg" />

Após o processamento do documento, o Scanify envia o resultado para o `callbackUrl` informado na requisição.

***

## Envelope do payload

O envelope é sempre o mesmo para todos os tipos de documento suportados. O conteúdo de `fields` varia conforme o `document_type`.

## Campos explicados

* `request_id`: ID único da requisição
* `document_type`: Tipo do documento processado (ex: `BOLETO`, `NFE`, `DOCUMENTO_VEICULAR`, `CONTRATO`, `RG`, …)
* `status`: Pode ser `success`, `partial_success` ou `failed`
* `fields`: Campos extraídos do documento — as chaves variam por tipo (consulte [Tipos de Documento](/document-types))
* `processed_at`: Data/hora em UTC

Cada campo em `fields` pode conter:

* `value`: Valor extraído (ou `null` quando não encontrado)
* `confidence_score`: número entre 0 e 1 indicando a confiança do modelo na extração do valor (presente quando aplicável)
* `error`: Mensagem descrevendo por que o campo não pôde ser extraído (presente quando `value` é `null`)

Cada entrada em `fields` segue o contrato `{ "value": <valor ou null>, "confidence_score"?: <número>, "error"?: "<mensagem>" }`.

## Exemplo — BOLETO

```json theme={"dark"}
{
  "request_id": "abc123",
  "document_type": "BOLETO",
  "status": "partial_success",
  "fields": {
    "digitable_line": { "value": "23793.38128 60082.190009 50000.063305 4 84410000012345", "confidence_score": 0.98 },
    "amount":         { "value": 129.90, "confidence_score": 0.95 },
    "due_date":       { "value": null, "error": "Formato inválido" },
    "issuer_name":    { "value": "CLARO S.A.", "confidence_score": 0.87 },
    "payer_name":     { "value": "JOÃO DA SILVA" }
  },
  "processed_at": "2025-05-15T21:00:00Z"
}
```

## Exemplo — NFE

```json theme={"dark"}
{
  "request_id": "def456",
  "document_type": "NFE",
  "status": "success",
  "fields": {
    "access_key":   { "value": "35150412345678000123550010000000011000000010", "confidence_score": 0.99 },
    "issuer_cnpj":  { "value": "12345678000199" },
    "issuer_name":  { "value": "EMPRESA XYZ COMERCIO LTDA", "confidence_score": 0.96 },
    "issue_date":   { "value": "2025-05-15" },
    "total_amount": { "value": 199.90, "confidence_score": 0.97 }
  },
  "processed_at": "2025-05-15T21:05:00Z"
}
```

<Info>
  O envelope (`request_id`, `document_type`, `status`, `fields`, `processed_at`) é sempre o mesmo. As chaves dentro de `fields` dependem do tipo de documento — consulte a página [Tipos de Documento](/document-types) para ver os campos de cada tipo.
</Info>
