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

# Ejemplo de respuesta de callback

> Respuestas de ejemplo para interacciones de callback de la API de ID Liveness

La sección de ejemplo de respuesta de callback muestra respuestas de ejemplo que los usuarios pueden esperar de las interacciones con la API, proporcionando claridad sobre la estructura y el formato de respuesta. Al utilizar estos ejemplos, los usuarios pueden desarrollar y probar sus integraciones de manera efectiva, asegurando una comunicación fluida entre su aplicación y la API. Esta sección sirve como un recurso valioso para mejorar el proceso de integración y optimizar los esfuerzos de desarrollo.

## Ejemplos de respuesta

<CodeGroup>
  ```json Respuesta exitosa (200) theme={null}
  {
    "statusCode": 200,
    "apiType": "id_live_doc",
    "transactionId": "{{transactionId}}",
    "engineVersion": "{{engineVersion}}",
    "result": {
      "screenReplay": {
        "liveness_score": 99
      },
      "paperPrinted": {
        "liveness_score": 82
      },
      "replacePortraits": {
        "liveness_score": 100
      }
    }
  }
  ```

  ```json Respuesta de error (400) theme={null}
  {
    "statusCode": 400,
    "apiType": "id_live_doc",
    "transactionId": "{{transactionId}}",
    "errorCode": 1003,
    "message": "Fail to process data"
  }
  ```
</CodeGroup>

## Descripción de campos de respuesta

### Campos de respuesta exitosa

| Field                                    | Type   | Description                                                      |
| ---------------------------------------- | ------ | ---------------------------------------------------------------- |
| `statusCode`                             | number | Código de estado del resultado de la solicitud API               |
| `apiType`                                | string | Identificador del tipo de API                                    |
| `transactionId`                          | string | Identificador único de cada solicitud                            |
| `engineVersion`                          | string | Versión del motor de liveness utilizada en la solicitud          |
| `result`                                 | object | Objeto que contiene el resultado del procesamiento               |
| `result.screenReplay`                    | object | Objeto que contiene el resultado del pipeline Screen Replay      |
| `result.screenReplay.liveness_score`     | number | Resultado de liveness score de la verificación Screen Replay     |
| `result.paperPrinted`                    | object | Objeto que contiene el resultado del pipeline Paper Printed      |
| `result.paperPrinted.liveness_score`     | number | Resultado de liveness score de la verificación Paper Printed     |
| `result.replacePortraits`                | object | Objeto que contiene el resultado del pipeline Replace Portraits  |
| `result.replacePortraits.liveness_score` | number | Resultado de liveness score de la verificación Replace Portraits |

### Campos de respuesta de error

| Field           | Type   | Description                                                  |
| --------------- | ------ | ------------------------------------------------------------ |
| `statusCode`    | number | Código de estado del resultado de la solicitud API           |
| `apiType`       | string | Identificador del tipo de API                                |
| `transactionId` | string | Identificador único de cada solicitud                        |
| `engineVersion` | string | Versión del motor de liveness utilizada en la solicitud      |
| `errorCode`     | number | Identifica el error específico para facilitar el diagnóstico |
| `message`       | string | Descripción breve del error                                  |

## Códigos de error

| Error Code | Description              |
| ---------- | ------------------------ |
| 1003       | Fail to process data     |
| 1009       | Fail to analyze document |

## Cómo interpretar los liveness scores

### Rangos de puntuación

* **0-30**: Alto riesgo de falsificación
* **31-60**: Riesgo medio de falsificación
* **61-80**: Bajo riesgo de falsificación
* **81-100**: Riesgo muy bajo de falsificación

### Explicación de pipelines

#### Detección de Screen Replay

Detecta si la imagen enviada es una captura de pantalla o una reproducción digital en lugar de un documento físico.

#### Detección de Paper Printed

Identifica si el documento es una versión impresa o fotocopiada en lugar del original.

#### Detección de Replace Portraits

Comprueba si la imagen facial del documento ha sido alterada o reemplazada digitalmente.

## Directrices de integración

### Manejo de respuestas

1. **Verificar código de estado**: Siempre verifique primero el código de estado de la respuesta
2. **Almacenar Transaction ID**: Guarde el transaction ID como referencia
3. **Evaluar puntuaciones**: Revise los liveness scores de cada pipeline
4. **Manejo de errores**: Implemente un manejo adecuado de errores para solicitudes fallidas

### Mejores prácticas

* **Registro de logs**: Registre todas las respuestas para facilitar la depuración
* **Lógica de reintentos**: Implemente lógica de reintentos ante fallos transitorios
* **Validación**: Valide la estructura de la respuesta antes de procesarla
* **Seguridad**: Garantice el manejo seguro de datos sensibles de documentos
