> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/produtos/landing/resultados-y-callbacks/datos-de-respuesta.md).

# Dados de resposta

## Estrutura de callback

A seguir, é apresentada uma descrição detalhada da estrutura de dados utilizada em nosso sistema e os detalhes específicos de cada campo de dados, incluindo seu tipo, propósito e restrições.

**Morfologia**:

```javascript
{
  "transactionId": "TRANSACTION_ID",
  "dni": "DOCUMENT_NUMBER",
  "clientData": "CLIENT_DATA",
  "deviceInfo": "DEVICE_INFO",
  "lastStep": {
    "stepId": "STEP_ID",
    "stepType": "STEP_TYPE",
    "timestamp": "UNIX_TIMESTAMP",
    "widget": "WIDGET_NAME"
  },
  "resultJSON": {
    "DocumentData": {
      "serviceTransactionId": "TRANSACTION_ID",
      "serviceDocument": {
        "DOC_MODEL": "DOCUMENT_MODEL",
        "BACKSIDE": "DOCUMENT_BACKSIDE",
        "FRONTSIDE": "DOCUMENT_FRONTSIDE",
        "DECOMPOSED": "DOCUMENT_DECOMPOSE",
        "CHECKS": "DOCUMENT_CHECKS",
        "SCORING": "DOCUMENT_SCORING",
      }
    },
    "DocumentValidation": "DOCUMENT_VALIDATION",
    "imageFront": "FRONT_BASE64_IMAGE",
    "imageBack": "BACK_BASE64_IMAGE",
    "FacialAuthentication": "AUTHENTICATION_DATA",
    "PassiveLiveness": "PASSIVE_LIVENESS_DATA",
    "imageSelfie": "SELFIE_BASE64_IMAGE",
    "imageFrontRaw": "/9j/4AAQSkZJRgAB...",
    "imageBackRaw": "/9j/4AAQSkZJRgAB...",
    "rawTemplateSelfie": "BAEBAQJi/8ZtRtF/UV+p4Ued+Z...",
    "rawTemplateFacialCapture": "BAEBAQJQ/8ZtRtF/UV+p4Ued+Z..."
  }
}
```

**Exemplo**:

```javascript
{
  "transactionId": "00000000-0000-0000-0000-000000000000",
  "dni": "00000000A",
  "clientData": { ... },
  "deviceInfo": { ... },
  "lastStep": {
    "stepId": "00000000-0000-0000-0000-000000000000",
    "stepType": "FINISH",
    "timestamp": 1743350400000,
    "widget": "SELPHI"
  },
  "resultJSON": {
    "DocumentData": {
      "serviceTransactionId": "00000000-0000-0000-0000-000000000000",
      "serviceDocument": {
        "DOC_MODEL": "CHILE - ID CARD (2013)",
        "BACKSIDE": { ... },
        "FRONTSIDE": { ... },
        "DECOMPOSED": { ... },
        "CHECKS": { ... },
        "SCORING": { ... },
      }
    },
    "DocumentValidation": { ... },
    "FacialAuthentication": { ... },
    "PassiveLiveness": { ... },
    "imageFront": "/9j/4AAQSkZJRgAB...",
    "imageBack": "/9j/4AAQSkZJRgAB...",
    "imageSelfie": "/9j/4AAQSkZJRgAB...",
    "imageFrontRaw": "/9j/4AAQSkZJRgAB...",
    "imageBackRaw": "/9j/4AAQSkZJRgAB...",
    "rawTemplateSelfie": "BAEBAQJi/8ZtRtF/UV+p4Ued+Z...",
    "rawTemplateFacialCapture": "BAEBAQJQ/8ZtRtF/UV+p4Ued+Z..."
  }
}
```

***

## Lista de parâmetros

Esta é uma coleção de exemplos dos dados que são enviados:

### TRANSACTION\_ID

ID único da transação.

**Detalhes**:

* Pode ficar vazio?: Não.

**Exemplo**:

```javascript
"00000000-0000-0000-0000-000000000000"
```

***

### DOCUMENT\_NUMBER

Armazena o número do documento associado a um cliente.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há um número de documento; isso pode ser porque o serviço não conseguiu extrair o número do documento ou houve um problema durante o processo de extração de dados.

**Exemplo**:

```javascript
"00000000A"
```

```javascript
"0000000"
```

```javascript
undefined
```

***

### CLIENT\_DATA

Armazena as informações de um cliente que concluiu o processo de cadastro.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há dados do cliente; isso pode ser porque uma sessão não foi iniciada ou houve um problema durante o processo da sessão.

**Morfologia**:

```javascript
{
  "customerId": "CUSTOMER_ID"
}
```

**Exemplo**:

```javascript
{
  "customerId": "0d8d7059"
}
```

```javascript
{}
```

Referência do campo:

**CUSTOMER\_ID**

Este identificador é usado para distinguir cada usuário no sistema. Esse identificador pode ser fornecido pela empresa contratante ou gerado internamente.

**Exemplo**:

```javascript
"0d8d7059"
```

```javascript
"0034666666666"
```

```javascript
"00000000-0000-0000-0000-000000000000"
```

***

### DEVICE\_INFO

Armazena informações sobre o dispositivo usado pelo cliente durante o processo de cadastro.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há informações do dispositivo; isso pode ser porque as informações do dispositivo não foram enviadas ou houve um problema durante o processo do evento.

**Morfologia**:

```javascript
{
  "osName": "OS_NAME",
  "osVersion": "OS_VERSION",
  "model": "DEVICE_MODEL",
  "brand": "DEVICE_BRAND",
  "browser": "DEVICE_BROWSER"
}
```

**Exemplo**:

```javascript
{
  "osVersion": "114.0.0.0",
  "model": "114.0.0.0",
  "brand": "Chrome",
  "browser": "Chrome",
  "osName": "Mac OS"
}
```

```javascript
{}
```

#### Referência dos campos:

**OS\_NAME**

Armazena informações sobre o nome do sistema operacional.

**Exemplo**:

```javascript
"114.0.0.0"
```

**OS\_VERSION**

Armazena informações sobre a versão do sistema operacional.

**Exemplo**:

```javascript
"114.0.0.0"
```

**DEVICE\_MODEL**

Armazena informações sobre o modelo do dispositivo.

**Exemplo**:

```javascript
"Chrome"
```

**DEVICE\_BRAND**

Armazena informações sobre a marca do dispositivo.

**Exemplo**:

```javascript
"Chrome"
```

**DEVICE\_BROWSER**

Armazena informações sobre o navegador do dispositivo.

**Exemplo**:

```javascript
"Mac OS"
```

***

## LAST\_STEP

Armazena informações sobre a última etapa concluída pelo cliente durante o processo de cadastro.

**Detalhes:**

* Pode ficar vazio?: Sim.
* Motivo: Não há informações da etapa concluída; isso pode ser porque o cliente ainda não iniciou o fluxo ou houve um problema durante a captura do evento.

**Morfologia:**

```json
{
  "stepId": "STEP_ID",
  "stepType": "STEP_TYPE",
  "timestamp": "UNIX_TIMESTAMP",
  "widget": "WIDGET_NAME"
}
```

**Campos:**

* `stepId` (string): Identificador único da etapa concluída.
* `stepType` (string): Tipo ou categoria da etapa (ex: "VERIFICATION", "CAPTURE", "CONFIRMATION").
* `timestamp` (number): Marca temporal Unix do momento em que a etapa foi concluída.
* `widget` (string): Nome do componente ou widget que executou a etapa (ex: "BiometricCapture", "TermsAcceptance").

**Exemplo:**

```json
{
    "stepId": "00000000-0000-0000-0000-000000000000",
    "stepType": "FINISH",
    "timestamp": 1743350400000,
    "widget": "SELPHI"
},
```

***

### DOCUMENT\_MODEL

Armazena o modelo ou tipo de documento.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não foi detectado nenhum modelo de documento; isso pode ser porque o serviço não conseguiu detectar o modelo de documento ou houve um problema durante o processo de extração de dados.

**Exemplo**:

```javascript
"CHILE - ID CARD (2013)"
```

```javascript
undefined
```

***

### DOCUMENT\_BACKSIDE

Armazena as informações e os detalhes específicos relacionados ao verso ou à parte posterior de um documento.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há uma imagem do verso do documento; isso pode ser porque é um passaporte, a identificação não requer uma imagem do documento, a imagem não foi enviada ou houve um problema durante o processo de extração de dados.

**Exemplo**:

```javascript
{
  "FIELD_DATA": { ... },
  "MRZ_DATA": { ... }
}
```

```javascript
undefined
```

***

### DOCUMENT\_FRONTSIDE

Armazena as informações e os detalhes específicos relacionados à frente de um documento.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há uma imagem da frente do documento; isso pode ser porque a identificação não requer uma imagem do documento, a imagem não foi enviada ou houve um problema durante o processo de extração de dados.

**Exemplo**:

```javascript
{
  "FIELD_DATA": { ... },
  "MRZ_DATA": { ... }
}
```

```javascript
undefined
```

***

### DOCUMENT\_DECOMPOSE

Armazena fragmentos ou recortes das imagens do documento.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há informações do dispositivo; isso pode ser porque as informações do dispositivo não foram enviadas ou houve um problema durante o processo do evento.

**Morfologia**:

```javascript
{
  "FACE": "DOCUMENT_PORTRAIT_BASE64_IMAGE"
}
```

**Exemplo**:

```javascript
{
  "FACE": "/9j/4AAQSkZJRgAB..."
}
```

```javascript
undefined
```

#### Referência dos campos:

**DOCUMENT\_PORTRAIT\_BASE64\_IMAGE**

Armazena o recorte ou fragmento da foto do documento que mostra exclusivamente o rosto do usuário.

**Exemplo**:

```javascript
"/9j/4AAQSkZJRgAB..."
```

***

### DOCUMENT\_CHECKS

Armazena uma coleção de campos das etapas que foram verificadas ou conferidas durante o processo de extração de dados.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há verificações de dados; isso pode ser porque o serviço não gera verificações de dados ou houve um problema durante o processo de extração de dados.

**Exemplo**:

```javascript
{
  "PERSONAL_NUMBER_SIDE_MATCH": false,
  "NATIONALITY_SIDE_MATCH": true
}
```

```javascript
undefined
```

***

### DOCUMENT\_SCORING

Armazena uma coleção de pontuações que avaliam a confiabilidade dos dados extraídos de um documento.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há dados de pontuação; isso pode ser porque o serviço não gera dados de pontuação ou houve um problema durante o processo de extração de dados.

**Exemplo**:

```javascript
 {
  "FIELDS_RETURNED": 20,
  "FIELDS_TOTAL": 20,
  "OVERALL_RATING": 100,
  "BACK_SHA256": "SHA_CODE",
  "FRONT_SHA256": "SHA_CODE"
}
```

```javascript
undefined
```

***

### DOCUMENT\_VALIDATION

Armazena informações relacionadas à validação do documento.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há dados de validação do documento; isso pode ser porque o serviço não está habilitado ou houve um problema durante o processo de validação do documento.

**Morfologia**:

```javascript
{
  "scanReference": "DOCUMENT_VALIDATION_REFERENCE",
  "type": "DOCUMENT_VALIDATION_TYPE",
  "timestamp": "DOCUMENT_VALIDATION_TIME",
}
```

**Exemplo**:

```javascript
{
  "scanReference": "00000000-0000-0000-0000-000000000000",
  "type": "3",
  "timestamp": "1970-01-01T00:00:00.000Z",
}
```

```javascript
{}
```

#### Referência dos campos:

**DOCUMENT\_VALIDATION\_REFERENCE**

Armazena informações relacionadas à referência de validação do documento.

**Exemplo**:

```javascript
"00000000-0000-0000-0000-000000000000"
```

**DOCUMENT\_VALIDATION\_TYPE**

Armazena informações relacionadas ao status de validação do documento.

**Exemplo**:

```javascript
"3"
```

**DOCUMENT\_VALIDATION\_TIME**

Armazena informações relacionadas à data de validação do documento.

**Exemplo**:

```javascript
"1970-01-01T00:00:00.000Z"
```

***

### FRONT\_BASE64\_IMAGE

Armazena a imagem da frente de um documento.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há uma imagem da frente do documento; isso pode ser porque a imagem não foi enviada ou houve um problema durante o salvamento.

**Exemplo**:

```javascript
"/9j/4AAQSkZJRgAB..."
```

```javascript
undefined
```

***

### BACK\_BASE64\_IMAGE

Armazena a imagem do verso de um documento.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há uma imagem do verso do documento; isso pode ser porque a imagem não foi enviada ou houve um problema durante o salvamento.

**Exemplo**:

```javascript
"/9j/4AAQSkZJRgAB..."
```

```javascript
undefined
```

***

### AUTHENTICATION\_DATA

Armazena informações relacionadas à autenticação da pessoa.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há dados de autenticação facial; isso pode ser porque houve um problema durante o processo de autenticação facial.

**Morfologia**:

```javascript
{
  "serviceResultLog": "AUTHENTICATION_STATUS",
  "serviceFacialSimilarityResult": "AUTHENTICATION_SIMILARITY"
}
```

**Exemplo**:

```javascript
{
  "serviceResultLog": "POSITIVE",
  "serviceFacialSimilarityResult": 0.9923387765884399
}
```

```javascript
{}
```

### Referência dos campos:

**AUTHENTICATION\_STATUS**

Armazena o status de autenticação.

**Exemplo**:

```javascript
"POSITIVE"
```

**AUTHENTICATION\_SIMILARITY**

Armazena a medida de similaridade ou o nível de correspondência obtido durante o processo de autenticação de uma pessoa.

**Exemplo**:

```javascript
0.9923387765884399
```

```javascript
0.6823991719034381
```

***

### PASSIVE\_LIVENESS\_DATA

Armazena informações relacionadas ao teste de vida passivo da pessoa.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há dados de teste de vida passivo; isso pode ser porque houve um problema durante o processo de teste de vida passivo.

**Morfologia**:

```javascript
{
  "serviceResultLog": "PASSIVE_LIVENESS_RESULT"
}
```

**Exemplo**:

```javascript
{
  "serviceResultLog": "NO_LIVE"
}
```

```javascript
{}
```

#### Referência dos campos:

**PASSIVE\_LIVENESS\_RESULT**

Armazena o resultado do teste de vida passivo.

**Exemplo**:

```javascript
"NO_LIVE"
```

***

### SELFIE\_BASE64\_IMAGE

Armazena a imagem do selfie de uma pessoa.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: Não há uma imagem de selfie; isso pode ser porque a imagem não foi enviada ou houve um problema durante o salvamento.

**Exemplo**:

```javascript
"/9j/4AAQSkZJRgAB..."
```

```javascript
undefined
```

***

### FRONT\_RAW\_BASE64\_IMAGE

Armazena o quadro completo da frente do documento em formato base64.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: É possível que a imagem da frente do documento não tenha sido enviada, ou houve um problema durante o processo de extração.

**Exemplo**:

```javascript
"/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1..."
```

```javascript
undefined
```

***

### BACK\_RAW\_BASE64\_IMAGE

Armazena o quadro completo do verso do documento em formato base64.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: É possível que a imagem do verso do documento não tenha sido enviada, ou houve um problema durante o processo de extração.

**Exemplo**:

```javascript
"/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1..."
```

```javascript
undefined
```

***

### RAW\_TEMPLATE\_SELFIE (templateRaw)

Armazena o Template Biométrico bruto do selfie (`templateRaw`) em formato base64.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: É possível que o template do selfie não tenha sido enviado, ou houve um problema durante o processo de extração biométrica.

**Exemplo**:

```javascript
"BAEBAQJi/8ZtRtF/UV+p4Ued+Z..."
```

```javascript
undefined
```

***

### RAW\_TEMPLATE\_FACIAL\_CAPTURE

Armazena o template bruto da Captura Facial do documento (`rawTemplateFacialCapture`) em formato base64.

**Detalhes**:

* Pode ficar vazio?: Sim.
* Motivo: É possível que o template de captura facial não tenha sido enviado, ou houve um problema durante o processo de extração biométrica.

**Exemplo**:

```j
"BAEBAQJQ/8ZtRtF/UV+p4Ued+Z..."
```

```javascript
undefined
```

***

## Exemplo de callback

### Resposta de Callback Bem-Sucedida

Este caso de uso descreve o cenário em que um cliente conclui com sucesso o processo de cadastro em uma plataforma ou serviço.

```json
{
  "transactionId": "213d0fd9-57fb-4a87-8237-2778015c94d5",
  "dni": "00000000",
  "clientData": {
    "customerId": "0d8d7059"
  },
  "resultJSON": {
    "DocumentData": {
      "serviceTransactionId": "3442d94c-9610-41ea-b228-5c4823020153",
      "serviceResultCode": 0,
      "serviceResultLog": "Service request successfully processed",
      "serviceDocument": {
        "CHECKS": {
          "BIRTH_DATE_SIDE_MATCH": true,
          "RUN_SIDE_MATCH": true,
          "IDENTITY_NUMBER_SIDE_MATCH": true,
          "SURNAME_SIDE_MATCH": true,
          "EXPIRATION_DATE_SIDE_MATCH": true,
          "NAME_SIDE_MATCH": true,
          "NATIONALITY_SIDE_MATCH": false
        },
        "BACKSIDE": {
          "FIELD_DATA": {},
          "MRZ_DATA": {
            "NATIONALITY": "XXX",
            "SERIAL_NUMBER": "000000000",
            "SURNAME": "DOE",
            "EXPIRATION_DATE": "01/01/1970",
            "SEX": "F",
            "BIRTH_DATE": "01/01/1970",
            "ISSUING_COUNTRY": "XXX",
            "IDENTITY_NUMBER": "000000000",
            "PERSONAL_NUMBER": "000",
            "RUN": "00000000-0",
            "NAME": "SUSAN"
          }
        },
        "FRONTSIDE": {
          "FIELD_DATA": {
            "NATIONALITY": "UNKNOWN",
            "SURNAME": [
              "DOE"
            ],
            "EXPIRATION_DATE": "01/01/1970",
            "BIRTH_DATE": "01/01/1970",
            "IDENTITY_NUMBER": "000.000.000",
            "RUN": "00.000.000-0",
            "EXPEDITION_DATE": "01/01/1970",
            "NAME": "SUSAN"
          }
        },
        "DECOMPOSED": {
          "SIGNATURE": "{Base64}",
          "FACE": "{Base64}"
        },
        "SCORING": {
          "FIELDS_TOTAL": 27,
          "FIELDS_RETURNED": 27,
          "OVERALL_RATING": 100
        },
        "DOC_MODEL": "NEW"
      },
      "serviceTime": "250"
    },
    "DocumentValidation": {
      "scanReference": "572c05a2-faf7-42c2-a583-c0e85a73a263",
      "type": "3",
      "timestamp": "1970-01-01T00:00:00.000Z"
    },
    "FacialAuthentication": {
      "serviceTransactionId": "eb61872d-381f-4759-8cfd-799071c759ae",
      "serviceResultCode": 0,
      "serviceFacialAuthenticationResult": 3,
      "serviceResultLog": "Positive",
      "serviceFacialAuthenticationHash": "{SHA}",
      "serviceFacialSimilarityResult": 0.9917689,
      "serviceTime": "250"
    },
    "PassiveLiveness": {
      "serviceResultCode": 0,
      "serviceResultLog": "Spoof",
      "serviceTime": "250",
      "serviceTransactionId": "752fa584-dfce-498c-a6c3-4ec79394e722",
      "serviceLivenessResult": 1
    },
    "imageFront": "{Base64}",
    "imageBack": "{Base64}",
    "imageSelfie": "{Base64}",
    "imageFrontRaw": "{Base64}",
    "imageBackRaw": "{Base64}",
    "rawTemplateSelfie": "{Base64}",
    "rawTemplateFacialCapture": "{Base64}"
  },
  "deviceInfo": {
    "osVersion": "16.3",
    "model": "16.3",
    "brand": "Mobile Safari",
    "browser": "Mobile Safari",
    "osName": "iOS"
  },
}
```

### Resposta de Callback Vazia

Este caso de uso aborda o cenário em que todas as opções ou alternativas possíveis estão sem conteúdo ou vazias:

```json
{
  "transactionId": "213d0fd9-57fb-4a87-8237-2778015c94d5",
  "clientData": {},
  "deviceInfo": {},
  "resultJSON": {
    "DocumentData": {
      "serviceTransactionId": "3442d94c-9610-41ea-b228-5c4823020153",
      "serviceDocument": {},
    "DocumentValidation": {},
    "FacialAuthentication": {},
    "PassiveLiveness": {}, 
  },
}
```
