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 Bearer prefix 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 about the authenticated user.
Token JWT token to be used.
Expires The expiration time of the token.
Validity Expiration duration for the next request. It carries the same value as Expires for application users. If a different value is returned, Auth/Check or Auth/Info should be called to extend validity.

Sample Request

json

Text Only
{
  "DomainType": null,
  "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",
    "UserPartyId": 221,
    "UserPartyType": "Person",
    "DomainId": 216,
    "DomainCode": "216",
    "DomainName": "tokenApp",
    "DomainType": "User",
    "DomainRole": "App",
    "DomainPartyId": 221,
    "DomainPartyType": "Person",
    "Name": "tokenApp",
    "FirstName": "tokenApp",
    "LastName": null,
    "Profile": {
      "Locale": "TR",
      "Image": null
    },
    "StaffId": null,
    "StaffCode": 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 starts, Integration Services can send 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. Null or "Session" should be sent for call information.
Reference Yes Call reference Id used by Integration Services. Process, customer, or another identifier can be sent.
CallType Yes Defined call type 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, the Integration API is used.
Process1 No Should be used according to the definitions created during dynamic decision management and process definition stage. Can remain null if not used. Also, can be written as only "True" or "False".
Process2 No Should be used according to the definitions created during dynamic decision management and process definition stage. Can remain null if not used. Also, can be written as only "True" or "False".
Process3 No Should be used according to the definitions created during dynamic decision management and process definition stage. Can remain null if not used. Also, can be written as only "True" or "False".
Process4 No Should be used according to the definitions created during dynamic decision management and process definition stage. Can remain null if not used. Also, can be written as only "True" or "False".
Process5 No Should be used according to the definitions created during dynamic decision management and process definition stage. Can remain null if not used. Also, can be written as only "True" or "False".
IDRegistration No Identity registration data. If not provided, EnQualify calls the Integration API.
AddressRegistration No Address data. If not provided, EnQualify does not call the Integration API.
Data No Special data in JSON key-value format. Displayed on the calling 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",
  "Process1":"string", 
  "Process2":"string",  
  "Process3":"string",  
  "Process4":"string",  
  "Process5":"string",  
  "IDRegistration": {
    "SerialNo": "string",       // Mandatory
    "IdentityNo": "string",     // Mandatory
    "DocumentNo": "string",     // Mandatory
    "Name": "string",           // Mandatory
    "Surname": "string",        // Mandatory
    "Gender": "string",         // Mandatory
    "BirthDate": "string",      // Mandatory
    "Nationality": "string",    // Mandatory
    "ExpireDate": "string",     // Mandatory
    "IdentityType": "T.C. Kimlik Kartı",
    "FatherName": "string",
    "MotherName": "string",
    "BirthPlace": "string",
    "RegistrationPlace": "string",
    "RegistrationPlaceFamilyRow": "string",
    "RegistrationPlacePersonalRow": "string",
    "RecordNo": "string",
    "IssuedBy": "string",
    "IssuedDate": "string"
  },
  "AddressRegistration": {
    "AddressType": "string",
    "District": "string",
    "DistrictCode": 0,
    "Street": "string",
    "StreetCode": 0,
    "VillageCode": 0,
    "AddressDetail": "string",
    "TownCode": 0,
    "Town": "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 response will include the SessionUId field populated.

ℹ️ 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 will come with 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 — Retrieving 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 invoke this method; this value can be obtained from the response of Integration/Get or the Integration API Integration/Send call.

API Method

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

Request

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

Response

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

Data contains important fields:

Parameter Description
RoomId Will be filled if a video call has started. If empty, the call has not started.
StartDate If filled, it means the video call has started.
NFCExists true if the device has NFC support.
NFCVerified true if NFC verification has been completed.
FaceUId Will be filled if face comparison has been done.
IDDocUId Will be filled if OCR reading is completed.
IDChipUId Will be filled if NFC reading is completed.
IDCheckUId Will be filled if identity information is obtained from KPS.
Face.ValidityLevel 0: Red exclamation, 1: Green tick, 2: Yellow tick.
IDDoc.IsValid true if OCR result is valid; a green tick is shown on the screen.
IDChip.IsValid true if NFC result is valid; a green tick is shown 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"
    }
  }
}

Text Only
## CustomerQueueOrder/Get — Queue Position Inquiry {#customerqueueorder-get-kuyruk-sirasi-sorgulama}

!!! info

    It is used to inquire about the customer's queue position for a reference.

## Customer Queue Inquiry Process {#musteri-kuyruk-sorgulama-sureci}

After the customer sends the GG request, the Backend to Backend system retrieves the position information in the queue.

Access is provided to the relevant service through the reference transmitted when the session is initiated.

### API Method {#api-method-2}
POST https://[enqualifyapihost]/api/Verify/CustomerQueueOrder/Get
Text Only
### Sample Request {#sample-request-5}

json
{ "Reference": "356D66C0-CEB1-4B5E-9B19-8F92B061DF1D" }
Text Only
### Sample Response {#sample-response-3}

json
{ "IsSuccessful": true, "ReferenceId": "06114056-cbf6-46e6-8172-bc991984b359", "Data": 8 }
Text Only
> The `Data` field returns the customer's queue position as a number.

# Verify/Report/MissedCall/List {#verify-report-missedcall-list}

## Missed Call List {#kacan-cagri-listesi}

Used to fetch the missed call list.
https://{ManagementApiURl}/api/Verify/Report/MissedCall/List
Text Only
### Sample Request {#sample-request-6}

```json
{
  "StartDate": "04.06.2023 00:00",
  "EndDate": "04.06.2026 23:59:59", 
  "CallType": "NewCustomer" // If null is sent, data from all CallTypes will come.
}
// Date Format: Day.Month.Year Hour (dd.MM.yyyy hh:mm:ss)
// If CallType is sent as null, data from all call types will be received.

Sample Response

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

Info

It is accessed with the token obtained with the app user.

Verify/Report/QueueCallCount

Info

Returns the number of people waiting in the queue.

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

Sample Request

JSON
{
  "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

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

Info

It is accessed with the token obtained with the app user.