Rostelecom virtual PBX: apa dan bagaimana bisa dilakukan melalui API



Bisnis modern menganggap telepon darat sebagai teknologi yang sudah ketinggalan zaman: komunikasi seluler memberikan mobilitas dan ketersediaan karyawan yang konstan, jaringan sosial, dan pesan instan adalah saluran komunikasi yang lebih mudah dan lebih cepat. Untuk mengikuti pesaing mereka, PBX kantor menjadi semakin mirip dengan mereka: mereka pergi ke cloud, dikelola melalui antarmuka web dan terintegrasi dengan sistem lain melalui API. Dalam posting ini kami akan memberi tahu Anda apa fungsi yang dimiliki API PBX virtual Rostelecom dan bagaimana bekerja dengannya melalui fungsi dasar PBX virtual.

Tugas utama API PBX virtual Rostelecom adalah berinteraksi dengan CRM atau situs perusahaan. Misalnya, API menyertakan widget "panggilan balik" dan "panggilan dari situs" untuk sistem kontrol utama: WordPress, Bitrix, OpenCart. API memungkinkan Anda untuk:

  • Terima informasi, beri tahu tentang status dan lakukan panggilan berdasarkan permintaan dari sistem eksternal;
  • Dapatkan tautan sementara ke rekaman percakapan;
  • Kelola dan terima pengaturan pembatasan dari pengguna;
  • Dapatkan informasi tentang pengguna PBX virtual;
  • Meminta riwayat biaya dan biaya panggilan;
  • Unduh log panggilan.

Cara Kerja API


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



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

Kami mendapatkan informasi tentang pengguna PBX virtual


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

{         "domain":"example.ru" } 

Daftar akan dikembalikan 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":"test_user_1@mail.gov","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":"Ivanov@mail.gov",                            "distribution":1,                           "users_list":[^_^quotʚquot^_^,^_^quotʿquot^_^]                            }              ] 

Dalam metode ini, dua array dilewatkan. Satu dengan pengguna domain, satu dengan grup domain. Grup juga memiliki kemampuan untuk menentukan email yang akan dikirim dalam permintaan.

Kami memproses informasi tentang panggilan masuk


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

Untuk mendapatkan informasi tentang panggilan melalui API, Anda perlu menggunakan metode / get_number_info , yang membentuk daftar panggilan dengan informasi tentang grup tempat panggilan itu didistribusikan. Misalkan panggilan masuk dari nomor 1234567890 telah tiba di nomor PBX virtual. Kemudian permintaan akan dikirim dari PBX:

 {        "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 handler / get_number_info . Permintaan harus dieksekusi ketika panggilan masuk tiba di saluran masuk sebelum merutekan panggilan. Jika respons terhadap permintaan tidak diterima dalam waktu yang ditentukan, maka panggilan dialihkan sesuai dengan aturan yang ditetapkan dalam domain.

Penangan contoh 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; 

Tanggapan dari pawang.

 {        "result":0,        "resultMessage":" ",        "displayName":"   +1</i> 234-56-78-90<i>" } 

Kami memantau status dan mengunduh catatan percakapan


Dalam pertukaran telepon virtual Rostelecom, rekaman percakapan diaktifkan di akun pribadi Anda. Menggunakan API, Anda dapat melacak status fungsi ini. Saat memproses penghentian panggilan di call_events, Anda dapat melihat bendera 'is_record', yang memberi tahu pengguna tentang status perekaman: true berarti bahwa pengguna mengaktifkan fungsi perekaman percakapan.

Untuk mengunduh catatan, Anda perlu mengirim permintaan ke api.cloudpbx.rt.ru/get_record menggunakan ID sesi dari panggilan session_id .

 {        "session_id":"SDsnZugDFmTW7Sec" } 

Responsnya akan berupa tautan sementara untuk mengunduh file rekaman percakapan.

 {        "result": ^_^quot&#0;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 file dihapus.

Statistik dan Pelaporan


Di akun Anda di halaman terpisah, Anda dapat melihat statistik dan pelaporan untuk semua panggilan dan menerapkan filter berdasarkan status dan waktu. Melalui API, Anda harus terlebih dahulu memproses panggilan dengan metode / 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 metode call_info untuk memproses array dan menampilkan panggilan dalam sistem CRM.

    {        "session_id":"SDsnZugDFmTW7Sec" } 

Respons akan berupa array data yang dapat 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":"admin@example.ru",                "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&#0;quot^_^,                "status_string":""        } } 


Fitur PBX virtual berguna lainnya


Selain API, PBX virtual memiliki beberapa fungsi lebih bermanfaat yang dapat Anda gunakan. Misalnya, ini adalah menu suara interaktif dan kombinasi komunikasi seluler dan tetap.

Interactive Voice Response (IVR) adalah apa yang kita dengar di penerima sebelum seseorang menjawab. Bahkan, ini adalah operator elektronik yang mengalihkan panggilan ke departemen yang sesuai dan menjawab beberapa pertanyaan secara otomatis. Segera, akan mungkin untuk bekerja dengan IVR melalui API: sekarang kami sedang mengembangkan perangkat lunak yang akan memungkinkan Anda untuk melacak kemajuan panggilan melalui IVR dan menerima informasi tentang penekanan tombol ketika pemanggil berada di menu suara.

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

Perbedaannya adalah bahwa softphones memerlukan Internet untuk berkomunikasi, tetapi mereka tidak terikat pada operator, dan FMC terikat pada operator tertentu, tetapi bahkan dapat digunakan pada telepon tombol yang lebih lama.

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


All Articles