Ana içeriğe geç

iOS - VideoCall Modülü

VideoCall Modülü, son kullanıcı ile kimlik doğrulama temsilcisi arasında gerçek zamanlı görüntülü görüşme başlatır. Temsilci eşleşmesi, bekleme kuyruğu, tekrar deneme akışları ve Picture in Picture (PiP) modu bu modül tarafından yönetilir.

Giriş

VideoCall modülü, arka veya ön kamera kullanarak müşterinin müşteri temsilcisi ile anlık görüntülü görüşmesini gerçekleştirir.

Görüntülü görüşme esnasında Müşteri Temsilcisi gerekli gördüğünde NFC, OCR veya Face modüllerinin yaptığı analiz işlemlerini "İşlem Tekrarlatma" ismi altında tekrarlata bilir.

İşlem tekrarlatmaların çalışabilmesi için VideoCall Modülü ile beraber diğer modüllerin (NFC, Face ve OCR) implemente edilmiş olması gerekmektedir.

Görüntülü görüşmenin kalitesi ve hızı internet bağlantısının kalitesi, cihazın performansı ve kamera kalitesine bağlı olarak değişiklik gösterebilir.

⚠atlassian-warning#FFEBE6

VideoCall modülünü kullanılmak istendiğinde, Core Modülü projeye eklenmek zorundadır. Bu, modüllerin temel işlevselliklerini sağlamak için gereklidir.

EnQualifyVideoCall SDK Projeye Entegrasyon Adımları

Bu rehber, EnQualifyVideoCall SDK'nın projeye nasıl entegre edileceğini açıklamaktadır. Aşağıdaki adımları takip ederek hızlı ve kolay bir şekilde entegrasyonu gerçekleştirebilirsiniz.

Core Modülü Nedir

VideoCall modülü eklenmeden önce Core Modülü projeye dahil edilmelidir. Core modülünün nasıl ekleneceğini öğrenmek için Core Modülünü dokümanını ziyaret edebilirsiniz.

EnQualifyVideoCall Nedir

EnQualifyVideoCall, Müşteri ile müşteri temsilcisinin görüntülü görüşme gerçekleştirilmesi ve yönetilmesi için kullanılır.

Hızlı İmplementasyon

Projenizde hızlı bir entegrasyon gerçekleştirmek için VideoCall Modülü Nasıl İmplemente Edilir? bölümüne başvurabilirsiniz.

VideoCall Modülünün Projeye Eklenmesi

EnQualify iOS SDK, doğrudan projeye entegre edilebilir:

  • Yöntem: SDK'yı doğrudan projeye xcframework embed ederek eklemek ve gerekli olan bağımlılıkları cocoapods üzerinden yüklemek.
Text Only
// target 'MySampleProject' do
  use_frameworks!
  pod 'GoogleWebRTC' # Görüntülü Görüşme
  pod 'Socket.IO-Client-Swift' # Görüntülü Görüşme
end


post_install do |installer|
   installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
        config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
        config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
        config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
        config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
        config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = ""
        config.build_settings['VALID_ARCHS'] = "arm64 x86_64"
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.5'
        config.build_settings["ONLY_ACTIVE_ARCH"] = "YES"
    end
  end
end

Kurulum Sonrası Build Ayarları Açıklaması

BUILD_LIBRARY_FOR_DISTRIBUTION = YES:

Framework'ün dağıtım için inşa edilmesini sağlar, böylece başka projelerde ikili (binary) veya paylaşılan framework olarak kullanılabilir. Bu, özellikle XCFramework'ler oluşturulurken faydalıdır.

EXPANDED_CODE_SIGN_IDENTITY = "":

Code Signing Identity temizlenir; böylece build sürecinde belirli bir sertifika kullanılmadığından emin olunur.

CODE_SIGNING_REQUIRED = NO:

Build sürecinde code signing gereksinimini devre dışı bırakır. Bu, test sırasında veya imzalamanın gerekli olmadığı durumlarda kullanışlıdır.

CODE_SIGNING_ALLOWED = NO:

Code Signing tamamen devre dışı bırakıldığından emin olur.

EXCLUDED_ARCHS[sdk=iphonesimulator*] = "":

iPhone simülatörü için önceden hariç tutulan tüm mimarileri kaldırır. Bu ayar, build sürecinde uyumluluğu sağlar.

VALID_ARCHS = "arm64 x86_64":

Build için geçerli mimarileri belirtir. Burada, arm64 (M Serisi) ve x86_64 (intel işlemcili) macler için kullanılır.

IPHONEOS_DEPLOYMENT_TARGET = 14.0:

Uygulama veya framework'ün desteklediği minimum iOS sürümünü ayarlar. Bu, iOS 14.0 ve üzeri cihazlarla uyumluluğu sağlar.

ONLY_ACTIVE_ARCH = YES:

Build sürecini yalnızca aktif build cihazı veya simülatörün mimarisi ile sınırlar. Bu, geliştirme sırasında build süresini hızlandırabilir.

XCFrameworks

  • EnQualify SDK'yı doğrudan projenize entegre etmek için, temel SDK dosyaları olan OCRModule.xcframework, NFCModule.xcframework, FaceModule.xcframework CoreModule.xcframework ve VideoCallModule.xcframework'i doğrudan proje dosyalarınıza ekleyebilirsiniz.
  • Alternatif olarak, XCFramework'leri projenize zaten kopyaladıysanız, bu framework'leri projenize eklemek için Project Settings > General bölümüne gidip Embed and Sign seçeneğini seçebilirsiniz.
  • Bu şekilde eklenen EnQualify SDK'nın bağımlılıkları için, ilgili sürümün "podspec" dosyasında belirtilen veya sağlayıcı tarafından belirlenen sürüm numaraları ile projenize dahil etmeniz gerekmektedir.

VideoCall Modülü Nasıl Implemente Edilir ?

1. Modüllerin eklenmesi

1.1 Core Modülünün İmplementasyonu

EnQualifyVideoCall Modülü kullanılmadan önce Core Modülü projeye dahil edilmelidir. Eğer henüz eklemediyseniz, detaylar için Core Modülü dokümantasyonuna bakabilirsiniz.

1.2 VideoCall Modülünün Projeye Eklenmesi

VideoCall Modülü entegrasyonu için gerekli talimatları VideoCall Modülünün Projeye Eklenmesi başlığı altında bulabilirsiniz. Bu adımları takip ederek VideoCall modülünü projeye dahil edin.


2. İzinler

Detaylı bilgi için EnQualify SDK için konfigürasyon ayarları bölümünü inceleyebilirsiniz.


3. EnQualifyVideoCallDelegate Arayüzünün Eklenmesi

EnQualifyVideoCallDelegate, VideoCall işlemlerini yönetmek için gerekli delegate metotlarını içerir. Bu interface implemente ederek VideoCall ile ilgili olayları dinleyebilir ve yönetebilirsiniz.

3.1 EnQualifyVideoCallDelegate 'in Sınıfa Eklenmesi

Text Only
class ViewController: EnQualifyVideoCallDelegate {

3.2 Delegate Fonksiyonlarının Override Edilmesi

Text Only
class ViewController: EnQualifyVideoCallDelegate {    
    func agentRequest(event: AgentRequestEvent, lastEvent: AgentRequestEvent) {}

    func ocrRetryRequested() {} 

    func faceRetryRequested() {} 

    func callStarted() {}

    func hangupConfirmation() {}

    func videoCallFailed(error: String) {}

    func initializeCompleted(moduleName: String) {}

    func sessionCloseCompleted(status: String) {}

    func sessionCloseFailed() {}

    func sessionAddFailed() {}

    func settingGetFailed() {}

    func tokenCreateCompleted() {}

    func tokenCreateFailed() {}

    func integrationAddCompleted() {}

    func integrationAddFailed(errorMessage: String) {}

    func initializeFailed(with key: String) {}

    func sessionRoomFailed() {}

    func callResultCompleted(result: String, description: String, reference: String) {}

    func callResultFailed() {}

    func signingSetCompleted() {}

    func signingCompleted() {}

    func signingSetFailed(error: String) {}
}

4. EnQualifyVideoCall 'nın Initialize Edilmesi ve Token, Ayar ve Oturum İşlemleri

VideoCall işlemlerine başlamadan önce, EnQualifyVideoCall sınıfının initialize edilmesi gerekir. Bu işlem, gerekli olan token, settings, ve session işlemlerinin başlatılmasını sağlar. Ayrıca, kullanıcıya VideoCall işlemi için hazırlıkların tamamlandığını bildirmek ve ardından işlem sürecini başlatmak önemlidir.

Text Only
func initialize(_ delegate: Any?,
                sessionModel: SessionModelVideoCall? = nil,
                baseModel: BaseModelVideoCall? = nil) {

Initialize edilmeden önce;

  • EnQualifyVideoCallDelegate metodları, hangi UIViewController içerisinde kullanılacak ise o UIViewController 'ın delegate alanına eklenmelidir.
  • SessionModelVideoCall, video görüşme başlatmak için kullanılacak parametreleri içeren modeldir ve başlatma işleminde ilgili alana bu model eklenmelidir. Detaylı bilgi için SessionModelVideoCall bölümünü inceleyebilirsiniz.
  • BaseModelVideoCall, video görüşme için gerekli olan sertifika ve temel URL bilgilerini içeren modeldir ve başlatma işleminde ilgili alana bu model eklenmelidir. Detaylı bilgi için BaseModelVideoCall bölümünü inceleyebilirsiniz.

Parametreler

Parametre Tip Açıklama
delegate Any? Uygulamanın hangi UIViewController içerisinde kullanılacağı belirlenir.
sessionModel SessionModelVideoCall VideoCall işlemi sırasında kullanılacak oturum bilgilerini içerir.
baseModel BaseModelVideoCall Doğrulama sürecinde temel verileri taşıyan modeldir.

EnQualifyVideoCall initialize edildikten sonra EnQualifyVideoCall instance oluşturulur ve ardından token, settings ve session oluşturmak için gerekli işlemleri başlatır. Initialize yapıldıktan sonra token, settings ve session sdk tarafından yönetilir.

EnQualifyVideoCall instance 'ı oluşturulduktan sonra şu adımlar sırasıyla gerçekleştirilir:

  1. Token Oluşturma

  2. EnQualifyVideoCall, token oluşturma sürecini başlatır.

  3. Eğer token oluşturma işlemi sırasında bir hata oluşursa, tokenCreateFailed delegate'i tetiklenir ve alınan hata client tarafına iletilir.
Text Only
func tokenCreateFailed() {}
  • Token başarıyla oluşturulduğunda, bir sonraki adım olan session işlemine geçilir.
  • Oturum İşleminin Başlatılması

  • Token başarılı bir şekilde alındıktan sonra oturum başlatma süreci devreye girer.

  • Eğer oturum başlatma sırasında bir hata oluşursa, sessionAddFailed delegate'i tetiklenir ve hata mesajı kullanıcıya iletilir.
Text Only
func sessionAddFailed() {}
  • Oturum işlemi başarıyla tamamlandığında, SDK backoffice ile bağlantıyı kurmuş olur ve işlem başlatmaya hazır hale gelir.
  • Ayarların Alınması

  • Session başarılı bir şekilde oluşturulduktan sonra, backoffice üzerinden tanımlanan ayarların alınma işlemi başlatılır.

  • Eğer bu süreçte bir hata oluşursa, settingsGetFailed delegate'i tetiklenir ve hata mesajı client tarafına iletilir.
Text Only
func settingGetFailed() {}
  • Ayarlar başarıyla alındığında, SDK ilgili konfigürasyonları yapar ve oturum işlemini başlatır.
  • İşlem Tamamlama

  • Tüm adımlar sorunsuz bir şekilde tamamlandığında, initializeCompleted delegate'i tetiklenir. Bu, SDK'nın başarıyla initialize edildiğini ve OCR işlemlerine hazır olduğunu belirtir.

Text Only
func initializeCompleted(moduleName: String) {}

Bu süreç, EnQualifyVideoCall 'nın sağlam bir şekilde çalışmasını sağlamak için tasarlanmıştır. Olası hatalar, ilgili delegate 'ler aracılığıyla client veya kullanıcıya iletilerek gerekli aksiyonların alınmasını kolaylaştırır.

  1. Engelli Bireylere Uygun Agent Atanma Süreci

  2. Görüntülü görüşme sürecinde, ayrıcalık sağlanması gereken kullanıcılar için özel durumlarını belirtmek amaçlı oluşturulan setHandicappedStatus(hearing: Bool, visually: Bool) fonksiyonu ile birlikte müşterinin ilgili agent'a atanması veya öncelik sağlanması hedeflenmektedir. Bu parametrelerden hearing işitme engelli bulunan, visually ise görme engeli bulunan bireyleri temsil eder ve bu parametrelerden herhangi birisi true olarak işaretlendiğinde session update işlemi gerçekleşir. Bu update işlemi eğer başarısız olur ise sessionUpdateFailed() delegate method'u tarafınıza tetiklenecektir.


5. VideoCall İşleminin Başlatılması

Bu bölümde, VideoCall işlemlerinin nasıl başlatılacağını ve yönetileceğini adım adım açıklıyoruz.

5.1 Kullanıcı Bilgilendirme

VideoCall işlemi başlamadan önce, kullanıcıya bilgilendirme yapılması önerilir. Bunun için bir VideoCallInfo sayfası oluşturulabilir.
Bu sayfa, kullanıcıya VideoCall işlemi hakkında bilgi verir ve daha iyi bir deneyim sağlar.

5.2 VideoCall İşlemleri

VideoCall temel fonksiyonlar ve delegate'ler aşağıda paylaşılmıştır.

  • startVideoCall(in viewController: UIViewController)
  • backToVideoCall()
  • endVideoCall()
  • closeSession()
  • deinitialize(deinitializeCore: Bool)

5.3 VideoCall İçerisinde OCR ve Face Tekrarlatma Akışı

Görüntülü görüşme (VideoCall) süreci içerisinde Agent tarafından OCR veya Face doğrulama adımlarının tekrarlanması talep edildiğinde, ilgili tekrarlatma akışları SDK tarafından başlatılır.

Tekrarlatma Senaryosu

  • Agent tarafından başlatılan OCR veya Face tekrarlatma işlemleri sırasında süreç Fail durumuna düşerse,
  • Kullanıcıya, doğrulama işlemini kendi isteğiyle yeniden başlatabilme imkânı sunulur.

Bu kapsamda SDK’ya aşağıdaki iki yeni fonksiyon eklenmiştir:

Text Only
EnQualifyVideoCall.ocrRetry()
Text Only
EnQualifyVideoCall.faceRetry()

Kullanım Kuralları

  • Bu fonksiyonlar yalnızca aktif bir VideoCall oturumu içerisindeyken çağrılabilir.
  • VideoCall dışında çağrılmaları desteklenmez.

Delegate Akışı

İlgili retry fonksiyonu çağrıldıktan sonra SDK tarafından aşağıdaki delegate metotları tetiklenir:

Text Only
ocrRetryRequested()
faceRetryRequested()

Bu delegate’ler implementasyon tarafında karşılanmalıdır.

Tekrarlatma İşlemlerinin Başlatılması

Delegate’ler alındıktan sonra, ilgili doğrulama adımları aşağıdaki şekilde tekrar başlatılır:

OCR & Face Tekrarlatma:

Text Only
EnQualifyOCR.idDocTypeCheckStart(in: vc, isFront: true)
EnQualifyFace.faceDetect(in: vc)

Bu yapı sayesinde, VideoCall süreci kesintiye uğramadan kullanıcı kontrollü bir şekilde OCR ve Face doğrulama adımları güvenli biçimde yeniden başlatılabilir.

5.4 VideoCall İçerisinde Pip Modu

Görüntülü görüşme modülü PiP (Picture-in-Picture) özelliğini destekler.

PiP Nedir?

PiP, uygulama arka plana alındığında görüntülü görüşmenin ekranda küçük bir pencere olarak devam etmesini sağlayan iOS özelliğidir.

Kullanım Şekli

  • PiP modu kullanıcının kendi isteğiyle aktif edilir.
  • PiP penceresi üzerinden görüşme görüntüsü takip edilebilir; kullanıcı istediğinde tekrar tam ekrana dönebilir.

PiP Ayarları Nasıl Yapılır?

PiP moduna geçildiğinde uygulamada gerekli yetkilendirmeler yapılmamışsa, PiP penceresi gri/boş bir ekran olarak görünebilir ve kullanıcı temsilci (Agent) görüntüsünü izleyemez.

Bu durum genellikle uygulamada PiP özelliği için gerekli sistem yetkisinin aktif edilmemesinden kaynaklanır.

Çözüm

Uygulamanın Signing & Capabilities ayarları altında ilgili PiP özelliğinin aktif edilmesi gerekmektedir.

İzlenecek adımlar:

  1. Xcode → Target seçilir
  2. Signing & Capabilities sekmesine girilir
  3. + Capability butonuna tıklanır
  4. Multitasking Camera Access eklenir.
  5. Background Modes eklenir ve;
  6. Açılan seçeneklerden Audio, AirPlay and Picture in Picture işaretlenir

Bu ayar aktif edilmediği durumda PiP penceresinde görüntü alınamaz ve yalnızca gri bir ekran gösterilir.

spaces%2FXImOK22jfPec9JhHjJi9%2Fuploads%2FTRh7lLBDoG6gZ8RG4Xab%2FEkran%20Resmi%202026-02-24%2016.05.05.png?alt=media&token=bb13524a-5f55-4d27-a044-949d69e971eespaces%2FXImOK22jfPec9JhHjJi9%2Fuploads%2FpyoLX5NIKA4flnQQsROD%2FEkran%20Resmi%202026-02-24%2015.32.55.png?alt=media&token=e13b84b6-6645-4d7a-9f31-d5c0ed124949

startVideoCall fonksiyonu çağırılmadan önce initializeCompleted delegate'inin tetiklendiğinden ve moduleName'in EnQualifyVideoCall geldiğinden mutlaka emin olunmalıdır, aksi halde gerekli bağlantıları sağlayacak konfigürasyon bilgileri elde edilemeyeceğinden görüntülü görüşme başlamayacaktır.

Video Call başlatılması için gerekli olan bütün konfigürasyon bilgileri backoffice'den sağlanmaktadır, çağrıların backoffice'e ulaşmadığı durumlarda parametrelerin kontrolü yapılmalı, web ve mobile adreslerinin aynı path'lere yönlendiği teyit edilmelidir.

5.5 VideoCall İçerisinde Flash Kontrolü

Görüntülü görüşme sırasında Agent, kullanıcının cihaz flaşını açmasını veya kapatmasını talep edebilir. Bu talep, agentRequest delegate metodu aracılığıyla SDK tarafından uygulamaya iletilir. Flash açma/kapama işlemi doğrudan gerçekleştirilmez; kullanıcının onayı alındıktan sonra ilgili fonksiyon çağrılarak işlem tamamlanır.

Akış

  1. Agent, backoffice üzerinden flash açma veya kapama talebini gönderir.
  2. SDK, agentRequest delegate metodunu tetikler ve event parametresi üzerinden flash talebinin türü iletilir.
  3. Uygulama tarafında kullanıcıya bir onay ekranı veya bildirim gösterilir.
  4. Kullanıcı onay verdiğinde, ilgili flash fonksiyonu çağrılarak işlem gerçekleştirilir.

Delegate ile Talebin Alınması

Flash talebi, mevcut agentRequest delegate metodu üzerinden yakalanır:

Text Only
func agentRequest(event: AgentRequestEvent, lastEvent: AgentRequestEvent) {
    switch event {
    case .flashOpen:
        // Kullanıcıya flash açma onayı göster
    case .flashClose:
        // Kullanıcıya flash kapama onayı göster
    default:
        break
    }
}

Flash Fonksiyonları

Kullanıcı onay verdikten sonra aşağıdaki fonksiyonlar çağrılır:

Flash Açma:

Text Only
EnQualifyVideoCall.openTorch(isApproved: Bool)

Flash Kapama:

Text Only
EnQualifyVideoCall.closeTorch(isApproved: Bool)

Modeller

BaseModelVideoCall

BaseModelVideoCall, Doğrulama süreçlerinde kullanılan sertifika bilgilerini ve sunucu bağlantı adresini içeren veri modelidir. Signaling (Haberleşme) ve MAPI (Mobile-Application Programming Interface) sertifikaları hem dosya (.der) formatında hem de Base64 metin formatta saklanır.

Model

Text Only
class BaseModelVideoCall(
    var signallingCertificateList: [String]? = nil
    var mapiCertificateList: [String]? = nil
    var signallingCertificateBase64List: [String]? = nil
    var mapiCertificateBase64List: [String]? = nil
    var baseURL: String //Zorunlu alan
    var locale: String? = nil
    var mobileUser: String? = nil
    var countryCode: String? = nil
)

Özellikler

Özellik Tip Açıklama
signallingCertificateList [String]? Signalling sertifikalarının dizisi. Sertifikalar dosya formatında saklanır.
mapiCertificateList [String]? MAPI sertifikalarının dizisi. Sertifikalar dosya formatında saklanır.
signallingCertificateBase64List [String]? Signalling sertifikalarının Base64 metin formatında kodlanmış halleri.
mapiCertificateBase64List [String]? MAPI sertifikalarının Base64 metin formatında kodlanmış halleri.
*baseURL String API doğrulama işlemleri için kullanılan temel sunucu adresi.
locale String? Sesli yönlendirme mesajlarının hangi dilde olacağını belirler.
mobileUser String? Authorization sağlanırken kullanılan anonymous user bilgisini ifade eder.
countryCode String? Ülke ya da bölge özelinde doğrulama yapılırken, gerekli olan verilerin bölge özelinde edinilmesini sağlamak için kullanılır.

Kullanım Örneği

Aşağıdaki örnekte, BaseModelVideoCall nesnesi oluşturularak sertifika bilgileri ve sunucu adresi tanımlanmaktadır:

Text Only
var baseModelVideoCall = BaseModelVideoCall(
    signallingCertificateList: ["AI_CERT_1", "AI_CERT_2"],
    mapiCertificateList: ["MAPI_CERT_1", "MAPI_CERT_2"],
    signallingCertificateBase64List: ["QUlDRVJU...", "Q0VSVF8y..."],
    mapiCertificateBase64List: ["TU9SRSB...", "Q0VSVF8z..."],
    baseURL: "API_SERVER_URL",
    locale: "TR",
    mobileUser: "mobile",
    countryCode: "TUR"
)

Açıklamalar

  • Sertifikalar (signallingCertificateList, mapiCertificateList): Sertifika bilgileri dosya (.der) formatında saklanır.
  • Base64 Sertifikalar (signallingCertificateList, mapiCertificateBase64List): Sertifikaların Base64 metin formatına çevrilmiş halleri.
  • Sunucu Bağlantısı (baseURL): Doğrulama veya sertifika işlemlerinin gerçekleştirileceği sunucu URL’si.

SessionModelVideoCall

SessionModelVideoCall, Bir çağrı oturumu sırasında kullanıcı ve kimlik bilgilerini içeren veri modelidir. Çağrı türü, kullanıcı detayları, kimlik bilgileri ve oturumla ilgili ek parametreleri içerir.

Model Tanımı

Text Only
class SessionModelVideoCall(
    var callType: String, // Zorunlu alan
    var userName: String? = nil,
    var surname: String? = nil,
    var phone: String? = nil,
    var email: String? = nil,
    var identityType: String? = nil,
    var identityNo: String? = nil,
    var reference: String, // Zorunlu alan
    var canAutoClose: Bool = false, // Varsayılan: false
    var isContinue: Bool = false, // Varsayılan: false
    var category: String? = nil,
    var taxNumber: String? = nil,
    var businessReference: String? = nil,
    var handicapped: Bool? = false
)

Özellikler

Özellik Tip Açıklama
*callType String Zorunlu. Çağrı türünü belirten parametre (örneğin: "NewCustomer").
userName String? Kullanıcının adı. Boş olabilir.
surname String? Kullanıcının soyadı. Boş olabilir.
phone String? Kullanıcının telefon numarası. Boş olabilir.
email String? Kullanıcının e-posta adresi. Boş olabilir.
identityType String? Kimlik türü (örneğin: "I"(T.C. Kimlik Kartı), "P"(Pasaport)). Boş olabilir.
identityNo String? Kullanıcının kimlik numarası. Boş olabilir.
*reference String Zorunlu. Oturum için referans ID'si.
canAutoClose Bool Oturumun otomatik kapanıp kapanmayacağını belirler. Varsayılan: false.
isContinue Bool Oturumun devam edip etmeyeceğini belirler. Varsayılan: false.
category String? Oturumun ait olduğu kategori. Boş olabilir.
taxNumber String? Kullanıcıya ait vergi numarası. Boş olabilir.
businessReference String? İşletme ile ilgili referans bilgisi. Boş olabilir.
handicapped Bool Kullanıcının engelli olup olmadığını belirten bayrak. Varsayılan: false.

Kullanım Örneği

Aşağıdaki örnekte, SessionModelVideoCall nesnesi oluşturularak oturum bilgileri tanımlanmaktadır:

Text Only
var sessionModelVideoCall = SessionModelVideoCall(
    callType: "NewCustomer",
    userName: "Enqura",
    surname: "Information",
    phone: "+905551234567",
    email: "enqualifyplus@enqura.com",
    identityType: "TC. Kimlik Kartı",
    identityNo: "12345678901",
    reference: "REF123456",
    canAutoClose: true,
    isContinue: true,
    category: "category",
    taxNumber: "9876543210",
    businessReference: "COMPANY",
    handicapped: false
)

Açıklamalar

  • Zorunlu Alanlar: callType ve reference parametreleri mutlaka belirtilmelidir.
  • Kullanıcı Bilgileri: userName, surname, phone, email gibi alanlar isteğe bağlıdır.
  • Kimlik Bilgileri: identityType ve identityNo, NFC doğrulama veya kimlik tanımlama süreçlerinde kullanılabilir.
  • Engellilik Durumu: handicapped parametresi kullanıcının özel gereksinimlere sahip olup olmadığını belirtir.
  • Otomatik Kapanma: canAutoClose, oturumun belirli bir koşul gerçekleştiğinde otomatik olarak kapanmasını sağlayabilir.
  • Devam Durumu: isContinue, oturumun devam eden bir işlem olup olmadığını kontrol eder.