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", "LookAtCenterText": "string", "InitialAlignFaceText": "string", "OngoingAlignFaceText": "string", "MultipleFacesFoundText": "string", "GetFurtherText": "string", "ComeCloserText": "string", "ProcessingDataText": "string", "SessionEndedSuccessfullyText": "string", "FaceIlluminationTooBrightText": "string", "FaceIlluminationTooDarkText": "string", "BadFaceFocusText": "string", "FacePositionNotStableText": "string", "UnderlineColorResource": "string", "LoaderColorResource": "string", "BackArrowColorResource": "string", "DirectingArrowsColor": "string", "SuccessSignColor": "string", "SuccessSignBackgroundColor": "string", "InstructionsPosition": 0, "DirectionSignShape": 0, "BackButtonShape": 0, "BackButtonSide": 0 }, "CardCaptureUI": { "Id": 0, "CaptureFrontInstructionsText": "string", "CaptureBackInstructionsText": "string", "MainColor": "string", "BackArrowColor": "string", "InstructionsColor": "string", "InstructionsBackgroundColor": "string", "BackArrowShape": 0, "InstructionsPosition": 0, "BackArrowSide": 0 } } }Lo
/api/Integration/{projectName}/Validation/New
Parameters
transactionInfo (body): The data of the new transactionapiKey (header): The key assigned to the projectprojectName (path): The assigned project nameAuthorization (header): OAuth validation token
Body example
{ "ProductId": 0, "CustomerPhoto": "string", "DocumentType": "string", "longitude": "string", "Latitude": "string", "IdAssociated": "string", "ClientRole": "string", "KeyProcessLiveness": "string", "UIdDevice": "string", "IdUser": 0, "SourceDevice": 0, "SdkVersion": "string", "OS": "string", "BrowserVersion": "string", "IMEI": "string", "RiskId": "string", "OriginTransactionId": "string", "Score": "string", "UserName": "string", "ProjectName": "string", "SessionId": "string", "CustomerIdFromClient": "string", "ProcessId": "string", "DocumentTypeFromClient": 0, "IdNumberFromClient": "string", "Uid": "string" }
Responses
200 - The transaction has been successfully initiated. An object with associated information is returned
201 - Facial recognition has been successful. An object is returned with information about the created transaction, including the unique transaction number
{ "Uid": "string", "StartingDate": "2024-10-08T19:48:17.558Z", "CreationDate": "2024-10-08T19:48:17.558Z", "CreationIP": "string", "DocumentType": 0, "IdNumber": "string", "FirstName": "string", "SecondName": "string", "FirstSurname": "string", "SecondSurname": "string", "Gender": "string", "BirthDate": "2024-10-08T19:48:17.558Z", "Street": "string", "CedulateCondition": "string", "Spouse": "string", "Home": "string", "MaritalStatus": "string", "DateOfIdentification": "2024-10-08T19:48:17.558Z", "DateOfDeath": "2024-10-08T19:48:17.558Z", "MarriageDate": "2024-10-08T19:48:17.558Z", "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:48:17.558Z", "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 }
/api/Integration/{projectName}/Validation/Images/DocumentFrontSide
Parameters
sideOneInfo (body): The image encoded in base64apiKey (header): The key assigned to the projectprojectName (path): The assigned project nameAuthorization (header): OAuth validation token
Body example
{ "Image": "string", "DocumentType": "string", "UIdDevice": "string", "IdUser": 0, "SourceDevice": 0, "SdkVersion": "string", "OS": "string", "BrowserVersion": "string", "TransactionType": 0, "ProductId": "string", "Uid": "string", "RiskId": "string" }
Responses
200 - The document has been successfully uploaded, and the transaction information has been updated
201 - The previously registered client was found. An object is returned with information about the created transaction, including the unique transaction number
{ "Uid": "string", "StartingDate": "2024-10-08T19:59:17.674Z", "CreationDate": "2024-10-08T19:59:17.674Z", "CreationIP": "string", "DocumentType": 0, "IdNumber": "string", "FirstName": "string", "SecondName": "string", "FirstSurname": "string", "SecondSurname": "string", "Gender": "string", "BirthDate": "2024-10-08T19:59:17.674Z", "Street": "string", "CedulateCondition": "string", "Spouse": "string", "Home": "string", "MaritalStatus": "string", "DateOfIdentification": "2024-10-08T19:59:17.674Z", "DateOfDeath": "2024-10-08T19:59:17.674Z", "MarriageDate": "2024-10-08T19:59:17.674Z", "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:59:17.674Z", "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 }
/api/Integration/{projectName}/Validation/Images/DocumentBackSide
Parameters
sideOneInfo (body): The image encoded in base64apiKey (header): The key assigned to the projectprojectName (path): The assigned project nameAuthorization (header): OAuth validation token
Body example