Blacklist para Android
Empezando
Para proceder, es indispensable generar una clave API con un tiempo de expiración definido.
Este proceso puede completarse fácilmente mediante el panel de administrado. Esto garantiza un acceso seguro y gestionado a los recursos necesarios durante el tiempo estipulado.
Para más detalles, consulta la documentación específica de cada método disponible a través de los siguientes enlaces:
- Generación de clave API el panel de administrador API Keys Panel de Administrador
Puedes hacer uso de dos funcionalidades:
- Integra con KYC de JAAK: Utilizando las cabeceras y llaves de acceso de KYC podrás enlazar el producto a tu flujo de KYC.
- Manéjalo de manera individual: Utilizando una llave API, utiliza blacklist para investigar u validar identidades.
Utilizando el servicio
1. Obtén un Api Key
Para proceder, es indispensable generar una clave API con un tiempo de expiración definido.
Este proceso puede completarse fácilmente mediante el panel de administrado. Esto garantiza un acceso seguro y gestionado a los recursos necesarios durante el tiempo estipulado.
Para más detalles, consulta la documentación específica de cada método disponible a través de los siguientes enlaces:
- Generación de clave API el panel de administrador API Keys Panel de Administrador
2. Utiliza el servicio
Una vez cuentes con tu API Key podrás utilizar el servicio de Blacklist, realizando una petición tipo post e ingresando los valores correspondientes a la búsqueda de identidad deseada.
@POST("api/v2/blacklist/investigate")
suspend fun blacklistInvestigate(@Header("Authorization") auth: String,
@Body request: BlacklistInvestigateRequest): Response<BlacklistInvestigateResponse>
Agrega localización
Si deseas agregar localización a la ejecución del evento agrega las cabeceras **Longitude
** y **Latitude
** con los valores numericos de la ubicación de la cual se esta ejecutando tu petición.
@POST("api/v2/blacklist/investigate")
suspend fun blacklistInvestigate(@Header("Authorization") auth: String,
@Header("Latitude") latitude: String, @Header("Longitude") longitude: String,
@Body request: BlacklistInvestigateRequest): Response<BlacklistInvestigateResponse>
Investigar
POST basePath/api/v2/blacklist/investigate
Este endpoint valida el servicio especificado dentro de sus parámetros. A continuación, encuentra las solicitudes para cada servicio, formando parte de una consulta general.
Para utilizar este endpoint dentro de KYC utiliza tu token de acceso KYC como la cabecera
Authorization: Bearer <token_kyc>
Servicios Activos
El servicio API de Blacklist se extiende para abarcar la verificación en varios servicios relacionados.
-
Listas Negras:
- SAT69B (MEX)
- Interpol
- OFAC
-
Verificación de Identificación:
- INE (MEX)
- RENAPO CURP (MEX)
-
Chequeo de Información de Crédito (MEX):
- Informe de Crédito Consolidado del Círculo de Crédito + FICO® Score Individuos (BETA)
Detalles Generales
Describe la estructura de solicitud para nuestra API. Las consultas varían según la propiedad del servicio que indique qué repositorio de datos verificar.
📝 Note: Los tiempos de respuesta pueden variar para cada servicio.
En la sección "Extras", verás un esquema JSON que indica los países soportados y sus detalles. Países Soportados
Descripción de la Solicitud
Petición
@POST("api/v2/blacklist/investigate")
suspend fun blacklistInvestigate(@Header("Authorization") auth: String,
@Body request: BlacklistInvestigateRequest): Response<BlacklistInvestigateResponse>
data class BlacklistInvestigateRequest(
@SerializedName("ine") val ine: Boolean,
@SerializedName("interpol") val interpol: Boolean,
@SerializedName("ofac") val ofac: Boolean,
@SerializedName("renapo") val renapo: Renapo,
@SerializedName("sat") val sat: Sat,
@SerializedName("cdc") val cdc: Cdc
)
data class Renapo(
@SerializedName("curp") val curp: Boolean
)
data class Sat(
@SerializedName("sat69b") val sat69b: Boolean
)
data class Cdc(
@SerializedName("rccFico") val rccFico: Boolean
)
data class Payload(
@SerializedName("person") val person: Person,
@SerializedName("address") val address: Address,
@SerializedName("identifications") val identifications: Identifications,
@SerializedName("extras") val extras: Extras
)
data class Person(
@SerializedName("name") val name: String,
@SerializedName("secondName") val secondName: String,
@SerializedName("lastName") val lastName: String,
@SerializedName("secondLastName") val secondLastName: String,
@SerializedName("birthDate") val birthDate: String,
@SerializedName("nationality") val nationality: String,
@SerializedName("additionalLastName") val additionalLastName: String
)
data class Address(
@SerializedName("address") val address: String,
@SerializedName("neighborhood") val neighborhood: String,
@SerializedName("municipality") val municipality: String,
@SerializedName("city") val city: String,
@SerializedName("state") val state: String,
@SerializedName("postalCode") val postalCode: String
)
data class Identifications(
@SerializedName("curp") val curp: String,
@SerializedName("rfc") val rfc: String,
@SerializedName("socialSecurityNumber") val socialSecurityNumber: String,
@SerializedName("electorKey") val electorKey: String,
@SerializedName("ine") val ine: Ine
)
data class Ine(
@SerializedName("cic") val cic: String,
@SerializedName("ocr") val ocr: String
)
data class Extras(
@SerializedName("commonId") val commonId: String,
@SerializedName("wantedIn") val wantedIn: String
)
Parámetros de la petición
Parámetros de Servicios
Categoría | Parámetro | Descripción |
---|---|---|
eventId | example_event_id | Identificador único del evento. |
services | ine | Booleano que indica si verificar la información en el Instituto Nacional Electoral (INE). |
interpol | Booleano que indica si verificar la información en la base de datos de Interpol. | |
ofac | Booleano que indica si verificar la información en la lista de la Oficina de Control de Activos Extranjeros (OFAC). | |
renapo | Objeto que contiene parámetros relacionados con la verificación en el Registro Nacional de Población. | |
sat | Objeto que contiene parámetros relacionados con la verificación en el Servicio de Administración Tributaria. | |
cdc | Objeto que contiene parámetros relacionados con la verificación en el Centro de Datos de Crédito. |
Parámetros de Payload
Categoría | Parámetro | Descripción |
---|---|---|
payload | person | Objeto que contiene información personal de la persona a verificar. |
address | Objeto que contiene información sobre la dirección de la persona. | |
identifications | Objeto que contiene información sobre las identificaciones de la persona. | |
extras | Objeto que contiene información adicional. |
Parámetros de Persona
Categoría | Parámetro | Descripción |
---|---|---|
person | name | Nombre de la persona. |
secondName | Segundo nombre de la persona. | |
lastName | Primer apellido de la persona. | |
secondLastName | Segundo apellido de la persona. | |
birthDate | Fecha de nacimiento de la persona. | |
nationality | Nacionalidad de la persona. | |
additionalLastName | Apellido adicional de la persona. |
Parámetros de Dirección
Categoría | Parámetro | Descripción |
---|---|---|
address | address | Dirección de la persona. |
neighborhood | Barrio de la persona. | |
municipality | Municipio de la persona. | |
city | Ciudad de la persona. | |
state | Estado o provincia de la persona. | |
postalCode | Código postal de la persona. |
Parámetros de Identificaciones
Categoría | Parámetro | Descripción |
---|---|---|
identifications | curp | Número de Clave Única de Registro de Población (CURP) de la persona. |
rfc | Número de Registro Federal de Contribuyentes (RFC) de la persona. | |
socialSecurityNumber | Número de Seguridad Social de la persona. | |
electorKey | Clave de Elector de la persona. | |
ine | Objeto que contiene información relacionada con la credencial del Instituto Nacional Electoral (INE). |
Parámetros del INE
📝 Nota: En la sección "Datos adicionales", verás cómo encontrar los parámetros CIC y OCR en una identificación INE. Credencial INE
Categoría | Parámetro | Descripción |
---|---|---|
ine | cic | Código de identificación de la credencial INE. |
ocr | Número Oficial de Identificación (OCR) de la credencial INE. |
Parámetros Adicionales
Categoría | Parámetro | Descripción |
---|---|---|
extras | commonId | Identificador común adicional. |
wantedIn | País donde se busca al individuo. |
Respuesta
{
"statusCode": "integer", // Tipo: Int
"eventId": "string", // Tipo: String
"elapsedTime": "double", // Tipo: Double
"message": "string", // Tipo: String
"found": "boolean", // Tipo: Boolean
"result": "object" // Tipo: Object (dependiendo del contenido de 'result')
}
data class BlacklistInvestigateResponse(
@SerializedName("statusCode") val statusCode: Int,
@SerializedName("eventId") val eventId: String,
@SerializedName("elapsedTime") val elapsedTime: Double,
@SerializedName("message") val message: String,
@SerializedName("found") val found: Boolean,
@SerializedName("result") val result: Any // Dependiendo del contenido de 'result', podrías reemplazar 'Any' con una clase más específica.
)
Parámetros de la respuesta
Parámetro | Descripción |
---|---|
statusCode | Código de estado de la respuesta HTTP. |
eventId | Identificador único del evento. |
elapsedTime | Tiempo transcurrido en segundos para procesar la solicitud. |
message | Mensaje que describe el resultado de la solicitud. |
found | Booleano que indica si se encontraron resultados. |
result | Contenido dinámico que puede tener diversas estructuras según el contexto. |
Ejemplos de Solicitudes
INE: Esta definición nos guía a como solicitar el servicio de verificación de identificación del INE para confirmar identidades en México.
ℹ️ Para conocer las propiedades de una identificacion tipo INE dirigete a la seccions Credencial INE
Considera los parámetros para esta verificación como los indicados en el siguiente esquema:
# Solicitud
{
"eventId": "example_event_id",
"services": {
"ine": true
},
"payload": {
"identifications": {
"ine": {
"cic": "233763295", // requerido
"ocr": "0859117383550" // requerido
}
}
}
}
# Respuesta
{
"eventId": "9cf100e3-bb04-4d79-ac07-ce117be7363d",
"responseId": "",
"processTime": 6.833165645599365,
"organization": "ine",
"service": "identification",
"result": {
"identification": {
"content": {
"cicNumber": "118725314",
"federalDistrict": "29",
"issuanceNumber": "0",
"issuanceYear": "2014",
"localDistrict": "24",
"ocrNumber": "3394137824855",
"registrationYear": "2014",
"voterIdNumber": "SNCNAL95071409H600"
}
}
},
"state": {
"message": "Investigation completed successfully",
"foundInService": true,
"mustBeFound": true
}
}
Interpol: Esta definición nos guía sobre cómo realizar una solicitud al servicio de base de datos de Interpol para encontrar coincidencias de individuos no confiables.
# Solicitud
{
"eventId": "example_event_id",
"services": {
"interpol": true
},
"payload": {
"person": {
"name": "WISSEM", // requerido
"lastName": "CHIBOUNI", // requerido
"secondName": "",
"secondLastName": "",
"nationality": "FRA"
},
"extras": {
"wantedIn": "FRA" // requerido
}
}
}
# Respuesta
{
"eventId": "d159bb0c-0e00-4c4e-aa0b-0e5f4eb93ba3",
"responseId": "",
"processTime": 0.22434282302856445,
"organization": "interpol",
"service": "all",
"result": {
"0": {
"content": {
"dateOfBirth": "2005/01/29",
"entityId": "2024/19162",
"familyName": "CHIBOUNI",
"id": "66ecbc543c604bc84522d483",
"imgLinksHref": "https://ws-public.interpol.int/notices/v1/red/2024-19162",
"imgLinksImagesHref": "https://ws-public.interpol.int/notices/v1/red/2024-19162/images",
"imgLinksThumbnailHref": "https://ws-public.interpol.int/notices/v1/red/2024-19162/images/63026975",
"interpolList": "red",
"name": "WISSEM",
"nationalities": "['FR']",
"wantedBy": "FRA"
}
},
...
},
"state": {
"message": "Investigation completed successfully",
"foundInService": true,
"mustBeFound": false
}
}
OFAC: Esta definición nos guía sobre cómo realizar una solicitud al servicio de base de datos de OFAC para encontrar coincidencias de individuos no confiables.
# Solicitud
{
"eventId": "example_event_id",
"services": {
"ofac": true
},
"payload": {
"person": {
"name": "Mario", // requerido
"lastName": "Beltran", // requerido
"secondName": "",
"secondLastName": "Leyva",
},
"extras": {
"commonId": "",
"wantedIn": "MEX" // requerido
}
}
}
# Respuesta
{
"eventId": "676f440b-92b8-4e60-9d38-ac7ad90f4db1",
"responseId": "",
"processTime": 4.799860954284668,
"organization": "ofac",
"service": "coincidences",
"result": {
"0": {
"content": {
"address": " ",
"city": "",
"country": "All",
"idNumber": "",
"lookupId": "46494",
"lookupType": "Individual",
"minimumNameScore": "80",
"name": "BELTRAN ARAUJO, Mario German",
"programLists": "SDN",
"programs": "ILLICIT-DRUGS-EO14059",
"sanctionProgram": "All",
"score": "100",
"searchType": "Individual",
"state": ""
}
},
"1": {
"content": {
"address": " ",
"city": "",
"country": "All",
"idNumber": "",
"lookupId": "11726",
"lookupType": "Individual",
"minimumNameScore": "80",
"name": "BELTRAN LEYVA, Mario Alberto",
"programLists": "SDN",
"programs": "SDNTK",
"sanctionProgram": "All",
"score": "100",
"searchType": "Individual",
"state": ""
}
}
},
"state": {
"message": "Investigation completed successfully",
"foundInService": true,
"mustBeFound": false
}
}
SAT69B: Esta definición nos guía sobre cómo realizar una solicitud al servicio de base de datos de SAT para encontrar coincidencias de individuos no confiables (Servicio exclusivo para datos en México).
# Solicitud
{
"eventId": "example_event_id",
"services": {
"sat": {
"sat69b": true,
}
},
"payload": {
"person": {
"name": "GRICELDA", // requerido
"lastName": "ARAGON", // requerido
"secondLastName": "",
"secondName": ""
},
"identifications": {
"rfc": "AAAG7012036UA" // requerido
}
}
}
# Respuesta
{
"eventId": "3f5c1e15-59f9-495d-9db0-4a94a190726f",
"responseId": "",
"processTime": 0.09072279930114746,
"organization": "sat",
"service": "sat69b",
"result": {
"0": {
"content": {
"dofDefinitiveGlobalOffNumDateSat": "500-05-2018-14172 de fecha 25 de mayo de 2018",
"dofDefinitivePagePubSat": "28/06/2018",
"dofDisprovingGlobalOffNumDateSat": "nan",
"dofDisprovingPagePubSat": "nan",
"dofFavorableSentenceGlobalOffNumDateSat": "nan",
"dofFavorableSentencePagePubSat": "nan",
"dofPresumptionGlobalOffNumDateSat": "500-05-2017-38633 de fecha 31 de octubre de 2017",
"dofPresumptionPagePubSat": "15/11/2017",
"rfc": "AAAG7012036UA",
"satDefinitiveGlobalOffNumDateSat": "500-05-2018-14172 de fecha 25 de mayo de 2018",
"satDefinitivePagePubSat": "25/05/2018",
"satDisprovingGlobalOffNumDateSat": "nan",
"satDisprovingPagePubSat": "nan",
"satFavorableSentenceGlobalOffNumDateSat": "nan",
"satFavorableSentencePagePubSat": "nan",
"satPresumptionGlobalOffNumDateSat": "500-05-2017-38633 de fecha 31 de octubre de 2017",
"satPresumptionPagePubSat": "31/10/2017",
"taxpayerName": "ARAGÓN AYALA GRICELDA",
"taxpayerStatus": "Definitivo"
}
}
},
"state": {
"message": "Investigation completed successfully",
"foundInService": true,
"mustBeFound": false
}
}
CURP: Esta definición nos guía sobre cómo realizar una solicitud al servicio de verificación de identificación para una CURP dentro de la base de datos de RENAPO (Servicio exclusivo para datos en México).
# Solicitud
{
"eventId": "example_event_id",
"services": {
"renapo": {
"curp": true
}
},
"payload": {
"identifications": {
"curp": "LELD981130HGTNPG05" // requerido
}
}
}
# Respuesta
{
"eventId": "50b64a14-e32e-426a-a8d4-7d1c2792433d",
"responseId": "",
"processTime": 0.22829174995422363,
"organization": "curp",
"service": "validaCurp",
"result": {
"validaCurp": {
"content": {
"codeError": "0",
"curp": "LELD981130HGTNPG05",
"error": "False",
"errorMessage": "",
"personalDataBirthDate": "1998-11-30",
"personalDataBirthEntity": "Guanajuato",
"personalDataFirstName": "DIEGO ALBERTO",
"personalDataGender": "Hombre",
"personalDataLastName": "LEON",
"personalDataNationality": "MEX",
"personalDataSecondLastName": "LOPEZ",
"probativeDocActNumber": "229",
"probativeDocProbativeDoc": "",
"probativeDocRegistrationEntity": "Guanajuato",
"probativeDocRegistrationMunicipality": "",
"probativeDocRegistrationYear": "1999",
"valid": "True"
}
}
},
"state": {
"message": "Investigation completed successfully",
"foundInService": true,
"mustBeFound": true
}
}
Informe de Crédito Consolidado del Círculo de Crédito + FICO® Score (BETA DUMMY): Esta definición nos guía sobre cómo realizar una solicitud al servicio de consulta de información crediticia proporcionada por Círculo de Crédito (Servicio exclusivo para datos en México).
# Solicitud
{
"eventId": "example_event_id",
"services": {
"cdc": {
"rccFico": true,
}
},
"payload": {
"person": {
"name": "Jesus",
"lastName": "Serrano",
"secondLastName": "",
"secondName": "",
"additionalLastName": "",
"nationality": "",
"birthDate": ""
},
"identifications": {
"rfc": "",
"curp": "",
"socialSecurityNumber": "",
"electorKey": ""
},
"address": {
"address": "",
"neighborhood": "",
"municipality": "",
"city": "",
"state": "",
"postalCode": ""
}
}
}
# Respuesta
{
"eventId": "bab07d7e-f749-4f88-b8af-3053609d1880",
"responseId": "",
"processTime": 0,
"organization": "cdc",
"service": "rccFico",
"result": {
"additionalLastName": "",
"addressCity": "BENITO JUAREZ",
"addressGrantorsConsultationNumber": "1",
"addressGrantorsLoadNumber": "1",
"addressHighType": "1",
"addressID": "316110890",
"addressMunicipality": "LA BARCA",
"addressNeighborhood": "CENTRO",
"addressPhoneNumber": "5512345678",
"addressPostalCode": "47917",
"addressRegistrationDate": "2018-12-20",
"addressResidenceDate": "2018-12-21",
"addressSettlementType": "28",
"addressState": "JAL",
"addressStreet": "HIDALGO 32",
"addressType": "C",
"authenticationNumber": "96529",
"authenticationRequestNumber": "1519244698",
"authenticationStatus": "true",
"canCancellationDate": "2016-03-16",
"canCurrentPriority": "1",
"canHistory": "1",
"canIdentifier": "01",
"canMACANDate": "2016-03-16",
"canMRCANDate": "2016-03-16",
"canOpeningDate": "2016-03-16",
"canOriginPriority": "1",
"consultationAddressID": "316110890",
"consultationCreditAmount": "0",
"consultationCreditType": "M",
"consultationCurrencyUnit": "MX",
"consultationDate": "2020-01-09",
"consultationFolio": "386636538",
"consultationGrantorAddress": "HIDALGO 32",
"consultationGrantorKey": "CDC0001",
"consultationGrantorName": "MICROFINANCIERA",
"consultationGrantorPhone": "5512345678",
"consultationResponsibilityType": "I",
"consultationServices": "1",
"consumerDeclarations": "Inconforme con el Resultado",
"creditAccountClosingDate": "2016-04-29",
"creditAccountOpeningDate": "2018-01-20",
"creditAccountType": "F",
"creditAddressID": "316110890",
"creditAssetValuationValue": "0",
"creditCurrencyUnit": "MX",
"creditCurrentAccount": "303139149",
"creditCurrentBalance": "14714",
"creditCurrentPayment": " V",
"creditDisputedRecord": "0",
"creditGrantorKey": "CDC0001",
"creditGrantorName": "MICROFINANCIERA",
"creditGuarantee": "Seguro de vida SA de CV",
"creditLastPaymentAmount": "0",
"creditLastPaymentDate": "2018-02-20",
"creditLastPurchaseDate": "2018-02-26",
"creditLastZeroBalanceDate": "2001-01-01",
"creditLimit": "0",
"creditMaximumCredit": "25104",
"creditNumberOfOverduePayments": "0",
"creditNumberOfPayments": "2",
"creditOldestPaymentHistoryDate": "2016-03-16",
"creditOverdueBalance": "0",
"creditPaymentAmount": "6276",
"creditPaymentFrequency": "S",
"creditPaymentHistory": " V-- V",
"creditPreventionKey": "CA",
"creditRecentPaymentHistoryDate": "2016-03-16",
"creditReportDate": "2018-02-28",
"creditResponsibilityType": "I",
"creditServices": "1",
"creditTotalReportedPayments": "3",
"creditType": "PP",
"creditUpdateDate": "2016-04-30",
"creditWorstDelay": "0",
"creditWorstDelayDate": "",
"creditWorstDelayOverdueBalance": "0",
"curp": "SAZR010101HCMLNS09",
"dateOfBirth": "2001-01-01",
"dateOfDeath": "9999-01-01",
"employmentCity": "BENITO JUAREZ",
"employmentCompanyName": "MICROFINANCIERA",
"employmentCurrency": "MX",
"employmentExtension": "301",
"employmentFax": "901955791",
"employmentHiringDate": "2016-04-30",
"employmentLastDay": "2019-04-15",
"employmentMonthlySalary": "10000",
"employmentMunicipality": "LA BARCA",
"employmentNeighborhood": "CENTRO",
"employmentPhoneNumber": "5512345678",
"employmentPosition": "Administrator",
"employmentPostalCode": "47917",
"employmentState": "JAL",
"employmentStreet": "HIDALGO 32",
"employmentVerificationDate": "2019-04-15",
"firstNames": "ROBERTO",
"gender": "F",
"grantorConsultationFolio": "0000001",
"grantorKey": "API0000001",
"lastNameMaternal": "ZARAGOZA",
"lastNamePaternal": "SAHAGUN",
"maritalStatus": "D",
"messageText": "No response obtained from other SIC's",
"messageType": "2",
"nationality": "MX",
"numberOfDependents": "0",
"residence": "1",
"scoreName": "FICO",
"scoreReason1": "D8",
"scoreReason2": "E4",
"scoreReason3": "K0",
"scoreReason4": "D2",
"scoreValue": "546",
"socialSecurityNumber": "990099000099",
"taxID": "SAZR010101",
"voterID": "000000000000"
},
"state": {
"message": "Not yet implemented",
"foundInService": false,
"mustBeFound": true
}
}
Updated about 2 months ago