# Mobile App - CTI Etegrasyonu ## Inbound - Customer Login * Login sureci call-center client icin tanimli login grant flow ile yurutulur. * Ana arabirim IVR uygulamasidir. * Login sureci sonrasinda login olan kullanici ve musteri icin Access Token olusturulur. * Token suresi gorusme suresi ve kuyruk suresi dikkate alinarak belirlenir. * Token sadece agentin islem yapabilmesi icin agenta riza vermek(Consent) kullanilir. * Riza icin kullanilacak call-center clientina tanimli agent rolu kullanilir. ### Akis ```mermaid sequenceDiagram actor U as Customer box IVR participant K as Tanıma participant I as Güvenlik participant A as AKis end participant Q as Call Queuee actor T as Temsilci participant E as End alt (1) User Login (Registered Phone, User=Customer) activate I U ->> K: Kayitli telefon ile arama K ->> I: Güvenlik Doğrulama I ->> A: Güvenliksiz işlemler A ->> Q: Bilgilendirme kuyruklama I ->> U: Sifre girisi icin yonlendirme (Kart veya IB) U ->> I: Sifre girisi I ->> U: 2FA icin yonlendirme U ->> I: OTP/Push Onayi I ->> A: Güvenlikli işlemler A ->> A: Self Servis İşlemler deactivate I A ->> Q: Temsilci Seçimi Kuyruğa aktarılır Q ->> T:Temsilci yönlendir end alt (2) User Login (Non-registered Phone, User=Customer) U ->> K: Kayitli olmayan telefon ile arama activate I K ->> U: TC kimlik numarasi girisi icin yonlendirme U ->> K: TC kimlik numarasi girisi K ->> I: Tanınmış müşteri Güvenlik Doğrulama I ->> U: IB Sifre girisi icin yonlendirme U ->> I: IB Sifre girisi I ->> U: 2FA icin yonlendirme U ->> I: OTP/Push Onayi I ->> A:Akışlar deactivate I A ->> Q: Kuyruga al end alt (3) User Login (Registered Phone, User for Multiple Customer) U ->> I: Kayitli telefon ile arama activate I I ->> U: IB Sifre girisi icin yonlendirme U ->> I: IB Sifre girisi I ->> U: 2FA icin yonlendirme U ->> I: OTP/Push Onayi I ->> U: Musteri TCKN veya VKN girisi icin yonlendirme U ->> I: Musteri TCKN veya VKN girisi deactivate I I ->> Q: Kuyruga al end ``` ## Inbound - Kuyruktan Agenta Yonlendirme * Cagri merkezi calisani(agent) uygulamaya ib kullanici ile login olmus durumda beklemektedir. * Uygulama istemci tarafinda otomatik kapanma yapmaz. * Uygulama Agent tokenini surekli aktif tutar (otomatik olarak kullanilmasa dahi refresh eder.) * Uygulama normalde bekleme sayfasindadir. Bekleme sayfasinda Agent'in yetkilendirildigi musteri listesine erisimi olur. * Bekleme durumda agentin işlem yapamaması gerekir. ### Akis ```mermaid sequenceDiagram participant Q as Call Queue participant C as CTI participant M as Mobile Application Q ->> C: Musteri aramasini yonlendir Q ->> Q: Aktif agent icin Consent(Riza) yarat. C ->> M: Uygulamaya session bilgisini(Riza vs.) gonder. M ->> M: Bekleme sayfasina Musteriyi ekle. M ->> M: Bekleme sayfasindan Musteriyi secerek uygulamayi ac. ``` ## Issues 1. Cagri merkezi client tanim ve login grant flow gelistirilmesi. 2. IVR ve login grant flow entegrasyonu. 3. Kuyruktaki musteriler icin Token ve session bilgilerinin saklanmasi icin secure repository. 4. Agent'a yetki vermek icin otomatik calisacak consent flow. 5. Mobile App de multiple customer icin calisabilmek icin login sonrasi musteri secim, bekleme sayfasi implementasyonu. * Cagri merkezi ozelinde degil, ayni zamanda son kullanici ozelinde de kullanilabilir tasarim gozetilmeli. * Seanryo: Yetkilendirilmis eslerin musteri verilerine erisebilmeleri * Senaryo: Yetkilendirilmis calisanin kurumsal verilerine erisibilmeleri 6. Cagri aktarildiginda aktarilan kisiye de riza olusturma. 7. Cagri kapandiginda verilmis rizalarin roveke edilmesi. 8. Musteri arama ve sifre icin yonlendirme ekrani tasarlanmali, IVR tarafina yonlendirme yapmali.