Tu usuario toma tres fotos. Tú corres identidad, listas de PLD y domicilio —verificaciones que se encadenan solas, directo de las fuentes oficiales.
¿Dudas técnicas? Habla con un ingeniero por WhatsApp — 0% bots.
Un onboarding que verifica identidad y cumple PLD, sin formularios eternos. Cada ola usa la respuesta de la anterior; las llamadas las disparas tú y OrigoID responde; los cruces entre respuestas son un if en tu backend.
OCR INEINE QRFace MatchComprobanteif en tu backend.tu códigoValidar CURPLista NominalPEPsOFACFace MatchSAT 69SAT 69-BEl envelope te dice exactamente qué falló —FACE_MISMATCH, IMAGE_UNREADABLE, un CURP de una persona fallecida (CURP_DECEASED)— y vuelves a pedir solo esa foto o ese dato. El usuario legítimo pasa sin fricción; el que no, se detiene antes de costarte dinero.
Todos los servicios devuelven el mismo envelope: una sola estructura JSON, limpia y predecible. Aprendes el contrato una vez y sirve para INE, facial, CURP, OFAC, PEPs y SAT.
status, type, data en cada paso del KYC — tu parser es uno solo.import { OrigoidApiClient } from "@origoid/sdk"; const client = new OrigoidApiClient({ apiKey: process.env.ORIGOID_API_KEY }); const result = await client.renapo.validateCurp({ curp: "TEST900101HDFRRN09", generateRfc: true, });
from origoid import OrigoID client = OrigoID(api_key=os.environ["ORIGOID_API_KEY"]) result = client.renapo.validate_curp( curp="TEST900101HDFRRN09", generate_rfc=True, )
import ( sdkgo "github.com/origoid/sdk-go" "github.com/origoid/sdk-go/client" "github.com/origoid/sdk-go/option" ) c := client.NewClient(option.WithAPIKey(os.Getenv("ORIGOID_API_KEY"))) result, err := c.Renapo.ValidateCurp(context.Background(), &sdkgo.ValidateCurpRequest{ Curp: "TEST900101HDFRRN09", GenerateRfc: sdkgo.Bool(true), })
curl -X POST https://api.origoid.com/mex/renapo/v1/curp-validations \ -H "x-api-key: $ORIGOID_API_KEY" \ -H "content-type: application/json" \ -d '{"curp": "TEST900101HDFRRN09", "generateRfc": true}'
{
"status": "OK",
"type": "SUCCESS",
"data": {
"personalInfo": { "givenNames": "JUAN", "rfc": "PELJ900101AB7", … },
"documentDetails": { "curpStatus": "AN", … }
},
"billable": true
}
Una fintech vive de aprobar rápido sin dejar entrar a quien no debe. La verificación tiene que ser real, cumplir PLD y no volverte custodio de datos que no quieres guardar.
Tu usuario toma tres fotos: el frente y el reverso de su INE, y una selfie (más el comprobante de domicilio si tu expediente lo pide). Con eso corres el OCR con dirección geocodificada, la lectura del reverso, la coincidencia facial, CURP-RFC contra RENAPO, la Lista Nominal y las listas de PLD — cada respuesta alimenta la siguiente llamada.
OFAC (sanciones), PEPs de México (activos, ex y por afinidad), y las del SAT: artículo 69 (incumplidos, no localizados, sentencias — 14 sublistas) y 69-B (EFOS: presuntos, definitivos y desvirtuados). Mismo envelope que todo lo demás.
No. Cada consulta se valida, se responde y se descarta: sin base de datos de consultas, sin rastro en logs.
Empiezas gratis: créditos de cortesía, sin tarjeta. Después el precio baja con tu volumen — hasta $0.28 por verificación. Todos los planes publicados, sin hablar con ventas.
Prueba el flujo completo de KYC en producción con créditos de cortesía. El acceso se habilita tras una breve validación de tu empresa.