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  Citizenship ID
2  PEP only with Passport
3  Ecuadorian Citizenship ID
4  Foreigner ID
5  Identity Card
6  Israel ID Card
7  Panamanian Citizenship ID
8  Peruvian Citizenship ID
9  Paraguayan Citizenship ID
10  INE Mexico
11  Chilean Identity ID
12  Puerto Rico Identification
13  Costa Rican Identity ID
14  Personal Identification Document Guatemala
15  Uruguayan ID
16  Bolivian Citizenship ID
17  PPT
18  National Identity Document Spain
19  National Identity Document Argentina
20  Passport

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