Rostelecom虚拟PBX:可以通过API进行哪些操作以及如何完成



现代企业将座机电话视为过时的技术:蜂窝通信可提供移动性和员工的持续可用性,社交网络和即时通讯程序是更轻松,更快捷的通信渠道。 为了跟上竞争对手,办公室PBX变得越来越像他们:它们走到云端,通过Web界面进行管理,并通过API与其他系统集成。 在这篇文章中,我们将告诉您Rostelecom虚拟PBX API具有哪些功能,以及如何通过虚拟PBX的基本功能来使用它。

Rostelecom虚拟PBX API的主要任务是与CRM或公司站点进行交互。 例如,API包括用于主要控制系统的小部件“回调”和“从站点呼叫”:WordPress,Bitrix,OpenCart。 该API允许您执行以下操作:

  • 接收信息,通知状态并根据外部系统的请求进行呼叫;
  • 获取到对话记录的临时链接;
  • 管理和接收用户的限制设置;
  • 获取有关虚拟PBX用户的信息;
  • 请求通话记录和通话记录的历史记录;
  • 下载通话记录。

API的工作方式


集成API和外部系统使用HTTP请求进行交互。 在个人帐户中,管理员可以设置对API的请求应该到达的地址以及应该向API发送的请求的地址。 外部系统必须具有可从Internet访问且安装了SSL证书的公共地址。



另外,在您的个人帐户中,域管理员可以在访问API时限制请求的IP源。

我们获得有关虚拟PBX用户的信息


要获取用户或组的列表,您需要使用/ users_info方法向虚拟PBX发送请求。

{         "domain":"example.ru" } 

将返回一个列表,您可以保存。

 { "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^_^]                            }              ] 

在此方法中,传递了两个数组。 一个带域用户,一个带域组。 该组还可以指定将在请求中发送的电子邮件。

我们处理有关来电的信息


将公司电话连接到各种CRM系统可以节省与客户互动的员工时间,并加快处理来电的速度。 例如,在当前客户的呼叫中,CRM可以打开他的卡,而在CRM中,您可以将呼叫发送到客户并将其连接到员工。

要通过API获取有关调用的信息,您需要使用/ get_number_info方法,该方法形成一个包含有关该调用所组成的组的信息的调用列表。 假设从号码1234567890传入的呼叫已经到达虚拟PBX号码,然后从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":"" } 

接下来,您需要连接/ get_number_info处理程序。 在路由呼叫之前,当传入呼叫到达传入线路时,必须执行该请求。 如果在设置的时间内未收到对请求的响应,则根据域中建立的规则路由呼叫。

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; 

处理程序的响应。

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

我们监视状态并下载对话记录


在Rostelecom的虚拟电话交换机中,对话记录已在您的个人帐户中激活。 使用API​​,您可以跟踪此功能的状态。 在call_events中处理呼叫终止时您可以看到'is_record'标志该标志通知用户录音状态: true表示该用户启用了对话录音功能。

要下载记录,您需要使用调用session_id 会话ID向api.cloudpbx.rt.ru/get_record发送请求

 {        "session_id":"SDsnZugDFmTW7Sec" } 

响应将是下载会话记录文件的临时链接。

 {        "result": ^_^quot&#0;quot^_^,        "resultMessage": "  ",    "url": "https://api.cloudpbx.rt.ru/records_new_scheme/record/download/501a8fc4a4aca86eb35955419157921d/188254033036" } 


文件存储时间在您的个人帐户设置中设置。 文件删除后。

统计与报告


在单独页面上的帐户中,您可以查看所有通话的统计信息和报告,还可以按状态和时间应用过滤器。 通过API,您必须首先使用/ 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"        } 

然后,调用call_info方法以处理该数组并在CRM系统中显示该调用。

    {        "session_id":"SDsnZugDFmTW7Sec" } 

响应将是一组数据,可以对其进行处理以将数据存储在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":""        } } 


其他有用的虚拟PBX功能


除了API,虚拟PBX还具有一些可以使用的有用功能。 例如,这是一个交互式语音菜单以及蜂窝和固定通信的组合。

交互式语音响应(IVR)是我们在接听人之前在接收器中听到的声音。 实际上,这是一家电子运营商,可将呼叫重定向至相应部门并自动回答一些问题。 很快,将可以通过API使用IVR:现在,我们正在开发软件,该软件可让您通过IVR跟踪呼叫进度,并在呼叫者处于语音菜单时接收有关击键的信息。

要将公司电话传输到移动电话,可以使用软件电话应用程序,也可以单独连接固定移动融合(FMC)服务。 使用任何一种方法,网络内的呼叫都是免费的,可以使用短号码,并且可以记录呼叫并可以保留常规统计信息。

区别在于,软电话需要Internet进行通信,但它们并不与运营商绑定,而FMC则与特定运营商绑定,甚至可以在较旧的按键式电话上使用。

Source: https://habr.com/ru/post/zh-CN484180/


All Articles