Skip to content

Backend - Web API Functions

This section describes the EnQualify Web API methods that can be called by Integration Services.

⚠️ Web API methods not listed in this section should not be called by Integration Services.


Auth/Token — Obtaining Access Token

EnQualify API calls require an authorization token in the HTTP header. The token should be sent in JWT format with the prefix Bearer in the header.

Text Only
authorization: Bearer xxxxx…

API Method

Text Only
POST https://[enqualifyapihost]/api/Auth/Token

Request

Parameter Description
UserName Username.
Password Password.
Client Information about the application making the request.

Response

Parameter Description
IsSuccessful true if the operation is successful.
Result Result code.
ReferenceId Request reference Id.
User Information of the authenticated user.
Token JWT token to be used.
Expires Expiry time of the token.
Validity Expiration duration for the next request. For application users, it holds the same value as Expires. If a different value is returned, Auth/Check or Auth/Info should be called to extend validity.

Sample Request

json

Text Only
{
  "Domain": "",
  "UserName": "app",
  "Password": "app",
  "Client": {
    "Version": "",
    "Device": "",
    "Platform": "",
    "Resolution": "",
    "Language": "",
    "DateTime": ""
  }
}

Sample Response

json

Text Only
{
  "IsSuccessful": true,
  "ReferenceId": "a22d2cda-a328-491b-8afb-29a3fbd7f13f",
  "User": {
    "UserId": 216,
    "UserName": "tokenApp",
    "UserRole": "App",
    "UserPartyType": "Person",
    "DomainId": 216,
    "DomainCode": "216",
    "DomainName": "tokenApp",
    "DomainType": "User",
    "DomainRole": "App",
    "Name": "tokenApp",
    "FirstName": "tokenApp",
    "LastName": null,
    "Profile": {
      "Locale": "TR",
      "Image": null
    }
  },
  "Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...pFxy6pU8Fuo1SpWGMIJUshWQ",
  "Expires": "2021-08-01T08:26:14.8981391Z",
  "Validity": "2021-08-01T08:26:14.8981391Z"
}

Integration/Add — Sending Integration Data

Before the call begins, Integration Services can send the call-specific integration data to EnQualify using the Integration/Add method.

API Method

Text Only
POST https://[enqualifyapihost]/api/Verify/Integration/Add

Request

Parameter Is Mandatory? Description
Type No Type of integration data. Should send null or "Session" for call information.
Reference Yes Call reference Id used by Integration Services. Can send process, customer, or another identifier.
CallType Yes Call type defined in the system. E.g.: "NewCustomer", "ProductActivation".
Phone, Email No Phone and email information of the caller.
FormUrl No Special form URL that the agent will open during the call. If not provided, Integration API will be used.
IDRegistration No Identity registration data. If not provided, EnQualify will call the Integration API.
AddressRegistration No Address data. If not provided, EnQualify will not call the Integration API.
Data No Special data in JSON key-value format. Displayed on the call page.

Response

Parameter Description
IsSuccessful true if the operation is successful.
Result Result code.
ReferenceId Request reference Id.

Sample Request

json

Text Only
{
  "Type": "Session",
  "Reference": "string",
  "CallType": "NewCustomer",
  "Phone": "string",
  "Email": "string",
  "FormUrl": "string",
  "IDRegistration": {
    "SerialNo": "string",       // Required
    "IdentityNo": "string",     // Required
    "DocumentNo": "string",     // Required
    "Name": "string",           // Required
    "Surname": "string",        // Required
    "Gender": "string",         // Required
    "BirthDate": "string",      // Required
    "Nationality": "string",    // Required
    "ExpireDate": "string",     // Required
    "IdentityType": "T.C. Kimlik Kartı",
    "FatherName": "string",
    "MotherName": "string",
    "BirthPlace": "string",
    "RegistrationPlace": "string",
    "IssuedBy": "string",
    "IssuedDate": "string"
  },
  "AddressRegistration": {
    "AddressType": "string",
    "District": "string",
    "DistrictCode": 0,
    "Street": "string",
    "City": "string",
    "CityCode": 0,
    "Country": "string",
    "CountryCode": 0
  },
  "Data": "{\"VideoKayıtOnayı\":\"Alındı\",\"KvkkOnayı\":\"Alındı\"}"
}

Integration/Get — Querying Integration Data

Integration Services can query the current status of the data sent with Integration/Add using the Integration/Get method. If the call has started, the SessionUId field will be populated in the response.

ℹ️ If the Send Notification function of the Integration API is used, the Integration/Get call is not mandatory.

API Method

Text Only
POST https://[enqualifyapihost]/api/Verify/Integration/Get

Request

Parameter Description
Types Expected value: empty array [].
Reference Reference Id sent in Integration/Add.
IdentityType Identity type of the caller.
IdentityNo Identity number of the caller.
Statuses Status of the integration data: None, Waiting, Active, Completed, Failed.

Response

Parameter Description
IsSuccessful true if the operation is successful.
Result Result code.
ReferenceId Request reference Id.
Data Found integration data. If there is a match, it includes SessionUId.

Sample Request

json

Text Only
{
  "Types": [],
  "Reference": "string",
  "IdentityType": "string",
  "IdentityNo": "string",
  "Statuses": ["None", "Waiting", "Active", "Completed", "Failed"]
}

Sample Response

json

Text Only
{
  "IsSuccessful": true,
  "ReferenceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Data": [
    {
      "UId": "string",
      "Type": "string",
      "Reference": "string",
      "SessionUId": "string"
    }
  ]
}

Session/Get — Getting Call Data

Integration Services can retrieve all data related to a completed or ongoing call using the Session/Get method. The SessionUId value of the call is required to call this method; this value can be obtained from the Integration/Get response or the Integration API Integration/Send call.

API Method

Text Only
POST https://[enqualifyapihost]/api/Verify/Session/Get

Request

Parameter Description
SessionUId Id of the call in EnQualify.
LoadDetails Set to true to get detailed data.
LoadContent Set to true to get document or visual contents.
LoadLogs Set to true to get CallLogs sent from mobile.

Response

Parameter Description
IsSuccessful true if the operation is successful.
Result Result code.
ReferenceId Request reference Id.
Data The requested call data.

Data important fields:

Parameter Description
RoomId If a video call has been initiated, this field will be populated. If empty, the call has not started.
StartDate If populated, it means the video call has started.
NFCExists true if the device supports NFC.
NFCVerified true if NFC verification has been performed.
FaceUId Will be populated if face comparison has been done.
IDDocUId Will be populated if OCR reading is completed.
IDChipUId Will be populated if NFC reading is completed.
IDCheckUId Will be populated if identity information has been retrieved from KPS.
Face.ValidityLevel 0: Red exclamation, 1: Green tick, 2: Yellow tick.
IDDoc.IsValid true if the OCR result is valid; shown with a green tick on the screen.
IDChip.IsValid true if the NFC result is valid; shown with a green tick on the screen.

Sample Request

json

Text Only
{
  "SessionUId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "LoadDetails": true,
  "LoadContent": true,
  "LoadLogs": false
}

Sample Response (summary)

json

Text Only
{
  "IsSuccessful": true,
  "ReferenceId": "f5d68cc4-7cab-41f6-8581-2fd8f15bb27c",
  "Data": {
    "UId": "9883c203-baa4-4e3c-940b-89f16a218160",
    "Type": "NewCustomer",
    "DateTime": "2023-09-25T13:51:07.23",
    "RoomId": "AA54C8CB048D7DA96",
    "IdentityNo": "22",
    "Name": "Ozan",
    "Surname": "Şn",
    "Phone": "555 555 55 55",
    "Email": "enqura@enqura.com",
    "NFCExists": true,
    "NFCVerified": true,
    "Status": "Closed",
    "StartDate": "2023-09-25T13:52:14.3066667",
    "Face": {
      "Distance": 0.59,
      "Confidence": 45,
      "LivenessScore": 0.98,
      "ValidityLevel": 1
    },
    "IDDoc": {
      "IsValid": true,
      "IdentityNo": "22",
      "Name": "OZAN",
      "Surname": "SN",
      "BirthDate": "900507",
      "Nationality": "TUR"
    },
    "IDChip": {
      "IsValid": true,
      "PassiveAuthSucceeded": true
    },
    "SessionVideos": {
      "AgentVideoFileName": "caecd7a84083491bb16e11e959e49ca4_A.webm",
      "MobileVideoFileName": "caecd7a84083491bb16e11e959e49ca4_M.webm",
      "ScreenVideoFileName": "caecd7a84083491bb16e11e959e49ca4_S.mp4"
    }
  }
}

CustomerQueueOrder/Get — Querying Queue Order

Used to query the queue order of the customer for a reference.

Customer Queue Querying Process

After the customer sends a GG request, the Backend to Backend system retrieves the order information from the queue.

Access is provided via the reference sent when starting the Session.

API Method

Text Only
POST https://[enqualifyapihost]/api/Verify/CustomerQueueOrder/Get

Sample Request

json

Text Only
{
  "Reference": "356D66C0-CEB1-4B5E-9B19-8F92B061DF1D"
}

Sample Response

json

Text Only
{
  "IsSuccessful": true,
  "ReferenceId": "06114056-cbf6-46e6-8172-bc991984b359",
  "Data": 8
}

The Data field returns the customer's queue position numerically.

Verify/Report/MissedCall/List

Missed Call List

Used to retrieve the list of missed calls.

Text Only
https//{ManagementApiURl}/api/Verify/Report/MissedCall/List

Sample Request

Text Only
{
  "StartDate": "04.06.2023 00:00",
  "EndDate": "04.06.2026 23:59:59" 
  "CallType": "NewCustomer" //Send null to retrieve data from all CallTypes
}
// Date Format: Day.Month.Year Hour (dd.MM.yyyy hh:mm:ss)

Sample Response

Text Only
{
    "IsSuccessful": true,
    "ReferenceId": "9b203581-4dee-4de1-a719-db5ea796e2b8",
    "Data": [
        {
            "Name": "Full Name",
            "IdentityNo": "12345678900",
            "Phone": null,
            "DateTime": "2026-06-04T09:47:53.981636",
            "CallType": "New Customer",
            "WaitingTime": 121,
            "SessionUId": "337ffdcf-982f-498d-abca-e039f9246c81"
        },
        {
            "Name": "Full Name",
            "IdentityNo": "12345678900",
            "Phone": null,
            "DateTime": "2026-06-04T09:50:03.007845",
            "CallType": "New Customer",
            "WaitingTime": 121,
            "SessionUId": "c9dad605-de48-4598-81ee-4dd59ed215d6"
        }       
  }

Fetched with the Token obtained from the App user.

Verify/Report/QueueCallCount

Provides the number of people waiting in the queue.

Text Only
https//{ManagementApiURl}/api/Verify/Report/QueueCallCount

Sample Request

Text Only
{
  "StartDate": "04.06.2026 00:00",
  "EndDate": "04.06.2026 23:59:59" 
}

//Providing a date is mandatory. The range for that day can be provided as in the example.
// Date Format: Day.Month.Year Hour (dd.MM.yyyy hh:mm:ss)

Sample Response

Text Only
{
    "IsSuccessful": true,
    "ReferenceId": "7272a8a8-1665-4cfb-a8ec-11fb1a0c6464",
    "Count": 5
}

Fetched with the Token obtained from the App user.