PBX virtual Rostelecom: apa dan bagaimana dapat dilakukan melalui API

PBX virtual Rostelecom: apa dan bagaimana dapat dilakukan melalui API

Bisnis modern memandang telepon rumah sebagai teknologi yang ketinggalan jaman: komunikasi seluler memastikan mobilitas dan ketersediaan karyawan yang konstan, jejaring sosial dan pesan instan adalah saluran komunikasi yang lebih mudah dan cepat. Untuk mengimbangi pesaingnya, PBX kantor menjadi semakin mirip dengan mereka: mereka berpindah ke cloud, dikelola melalui antarmuka web dan terintegrasi dengan sistem lain melalui API. Dalam postingan ini kami akan memberi tahu Anda apa saja fungsi API PBX virtual Rostelecom dan cara bekerja dengan fungsi utama PBX virtual melaluinya.

Tugas utama API PBX virtual Rostelecom adalah interaksi dengan CRM atau situs web perusahaan. Misalnya, API mengimplementasikan widget “panggilan balik” dan “panggilan dari situs” untuk sistem manajemen utama: WordPress, Bitrix, OpenCart. API memungkinkan:

  • Menerima informasi, memberitahukan status dan melakukan panggilan berdasarkan permintaan dari sistem eksternal;
  • Dapatkan tautan sementara untuk merekam percakapan;
  • Kelola dan terima parameter pembatasan dari pengguna;
  • Dapatkan informasi tentang pengguna PBX virtual;
  • Minta riwayat debit dan biaya panggilan;
  • Unggah log panggilan.

Cara kerja API

API integrasi dan sistem eksternal berinteraksi satu sama lain menggunakan permintaan HTTP. Di akun pribadi, administrator menetapkan alamat tempat permintaan ke API harus tiba dan ke mana permintaan dari API harus dikirim. Sistem eksternal harus memiliki alamat publik yang dapat diakses dari Internet dengan sertifikat SSL yang terpasang.

PBX virtual Rostelecom: apa dan bagaimana dapat dilakukan melalui API

Juga di akun pribadi, administrator domain dapat membatasi sumber permintaan saat mengakses API berdasarkan IP. 

Kami menerima informasi tentang pengguna PBX virtual 

Untuk mendapatkan daftar pengguna atau grup, Anda perlu mengirim permintaan ke PBX virtual menggunakan metode ini /users_info.

{
        "domain":"example.ru"
}

Sebagai tanggapan, Anda akan menerima daftar yang dapat 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^_^]
                            }
              ]

Metode ini melewati dua array. Satu dengan pengguna domain, satu dengan grup domain. Grup juga memiliki kesempatan untuk menentukan email yang akan dikirim dalam permintaan tersebut.

Memproses informasi tentang panggilan masuk

Menghubungkan telepon perusahaan ke berbagai sistem CRM menghemat waktu bagi karyawan yang berinteraksi dengan klien dan mempercepat pemrosesan panggilan masuk. Misalnya, saat ada panggilan dari klien saat ini, CRM dapat membuka kartunya, dan dari CRM Anda dapat mengirim panggilan ke klien dan menghubungkannya dengan karyawan.

Untuk mendapatkan informasi tentang panggilan API, Anda perlu menggunakan metode ini /get_number_info, yang menghasilkan daftar panggilan dengan informasi tentang grup tempat panggilan tersebut didistribusikan. Misalkan nomor PBX virtual menerima panggilan masuk dari nomor 1234567890. Kemudian PBX akan mengirimkan 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":""
}

Selanjutnya Anda perlu menghubungkan pawang /get_number_info. Permintaan harus dijalankan ketika panggilan masuk tiba di saluran masuk sebelum panggilan dialihkan. Jika respons terhadap permintaan tidak diterima dalam waktu yang ditentukan, maka panggilan tersebut dialihkan sesuai dengan aturan yang ditetapkan di domain.

Contoh handler di sisi 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;

Respon dari pawang.

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

Kami melacak status dan mengunduh rekaman panggilan

Di PBX virtual Rostelecom, rekaman panggilan diaktifkan di akun pribadi Anda. Dengan menggunakan API, Anda dapat melacak status fungsi ini. Saat memproses penghentian panggilan di panggilan_acara kamu bisa melihat benderanya 'adalah_catatan', yang memberi tahu pengguna tentang status entri: benar berarti fungsi perekaman panggilan pengguna diaktifkan.

Untuk mendownload rekaman, Anda perlu menggunakan ID sesi panggilan session_id kirim permintaan ke api.cloudpbx.rt.ru/get_record.

{
        "session_id":"SDsnZugDFmTW7Sec"
}

Sebagai tanggapan, Anda akan menerima tautan sementara untuk mengunduh file dengan rekaman percakapan.

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

Waktu penyimpanan file diatur dalam pengaturan akun pribadi Anda. Setelah itu file tersebut akan dihapus.

Statistik dan pelaporan

Di akun pribadi Anda di halaman terpisah, Anda dapat melihat statistik dan pelaporan semua panggilan dan menerapkan filter berdasarkan status dan waktu. Melalui API, Anda harus memproses panggilan dengan metode terlebih dahulu /panggilan_acara:

       {
        "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 metodenya panggilan_info untuk memproses array dan menampilkan panggilan dalam sistem CRM.

     {
        "session_id":"SDsnZugDFmTW7Sec"
}

Sebagai tanggapan, Anda akan menerima serangkaian data yang dapat diproses untuk menyimpan data di 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":""
        }
}

Fitur PBX virtual berguna lainnya

Selain API, PBX virtual memiliki beberapa fitur berguna lainnya yang dapat Anda gunakan. Misalnya, menu suara interaktif dan integrasi komunikasi seluler dan tetap.

Interactive Voice Response (IVR) adalah apa yang kita dengar di handset sebelum orang tersebut menjawab. Intinya, ini adalah operator elektronik yang mengalihkan panggilan ke departemen terkait dan menjawab beberapa pertanyaan secara otomatis. IVR akan segera dapat digunakan melalui API: kami sedang mengembangkan perangkat lunak yang memungkinkan Anda melacak kemajuan panggilan melalui IVR dan menerima informasi tentang penekanan tombol nada sentuh saat pelanggan berada di menu suara.

Untuk mentransfer telepon perusahaan ke telepon seluler, Anda dapat menggunakan aplikasi softphone atau mengaktifkan layanan Fixed Mobile Convergence (FMC) secara terpisah. Dengan metode apa pun, panggilan dalam jaringan gratis, dimungkinkan untuk bekerja dengan nomor pendek, dan panggilan dapat direkam dan statistik umum dapat disimpan. 

Perbedaannya adalah softphone memerlukan Internet untuk berkomunikasi, tetapi tidak terikat pada operator, sedangkan FMC terikat pada operator tertentu, tetapi dapat digunakan bahkan pada telepon tombol-tekan lama.

Sumber: www.habr.com

Tambah komentar