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": ""
                    }
                ]
            }
        },
      
       
]
}