Backend - Web API Functions¶
Bu bölüm, Integration Services tarafından çağrılabilecek EnQualify Web API metodlarını açıklamaktadır.
⚠️ Bu bölümde listelenenler dışındaki Web API metodları Integration Services tarafından çağrılmamalıdır.
Auth/Token — Access Token Alma¶
EnQualify API çağrıları, HTTP header'ında bir authorization token gerektirmektedir. Token, JWT formatında olup header'da Bearer önekiyle gönderilmelidir.
API Method¶
Request¶
| Alan | Açıklama |
|---|---|
UserName | Kullanıcı adı. |
Password | Şifre. |
Client | İstek yapan uygulama hakkında bilgi. |
Response¶
| Alan | Açıklama |
|---|---|
IsSuccessful | İşlem başarılıysa true. |
Result | Sonuç kodu. |
ReferenceId | İstek referans Id'si. |
User | Kimlik doğrulaması yapılan kullanıcı bilgisi. |
Token | Kullanılacak JWT token. |
Expires | Token'ın son geçerlilik zamanı. |
Validity | Sonraki istek için son geçerlilik süresi. Uygulama kullanıcıları için Expires ile aynı değeri taşır. Farklı bir değer dönmesi durumunda Auth/Check veya geçerliliği uzatmak için Auth/Info çağrılmalıdır. |
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 — Entegrasyon Verisi Gönderme¶
Çağrı başlamadan önce Integration Services, çağrıya özel entegrasyon verisini Integration/Add metoduyla EnQualify'a gönderebilir.
API Method¶
Request¶
| Alan | Zorunlu | Açıklama |
|---|---|---|
Type | Hayır | Entegrasyon verisi tipi. Çağrı bilgisi için null veya "Session" gönderilmelidir. |
Reference | Evet | Integration Services tarafından kullanılan çağrı referans Id'si. Süreç, müşteri veya başka bir tanımlayıcı gönderilebilir. |
CallType | Evet | Sistemde tanımlı çağrı tipi. Örn: "NewCustomer", "ProductActivation". |
Phone, Email | Hayır | Arayan kişinin telefon ve e-posta bilgisi. |
FormUrl | Hayır | Agent'ın çağrı sırasında açacağı özel form URL'i. Girilmezse Integration API kullanılır. |
IDRegistration | Hayır | Kimlik kayıt verisi. Girilmezse EnQualify, Integration API'yi çağırır. |
AddressRegistration | Hayır | Adres verisi. Girilmezse EnQualify, Integration API'yi çağırmaz. |
Data | Hayır | JSON key-value formatında özel veri. Çağrı sayfasında görüntülenir. |
Response¶
| Alan | Açıklama |
|---|---|
IsSuccessful | İşlem başarılıysa true. |
Result | Sonuç kodu. |
ReferenceId | İstek referans Id'si. |
Sample Request¶
json
{
"Type": "Session",
"Reference": "string",
"CallType": "NewCustomer",
"Phone": "string",
"Email": "string",
"FormUrl": "string",
"IDRegistration": {
"SerialNo": "string", // Zorunlu
"IdentityNo": "string", // Zorunlu
"DocumentNo": "string", // Zorunlu
"Name": "string", // Zorunlu
"Surname": "string", // Zorunlu
"Gender": "string", // Zorunlu
"BirthDate": "string", // Zorunlu
"Nationality": "string", // Zorunlu
"ExpireDate": "string", // Zorunlu
"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 — Entegrasyon Verisi Sorgulama¶
Integration Services, Integration/Add ile gönderilen verinin güncel durumunu Integration/Get metoduyla sorgulayabilir. Çağrı başlamışsa yanıt içinde SessionUId alanı dolu gelir.
ℹ️ Integration API'nin
Send Notificationfonksiyonu kullanılıyorsaIntegration/Getçağrısı zorunlu değildir.
API Method¶
Request¶
| Alan | Açıklama |
|---|---|
Types | Beklenen değer: boş dizi []. |
Reference | Integration/Add'de gönderilen referans Id. |
IdentityType | Arayanın kimlik tipi. |
IdentityNo | Arayanın kimlik numarası. |
Statuses | Entegrasyon verisinin durumu: None, Waiting, Active, Completed, Failed. |
Response¶
| Alan | Açıklama |
|---|---|
IsSuccessful | İşlem başarılıysa true. |
Result | Sonuç kodu. |
ReferenceId | İstek referans Id'si. |
Data | Bulunan entegrasyon verisi. Eşleşme varsa SessionUId dahil gelir. |
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 — Çağrı Verisi Alma¶
Integration Services, tamamlanan veya devam eden bir çağrıya ait tüm veriyi Session/Get metoduyla alabilir. Metodun çağrılması için çağrının SessionUId değeri gereklidir; bu değer Integration/Get yanıtından veya Integration API Integration/Send çağrısından elde edilebilir.
API Method¶
Request¶
| Alan | Açıklama |
|---|---|
SessionUId | EnQualify'daki çağrının Id'si. |
LoadDetails | Detay verisi almak için true yapılır. |
LoadContent | Belge veya görsel içeriklerini almak için true yapılır. |
LoadLogs | Mobil'den gönderilen CallLog'ları almak için true yapılır. |
Response¶
| Alan | Açıklama |
|---|---|
IsSuccessful | İşlem başarılıysa true. |
Result | Sonuç kodu. |
ReferenceId | İstek referans Id'si. |
Data | İstenen çağrı verisi. |
Data içindeki önemli alanlar:
| Alan | Açıklama |
|---|---|
RoomId | Görüntülü görüşme başlatılmışsa dolu gelir. Boşsa görüşme başlamamıştır. |
StartDate | Dolu ise görüntülü görüşme başlamış demektir. |
NFCExists | Cihazda NFC desteği varsa true. |
NFCVerified | NFC doğrulaması yapılmışsa true. |
FaceUId | Yüz karşılaştırması yapılmışsa dolu gelir. |
IDDocUId | OCR okuması tamamlanmışsa dolu gelir. |
IDChipUId | NFC okuması tamamlanmışsa dolu gelir. |
IDCheckUId | Kimlik bilgileri KPS'den alınmışsa dolu gelir. |
Face.ValidityLevel | 0: Kırmızı ünlem, 1: Yeşil tik, 2: Sarı tik. |
IDDoc.IsValid | OCR sonucu geçerliyse true; ekranda yeşil tik gösterilir. |
IDChip.IsValid | NFC sonucu geçerliyse true; ekranda yeşil tik gösterilir. |
Sample Request¶
json
{
"SessionUId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadDetails": true,
"LoadContent": true,
"LoadLogs": false
}
Sample Response (özet)¶
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": "[email protected]",
"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 — Kuyruk Sırası Sorgulama¶
Bir referans için müşterinin kuyruk sırasını sorgulamak üzere kullanılır.
API Method¶
Sample Request¶
json
Sample Response¶
json
Dataalanı müşterinin kuyruk sırasını sayısal olarak döner.