Composer Temel bloklar
“Log” bloğunun kullanımına ilişkin yukarıdaki şekilde basit bir örnek verilebilir,
Condition – loglama koşulu vermek amaçlı bir alan.
Örneğimizde Menu bloğunun 1 ve 2 tuşlamalarının 2 si içinde Log bloğuna bağladık, ancak bu özelliği kullanarak, Menu bloğunun çıkış değerini tutan "menuVariables" değişkenin değeri 1’e eşit olduğu durumda alışacak şekilde ayarladığımızdan dolay, sadece 1 tuşlandığı zaman log atacak.
Logging Details – MCP loguna eklenmesini istediğimiz ifadeler, bu alanda manuel olarak metin eklenebileceği gibi, değişkenleri değeri de kullanılabilir.
Log Level – temel olarak Genesys’in uyguladığı log seviyelerinden hangisinde eklediğimiz loğun değerlendirilmesi gerektiğini set edebiliriz. (Log seviyelerine ilişkin açıklama Ekran görüntüsünde yer almaktadır.)
İster isek, Log bloğundaki Condition’ı iptal edip tüm tuşlamaları loglamaya başlayabiliriz, bu noktada sadece 2 tuşlayanlar için Record almayı hedeflediğimizi düşünelim.
Basit bir müdehale ve Branching bloğu ile bu soruna çözüm getirebiliriz.
Record Bloğu çok yoğun kullanılmakta olan bir blok değil, IVR tarafında ses kaydı almak için kullanılabiliyor. Ancak Help aracılığı ile Bilgi almak mümkün.
Temel olarak Max, kayıt süresini, ne kadar sessizlik olursa sonlandırması gerektiğini Hedef bir path bilgisi ve istenen Dosya adını verir iseniz. İlgili kaydı istenen simle hedeflenen dizinde oluşturabilir.
“Raise Event” – Bu blok Custon Event Fire etmek adına kullanılabilir. Akış içinde çok farklı yerlerden, Exit bloğunda tanımlayacağınız Event ile aynı noktaya dallandırabilir, ortak işlemleri tek bir yerde toplayabilir, hem alan tasarrufu yapabilir, hem de fazla oklarla gereksiz karışıklık oluşmasını engelleyebilirsiniz. Ayrıca Tek event olarak aynı yere yollasanız bile loglama amaçlı yada yine bazı kısımlarda ayrıştırma yapmanız gerekir ise Message özelliğinden faydalanmanız mümkün.
Diğer bir Önemli blok, Input bloğu, temel olarak Menu bloğu gibi telefon yardımı ile kullanıcıdan veri girişi için kullanılıyor, peki Farkları nedir?
Input Blokta Menu ye benzer (Menu Options) opsiyon yoktur, ancak çalışması yada çalışmaması istenen tuşlar yine de ayarlanabilir. (Bu amaçla Aşağıdaki Gramer örneğini inceleyebilirsiniz.)
Menu seçimi gibi tek bir tuşlama değil, müşteri numarası, şifre, TCKN vb… uzun girişler için idealdir.
Öncelikle özelliklerinde, Ekran görüntüsünde de yer alan farklı özellikler mevcut.
Input Termination Character – girişin sonlandığını belirten tuşlama.
Genellikle # kullanılabilir ancak bir karar ile Müşteri numarası alınırken her hangi bir anda * ile Temsilciye aktarım amaçlıda kullanılabilir, tabi ki tek başına bu ayar yetmeyecek altında akışı devam ettirmemiz gerekecek, ancak gerekli ayrışımı sağlayabiliriz.
Inter Digit Timeout – 2 tuşlama arasında maksimum izin verilen bekleme süresi.
Maximum / Minimum Input Digits – en az ve en çok kaç karakter giriş yapılması gerektiğinin tanımı.
Slot – ASR akışlarında gramer cevabının hangi parametreyi adreslediği.
Örneğin, “InputBlock4Digit.grxml” isimli bir dosyayı “'./Resources/Grammars/DTMF/” altında oluşturursak.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<grammar xmlns="http://www.w3.org/2001/06/grammar" mode="dtmf" version="1.0" root="root">
<rule scope="public" id="root">
<tag> out.result = '' </tag>
<one-of>
<item repeat="0-4"> <ruleref uri="#digit"/> <tag> out.result = out.result + rules.latest(); </tag> </item>
<item>
<item repeat="0-3"> <ruleref uri="#digit"/> </item>
<item> * <tag> out.result = 'X' </tag></item>
</item>
</one-of>
</rule>
<rule scope="public" id="digit">
<one-of>
<item> 1 </item>
<item> 2 </item>
<item> 3 </item>
<item> 4 </item>
<item> 5 </item>
<item> 6 </item>
<item> 7 </item>
<item> 8 </item>
<item> 9 </item>
<item> 0 </item>
</one-of>
</rule>
</grammar>
Aşağıdaki şekilde kullanabiliriz, .
Peki bize bu ne sağladı?
Tam olarak 4 haneli giriş yapabileceğimiz bir Input bloğumuz var.
# tuşlama termination karakter olarak ayarlanmış. (Bu durum için çok bir şey ifade etmiyor genellikle uzunluğu sabit olmayan adımlarda anlamlı bir ayar.)
Ancak daha ilk ya da son tuşlamada da olsa ya da ortalarda fark etmeksizin, yıldız tuşlandığında son karakter olarak X ekler ve aslen 4 hane bekleyen adımda da son karakteri “X” olarak başarılı çıkış sağlar, Böylece istenen herhangi bir anda aksiyon alınması mümkün olur.
Basit bir blok olan “Goto” bloğundan da kısaca bahsedersek, Akışı bir yere yönlendirmek için kullanılır.
Proje içindeki bir sayfayı (.NET proje için aspx, Java proje için jsp) seçimi yapmak için Type aşağıdaki şekilde Seçilmeli, ancak Dış bir URL hedeflenecek ise yada local deki bir vxml seçilecek ise “URL” seçilerek full-path yada relative-path verilebilir bu değeri değişken ile almakta mümkün.
(ÖR : “../src/default.vxml”)
Looping bloğu temel olara callflow içinde döngü yapısı kurmanızısağlar. Ancak şahsen çok kullanışlı bulmuyorum zira assigment ve braching blokları yordamıilede bunu sağlayabilirsiniz. Bloğunözellikleribir üst resimden görülebilir. Ancak şahsen tavsiyem komplike döngüler için her daim js file içinde javascript function kullanmanız olur.
“StartFCR” ve “EndFCR” blokları IVR da ses Kaydı almak amaçlı kullanılır, oldukça basit 2 blok End FCR İnput içermez, Start FCR ise Audi format ve MCP üzerinde hangi Foldrerda kaydedileceğine dair 2 opsiyon içerir. (FCR – Full Call Recording)
“Release ASR Engine“ – spesifik yada tüm ASR engine kullanımlarını bıraktırmak için kullanılabilir.
Engine Name özelliği ile spesifik engine belirtilenbilir.
“SNMP” bloğu callflow yada workflow lardan SNMP mesajları üretmek için kullanılabilir. Formatı şu şekilde olacaktır session-id ve block-name otomatik eklenen alanlardır mesaj kısmı set edilmesi gerekir.
<session-id>::<block-name>::<log message>
“Grammar Menu” bloğu Composer içinde yeralan Builder file oluşturma özelliğini kullanarak ASR işlemleri yapmak için kullanılabilir. Bu tool ile oluşturulan dosyalar ile çalışır.
Transfer bloğu ile telefona yada sip hedeflere transfer yapılabilir, blind transfer yada kontrollü transfer tercih edilebilir, Ayrıca Timeout ve Diğer CPA – (Call progress Analys) gibi özellikler tetiklene bilir. Ancak Ön şart olarak transfer nedir nasıl işler kısmına hakim olmak gerektiğinden bu kısımda ilgili bloğun üzerinde çok durmayacağız.
Yorumlar
Yorum Gönder