Ana içeriğe geç

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.

Text Only
authorization: Bearer xxxxx…

API Method

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

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

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 — 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

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

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

Text Only
{
  "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 Notification fonksiyonu kullanılıyorsa Integration/Get çağrısı zorunlu değildir.

API Method

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

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

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 — Ç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

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

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

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

Sample Response (özet)

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": "[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

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
}

Data alanı müşterinin kuyruk sırasını sayısal olarak döner.