PBX virtual de Rostelecom: qué y cómo se puede hacer a través de API

PBX virtual de Rostelecom: qué y cómo se puede hacer a través de API

Las empresas modernas perciben los teléfonos fijos como una tecnología obsoleta: las comunicaciones móviles garantizan la 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 a la altura de sus competidores, las PBX de oficina se parecen cada vez más a ellos: se trasladan a la nube, se gestionan a través de una interfaz web y se integran con otros sistemas a través de API. En este post te contamos qué funciones tiene la API de centralita virtual de Rostelecom y cómo trabajar con las funciones principales de la centralita virtual a través de ella.

La tarea principal de la API del PBX virtual de Rostelecom es la interacción con el CRM o los sitios web de la empresa. Por ejemplo, la API implementa widgets de “devolución de llamada” y “llamada desde el sitio” para los principales sistemas de gestión: WordPress, Bitrix, OpenCart. La API permite:

  • Recibir información, notificar estado y realizar llamadas previa solicitud desde un sistema externo;
  • Obtenga un enlace temporal para grabar la conversación;
  • Gestionar y recibir parámetros de restricción de los usuarios;
  • Obtener información sobre el usuario de la centralita virtual;
  • Solicitar el historial de débitos y cargos de llamadas;
  • Cargar 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 la cuenta personal, el administrador establece las direcciones a las que deben llegar las solicitudes de 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.

PBX virtual de Rostelecom: qué y cómo se puede hacer a través de API

También en la cuenta personal, el administrador del dominio puede limitar las fuentes de solicitudes al acceder a la API por IP. 

Recibimos información sobre usuarios de centralitas virtuales 

Para obtener una lista de usuarios o grupos, debe enviar una solicitud a la centralita virtual mediante el método /información_usuarios.

{
        "domain":"example.ru"
}

En respuesta, recibirá una lista que podrá guardar.

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

Este método pasa dos matrices. Uno con usuarios de dominio, otro con grupos de dominio. El grupo también tiene la oportunidad de especificar un correo electrónico que se enviará en la solicitud.

Procesar información sobre una llamada entrante

Conectar la telefonía corporativa a varios sistemas CRM ahorra tiempo a los empleados que interactúan con los clientes y acelera el procesamiento de las llamadas entrantes. Por ejemplo, ante una llamada de un cliente actual, CRM puede abrir su tarjeta y desde CRM usted puede enviar una llamada al cliente y conectarlo con un empleado.

Para obtener información sobre las llamadas API, debe utilizar el método /obtener_número_info, que genera una lista de llamadas con información sobre el grupo al que se distribuye la llamada. Supongamos que el número de la centralita virtual recibe una llamada entrante del número 1234567890. Luego la centralita enviará la siguiente solicitud:

{
        "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 necesitas conectar el controlador. /obtener_número_info. La solicitud debe ejecutarse cuando llega una llamada entrante a la línea entrante antes de que se enruten las llamadas. Si no se recibe respuesta a una solicitud dentro del tiempo especificado, entonces la llamada se enruta de acuerdo con las reglas establecidas en el dominio.

Ejemplo de handler 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;

Respuesta del manejador.

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

Realizamos un seguimiento del estado y descargamos grabaciones de llamadas.

En la centralita virtual de Rostelecom, la grabación de llamadas se activa en su cuenta personal. Con la API, puede realizar un seguimiento del estado de esta función. Al procesar una terminación de llamada en eventos_llamadas puedes ver la bandera 'es_registro', que notifica al usuario sobre el estado de la entrada: verdadero significa que la función de grabación de llamadas del usuario está habilitada.

Para descargar una grabación, debe utilizar el ID de la sesión de llamada session_id enviar una solicitud a api.cloudpbx.rt.ru/get_record.

{
        "session_id":"SDsnZugDFmTW7Sec"
}

En respuesta, recibirá un enlace temporal para descargar un archivo con una 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. Posteriormente el archivo será eliminado.

Estadísticas e informes

En su cuenta personal, en una página separada, puede ver estadísticas e informes de todas las llamadas y aplicar filtros por estado y hora. A través de la API, primero debes procesar la llamada con el método /eventos_llamadas:

       {
        "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 llama al método información_llamada para procesar la matriz y mostrar la llamada en el sistema CRM.

     {
        "session_id":"SDsnZugDFmTW7Sec"
}

En respuesta, recibirá una serie de datos que pueden procesarse 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":"[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":""
        }
}

Otras funciones útiles de PBX virtual

Además de la API, una PBX virtual tiene otras funciones útiles que puedes utilizar. Por ejemplo, se trata de un menú de voz interactivo y la integración de comunicaciones móviles y fijas.

La respuesta de voz interactiva (IVR) es lo que escuchamos en el teléfono antes de que la persona responda. Básicamente, se trata de un operador electrónico que redirige las llamadas a los departamentos correspondientes y responde algunas preguntas de forma automática. Pronto será posible trabajar con IVR a través de API: actualmente 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 por tonos cuando el suscriptor está en el menú de voz.

Para transferir telefonía corporativa a teléfonos móviles, puede utilizar aplicaciones de softphone o activar 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, se pueden grabar las llamadas y llevar estadísticas generales sobre las mismas. 

La diferencia es que los softphones necesitan Internet para comunicarse, pero no están vinculados a un operador, mientras que FMC está vinculado a un operador específico, pero se puede usar incluso en teléfonos antiguos con botones.

Fuente: habr.com

Añadir un comentario