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.
API Method¶
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
{
"DomainType": null,
"Domain": "",
"UserName": "app",
"Password": "app",
"Client": {
"Version": "",
"Device": "",
"Platform": "",
"Resolution": "",
"Language": "",
"DateTime": ""
}
}
Sample Response¶
json
{
"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¶
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
{
"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 Notificationfunction of the Integration API is used, theIntegration/Getcall is not mandatory.
API Method¶
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
{
"Types": [],
"Reference": "string",
"IdentityType": "string",
"IdentityNo": "string",
"Statuses": ["None", "Waiting", "Active", "Completed", "Failed"]
}
Sample Response¶
json
{
"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¶
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
{
"SessionUId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadDetails": true,
"LoadContent": true,
"LoadLogs": false
}
Sample Response (summary)¶
json
{
"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 — 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}
> 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.
### 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¶
{
"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.
Sample Request¶
{
"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¶
Info
It is accessed with the token obtained with the app user.