Claro
Comprueba quién solicita información y qué necesita exactamente.
O lo que sea relevante, pero no todo tu documento de identidad.
Qué puedes esperar
Comprueba quién solicita información y qué necesita exactamente.
La verificación se ejecuta directamente en tu dispositivo, sin una cola habitual de revisión manual.
Guarda una verificación completada en tu dispositivo y reutilízala cuando siga siendo válida y sea aceptada.
Aprueba solo la información solicitada.
Empieza desde un enlace de Verihop o código QR. Verás quién solicita datos y cuáles necesita antes de compartir nada.
Verihop muestra el servicio solicitante y los datos exactos que necesita.
Sigue las comprobaciones guiadas de documento de identidad y titular en vivo disponibles para la solicitud.
Aprueba los datos solicitados y continúa donde lo dejaste.
Una mejor entrega
Comparte el resultado aprobado sin convertir otra subida del documento completo en la opción predeterminada.
¿Quieres más información sobre cómo se trata la información de identidad? Lee el aviso de privacidad.
Creado para la vida real
Edad
Confirma tu edad sin compartir una copia completa del pasaporte.
Alquileres y servicios
Comparte los datos verificados solicitados sin volver a escribir o subirlo todo.
Account onboarding
Completa la comprobación y vuelve directamente al servicio.
Acceso a la cuenta
Verifícate para acciones sensibles, asistencia o recuperación de cuenta.
¿Estás creando una de estas experiencias? Descubre cómo funciona Verihop para empresas, integraciones y recorridos de cliente. Ver PARA EMPRESAS →
Cuando quieras
Prueba la demo de control de edad, revisa los datos exactos solicitados y completa el flujo en el teléfono.
API de identidad personal
Create a verification session from your backend, send the returned launch URL, and securely fetch the user-approved result. Verihop se encarga de the verification, consent, and device routing.
¿Buscas la visión de producto y negocio? Ver PARA EMPRESAS →
PASOS DE INTEGRACIÓN
POST /v1/sessions
Usa la launch_url o qr_url devuelta.
Captura session_id, result_token y los datos firmados opcionales del callback cuando corresponda.
GET /v1/sessions/{id}/result
Las claves API permanecen en tu backend. Los datos personales verificados no se incluyen en las URL de callback.
Una sesión controlada por tu backend inicia el flujo; la información de identidad aprobada se obtiene de servidor a servidor.
Prueba en el Customer Portal
Usa una cuenta de prueba para elegir los campos solicitados, configurar un callback, ejecutar el Session Ejemplo e inspeccionar la solicitud, respuesta, estado de sesión y resultado estructurado reales.
Skill de integración para agentes
Una fuente segura para la configuración de pruebas, sesiones del servidor, callbacks, resultados, comportamiento de apertura y patrones concisos para Node, Python, Swift, Kotlin, Java, Go, PHP, Ruby y cURL.
Colección de Postman
Configura tu API key y callback URL, crea una sesión y pega el result token del callback para obtener el resultado verificado.
Path: https://api.verihop.com
Autentica las requests de partner solo desde tu backend:
Authorization: Bearer <api_key>
Crea primero una cuenta de prueba para obtener una API key. Las respuestas de prueba están redactadas por diseño y la misma cuenta puede activarse después para producción.
/v1/sessionsCrea una sesión de verificación y recibe una launch URL más un token de sesión firmado.
expires_at, crea una sesión nueva. No reutilices una URL de lanzamiento, código QR ni token de callback caducados.Authorization: Bearer <api_key>
Content-Type: application/json
Idempotency-Key: <uuid> // recommended
{
"app": "RideNow",
"header": "Age check",
"fields": ["legalName", "over18", "documentNumber"],
"callback": "ridenow://verified"
}
app: nombre visible de la app partner dentro de Verihop (máx. 80 caracteres).header: título corto de verificación mostrado al usuario (máx. 120 caracteres).fields: tokens de campos solicitados; si falta o está vacío, Verihop usa legalName y over18.callback: URL base de retorno enviada en POST /v1/sessions. Verihop la abre al terminar y añade session_id, result_token (success path) y opcionalmente callback_jwt; requerida y validada contra tu allowlist de producción.Authorization: API key partner en formato bearer.Content-Type: usa application/json para parsear el request body.Idempotency-Key: clave de retry para dedupe al crear sesiones; envía UUID v4/v7 y reutilízala solo para retries de la misma payload.201 correcta{
"session_id": "sess_123",
"expires_at": 1730000000,
"launch_url": "https://www.verihop.com/verify.html?session_id=sess_123&token=h_abc123",
"app_clip_url": "https://appclip.apple.com/id?p=KycBox.VerifyBox.Clip&session_id=sess_123&token=h_abc123",
"qr_url": "https://www.verihop.com/verify.html?session_id=sess_123&token=h_abc123",
"status_url": "https://api.verihop.com/v1/sessions/sess_123"
}
session_id: identificador único para tracking y obtención del resultado.expires_at: expiración de sesión (Unix epoch seconds).launch_url: URL principal para web, Android, QR, emails, SMS y handoff general.app_clip_url: URL nativa directa del App Clip para apps partner de iOS. Ábrela exactamente como se devuelve; no la reconstruyas.qr_url: URL segura para QR; actualmente equivalente a launch_url.status_url: endpoint de estado de sesión para polling server-side.401 missing_bearer_token, 401 invalid_api_key403 customer_inactive400 missing_callback_url, invalid_callback_url, callback_host_not_allowed400 field_not_allowed, invalid_field_token, request_too_large409 idempotency_key_conflict, idempotency_key_in_progress429 rate_limit_exceeded, daily_quota_exceeded/v1/sessions/{id}Endpoint de estado sin PII para orquestación desktop y monitorización.
Authorization: Bearer <api_key>
200 correcta{
"session_id": "sess_123",
"status": "issued",
"issued_at": 1730000000,
"expires_at": 1730000300,
"last_status": null,
"last_status_at": null,
"opened_at": null,
"result_available": false,
"result_token_expires_at": null
}
Polling is read-only and never marks a session as opened. A completed test-key session also returns a short-lived result_token for the synthetic Postman flow. Live result tokens remain callback-only.
/.well-known/jwks.jsonEndpoint público de signing keys para verificar callback_jwt en backends partner.
200 correcta{
"keys": [
{
"kty": "RSA",
"kid": "kid_2025_01",
"alg": "RS256",
"use": "sig",
"n": "...",
"e": "AQAB"
}
]
}
/v1/sessions/{id}/resultObtén la result payload verificada server-to-server usando un result token de un solo uso.
A launch token starts with h_ and cannot be used here. X-Result-Token requires the short-lived res_ token from a live callback or completed test-key status response.
Authorization: Bearer <api_key>
X-Result-Token: <result_token>
200 correcta{
"session_id": "sess_123",
"status": "success",
"result": {
"legalName": "Jane Doe",
"over18": "yes"
}
}
401 missing_bearer_token, invalid_api_key, missing_result_token403 customer_mismatch, invalid_result_token410 result_token_expired409 result_token_used404 result_not_available, session_not_foundfields)legalName, dateOfBirth, over18, over21, passport, idCard, documentNumber, documentExpiry, documentCountry, documentNationality
El resultado contiene únicamente los campos compatibles solicitados y aprobados por el usuario. Los requisitos de tipo de documento como passport e idCard no incluyen automáticamente todos los atributos del documento.
Sí. Tu backend crea una sesión mediante POST /v1/sessions y muestra la qr_url devuelta dentro de un QR en la página de escritorio. El usuario escanea ese QR con el teléfono y Verihop abre la mejor experiencia disponible.
La mejor experiencia es el inicio directo: codifica la qr_url devuelta. Es el mismo traspaso HTTPS universal que launch_url y admite rutas de app, experiencia ligera y fallback web.
Usa launch_url en Android y para el handoff web general. Una app partner de iOS que quiera mostrar la tarjeta nativa del App Clip debe abrir la app_clip_url devuelta. La forma del callback no cambia: Verihop añade session_id, en caso de éxito result_token y opcionalmente callback_jwt.
Crea la sesión en tu backend y envía la app_clip_url devuelta a tu app iOS. Abre esa URL con SwiftUI Link o UIApplication.open en iOS 17 o posterior. No analices launch_url, no copies su token ni fijes en código el bundle ID del App Clip de Verihop. Si la app completa de Verihop está instalada, iOS la abre conservando la misma sesión.
Si usas un callback personalizado como ridenow://verified, la app Android partner debe declarar un intent filter para ese scheme y host. Si usas un callback https:// para flujos iniciados desde desktop o web, trátalo como un endpoint de backend salvo que tu app Android sea dueña de ese dominio con App Links verificados.
Usa un endpoint de callback https:// en tu backend. Cuando Verihop termina, tu servidor recibe session_id y result_token, y después obtiene GET /v1/sessions/{id}/result server-to-server.
jwt de POST /v1/sessions?No. Ese token es para Verihop. Los partners deben tratarlo como transporte opaco y usar launch_url para iniciar Verihop.
Los parámetros del callback son solo metadata de transporte. Los datos personales verificados no se envían intencionalmente en callback URLs. Tu backend debe intercambiar el result_token de un solo uso para obtener la payload result de forma segura. Si está habilitado, callback_jwt puede verificarse vía JWKS para autenticar el callback.
callback_jwt, y dónde?Sí, en el backend del partner cuando esté presente. Verifica firma y claims con Verihop JWKS en GET /.well-known/jwks.json. Valida issuer, audience y expiry, y asegúrate de que los claims JWT coincidan con los valores del callback.
No. Mantén las API keys en servidor y obtén resultados solo desde tu backend. El frontend/web client solo debe manejar UI y pasar estado a la sesión de backend.
Crea una nueva sesión cuando una sesión expire o el usuario abandone el flujo. result_token dura poco y es de un solo uso; si se consume o expira, reinicia con un nuevo POST /v1/sessions.
Ofrece una página fallback detrás de tu flujo QR que explique cómo instalar o abrir Verihop y continuar. Después de instalar, crea una nueva sesión y muestra un QR nuevo; no reutilices sesiones caducadas.
POST /v1/sessions soporta Idempotency-Key para llamadas create-session seguras ante retries: la misma key con la misma payload reproduce la respuesta original, mientras que la misma key con una payload distinta devuelve 409 idempotency_key_conflict. El abuso se mitiga además con autenticación por API key, política de callback allowlist, validación de campos permitidos, rate limits/cuota por cliente, TTL corto de sesión y result_token de un solo uso.
Empieza en modo de prueba
Use a redacted cuenta de prueba, keep credentials on your backend, and move to production only after callback and field controls are approved.
Verificación de identidad personal
Añade comprobaciones fiables de identidad y elegibilidad a los recorridos de cliente y limita los datos sensibles que debe tratar tu empresa.
Los clientes se verifican en su teléfono y aprueban solo la información necesaria para tu decisión.
Por qué importa
Los clientes abandonan el alta cuando la verificación tarda demasiado o pide demasiado. Las empresas siguen siendo responsables de la información sensible que recopilan y protegen.
de los consumidores británicos encuestados había abandonado un proceso de apertura de cuenta.
FullCircl, State of Identity Verification 2025de tiempo medio de alta en el mismo estudio — 2,8× más de lo que los clientes dijeron querer.
FullCircl, State of Identity Verification 2025de las personas encuestadas en los Países Bajos dijo que nunca compartiría online una copia de su pasaporte, documento de identidad o permiso de conducir.
CBS, 2025notificaciones de brechas de datos personales se comunicaron a la autoridad neerlandesa en 2025.
Autoriteit Persoonsgegevens, 2026Verihop permite a tu producto solicitar la información aprobada y verificada necesaria para una decisión sin convertir otro archivo de pasaporte o selfie en el resultado.
Un mejor flujo de verificación
Verifica a la persona, recibe solo lo que necesita tu decisión y evita convertir las copias de documentos y la revisión manual en la opción predeterminada.
*Flujo de verificación compatible típico. El tiempo puede variar según el dispositivo, el documento y la conexión.
Dónde encaja Verihop
A veces necesitas la identidad de alguien. Otras veces solo necesitas una respuesta fiable.
Edad y elegibilidad
Solicita un resultado de edad verificado sin recibir una copia completa del pasaporte.
Alta de cuentas y servicios
Solicita los datos de identidad verificados necesarios para tu decisión de alta.
Alquileres y acceso de confianza
Verifica la identidad antes de ofrecer un vehículo, inmueble, equipo o servicio controlado.
Recuperación de cuenta y soporte
Solicita una nueva verificación para acciones sensibles de soporte o recuperación.
Verihop verifica la información. Tu empresa decide qué significa para el recorrido del cliente.
Cómo funciona
Tu producto inicia una verificación de Verihop para la información de identidad aprobada que necesita.
El cliente abre el enlace o código QR y completa la verificación en su teléfono.
Cuando el cliente lo aprueba, la información verificada se devuelve de forma segura a tu sistema.
Verihop gestiona la lectura de documentos compatibles, las comprobaciones del titular, el consentimiento, el enrutamiento entre dispositivos y la entrega segura de resultados. Tu producto aplica después la regla de negocio.
¿Estás desarrollando la integración? Ver PARA DEVS →
Customer Portal
Empieza en modo de prueba, pasa por la aprobación de producción y gestiona el servicio en vivo desde el mismo espacio empresarial.
Ejecuta sesiones redactadas e inspecciona la entrega completa antes de producción.
Envía tu configuración de producción y los campos aprobados para revisión.
Supervisa el uso, la facturación, los callbacks y la actividad de las sesiones.
Gestiona el acceso del equipo, MFA, dispositivos de confianza y evidencias de auditoría.
Los developers pueden probar solicitudes, callbacks y resultados desde el área de Developers. Ver PARA DEVS →
Empieza con un caso de uso
Trae el recorrido del cliente, la decisión que necesitas tomar y la información que recopilas ahora. Definiremos la solicitud de verificación mínima útil y una ruta clara para probarla.