Skip to main content

KYC Service Overview and Integration

Login Service

POST 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

POST 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", // flowtype for KYC is 1
    "riskAmount": 123,
    "callBackUrl": "https://www.google.com"
}
Possible documentType values
1  Cedula de ciudadania
2  PEP solo con Pasaporte
3  Cedula de ciudadania Ecuatoriana
4  Cédula de extranjería
5  Tarjeta de identidad
6  Card ID Israel
7  Cedula de ciudadania Panameña
8  Cedula de ciudadania Peruana
9  Cédula de ciudadanía paraguaya
10  INE Mexico
11  Cédula de identidad Chilena
12  Identificación Puerto Rico
13  Cédula de identidad Costa Rica
14  Documento personal de identificación Guatemala
15  Cédula Uruguaya
16  Cédula de Ciudadanía Boliviana
17  PPT
18  Documento Nacional de Identidad España
19  Documento Nacional de Identidad Argentina
20  Pasaporte

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 name
  • apiKey: The key assigned to the project
  • identification: The client's identification number
  • docType: Type of document to be queried
  • returnImages: Determine if the images from the transaction will be returned
  • enrol: Default value : false
  • Authorization: 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 name
  • apiKey: The key assigned to the project
  • productId
  • 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
    }
  }
}

/api/Integration/{projectName}/Validation/New

Parameters
  • transactionInfo (body): The data of the new transaction
  • apiKey (header): The key assigned to the project
  • projectName (path): The assigned project name
  • Authorization (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 base64
  • apiKey (header): The key assigned to the project
  • projectName (path): The assigned project name
  • Authorization (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 base64
  • apiKey (header): The key assigned to the project
  • projectName (path): The assigned project name
  • Authorization (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:48:17.494Z",
  "CreationDate": "2024-10-08T19:48:17.494Z",
  "CreationIP": "string",
  "DocumentType": 0,
  "IdNumber": "string",
  "FirstName": "string",
  "SecondName": "string",
  "FirstSurname": "string",
  "SecondSurname": "string",
  "Gender": "string",
  "BirthDate": "2024-10-08T19:48:17.494Z",
  "Street": "string",
  "CedulateCondition": "string",
  "Spouse": "string",
  "Home": "string",
  "MaritalStatus": "string",
  "DateOfIdentification": "2024-10-08T19:48:17.494Z",
  "DateOfDeath": "2024-10-08T19:48:17.494Z",
  "MarriageDate": "2024-10-08T19:48:17.494Z",
  "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.494Z",
      "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/Close

Parameters
  • info (body): The image encoded in base64
  • apiKey (header): The key assigned to the project
  • projectName (path): The assigned project name
  • Authorization (header): OAuth validation token

Body example

{
  "Uid": "string",
  "RiskId": "string"
}
Response

200 -The transaction has been successfully created