Skip to content

KYC [ PRO ] ​

🔐 Licencia Premium

Acceso Restringido

El módulo KYC PRO requiere una licencia especial para su activación y uso.

¿Cómo obtener acceso? ​

Para adquirir la licencia KYC PRO y desbloquear todas las funcionalidades avanzadas de verificación de identidad:

Canal de contactoInformación
📧 Emailventas@efirma.com
💼 VentasComuníquese directamente con su ejecutivo de cuenta

¿Qué incluye KYC PRO?

Funcionalidades avanzadas de verificación de identidad, validación documental y cumplimiento

Create a KYC Request ​

http
    POST /api/kyc/request
bash
curl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" -d '{
   "type":"p",
   "filler":"requested",
   "requested":"test@efirma.com",
   "description":"Invitacion llenado de documentos KYC por API",
   "callback_url":"https://example.com/post",
   "return_url":"http://example.com",
   "requirements":{
   		"idcard":true,
        "passport":false,
        "fmcard":false,
        "birthcert":false,
        "taxid":false,
        "incletter":false,
        "address":false,
        "procard":false,
        "dsignature":false,
        "esignature":true,
        "videoproof":false
   }
}' "https://efirma.com/api/kyc/request"
http
    POST %7B%7Befirma_url%7D%7D/api/kyc/request HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}
{
   "type":"p",
   "filler":"requested",
   "requested":"test@efirma.com",
   "description":"Invitacion llenado de documentos KYC por API",
   "callback_url":"https://example.com/post",
   "return_url":"http://example.com",
   "requirements":{
   		"idcard":true,
        "passport":false,
        "fmcard":false,
        "birthcert":false,
        "taxid":false,
        "incletter":false,
        "address":false,
        "procard":false,
        "dsignature":false,
        "esignature":true,
        "videoproof":false
   }
}

Find KYC Request by ID ​

Nos permitirá encontrar una forma KYC y obtener toda la información.

html
GET /api/kyc/request/:id
bash
curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/kyc/request/:id"
http
GET %7B%7Befirma_url%7D%7D/api/kyc/request/:id HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

json
{
    "formfill_link": "https://efirma.com/panel/kyc-form?r=XXXXXX&at=XXXXXX&ae=person@email.com",
    "documents_download_link": "https://efirma.com/kyc-documents/XXXXXX",
    "download_pdf_report": "https://efirma.com/kyc-report/XXXXXX",
    "kyc-request": {
        "Id": "XXXXXX",
        "RequesterId": "XXXXXX",
        "OrganizationRequesterId": "XXXXXX",
        "RequestedId": "XXXXXX",
        "Type": "p",
        "Filler": "requested",
        "Requirements": {
            "idcard": true,
            "esignature": true
        },
        "OpenEmail": {
            "Notified": "0001-01-01T00:00:00Z",
            "Timestamp": "0001-01-01T00:00:00Z"
        },
        "LastOpen": "2020-04-27T22:12:02.358Z",
        "TrackIPs": [
            {
                "IPInfo": "XXXXXX",
                "TimeStamp": "2020-04-27T22:12:02.358Z"
            }
        ],
        "Description": "Invitacion llenado de documentos KYC por API",
        "Documents": {
            "IdCard": "XXXXXX",
            "Passport": "",
            "FMCard": "",
            "BirthCertificate": "",
            "TaxId": "",
            "IncLetter": "",
            "Address": "",
            "ProCard": "",
            "DigitalSignature": "",
            "ElectronicSignature": "",
            "VideoProof": ""
        },
        "Report": {
            "individual": {
                "name": "Isabel",
                "lname": "Ulloa",
                "fname": "Isabel Ulloa",
                "uid": "XUXIXXXXXXS04",
                "taxid": "GUUIXXXXXXF0",
                "birth_year": "70",
                "birth_month": "01",
                "birth_day": "01",
                "sex": "F",
                "nationality": "MEX",
                "addresses": [
                    {
                        "street": "XXXXXX",
                        "number": "",
                        "interior_number": "",
                        "colony": "XXXXXX",
                        "municipality": "XXXXXX",
                        "state": "XXXXXX",
                        "zip": "XXXXXX"
                    }
                ],
                "emails": [
                    "test@efirma.com"
                ],
                "father": {},
                "mother": {},
                "cedulas": [
                    {
                        "anioreg": 1987,
                        "desins": "UNIVERSIDAD DE XXXXXX",
                        "idCedula": "1XXXXXX2",
                        "titulo": "LICENCIATURA EN DERECHO"
                    }
                ]
            }
        },
        "CallbackUrl": "https://callback.exmaple.com/post",
        "ReturnUrl": "http://yourcompany.com"
    }
}

Get KYC Requests ​

Listado de todos las solicitudes de KYC.

http
GET /api/kyc/requests/
bash
    curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/kyc/requests/"
http
GET %7B%7Befirma_url%7D%7D/api/kyc/requests/ HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}
json
[
    {
        "index": 0,
        "formfill_link": "https://efirma.com/panel/kyc-form?r=XXXXXXXXX&at=XXXXXXXXX&ae=test@efirma.com",
        "documents_download_link": "https://efirma.com/kyc-documents/XXXXXXXXX3",
        "download_pdf_report": "https://efirma.com/kyc-report/XXXXXXXXX",
        "kyc-request": {
            "Id": "XXXXXXXXX",
            "RequesterId": "XXXXXXXXX",
            "OrganizationRequesterId": "XXXXXXXXX",
            "RequestedId": "XXXXXXXXX",
            "Type": "p",
            "Filler": "requester",
            "Requirements": {
                "idcard": true,
                "passport": true,
                "fmcard": true
            },
            "OpenEmail": {
                "Notified": "2020-07-23T17:45:53.293Z",
                "Timestamp": "0001-01-01T00:00:00Z"
            },
            "LastOpen": "2020-07-23T17:45:53.373Z",
            "TrackIPs": [
                {
                    "IPInfo": "XXXXXXXXX",
                    "TimeStamp": "2020-07-23T17:45:53.373Z"
                }
            ],
            "Description": "",
            "Documents": {
                "IdCard": "XXXXXXXXX",
                "Passport": "",
                "FMCard": "",
                "BirthCertificate": "",
                "TaxId": "",
                "IncLetter": "",
                "Address": "",
                "ProCard": "",
                "DigitalSignature": "",
                "ElectronicSignature": "",
                "VideoProof": ""
            },
            "Report": {
                "individual": {
                    "name": "Isabel",
                    "lname": "Ulloa",
                    "fname": "Isabel Ulloa",
                    "uid": "GUI6XXXXXXXXXLS04",
                    "taxid": "GUXXXXXXXXX0",
                    "birth_year": "70",
                    "birth_month": "01",
                    "birth_day": "01",
                    "sex": "F",
                    "nationality": "MEX",
                    "addresses": [
                        {
                            "street": "XXXXXXXXX",
                            "number": "",
                            "interior_number": "",
                            "colony": "XXXXXXXXX",
                            "municipality": "XXXXXXXXX",
                            "state": "XXXXXXXXX",
                            "zip": "XXXXXXXXX"
                        }
                    ],
                    "emails": [
                        "xxxc@example.org"
                    ],
                    "father": {},
                    "mother": {},
                    "cedulas": [
                        {
                            "anioreg": 1987,
                            "desins": "UNIVERSIDAD DE XXXXXXXXX",
                            "idCedula": "XXXXXXXXX",
                            "titulo": "LICENCIATURA EN DERECHO"
                        }
                    ]
                }
            },
            "CallbackUrl": "",
            "ReturnUrl": ""
        }
    },
    {
        "index": 1,
        "formfill_link": "https://efirma.com/panel/kyc-form?r=XXXXXXXXX&at=XXXXXXXXX&ae=test@efirma.com",
        "documents_download_link": "https://efirma.com/kyc-documents/XXXXXXXXX3",
        "download_pdf_report": "https://efirma.com/kyc-report/XXXXXXXXX",
        "kyc-request": {
            "Id": "XXXXXXXXX",
            "RequesterId": "XXXXXXXXX",
            "OrganizationRequesterId": "XXXXXXXXX",
            "RequestedId": "XXXXXXXXX",
            "Type": "p",
            "Filler": "requester",
            "Requirements": {
                "idcard": true,
                "passport": true,
                "fmcard": true
            },
            "OpenEmail": {
                "Notified": "2020-07-23T17:45:53.293Z",
                "Timestamp": "0001-01-01T00:00:00Z"
            },
            "LastOpen": "2020-07-23T17:45:53.373Z",
            "TrackIPs": [
                {
                    "IPInfo": "XXXXXXXXX",
                    "TimeStamp": "2020-07-23T17:45:53.373Z"
                }
            ],
            "Description": "",
            "Documents": {
                "IdCard": "XXXXXXXXX",
                "Passport": "",
                "FMCard": "",
                "BirthCertificate": "",
                "TaxId": "",
                "IncLetter": "",
                "Address": "",
                "ProCard": "",
                "DigitalSignature": "",
                "ElectronicSignature": "",
                "VideoProof": ""
            },
            "Report": {
                "individual": {
                    "name": "Isabel",
                    "lname": "Ulloa",
                    "fname": "Isabel Ulloa",
                    "uid": "GUI6XXXXXXXXXLS04",
                    "taxid": "GUXXXXXXXXX0",
                    "birth_year": "70",
                    "birth_month": "01",
                    "birth_day": "01",
                    "sex": "F",
                    "nationality": "MEX",
                    "addresses": [
                        {
                            "street": "XXXXXXXXX",
                            "number": "",
                            "interior_number": "",
                            "colony": "XXXXXXXXX",
                            "municipality": "XXXXXXXXX",
                            "state": "XXXXXXXXX",
                            "zip": "XXXXXXXXX"
                        }
                    ],
                    "emails": [
                        "test@efirma.com"
                    ],
                    "father": {},
                    "mother": {},
                    "cedulas": [
                        {
                            "anioreg": 1987,
                            "desins": "UNIVERSIDAD DE XXXXXXXXX",
                            "idCedula": "XXXXXXXXX",
                            "titulo": "LICENCIATURA EN DERECHO"
                        }
                    ]
                }
            },
            "CallbackUrl": "",
            "ReturnUrl": ""
        }
    }
]

Send KYC Reminder ​

Nos permite enviar un recordatorio de llenado de formulario KYC cuando el filler es la persona a la que le requerimos los documentos.

POST /api/kyc/send_reminder

Request ​

bash
curl -X POST -H 'X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}' -d '{
  "id": "ID del Request"
}' "https://efirma.com/api/kyc/send_reminder"
http
POST %7B%7Befirma_url%7D%7D/api/kyc/send_reminder HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

{
  "id": "ID del Request"
}

Response ​

Status: 200 OK

json
{
  "status": "success"
}

Download Report Documents ​

Nos permitirá descargar los documentos del KYC.

GET /api/kyc/download/:id

Request ​

bash
curl -X GET -H 'X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}' "https://efirma.com/api/kyc/download/:id"
http
GET %7B%7Befirma_url%7D%7D/api/kyc/download/:id HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

Status: 200 OK

Nota

La respuesta contendrá los archivos documentales asociados al KYC solicitado.


Verify ID Card ​

Documento de identidad expedido por el *Instituto Nacional/Federal Electoral (INE/IFE).

Utilizando algoritmos de reconocimiento de imagen y extracción de datos podemos obtener los datos por separado de:

#Dato
1Nombre
2Apellidos
3CURP
4Fecha de Nacimiento
5Clave de Elector
6Folio de identificación
7Dirección
8Estado
9Municipio
10Localidad Electoral
11Sección Electoral
12Fecha de Emisión de la identificación
13Fecha de Vigencia de la identificación

Request Body ​

NombreTipo de DatoDescripción
fileMultipart/FormEl documento JPG o PNG del documento de identidad (MAX 3MB)
http
POST /api/idcard/verify
bash
curl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/idcard/verify"
http
POST %7B%7Befirma_url%7D%7D/api/idcard/verify HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

json
{
    "id": "5e3225a6aa4700975a426e02",
    "v": false,
    "MRPZData": {
        "IdCardType": "",
        "CIC": "",
        "IdCardFolium": "",
        "Name": "",
        "Nationality": "",
        "OptCode": "",
        "Birth": "",
        "Sex": "",
        "Expiration": ""
    },
    "c": "FARC61XX01HSRZXX04",
    "ce": "FZRVCRX1030XX6H600",
    "Name": "Carlos Rxxxx",
    "Lname": "Fxx Rxxxxs",
    "Address": "RTNO XXXX 14, RDCIAL CASA XXX, HERMOSILLO, SON.",
    "ParsedAddress": {
        "street": "RTNO XXXX 14",
        "number": "",
        "interior_number": "",
        "colony": "RDCIAL CASA XXX",
        "municipality": "HERMOSILLO",
        "state": "SONORA",
        "zip": "XXXX"
    },
    "Estado": "26",
    "Municipio": "049",
    "Localidad": "0001",
    "Seccion": "0499",
    "Emision": "2019",
    "Vigencia": "2029",
    "d": "",
    "classification": "idcard_front"
}
json
{
    "id": "5e322665aa4700975a426e04",
    "v": false,
    "MRPZ": [
        "IDMEX1XXXXXXXX0<<0XXXXX06XXX4",
        "6103017XXX29XXXXXMEX<03<<07674<4",
        "XXX<XXXX<<CARLOS<XXXXX<<<<<"
    ],
    "MRPZData": {
        "IdCardType": "IDMEX",
        "CIC": "1XXXXXXX0",
        "IdCardFolium": "0XXXXXXXX4",
        "Name": "",
        "Nationality": "MEX",
        "OptCode": "<03<<07674<",
        "Birth": "610301",
        "Sex": "H",
        "Expiration": "291231"
    },
    "c": "",
    "ce": "",
    "Folio": "0XXXXXX4",
    "CIC": "18XXXXXX0",
    "ParsedAddress": {
        "street": "",
        "number": "",
        "interior_number": "",
        "colony": "",
        "municipality": "",
        "state": "",
        "zip": ""
    },
    "d": "",
    "classification": "idcard_back"
}
json
{
    "message": "No fué posible extraer los datos de la parte inferior de la credencial, reajusta el marco de la imagen.",
    "status": "error"
}
json
{
    "message": "Error clasificando documento, intenta con una imagen de mejor calidad, nítida, sin flash, brillos o reflejos.",
    "status": "error"
}

Validate Inc Letter ​

Validación de Acta Constitutiva utilizando algoritmos de reconocimiento de imagen y extracción de datos.

Datos extraídos ​

Podemos obtener los siguientes datos por separado:

#DatoDescripción
1Razón SocialNombre legal de la empresa
2Número de ActaIdentificador del acta constitutiva
3Fedatario PúblicoNotario o Corredor que escrituró

Información del Fedatario Público ​

Dato
Estado del fedatario
Municipio del fedatario
Número de registro del fedatario
Nombre del fedatario
Sitio web registrado ante hacienda
Dirección de notaría o correduría
Teléfonos de contacto
Emails de contacto
Estado de actividad

Participantes en el Capital Social ​

Para cada participante se obtiene:

DatoPersona MoralPersona Física
Razón Social✅✅
RFC✅✅
Participación (%)✅✅
Nombre del representante legal✅❌
CURP del representante legal✅❌
RFC del representante legal✅❌
CURP❌✅

Consulta RPC/SIGER

Posteriormente se realiza una consulta con el RPC/SIGER para cotejar la información del documento y obtener datos adicionales de la base de datos del Registro Público de Comercio para anexar al expediente organizacional.

Request Body ​

NombreTipo de DatoDescripción
fileMultipart/FormEl documento PDF del Acta Constitutiva
dataStringJSON con el siguiente formato: {"callback_url":"<< ENDPOINT DONDE ENTREGAR LA INFORMACIÓN >>"}

Respuesta Asíncrona

La respuesta generada por este método no será inmediata, por lo que se le solicitará un endpoint/webhook/callback a donde enviarle la información procesada.

POST /api/incletter/verify

Request ​

bash
curl -X POST -H 'X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}' \
  -F "file=@acta_constitutiva.pdf" \
  -F 'data={"callback_url":"https://tu-servidor.com/webhook"}' \
  "https://efirma.com/api/incletter/verify"
http
POST %7B%7Befirma_url%7D%7D/api/incletter/verify HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}
Content-Type: multipart/form-data

file: [Archivo PDF del Acta Constitutiva]
data: {"callback_url":"https://tu-servidor.com/webhook"}

Response ​

INFO

Se enviará la informacion al callback que se especifique en el cuerpo del request

Status: 200 OK

json
{
    "id":"5e3222eaaa4700975a426dfe",
    "lname":"",
    "inc_number":0,
    "Nationality":"",
    "share_capital":0,
    "individuals":null,
    "notary":{
        "type":"",
        "state":"",
        "municipality":"",
        "number":0,
        "name":"",
        "phones":null,
        "emails":null
    },
    "status":"rejected",
    "reason":"Algunas secciones no son legibles"
}
html
POST /api/incletter
bash
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/incletter"
http
POST %7B%7Befirma_url%7D%7D/api/incletter HTTP/1.1
Host:
Content-Type: application/x-www-form-urlencoded
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

Status: 200 OK

json
{
    "id": "5e3222eaaa4700975a426dfe",
    "status": "success"
}

Verify Cedula Fiscal ​

Validación de Cédula de Identificación Fiscal (Constancia de Situación Fiscal) utilizando algoritmos de reconocimiento de imagen y extracción de datos.

Datos extraídos ​

Podemos obtener los siguientes datos por separado:

#Dato
1Nombre
2CURP
3RFC
4Status
5Email
6Régimen
7Dirección
8URL del SAT

Request Body ​

NombreTipo de DatoDescripción
fileMultipart/FormEl documento JPG o PNG de la cédula fiscal (MAX 1MB)

POST /api/taxidletter

Request ​

bash
curl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/taxidletter"
http
POST %7B%7Befirma_url%7D%7D/api/taxidletter HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

Status: 200 OK

json
{
    "name": "XXXXXXXXX",
    "curp": "",
    "rfc": "XXXXXXXXX",
    "status": "XXXXXXXXX",
    "email": "XXXXXtest@efirma.com",
    "class": "XXXXXXXXX",
    "address": {
        "street": "XXXXXXXXX",
        "number": "XXXXXXXXX",
        "interior_number": "",
        "colony": "XXXXXXXXX XXXXXXXXX",
        "municipality": "XXXXXXXXX",
        "state": "XXXXXXXXX",
        "zip": "XXXXXXXXX"
    },
    "sat_url": "https://siat.sat.gob.mx/a/XXXXXXXXX"
}

Verify Cedula Fiscal by URL ​

Utilizando la URL de validación de la Cédula Fiscal obtenida previamente, podemos validar y obtener los datos fiscales directamente desde el SAT.

Request Body ​

NombreTipo de DatoDescripción
urlStringURL de validación de la Cédula Fiscal

Datos obtenidos ​

#Dato
1Nombre
2CURP
3RFC
4Status
5Email
6Régimen
7Dirección
8URL del SAT

POST /api/taxidlettervalidationurl

Request ​

bash
curl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/taxidlettervalidationurl"
http
POST %7B%7Befirma_url%7D%7D/api/taxidlettervalidationurl HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

Status: 200 OK

json
{
    "name": "XXXXXXXXX",
    "curp": "",
    "rfc": "XXXXXXXXX",
    "status": "XXXXXXXXX",
    "email": "XXXXXtest@efirma.com",
    "class": "XXXXXXXXX",
    "address": {
        "street": "XXXXXXXXX",
        "number": "XXXXXXXXX",
        "interior_number": "",
        "colony": "XXXXXXXXX XXXXXXXXX",
        "municipality": "XXXXXXXXX",
        "state": "XXXXXXXXX",
        "zip": "XXXXXXXXX"
    },
    "sat_url": "https://siat.sat.gob.mx/a/XXXXXXXXX"
}

Validate Address ​

Validación de comprobante de domicilio de la Comisión Federal de Electricidad (CFE) utilizando algoritmos de reconocimiento de imagen y extracción de datos.

Respuesta Asíncrona

La respuesta generada por este método no será inmediata, por lo que se le solicitará un endpoint/webhook/callback a donde enviarle la información procesada.

Datos extraídos ​

Podemos obtener los siguientes datos del comprobante CFE:

#Dato
1Calle
2Número externo
3Número interno
4Colonia
5Municipio
6Estado
7Código Postal
8Identificador de Medidor
9Número de Contrato

Request Body ​

NombreTipo de DatoDescripción
fileMultipart/FormEl documento PDF, JPG o PNG del comprobante de domicilio (MAX 3MB)
dataStringJSON con el siguiente formato: {"callback_url":"<< ENDPOINT DONDE ENTREGAR LA INFORMACIÓN >>"}

POST /api/kyc/upload-address-voucher

Request ​

bash
curl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/kyc/upload-address-voucher"
http
POST %7B%7Befirma_url%7D%7D/api/kyc/upload-address-voucher HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

Status: 200 OK

json
{
    "address_voucher": {
        "address_data": {
            "street": "",
            "number": "",
            "interior_number": "",
            "colony": "",
            "municipality": "",
            "state": "",
            "zip": ""
        },
        "date_time": "0001-01-01T00:00:00Z",
        "reason": "razon de rechazo",
        "id": ""
    },
    "verified": true,
    "status": "Rejected",
    "reason": "razon de rechazo"
}

Validate CURP ​

Validación de la Clave Única de Registro de Población (CURP) mediante un proceso de verificación en dos pasos:

Proceso de validación ​

PasoDescripción
1Verificación de códigos y estándares - Se validan los códigos y estándares de emisión conforme a la normativa mexicana de asignación de CURP
2Verificación ante Registro Civil - Se valida que la CURP se encuentra registrada con un Acta de Nacimiento ante el estado correspondiente

GET /api/validate/curp/:curp

Request ​

bash
curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/validate/curp/:curp"
http
GET %7B%7Befirma_url%7D%7D/api/validate/curp/:curp HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

Status: 200 OK

json
{
    "valid": false,
    "person": {
        "name": "",
        "parsed_name": {
            "first_name": "",
            "middle_name": "",
            "last_name_1": "",
            "last_name_2": ""
        },
        "curp": "",
        "birthyear": "",
        "birthmonth": "",
        "birthday": "",
        "gender": "",
        "nationality": "",
        "state": "",
        "rfc": "",
        "active_esignature": false,
        "certificates": null
    },
    "message": "No hay un acta de nacimiento asociada a la CURP capturada. Por favor verifica que hayas ingresado el dato correctamente o comunícate a nuestro centro de atención."
}

Validate RFC ​

Validación del Registro Federal de Contribuyentes (RFC) mediante consulta directa a la base de datos de la Secretaría de Hacienda y Crédito Público (SHCP).

Métodos de validación ​

MétodoDescripción
1Certificados expedidos - Se verifica si la persona se encuentra registrada para emitir facturas
2Cédula fiscal / Listas públicas - Se compara con la cédula fiscal o listas emitidas por la secretaría para consultas públicas

GET /api/validate/rfc/:rfc

Request ​

bash
curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/validate/rfc/:rfc"
http
GET %7B%7Befirma_url%7D%7D/api/validate/rfc/:rfc HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

NombreTipo de DatoDescripción
validBoolEstatus del RFC ante la Secretaría de Hacienda y Crédito Público
organizationOrganizaciónDatos de la organización

Status: 200 OK

json
{
    "valid": true,
    "organization": {
        "names": [
            "EFIRMA PUNTO COM S A P I DE CV"
        ],
        "rfc": "EPC180509TV5",
        "active_esignature": true,
        "certificates": [
            {
                "owner": "LEVJXXXXXXXZN06",
                "serial": "00001000000411050484",
                "active": true
            }
        ]
    }
}

Validate RFC Format ​

Validación del formato del Registro Federal de Contribuyentes (RFC) mediante consulta a la base de datos de la Secretaría de Hacienda y Crédito Público (SHCP).

Métodos de validación ​

MétodoDescripción
1Certificados expedidos - Se verifica si la persona se encuentra registrada para emitir facturas
2Cédula fiscal / Listas públicas - Se compara con la cédula fiscal o listas emitidas por la secretaría para consultas públicas

GET /api/validate/rfc-format/:rfc

Request ​

bash
curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/validate/rfc-format/:rfc"
http
GET %7B%7Befirma_url%7D%7D/api/validate/rfc-format/:rfc HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}

Response ​

NombreTipo de DatoDescripción
validBoolIndica si el RFC cumple con el formato de formación de un RFC
organizationOrganizaciónDatos de la organización (solo en caso de que existan)
messageStringUn mensaje sobre el RFC

Status: 200 OK

json
{
    "valid": true,
    "organization": {
        "names": [
            "EFIRMA PUNTO COM S A P I DE CV"
        ],
        "rfc": "EPC180509TV5",
        "active_esignature": true,
        "certificates": [
            {
                "owner": "LEVJ900205HBCXZN06",
                "serial": "00001000000411050484",
                "active": true
            }
        ]
    }
}
json
{
    "valid": false,
    "message": "No se encontraron certificados ligados a este RFC, la composición del RFC es inválida"
}
json
{
    "valid": true,
    "organization": {
        "names": null,
        "rfc": "AEO900157LA4",
        "active_esignature": false,
        "certificates": null
    },
    "message": "No se encontraron certificados ligados a este RFC, la composición del RFC es válida"
}

Validate Email ​

Nos permite corroborar la veracidad de una cuenta de correo electrónico.

Request Body ​

NombreTipo de DatoDescripción
emailStringLa cuenta de email a consultar

POST /api/validate/email

Request ​

bash
curl -X POST -H "Content-Type: application/json" -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" -d '{"email" : "test@efirma.com"}' "https://efirma.com/api/validate/email"
http
POST %7B%7Befirma_url%7D%7D/api/validate/email HTTP/1.1
Host:
Content-Type: application/json
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}
{"email" : "test@efirma.com"}

Response ​

NombreTipo de DatoDescripción
validBoolIndica si fue posible contactar al correo para verificar que exista
genericBoolIndica si es un correo genérico (ej: Gmail, Hotmail, Outlook)
emailStringEl email consultado

Status: 200 OK

json
{
    "valid": true,
    "email": "soporte@efirma.com"
}
json
{
    "valid": true,
    "generic": true,
    "email": "juanperez@gmail.com"
}
json
{
    "valid": false,
    "message": "Address does not exists in hostname or is unreachable.",
    "email": "gilberto.guerrero80@hotmail.com"
}

Búsqueda de Sanciones ​

Permite realizar una búsqueda de sanciones asociadas a una persona o entidad en diversas listas de control.

Request Body ​

NombreTipo de DatoDescripción
uidStringIdentificador único (CURP, RFC, etc.)
nameStringNombre de la persona o entidad a consultar

POST /api/sanctions/search

Request ​

bash
curl --location --request POST 'https://efirma.com/api/sanctions/search' \--header 'X-eFirma-Auth: {"uid":"","key":""}' \--header 'Content-Type: application/json' \--data-raw '{"uid":"","name":""}'
http
POST /api/sanctions/search HTTP/1.1
Host: efirma.com
X-eFirma-Auth: {"uid":"","key":""}
Content-Type: application/json

{"uid":"","name":""}

Tipos de Sanciones ​

CódigoDescripción
mx_sat_69Lista de contribuyentes incumplidos del SAT (Art. 69)
ofacOffice of Foreign Assets Control (Lista OFAC de EE.UU.)
mx_pepPersonas Políticamente Expuestas en México

Response ​

La información regresada será un objeto JSON sanctions, donde las sanciones pueden variar dependiendo del tipo de sanción encontrada.

Status: 200 OK

json
   {
    "sanctions": [
        {
            "stype": "mx_sat_69",
            "sanction": {
                "rfc": "Loremi156psum ",
                "legalname": "Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quos, quasi.",
                "type": "F",
                "reason": "XXXXXX",
                "first_publishdate": "1/12/XXXXXX"
            }
        },
        {
            "stype": "ofac",
            "sanction": {
                "OFACUniqueId": 9679,
                "FullName": "Lorem, ipsum dolor sit ",
                "Name": "Lorem, ipsum.",
                "Lname": "Lorem",
                "Type": "individual",
                "Program": "xx-PLC",
                "Title": "",
                "Call_Sign": "",
                "Vess_Type": "",
                "Tonnage": "",
                "GRT": "",
                "Vess_Flag": "",
                "Vess_Owner": "",
                "Remarks": "xx 1955; xx - xx.",
                "Addresses": [
                    {
                        "OFACUniqueId": xx,
                        "AddressId": xxx,
                        "Address": "",
                        "City": "",
                        "Country": "",
                        "Remarks": ""
                    }
                ],
                "Aliases": [
                    {
                        "OFACUniqueId": xxxx,
                        "AliasId": 9xxx1s5,
                        "Type": "aka",
                        "Name": "xx, xx x",
                        "Remarks": ""
                    }
                ]
            }
        },
      
       
]
}