KYC Service Overview and Integration
Login Service
https://api-fintecheart.ado-tech.com/api/v1/auth/login
Parameters
Headers
x-accountid
: Account id
Body structure
{
"username": "username",
"password": "password"
}
Response structure
{
"success": true,
"message": "Sign in successfully",
"StatusCode": 200,
"code": "Sign in successfully",
"data": {
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiS",
"expires_in": 18000,
"refresh_expires_in": 1800,
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldU",
"token_type": "Bearer",
"not-before-policy": 0,
"session_state": "131967cb-6a34-4b63-bcd6-df52dff84cd1",
"scope": "email openid profile"
}
}
Create transaction url
https://api-fintecheart.ado-tech.com/api/v1/flowmanager/flowrequest/create
This step will require the bearer token got in the login request as authorization parameter
Parameters
headers
x-accountid
: Account id
body structure
{
"documentType": "1",
"documentNumber": "1234097206",
"flowType": "1",
"riskAmount": 123,
"callBackUrl": "https://www.google.com"
}
WebHook for data transfering
There must be a login
service for authentication and a push
service to transfer the data.
Login
Parameters
The data must be received as a x-www-form-urlencoded
client_id
client_secret
grant_type
Response structure
{
"access_token": "eyJhbGciOiJSUzI1NiIIiA6ICJ6eFB3...",
"expires_in": 300,
"refresh_expires_in": 0,
"token_type": "Bearer",
"not-before-policy": 0,
"scope": "email profile"
}
Push
Parameters
This is the JSON structure with the transaction data
{
"Uid": "hba7gasd-785c-410e-80a4-27cb82215956",
"key": "jdfys9d8y7fs87dyfs8dhjd",
"StartingDate": "2023-09-07T10:55:26.603",
"CreationDate": "2023-09-07T10:55:47.99",
"CreationIP": "156.09.97.2",
"DocumentType": 1,
"IdNumber": "1238657888",
"FirstName": "Nombre",
"SecondName": "Nombre",
"FirstSurname": "Apellido",
"SecondSurname": "Apellido",
"Gender": "G" // M or F
"BirthDate": "2002-08-30T00:00:00",
"PlaceBirth": place of birth,
"ExpeditionCity": null,
"ExpeditionDepartment": null,
"BirthCity": null,
"BirthDepartment": null,
"TransactionType": 1,
"TransactionTypeName": "Enroll",
"IssueDate": "2020-09-03T00:00:00",
"TransactionId": "125",
"ProductId": "1",
"ComparationFacesSuccesful": false,
"FaceFound": false,
"FaceDocumentFrontFound": false,
"BarcodeFound": false,
"ResultComparationFaces": 0.0,
"ComparationFacesAproved": false,
"Extras": {
"IdState": "4",
"StateName": "State description"
},
"NumberPhone": null,
"CodFingerprint": null,
"ResultQRCode": null,
"DactilarCode": null,
"ReponseControlList": null,
"Images": [],
"SignedDocuments": [],
"Scores": [
{
"Id": 4,
"UserName": null,
"StateName": "State description",
"StartingDate": "0001-01-01T00:00:00",
"Observation": null
}
],
"Response_ANI": null,
"Parameters": null
}
Before transaction starts
Before starting each transaction, it is necessary to consume the FindByNumberIdSuccess service to verify the enrollment of a document number. This service is crucial because it allows us to define the flow to follow in order to verify the person's identity. In this process, the FindByNumberIdSuccess service searches for information related to a specific document number, confirming whether the person associated with that document is properly enrolled or not.
/api/{projectName}/FindByNumberIdSuccess
Parameters
projectName
: The assigned project nameapiKey
: The key assigned to the projectidentification
: The client's identification numberdocType
: Type of document to be queriedreturnImages
: Determine if the images from the transaction will be returnedenrol
: Default value : falseAuthorization
: OAuth validation token
Responses
200 - Successful query
{
"Uid": "string",
"StartingDate": "2024-10-08T19:17:13.860Z",
"CreationDate": "2024-10-08T19:17:13.860Z",
"CreationIP": "string",
"DocumentType": 0,
"IdNumber": "string",
"FirstName": "string",
"SecondName": "string",
"FirstSurname": "string",
"SecondSurname": "string",
"Gender": "string",
"BirthDate": "2024-10-08T19:17:13.860Z",
"Street": "string",
"CedulateCondition": "string",
"Spouse": "string",
"Home": "string",
"MaritalStatus": "string",
"DateOfIdentification": "2024-10-08T19:17:13.860Z",
"DateOfDeath": "2024-10-08T19:17:13.860Z",
"MarriageDate": "2024-10-08T19:17:13.860Z",
"Instruction": "string",
"PlaceBirth": "string",
"Nationality": "string",
"MotherName": "string",
"FatherName": "string",
"HouseNumber": "string",
"Profession": "string",
"ExpeditionCity": "string",
"ExpeditionDepartment": "string",
"BirthCity": "string",
"BirthDepartment": "string",
"TransactionType": 0,
"TransactionTypeName": "string",
"IssueDate": "string",
"BarcodeText": "string",
"OcrTextSideOne": "string",
"OcrTextSideTwo": "string",
"SideOneWrongAttempts": 0,
"SideTwoWrongAttempts": 0,
"FoundOnAdoAlert": true,
"AdoProjectId": "string",
"TransactionId": "string",
"ProductId": "string",
"ComparationFacesSuccesful": true,
"FaceFound": true,
"FaceDocumentFrontFound": true,
"BarcodeFound": true,
"ResultComparationFaces": 0,
"ResultCompareDocumentFaces": 0,
"ComparationFacesAproved": true,
"ThresholdCompareDocumentFaces": 0,
"CompareFacesDocumentResult": "string",
"Extras": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"NumberPhone": "string",
"CodFingerprint": "string",
"ResultQRCode": "string",
"DactilarCode": "string",
"ReponseControlList": "string",
"Latitude": "string",
"Longitude": "string",
"Images": [
{
"Id": 0,
"ImageTypeId": 0,
"ImageTypeName": "string",
"Image": "string",
"DownloadCode": "string"
}
],
"SignedDocuments": [
"string"
],
"Scores": [
{
"Id": 0,
"UserName": "string",
"StateName": "string",
"CausalRejectionName": "string",
"StartingDate": "2024-10-08T19:17:13.860Z",
"Observation": "string"
}
],
"Response_ANI": {
"Niup": "string",
"FirstSurname": "string",
"Particle": "string",
"SecondSurname": "string",
"FirstName": "string",
"SecondName": "string",
"ExpeditionMunicipality": "string",
"ExpeditionDepartment": "string",
"ExpeditionDate": "string",
"CedulaState": "string"
},
"Parameters": "string",
"StateSignatureDocument": true,
"SessionId": "string",
"CustomerIdFromClient": "string",
"ProcessId": "string",
"DocumentTypeFromClient": 0,
"IdNumberFromClient": "string",
"NotEnrolledForComparisonWithClientData": true
}
Unenrolled client
/api/{projectName}/GetConfig
Parameters
projectName
: The assigned project nameapiKey
: The key assigned to the projectproductId
Message
: Information for event logging
Responses
200 - Configuration results
{ "TryLiveness": 0, "Token_KYC": "string", "UrlServiceOCR": "string", "UrlServiceLiveness": "string", "UrlNewServiceLiveness": "string", "UrlServiceLivenessV3": "string", "UrlUiLivenessV3": "string", "CodeTransactionLivenessV3": "string", "ConfigFileLiveness": "string", "ConfigGeneralFileLiveness": "string", "LivenessThreshold": "string", "TypeLiveness": 0, "ProjectName": "string", "ApiKey": "string", "Base_Uri": "string", "TryOcr": 0, "GetGeoreference": 0, "GetToken": "string", "SecondCamera": true, "Web": true, "Android": true, "IOS": true, "Web_Component": true, "Android_Component": true, "IOS_Component": true, "MethodOfCaptureFingers": 0, "UseCardCaptureOnline": true, "UrlCardCapture": "string", "AttepmtsCardCapture": 0, "GetFacialFeatures": true, "CardCaptureType": 0, "UrlCardCaptureV2": "string", "TraceUrl": "string", "RequireCameraPermission": true, "RequireLocationPermission": true, "ConfigurationUI": { "LivenessUI": { "Id": 0, "LookLeftText": "string", "LookRightText": "string", "Lo