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.
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 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
{
"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",
"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¶
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
{
"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 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 includes 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 — 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¶
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
{
"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 — 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¶
Sample Request¶
json
Sample Response¶
json
The
Datafield returns the customer's queue position numerically.
Verify/Report/MissedCall/List¶
Missed Call List¶
Used to retrieve the list of missed calls.
Sample Request¶
{
"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¶
{
"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.
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¶
{
"IsSuccessful": true,
"ReferenceId": "7272a8a8-1665-4cfb-a8ec-11fb1a0c6464",
"Count": 5
}
Fetched with the Token obtained from the App user.