KYC [ PRO ]
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 contacto | Información |
|---|---|
| ventas@efirma.com | |
| 💼 Ventas | Comuní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
POST /api/kyc/requestcurl -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" 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.
GET /api/kyc/request/:idcurl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/kyc/request/:id"GET %7B%7Befirma_url%7D%7D/api/kyc/request/:id HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}Response
{
"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.
GET /api/kyc/requests/ curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/kyc/requests/"GET %7B%7Befirma_url%7D%7D/api/kyc/requests/ HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}[
{
"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
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"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
{
"status": "success"
}Download Report Documents
Nos permitirá descargar los documentos del KYC.
GET /api/kyc/download/:id
Request
curl -X GET -H 'X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}' "https://efirma.com/api/kyc/download/:id"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 |
|---|---|
| 1 | Nombre |
| 2 | Apellidos |
| 3 | CURP |
| 4 | Fecha de Nacimiento |
| 5 | Clave de Elector |
| 6 | Folio de identificación |
| 7 | Dirección |
| 8 | Estado |
| 9 | Municipio |
| 10 | Localidad Electoral |
| 11 | Sección Electoral |
| 12 | Fecha de Emisión de la identificación |
| 13 | Fecha de Vigencia de la identificación |
Request Body
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| file | Multipart/Form | El documento JPG o PNG del documento de identidad (MAX 3MB) |
POST /api/idcard/verifycurl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/idcard/verify"POST %7B%7Befirma_url%7D%7D/api/idcard/verify HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}Response
{
"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"
}{
"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"
}{
"message": "No fué posible extraer los datos de la parte inferior de la credencial, reajusta el marco de la imagen.",
"status": "error"
}{
"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:
| # | Dato | Descripción |
|---|---|---|
| 1 | Razón Social | Nombre legal de la empresa |
| 2 | Número de Acta | Identificador del acta constitutiva |
| 3 | Fedatario Público | Notario 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:
| Dato | Persona Moral | Persona 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
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| file | Multipart/Form | El documento PDF del Acta Constitutiva |
| data | String | JSON 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
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"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
{
"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"
}POST /api/inclettercurl -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"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
{
"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 |
|---|---|
| 1 | Nombre |
| 2 | CURP |
| 3 | RFC |
| 4 | Status |
| 5 | |
| 6 | Régimen |
| 7 | Dirección |
| 8 | URL del SAT |
Request Body
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| file | Multipart/Form | El documento JPG o PNG de la cédula fiscal (MAX 1MB) |
POST /api/taxidletter
Request
curl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/taxidletter"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
{
"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
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| url | String | URL de validación de la Cédula Fiscal |
Datos obtenidos
| # | Dato |
|---|---|
| 1 | Nombre |
| 2 | CURP |
| 3 | RFC |
| 4 | Status |
| 5 | |
| 6 | Régimen |
| 7 | Dirección |
| 8 | URL del SAT |
POST /api/taxidlettervalidationurl
Request
curl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/taxidlettervalidationurl"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
{
"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 |
|---|---|
| 1 | Calle |
| 2 | Número externo |
| 3 | Número interno |
| 4 | Colonia |
| 5 | Municipio |
| 6 | Estado |
| 7 | Código Postal |
| 8 | Identificador de Medidor |
| 9 | Número de Contrato |
Request Body
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| file | Multipart/Form | El documento PDF, JPG o PNG del comprobante de domicilio (MAX 3MB) |
| data | String | JSON con el siguiente formato: {"callback_url":"<< ENDPOINT DONDE ENTREGAR LA INFORMACIÓN >>"} |
POST /api/kyc/upload-address-voucher
Request
curl -X POST -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/kyc/upload-address-voucher"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
{
"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
| Paso | Descripción |
|---|---|
| 1 | Verificació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 |
| 2 | Verificació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
curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/validate/curp/:curp"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
{
"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étodo | Descripción |
|---|---|
| 1 | Certificados expedidos - Se verifica si la persona se encuentra registrada para emitir facturas |
| 2 | Cé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
curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/validate/rfc/:rfc"GET %7B%7Befirma_url%7D%7D/api/validate/rfc/:rfc HTTP/1.1
Host:
X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}Response
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| valid | Bool | Estatus del RFC ante la Secretaría de Hacienda y Crédito Público |
| organization | Organización | Datos de la organización |
Status: 200 OK
{
"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étodo | Descripción |
|---|---|
| 1 | Certificados expedidos - Se verifica si la persona se encuentra registrada para emitir facturas |
| 2 | Cé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
curl -X GET -H "X-eFirma-Auth: {"uid":"UID_EFIRMA","key":"KEY_EFIRMA"}" "https://efirma.com/api/validate/rfc-format/:rfc"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
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| valid | Bool | Indica si el RFC cumple con el formato de formación de un RFC |
| organization | Organización | Datos de la organización (solo en caso de que existan) |
| message | String | Un mensaje sobre el RFC |
Status: 200 OK
{
"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
}
]
}
}{
"valid": false,
"message": "No se encontraron certificados ligados a este RFC, la composición del RFC es inválida"
}{
"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
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| String | La cuenta de email a consultar |
POST /api/validate/email
Request
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"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
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| valid | Bool | Indica si fue posible contactar al correo para verificar que exista |
| generic | Bool | Indica si es un correo genérico (ej: Gmail, Hotmail, Outlook) |
| String | El email consultado |
Status: 200 OK
{
"valid": true,
"email": "soporte@efirma.com"
}{
"valid": true,
"generic": true,
"email": "juanperez@gmail.com"
}{
"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
| Nombre | Tipo de Dato | Descripción |
|---|---|---|
| uid | String | Identificador único (CURP, RFC, etc.) |
| name | String | Nombre de la persona o entidad a consultar |
POST /api/sanctions/search
Request
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":""}'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ódigo | Descripción |
|---|---|
mx_sat_69 | Lista de contribuyentes incumplidos del SAT (Art. 69) |
ofac | Office of Foreign Assets Control (Lista OFAC de EE.UU.) |
mx_pep | Personas 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
{
"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": ""
}
]
}
},
]
}