
Las empresas modernas perciben los teléfonos fijos como una tecnología obsoleta: la comunicación celular proporciona movilidad y la disponibilidad constante de los empleados, las redes sociales y la mensajería instantánea son un canal de comunicación más fácil y rápido. Para mantenerse al día con sus competidores, los PBX de oficina se están volviendo cada vez más como ellos: van a las nubes, se administran a través de la interfaz web y se integran con otros sistemas a través de la API. En esta publicación, le diremos qué funciones tiene la API PBX virtual de Rostelecom y cómo trabajar con ella a través de las funciones básicas de una PBX virtual.
La tarea principal de la API PBX virtual de Rostelecom es interactuar con CRM o sitios de la compañía. Por ejemplo, la API incluye widgets "devolver llamada" y "llamar desde el sitio" para los principales sistemas de control: WordPress, Bitrix, OpenCart. La API te permite:
- Recibir información, notificar sobre el estado y realizar llamadas a solicitud de un sistema externo;
- Obtenga un enlace temporal a la grabación de la conversación;
- Administrar y recibir configuraciones de restricción de los usuarios;
- Obtener información sobre el usuario de una PBX virtual;
- Solicitar un historial de cargos y cargos por llamadas;
- Descargar el registro de llamadas.
Cómo funciona la API
La API de integración y el sistema externo interactúan entre sí mediante solicitudes HTTP. En su cuenta personal, el administrador establece las direcciones donde deben llegar las solicitudes a la API y a dónde deben enviarse las solicitudes de la API. El sistema externo debe tener una dirección pública accesible desde Internet con un certificado SSL instalado.

Además, en su cuenta personal, el administrador del dominio puede restringir las fuentes de IP de las solicitudes al acceder a la API.
Obtenemos información sobre los usuarios de la PBX virtual
Para obtener una lista de usuarios o grupos, debe enviar una solicitud a la PBX virtual utilizando el método
/ users_info .
{ "domain":"example.ru" }
Se le devolverá una lista que puede guardar.
{ "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^_^] } ]
En este método, se pasan dos matrices. Uno con usuarios de dominio, uno con grupos de dominio. El grupo también tiene la capacidad de especificar el correo electrónico que se enviará en la solicitud.
Procesamos información sobre una llamada entrante
Conectar la telefonía corporativa a varios sistemas CRM ahorra el tiempo de los empleados que interactúan con los clientes y acelera el procesamiento de las llamadas entrantes. Por ejemplo, en una llamada del cliente actual, CRM puede abrir su tarjeta y, desde CRM, puede enviar una llamada al cliente y conectarla al empleado.
Para obtener información sobre llamadas a través de la API, debe usar el método
/ get_number_info , que forma una lista de llamadas con información sobre el grupo en el que se distribuye la llamada. Suponga que una llamada entrante del número 1234567890 ha llegado al número virtual de PBX. Luego se enviará una solicitud desde la 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":"" }
A continuación, debe conectar el controlador
/ get_number_info . La solicitud debe ejecutarse cuando llega una llamada entrante en una línea entrante antes de enrutar las llamadas. Si la respuesta a la solicitud no se recibe dentro del tiempo establecido, la llamada se enruta de acuerdo con las reglas establecidas en el dominio.
Ejemplo de controlador en el lado de 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;
La respuesta del manejador.
{ "result":0, "resultMessage":" ", "displayName":" +1</i> 234-56-78-90<i>" }
Monitoreamos el estado y descargamos registros de conversación
En la central telefónica virtual de Rostelecom, la grabación de conversaciones se activa en su cuenta personal. Usando la API, puede rastrear el estado de esta función. Al procesar la terminación de la llamada en
call_events, puede ver el
indicador 'is_record', que notifica al usuario sobre el estado de grabación:
verdadero significa que el usuario tiene
habilitada una función de grabación de conversación.
Para descargar un registro, debe enviar una solicitud a
api.cloudpbx.rt.ru/get_record utilizando el ID de sesión de la llamada
session_id .
{ "session_id":"SDsnZugDFmTW7Sec" }
La respuesta será un enlace temporal para descargar el archivo de grabación de la conversación.
{ "result": ^_^quot�quot^_^, "resultMessage": " ", "url": "https://api.cloudpbx.rt.ru/records_new_scheme/record/download/501a8fc4a4aca86eb35955419157921d/188254033036" }
El tiempo de almacenamiento de archivos se establece en la configuración de su cuenta personal. Después de que se elimine el archivo.
Estadísticas e informes
En su cuenta en una página separada, puede ver estadísticas e informes para todas las llamadas y aplicar filtros por estado y hora. A través de la API, primero debe procesar la llamada con el método
/ 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" }
Luego llame al método
call_info para procesar la matriz y mostrar la llamada en el sistema CRM.
{ "session_id":"SDsnZugDFmTW7Sec" }
La respuesta será una matriz de datos que se puede procesar para almacenar datos en el registro de 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�quot^_^, "status_string":"" } }
Otras funciones útiles de PBX virtual
Además de la API, la PBX virtual tiene algunas funciones más útiles que puede usar. Por ejemplo, este es un menú de voz interactivo y una combinación de comunicaciones celulares y fijas.
La respuesta de voz interactiva (IVR) es lo que escuchamos en el receptor antes de que una persona responda. De hecho, este es un operador electrónico que redirige las llamadas a los departamentos apropiados y responde algunas de las preguntas automáticamente. Pronto, será posible trabajar con IVR a través de la API: ahora estamos desarrollando un software que le permitirá rastrear el progreso de una llamada a través de IVR y recibir información sobre las pulsaciones de teclas cuando la persona que llama está en el menú de voz.
Para transferir telefonía corporativa a teléfonos móviles, puede usar aplicaciones de softphone o conectar por separado el servicio de convergencia móvil fija (FMC). Con cualquiera de los métodos, las llamadas dentro de la red son gratuitas, es posible trabajar con números cortos, y las llamadas se pueden grabar y se pueden mantener estadísticas generales sobre ellas.
La diferencia es que los softphones necesitan Internet para comunicarse, pero no están vinculados a un operador, y FMC está vinculado a un operador específico, pero incluso se pueden usar en teléfonos de botón más antiguos.