PBX maya Rostelecom: apa dan bagaimana boleh dilakukan melalui API

PBX maya Rostelecom: apa dan bagaimana boleh dilakukan melalui API

Perniagaan moden menganggap telefon talian tetap sebagai teknologi ketinggalan zaman: komunikasi selular memastikan mobiliti dan ketersediaan berterusan pekerja, rangkaian sosial dan pemesejan segera adalah saluran komunikasi yang lebih mudah dan pantas. Untuk bersaing dengan pesaing mereka, PBX pejabat menjadi semakin serupa dengan mereka: mereka berpindah ke awan, diuruskan melalui antara muka web dan disepadukan dengan sistem lain melalui API. Dalam siaran ini, kami akan memberitahu anda apakah fungsi API PBX maya Rostelecom dan cara bekerja dengan fungsi utama PBX maya melaluinya.

Tugas utama API PBX maya Rostelecom ialah interaksi dengan CRM atau tapak web syarikat. Sebagai contoh, API melaksanakan widget "panggilan balik" dan "panggilan dari tapak" untuk sistem pengurusan utama: WordPress, Bitrix, OpenCart. API membenarkan:

  • Terima maklumat, maklumkan status dan buat panggilan atas permintaan daripada sistem luaran;
  • Dapatkan pautan sementara untuk merakam perbualan;
  • Urus dan terima parameter sekatan daripada pengguna;
  • Dapatkan maklumat tentang pengguna PBX maya;
  • Minta sejarah debit dan caj panggilan;
  • Muat naik log panggilan.

Cara API berfungsi

API integrasi dan sistem luaran berinteraksi antara satu sama lain menggunakan permintaan HTTP. Dalam akaun peribadi, pentadbir menetapkan alamat tempat permintaan kepada API harus tiba dan tempat permintaan daripada API harus dihantar. Sistem luaran mesti mempunyai alamat awam yang boleh diakses dari Internet dengan sijil SSL yang dipasang.

PBX maya Rostelecom: apa dan bagaimana boleh dilakukan melalui API

Juga dalam akaun peribadi, pentadbir domain boleh mengehadkan sumber permintaan apabila mengakses API melalui IP. 

Kami menerima maklumat tentang pengguna PBX maya 

Untuk mendapatkan senarai pengguna atau kumpulan, anda perlu menghantar permintaan ke PBX maya menggunakan kaedah tersebut /users_info.

{
        "domain":"example.ru"
}

Sebagai balasan, anda akan menerima senarai yang boleh anda simpan.

{
"result":0,
"resultMessage":"",
"users":[
                           {
                            "display_name":"test_user_1",
                            "name":"admin",
                            "pin":^_^quotʚquot^_^,
                           "is_supervisor":true,
                            "is_operator":false,
                            "email":"[email protected]","recording":1
                             },
                            {
                            "display_name":"test_user_2",
                            "name":"test",
                            "pin":^_^quotʿquot^_^,
                            "is_supervisor":true,
                            "is_operator":false,
                            "email":"",
                           "recording":1
                            }
              ],
"groups":
              [
                            {
                            "name":"testAPI",
                            "pin":^_^quotǴquot^_^,
                            "email":"[email protected]",
                            "distribution":1,
                           "users_list":[^_^quotʚquot^_^,^_^quotʿquot^_^]
                            }
              ]

Kaedah ini melepasi dua tatasusunan. Satu dengan pengguna domain, satu dengan kumpulan domain. Kumpulan itu juga mempunyai peluang untuk menentukan e-mel yang akan dihantar dalam permintaan.

Memproses maklumat tentang panggilan masuk

Menyambungkan telefon korporat kepada pelbagai sistem CRM menjimatkan masa untuk pekerja yang berinteraksi dengan pelanggan dan mempercepatkan pemprosesan panggilan masuk. Sebagai contoh, apabila panggilan daripada pelanggan semasa, CRM boleh membuka kadnya, dan daripada CRM anda boleh menghantar panggilan kepada pelanggan dan menghubungkannya dengan pekerja.

Untuk mendapatkan maklumat tentang panggilan API, anda perlu menggunakan kaedah tersebut /dapatkan_number_info, yang menjana senarai panggilan dengan maklumat tentang kumpulan yang mana panggilan itu diedarkan. Mari kita anggap bahawa nombor PBX maya menerima panggilan masuk dari nombor 1234567890. Kemudian PBX akan menghantar permintaan berikut:

{
        "session_id":"SDsnZugDFmTW7Sec",
        "timestamp":"2019-12-27 15:34:44.461",
        "type":"incoming",
        "state":"new",
        "from_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
        "from_pin":"",
        "request_number":"sip:</i^_^gt�lt&i;gt^_^@1192.168.0.1",
        "request_pin":^_^quotɟquot^_^,
        "disconnect_reason":"",
        "is_record":""
}

Seterusnya anda perlu menyambungkan pengendali /dapatkan_number_info. Permintaan mesti dilaksanakan apabila panggilan masuk tiba pada talian masuk sebelum panggilan dihalakan. Jika respons kepada permintaan tidak diterima dalam masa yang ditetapkan, maka panggilan itu dihalakan mengikut peraturan yang ditetapkan dalam domain.

Contoh pengendali di bahagian CRM.

if ($account) {
        	$data = [
            	'result' => 0,
            	'resultMessage' => 'Абонент найден',
            	'displayName' => $account->name,
            	//'PIN' => $crm_users,
        	];
    	} 
        else 
                {
        	$data = [
            	'result' => 0,
            	'resultMessage' => 'Абонент не найден',
            	'displayName' => 'Неизвестный абонент '.$contact,
            	//'PIN' => crm_users,
        	];
    	}
    	return $data;

Maklum balas daripada pengendali.

{
        "result":0,
        "resultMessage":"Абонент найден",
        "displayName":"Иванов Иван Иванович +1</i> 234-56-78-90<i>"
}

Kami menjejaki status dan memuat turun rakaman panggilan

Dalam PBX maya Rostelecom, rakaman panggilan diaktifkan dalam akaun peribadi anda. Menggunakan API, anda boleh menjejaki status fungsi ini. Apabila memproses penamatan panggilan masuk panggilan_acara anda boleh melihat bendera 'is_record', yang memberitahu pengguna tentang status entri: benar bermakna fungsi rakaman panggilan pengguna didayakan.

Untuk memuat turun rakaman, anda perlu menggunakan ID sesi panggilan session_id menghantar permintaan kepada api.cloudpbx.rt.ru/get_record.

{
        "session_id":"SDsnZugDFmTW7Sec"
}

Sebagai balasan, anda akan menerima pautan sementara untuk memuat turun fail dengan rakaman perbualan.

{
        "result": ^_^quot�quot^_^,
        "resultMessage": "Операция выполнена успешно",
    	"url": "https://api.cloudpbx.rt.ru/records_new_scheme/record/download/501a8fc4a4aca86eb35955419157921d/188254033036"
}

Masa penyimpanan fail ditetapkan dalam tetapan akaun peribadi anda. Selepas itu fail akan dipadamkan.

Statistik dan pelaporan

Dalam akaun peribadi anda pada halaman yang berasingan, anda boleh melihat statistik dan pelaporan pada semua panggilan dan menggunakan penapis mengikut status dan masa. Melalui API, anda mesti memproses panggilan dengan kaedah terlebih dahulu /call_events:

       {
        "session_id":"SDsnZugDFmTW7Sec",
        "timestamp":"2019-12-27 15:34:59.349",
        "type":"incoming",
        "state":"end",
        "from_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
        "from_pin":"",
        "request_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
        "request_pin":^_^quotʚquot^_^,
        "disconnect_reason":"",
        "is_record":"true"
        }

Kemudian panggil kaedah call_info untuk memproses tatasusunan dan memaparkan panggilan dalam sistem CRM.

     {
        "session_id":"SDsnZugDFmTW7Sec"
}

Sebagai tindak balas, anda akan menerima tatasusunan data yang boleh diproses untuk menyimpan data dalam log CRM.

{
        "result":0,
        "resultMessage":"",
        "info":
        {
                "call_type":1,
                "direction":1,
                "state":1,
                "orig_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
                "orig_pin":null,
                "dest_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
                "answering_sipuri":"[email protected]",
                "answering_pin":^_^quotɟquot^_^,
                "start_call_date":^_^quot�quot^_^,
                "duration":14,
                 "session_log":"0:el:123456789;0:ru:admin;7:ct:admin;9:cc:admin;14:cd:admin;",
                "is_voicemail":false,
                "is_record":true,
                "is_fax":false,
                "status_code":^_^quot�quot^_^,
                "status_string":""
        }
}

Ciri PBX maya lain yang berguna

Selain API, PBX maya mempunyai beberapa ciri berguna lain yang boleh anda gunakan. Contohnya, ini ialah menu suara interaktif dan penyepaduan komunikasi selular dan tetap.

Respons Suara Interaktif (IVR) ialah apa yang kita dengar pada telefon bimbit sebelum orang itu menjawab. Pada asasnya, ini ialah pengendali elektronik yang mengubah hala panggilan ke jabatan yang sesuai dan menjawab beberapa soalan secara automatik. Tidak lama lagi adalah mungkin untuk bekerja dengan IVR melalui API: kami sedang membangunkan perisian yang akan membolehkan anda menjejaki kemajuan panggilan melalui IVR dan menerima maklumat tentang ketukan kekunci nada sentuh apabila pelanggan berada dalam menu suara.

Untuk memindahkan telefon korporat ke telefon mudah alih, anda boleh sama ada menggunakan aplikasi telefon lembut atau secara berasingan mengaktifkan perkhidmatan Penumpuan Mudah Alih Tetap (FMC). Dengan mana-mana kaedah, panggilan dalam rangkaian adalah percuma, ia menjadi mungkin untuk berfungsi dengan nombor pendek, dan panggilan boleh direkodkan dan statistik umum boleh disimpan pada mereka. 

Perbezaannya ialah telefon lembut memerlukan Internet untuk berkomunikasi, tetapi ia tidak terikat kepada pengendali, manakala FMC terikat kepada pengendali tertentu, tetapi boleh digunakan walaupun pada telefon butang tekan lama.

Sumber: www.habr.com

Tambah komen