Skip to main content

Descripción general

En sandbox, cuando creas una validación KYC para una entidad persona, la API puede devolver un resultado mock inmediato según el taxId (documento) de la entidad. No se realiza ninguna verificación externa; la respuesta y los webhooks coinciden con el resultado asociado a ese documento en nuestro set de prueba. Así puedes probar todos los flujos (aprobado, rechazado, cancelado, doble chequeo RENAPER, etc.) sin pasar por una verificación real.
¡Configura un webhook para recibir las respuestas!En sandbox, el resultado de KYC se actualiza de forma asíncrona (igual que en producción). Aunque la API devuelve 201 inmediatamente después de crear la validación, el resultado final (aprobado, rechazado, etc.) se envía a través de webhooks momentos después.Debes configurar un endpoint webhook en tu organización para recibir las notificaciones de validación. Sin un webhook configurado, no recibirás las actualizaciones de estado.📚 Aprende a configurar webhooks: Integración webhook
El formato no importa. El taxId de la entidad puede enviarse con o sin formato (p. ej. 99.990.001 o 99990001). La API lo normaliza antes de comparar, por lo que ambos funcionan igual.

Cómo funciona

  1. La entidad persona pertenece a una organización en modo sandbox.
  2. Llamas a POST /api/kyc/validations con el entityId de esa entidad.
  3. La API busca el taxId de la entidad en el mapa de prueba de sandbox (tras normalizar: solo dígitos y letras).
  4. Si hay coincidencia, se crea una validación mock con estado pending (201 Created) y momentos después se actualiza al estado final (p. ej. approved, rejected, cancelled).
  5. Se envían los webhooks correspondientes a tu endpoint configurado con el resultado final.
  6. Si no hay coincidencia, la API sigue el flujo normal (crea una sesión de verificación real y devuelve providerSessionUrl).
Flujo asíncrono: El comportamiento en sandbox replica exactamente el flujo de producción, que es asíncrono. La validación se crea en estado pending, y luego se actualiza y se notifica vía webhook. No intentes hacer polling inmediato al endpoint GET después de crear la validación - usa webhooks para recibir el resultado. RENAPER en sandbox: Si envías doubleCheckRenaper: true al crear la validación y el resultado es aprobado (o un rechazo relacionado con RENAPER), la respuesta y el payload del webhook incluirán metadata.responseDoubleChecks.renaper con la misma estructura que en producción.

Valores de prueba por defecto

Ofrecemos un set fijo de números de documento de prueba en cuatro formatos. Cada número corresponde a un resultado. La clave de búsqueda es el valor normalizado (sin puntos, guiones ni espacios).

Lista de resultados (qué devuelve cada número)

#ResultadoSignificado
01approvedKYC aprobado. Si pediste doble chequeo RENAPER, la respuesta incluye RENAPER correcto.
02approved_with_renaperIgual que approved; RENAPER en la respuesta solo si se pidió en la creación.
03cancelledValidación cancelada.
04rejectedRechazo genérico.
05rejected_document_mismatchRechazo por documento no coincidente con la entidad.
06rejected_renaper_tramite_not_matchRechazo: número de trámite no coincide con el registro.
07rejected_renaper_dni_not_matchRechazo: documento no coincide con el registro.
08rejected_renaper_verification_unavailableRechazo: verificación con el registro no disponible.
09rejected_renaper_dni_missingRechazo: sin documento para verificación con el registro.
10rejectedRechazo genérico (segundo número para pruebas).

Argentina – DNI (8 dígitos)

Usa cualquiera de estos como taxId de la entidad (con o sin puntos). El valor normalizado es el que se usa para el match.
Valor de ejemploNormalizadoResultado
99.990.001 o 9999000199990001approved
99.990.002 o 9999000299990002approved_with_renaper
99.990.00399990003cancelled
99.990.00499990004rejected
99.990.00599990005rejected_document_mismatch
99.990.00699990006rejected_renaper_tramite_not_match
99.990.00799990007rejected_renaper_dni_not_match
99.990.00899990008rejected_renaper_verification_unavailable
99.990.00999990009rejected_renaper_dni_missing
99.990.01099990010rejected

Argentina – CUIT (11 dígitos)

Formato: 20-XXXXXXXX-X. Ejemplo: 20-99990001-9.
Valor de ejemploNormalizadoResultado
20-99990001-920999900019approved
20-99990002-920999900029approved_with_renaper
20-99990003-920999900039cancelled
20-99990004-920999900049rejected
20-99990005-920999900059rejected_document_mismatch
20-99990006-920999900069rejected_renaper_tramite_not_match
20-99990007-920999900079rejected_renaper_dni_not_match
20-99990008-920999900089rejected_renaper_verification_unavailable
20-99990009-920999900099rejected_renaper_dni_missing
20-99990010-920999900109rejected

Brasil – CPF (11 dígitos)

Formato: XXX.XXX.XXX-XX. Ejemplo: 999.900.001-01.
Valor de ejemploNormalizadoResultado
999.900.001-0199990000101approved
999.900.001-0299990000102approved_with_renaper
999.900.001-0399990000103cancelled
999.900.001-0499990000104rejected
999.900.001-0599990000105rejected_document_mismatch
999.900.001-0699990000106rejected_renaper_tramite_not_match
999.900.001-0799990000107rejected_renaper_dni_not_match
999.900.001-0899990000108rejected_renaper_verification_unavailable
999.900.001-0999990000109rejected_renaper_dni_missing
999.900.001-1099990000110rejected

Brasil – CNPJ (14 dígitos)

Formato: XX.XXX.XXX/XXXX-XX. Ejemplo: 99.990.000/0001-01.
Valor de ejemploNormalizadoResultado
99.990.000/0001-0199990000000101approved
99.990.000/0001-0299990000000102approved_with_renaper
99.990.000/0001-0399990000000103cancelled
99.990.000/0001-0499990000000104rejected
99.990.000/0001-0599990000000105rejected_document_mismatch
99.990.000/0001-0699990000000106rejected_renaper_tramite_not_match
99.990.000/0001-0799990000000107rejected_renaper_dni_not_match
99.990.000/0001-0899990000000108rejected_renaper_verification_unavailable
99.990.000/0001-0999990000000109rejected_renaper_dni_missing
99.990.000/0001-1099990000000110rejected

Ejemplo: aprobado con RENAPER

  1. Crea una entidad persona en sandbox con taxId: 99990001 (o 99.990.001).
  2. Llama a POST /api/kyc/validations con entityId y doubleCheckRenaper: true (body o query).
  3. La API devuelve 201 con la validación; poco después el estado es approved y se envía el webhook kyc.validation_approved.
  4. El payload del webhook incluye el objeto completo de la validación, incluido metadata.responseDoubleChecks.renaper con verified: true, matchResult: "match", personalNumber, idTramitePrincipal y renaperData (respuesta mock del registro).

Ejemplo de respuesta (mock aprobado)

El body de la respuesta y el payload del webhook siguen la misma estructura que una validación real. Ejemplo de forma para un mock aprobado (campos relevantes):
{
  "id": "uuid",
  "entityId": "uuid",
  "status": "approved",
  "verifiedAt": "2026-02-21T12:00:00.000Z",
  "extractedData": {
    "firstName": "Sandbox",
    "lastName": "User",
    "fullName": "Sandbox User",
    "dateOfBirth": "1990-01-15",
    "documentNumber": "99990001",
    "documentType": "Identity Card",
    "nationality": "AR",
    "gender": "M",
    "age": 34
  },
  "verifiedFields": ["identity_document", "liveness_check", "face_match"],
  "warnings": [],
  "metadata": {
    "doubleChecks": { "renaper": true },
    "responseDoubleChecks": {
      "renaper": {
        "verified": true,
        "matchResult": "match",
        "personalNumber": "99990001",
        "idTramitePrincipal": "987654321",
        "verifiedAt": "2026-02-21T12:00:00.000Z",
        "renaperData": { "id_tramite_principal": "987654321", "apellido": "User", "nombres": "Sandbox", "fecha_nacimiento": "1990-01-15", "dni": "99990001", "..." }
      }
    }
  }
}
Cuando no se pide doble chequeo RENAPER, metadata.responseDoubleChecks no aparece en aprobado; cuando sí se pide, aparece como arriba.

Datos mock personalizados

El set por defecto anterior está disponible para todas las organizaciones sandbox sin configuración.
Añadir o cambiar números de documento mock en tu sandbox:
Si necesitas documentos de prueba adicionales o resultados distintos para números concretos, contacta al equipo de Gueno. Los datos mock personalizados para sandbox los gestiona Gueno y no pueden configurarse por el cliente.

Ver también