Integrasikan Telegram dan Avaya

Ketika masalah bisnis menciptakan mekanisme berkecepatan tinggi untuk memberi tahu pengguna tentang peristiwa di Pusat Kontak (meluapnya antrian) dan pertukaran telepon (pemberitahuan panggilan tak terjawab) muncul, muncul pemikiran tentang Telegram.

Bahkan, dalam situasi ini, Telegram, ini hanya salah satu opsi yang mungkin. Dapat dilakukan melalui SMS. Anda dapat melakukannya dengan norak melalui email, dan kemudian akan datang ke pengguna di ponsel dan server Push akan keluar dari itu. Atau lakukan langsung pada aplikasi di ponsel Anda sehingga Push diperoleh langsung darinya.

Tetapi setiap metode memiliki kekurangannya. Anda harus membayar untuk SMS. Email membutakan pengguna terus-menerus dan pengguna berhenti merespons. Aplikasi terpisah pada ponsel harus dibuat untuk setiap platform, instal dan atur pendaftaran token di server internal perusahaan. Solusi dengan telegram tidak memiliki kelemahan ini, meskipun aplikasi tentu saja harus diinstal pada ponsel, desktop, atau di tempat lain. Namun, Telegram juga memiliki nilai minus. Ini Roskomnadzor tersayang, yang tidak terlalu menyukainya. Ini memperkenalkan beberapa kesedihan tambahan dari implementasi.

Jadi

Terinspirasi oleh ini dan ini, saya mulai berbisnis.

Untuk memulai, saya membuat bot di BotFather

gambar

Selanjutnya, Anda harus sudah bekerja secara langsung dengan API.

Setelah menemukan publikasi yang layak ini , saya menoleh ke Hetzner dan mengatur proxy http saya untuk bekerja dengan api hanya 3 euro per bulan di wilayah Jerman.

Langkah yang diperlukan berikutnya adalah membuat grup yang akan menyertakan pengguna Anda dan bot obrolan yang baru dibuat. Ini adalah perlindungan spam. Apa yang kurang dari Viber misalnya.

gambar

Selanjutnya, Anda perlu mencari tahu jumlah pengguna yang dibutuhkan.
Untuk melakukan ini, setiap pengguna harus melemparkan pesan ke obrolan. Secara umum, itu sewenang-wenang. Tetapi kami menggunakan misalnya untuk tujuan ini daftar frase dan nomor tertentu. Nomor tersebut akan menjadi pengidentifikasi untuk PBX.

gambar

Sekarang mari kita beralih ke API.

Menggunakan proxy yang baru dibuat, kami membuat permintaan berikut langsung dari shell proxy. Jika Anda sudah beralih browser untuk bekerja dengannya, maka Anda bisa langsung dari browser.

root@ubuntu-dsenash ~ # wget https://api.telegram.org/bot553:AAGrXfKHw/getUpdates --2018-06-21 11:11:25-- https://api.telegram.org/bot553:AAGrXfKHw/getUpdates Resolving api.telegram.org (api.telegram.org)... 149.154.167.220, 2001:67c:4e8:f004::9 Connecting to api.telegram.org (api.telegram.org)|149.154.167.220|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 370 [application/json] Saving to: 'getUpdates' getUpdates 100%[==================================================================================>] 370 --.-KB/s in 0s 2018-06-21 11:11:25 (14.1 MB/s) - 'getUpdates' saved [370/370] root@ubuntu-dsenash ~ # cat getUpdates {"ok":true,"result":[{"update_id":90770, "message":{"message_id":43,"from":{"id":3918,"is_bot":false,"first_name":"Dmitry","last_name":"Senashenko","language_code":"ru"},"chat":{"id":3918,"first_name":"Dmitry","last_name":"Senashenko","type":"private"},"date":1529572218,"text":"/register 1000","entities":[{"offset":0,"length":9,"type":"bot_command"}]}}]}root@ubuntu-dsenash ~ # 

Alih-alih "553XXXXXXX: AAGrXfKHwhhhhhhhhhhhhhhhhhhhhhhhhh" apa yang Anda terima dari BotFather diindikasikan.

Sebagai tanggapan, kami mencari pengidentifikasi pengguna yang meninggalkan pesan register.
Dalam teks di atas kita melihat pesan itu sendiri: "/ daftar 1000"
Dan id pengguna yang dicari: "id": 3918xxxxx "
Alih-alih xxxxx tentu saja ada bilangan real.

Sekarang Anda dapat memeriksa operasi bot dan API langsung dari shell atau dari browser Anda dengan permintaan berikut:

api.telegram.org/bot553XXXXXXX : AAGrXfKHwhhhhhhhhhhhhhhhhhhhhhhhhhh / sendMessage? text = Your_queue_is_overloaded & chat_id = 3918xxxxx

Di mana bot553XXXXXXX: AAGrXfKHwhhhhhhhhhhhhhhhhhhhhhhhhhx adalah nomor bot dan kunci yang diterima dari BotFather, dan 3918xxxxx adalah nomor pengguna yang diperoleh dari langkah sebelumnya.
Anda dapat menggunakan bahasa Rusia dalam teks, tetapi spasi harus diganti dengan% 20.

Sebagai hasil dari perintah ini, pesan diterima di Telegram pada desktop dan pada ponsel pada saat bersamaan.

gambar
gambar

Browser mengembalikan jawaban berikut:
gambar
Jadi apinya bekerja. Sekarang kita akan beralih ke integrasi dengan pertukaran telepon Avaya. Untuk tujuan ini saya akan menggunakan Avaya Aura Experience Portal 7.1. Ini digunakan untuk mengatur IVR di ekosistem Avaya dan merupakan platform layanan yang sepenuhnya tervirtualisasi dan cerdas. Fitur pentingnya adalah kemampuan untuk memasukkan kode Java, yang perlu kita integrasikan dengan Telegram. Saya tidak akan membuat iklan, tetapi menurut saya ini adalah salah satu produk Avaya terbaik dan Anda dapat menulis hal-hal yang sangat menakjubkan di atasnya. Misalnya Kontrol suara teko atau Transkripsi percakapan yang lebih serius dengan cepat .

Sistem IVR ini tentu tidak murah, tetapi ada beberapa kekhasan. Ini dilisensikan oleh port. Karena kami berencana untuk menggunakannya segera, satu port sudah cukup. Dan satu port memiliki biaya yang cukup rendah. Dan dengan virtualisasi, sistem hanya membutuhkan 2 Core / 4GB RAM / 60GB HDD. Secara umum, ini dapat diinstal di hampir semua laptop atau desktop. Nah, seperti ceri pada kue - produk ini memiliki mode uji coba yang memungkinkan Anda menggunakannya secara gratis selama 30 hari.

Untuk menyelesaikan tugas, kita perlu mengatur panggilan IVR oleh suatu peristiwa dalam pertukaran telepon dan kemudian mengkonfigurasinya sehingga mengirimkan acara yang sesuai ke API yang baru dibuat.

Jika kami mempertimbangkan tugas untuk memberi tahu penyelia tentang kelebihan jumlah panggilan dalam antrian ke Pusat Kontak, maka dalam pertukaran telepon akan perlu untuk memodifikasi vektor utama dan membuat satu tambahan.

CALL VECTOR

Nomor: 5 Nama: Vektor untuk Keterampilan 5

01 goto langkah 5 jika panggilan-antri di skill 5 pri m> 5
02 keterampilan antri-ke 5 pri m
03 waktu tunggu 30 detik hening
04 langkah 3 jika tanpa syarat
05 rute-ke nomor 1214 dengan cov n jika tanpa syarat
06 kebagian langkah 2 jika tanpa syarat

Vektor ini segera sebelum menempatkan panggilan dalam antrian memeriksa jumlah panggilan dalam antrian ini. Jika melebihi 5, maka panggilan masuk ke langkah 5, di mana ia ditransfer ke nomor 1214. Nomor ini dialihkan ke IVR.

Dalam kondisi di langkah 1, Anda dapat memeriksa sejumlah besar parameter yang merupakan indikator beban di Pusat Kontak. Misalnya, EWT, jumlah agen yang tersedia, jumlah agen yang masuk, jumlah panggilan dalam antrian, tingkat layanan, dll. dan jika indikator ini atau itu terlampaui, teruskan panggilan ke IVR.

Aplikasi dalam IVR akan mulai mengirim pesan ke Telegram dan segera mentransfer panggilan kembali ke Contact Center ke vektor yang sama, hanya tanpa langkah 1 dan 5.

Waktu tunda untuk panggilan pemrosesan tersebut akan menjadi sekitar 100 milidetik, yang sama sekali tidak signifikan untuk penelepon.

Vektor kedua akan terlihat seperti ini:

CALL VECTOR

Nomor: 6 Nama: Keterampilan 5 Langsung

01 antrian-ke keterampilan 5 pri m
02 waktu tunggu 30 detik mendengarkan keheningan
03 langkah 2 jika tanpa syarat

Jadi panggilan acara dialihkan ke IVR. Mari beralih ke mengembangkan aplikasi di dalamnya.

Aplikasi untuk Portal Pengalaman Avaya Aura dikembangkan di Eclipse dengan plugin Designer Orkestrasi diinstal. Ini memungkinkan Anda untuk mentransfer pengembangan untuk pengguna yang tidak terampil ke mode Seret & Jatuhkan kotak dan panah bergerak tanpa menyelam ke dalam kode Java.

Nah, pengguna yang memenuhi syarat sudah bisa menanamkan kode Java. Selanjutnya, aplikasi dirakit sebagai servlet dan digunakan untuk Tomcat, di mana IVR merujuk ketika menerima panggilan.

Aplikasi adalah sebagai berikut:

gambar
Panggilan masuk ke simpul AppRoot, kemudian variabelnya sudah diproses sebelumnya dan panggilan itu pergi ke Konektor Telegram, yang sudah merupakan kode Java murni. Setelah mengirim pesan, panggilan sedang ditransfer ke Pusat Kontak.

Untuk menyederhanakan pengaturan, Variabel yang Dapat Dikonfigurasi digunakan, yang memungkinkan Anda untuk menampilkan pengaturan variabel aplikasi internal pada portal Web Portal Pengalaman itu sendiri. Ini diperlukan agar ketika mengubah pengaturan untuk tidak membangun kembali aplikasi.

Blok variabel adalah sebagai berikut:

gambar

Bagaimana Variabel yang Dapat Dikonfigurasi menggunakan variabel DNIS dengan sub-variabel. Untuk mentransfer variabel ke kode Java, variabel yang ditulis dengan huruf kapital digunakan.

Unit pemrosesan utama adalah sebagai berikut:

gambar

Maafkan aku, pecinta kode bersih. Blok url terlihat mengerikan. Ini adalah fitur Designer Orkestrasi. Tentu saja, lebih tepat untuk mengumpulkannya langsung dalam kode Java dalam satu baris, tetapi penting bagi saya untuk memeriksa URL mana yang masuk ke kode Java dan harus mengumpulkannya seperti ini.

Konektornya sendiri terlihat sangat minimalis:

  String response = ""; String str = mySession.getVariable(IProjectVariables.URL).getSimpleVariable().getStringValue(); str = str.replaceAll(" ", "%20"); IVariableField variable = mySession.getVariableField(IProjectVariables.RESPONSEINFO); variable.setValue(str); URL url; try { url = new URL(str); InputStream is = url.openConnection().getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader( is ) ); String line = null; response = ""; while( ( line = reader.readLine() ) != null ) { response = response + line; } reader.close(); } catch (IOException e) { e.printStackTrace(); } 

Fungsi mySession.getVariable dan mySession.getVariableField diperlukan untuk mentransfer informasi dari aplikasi ke kode Java dan mengembalikan respons.

Yaitu kami membentuk URL sesuai dengan prinsip di atas dan memulainya, melewati apa yang dikembalikan server.

Itulah keseluruhan aplikasi, dan secara umum seluruh solusi. Portal web IVR itu sendiri dengan Variabel yang Dapat Dikonfigurasi adalah sebagai berikut:

gambar

Jika seseorang tertarik untuk melihat demonstrasi prototipe yang sebenarnya, maka dia dapat melihatnya di sini .

Nah, ada beberapa ceri di atas kue. Lebih tepatnya, bahkan dua.

Saya sudah menulis tentang yang pertama. Agar solusi berfungsi, Anda perlu menghubungkan server aplikasi ke Telegram melalui proxy yang tidak ada di Rusia. Saya harap omong kosong ini berakhir.

Nah, ceri kedua. Tentu saja, koneksi ke telegram harus dienkripsi dan koneksi berjalan melalui https. Dan tentu saja, sertifikat yang tidak ditandatangani sendiri digunakan untuk itu. Dan sertifikat ini tidak memberikan Telegram. Dan tidak seperti browser, server aplikasi tidak dapat dengan mudah membuat koneksi tanpa sertifikat. Jadi ceri pada kue adalah proses menemukan sertifikat ini dan mengunggahnya ke server aplikasi. Setelah prosedur ini, semuanya segera bekerja secara ajaib.

Saya percaya bahwa seseorang yang berhasil melewati jalur saya juga akan berhasil menemukan sertifikat ini. Yang utama adalah dia tahu bahwa dia perlu ditemukan.

Terima kasih atas perhatian anda

Source: https://habr.com/ru/post/id414811/


All Articles