PBX virtual de Rostelecom: que e como se pode facer a través da API

PBX virtual de Rostelecom: que e como se pode facer a través da API

As empresas modernas perciben os teléfonos fixos como unha tecnoloxía obsoleta: as comunicacións móbiles garanten a mobilidade e a dispoñibilidade constante dos empregados, as redes sociais e a mensaxería instantánea son unha canle de comunicación máis sinxela e rápida. Para estar ao día dos seus competidores, as PBX de oficina son cada vez máis semellantes a elas: están pasando á nube, xestionadas a través dunha interface web e integradas con outros sistemas mediante API. Neste post dirémosche que funcións ten a API de PBX virtual de Rostelecom e como traballar coas principais funcións da PBX virtual a través dela.

A principal tarefa da API de PBX virtual de Rostelecom é a interacción con CRM ou sitios web da empresa. Por exemplo, a API implementa widgets de "chamada de volta" e "chamada desde o sitio" para os principais sistemas de xestión: WordPress, Bitrix, OpenCart. A API permite:

  • Recibir información, notificar o estado e realizar chamadas a petición dun sistema externo;
  • Obtén unha ligazón temporal para gravar a conversa;
  • Xestionar e recibir parámetros de restrición dos usuarios;
  • Obter información sobre o usuario da PBX virtual;
  • Solicitar o historial de cargos e débitos de chamadas;
  • Cargar rexistro de chamadas.

Como funciona a API

A API de integración e o sistema externo interactúan entre si mediante solicitudes HTTP. Na conta persoal, o administrador establece os enderezos onde deben chegar as solicitudes á API e onde se deben enviar as solicitudes da API. O sistema externo debe ter un enderezo público accesible desde Internet cun certificado SSL instalado.

PBX virtual de Rostelecom: que e como se pode facer a través da API

Tamén na conta persoal, o administrador do dominio pode limitar as fontes de solicitudes ao acceder á API por IP. 

Recibimos información sobre usuarios de PBX virtual 

Para obter unha lista de usuarios ou grupos, cómpre enviar unha solicitude á PBX virtual mediante o método /información_usuarios.

{
        "domain":"example.ru"
}

Como resposta, recibirá unha lista que pode gardar.

{
"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 dúas matrices. Un con usuarios de dominios, outro con grupos de dominios. O grupo tamén ten a oportunidade de especificar un correo electrónico que se enviará na solicitude.

Procesando información sobre unha chamada entrante

Conectar a telefonía corporativa a varios sistemas CRM aforra tempo para os empregados que interactúan cos clientes e acelera o procesamento das chamadas entrantes. Por exemplo, tras unha chamada dun cliente actual, CRM pode abrir a súa tarxeta e desde CRM pode enviar unha chamada ao cliente e conectalo cun empregado.

Para obter información sobre as chamadas API, cómpre utilizar o método /obter_número_información, que xera unha lista de chamadas con información sobre o grupo ao que se distribúe a chamada. Supoñamos que o número de PBX virtual recibe unha chamada entrante do número 1234567890. A continuación, a PBX enviará a seguinte solicitude:

{
        "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, cómpre conectar o controlador /obter_número_información. A solicitude debe executarse cando chega unha chamada entrante á liña de entrada antes de que as chamadas sexan encamiñadas. Se non se recibe unha resposta a unha solicitude no prazo especificado, a chamada envíase segundo as regras establecidas no dominio.

Exemplo de manejador no lado do 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;

Resposta do xestor.

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

Seguimos o estado e descargamos as gravacións das chamadas

Na central virtual de Rostelecom, a gravación de chamadas está activada na túa conta persoal. Usando a API, pode seguir o estado desta función. Ao procesar unha terminación de chamada en chamada_eventos podes ver a bandeira 'est_record', que notifica ao usuario o estado da entrada: certo significa que a función de gravación de chamadas do usuario está activada.

Para descargar unha gravación, cómpre utilizar o ID da sesión de chamada sesión_id enviar unha solicitude a api.cloudpbx.rt.ru/get_record.

{
        "session_id":"SDsnZugDFmTW7Sec"
}

Como resposta, recibirás unha ligazón temporal para descargar un ficheiro cunha gravación da conversa.

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

O tempo de almacenamento dos ficheiros establécese na configuración da túa conta persoal. Despois, o ficheiro será eliminado.

Estatística e informes

Na túa conta persoal nunha páxina separada podes ver estatísticas e informes de todas as chamadas e aplicar filtros por estado e hora. A través da API, primeiro debes procesar a chamada co método /chamar_eventos:

       {
        "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"
        }

A continuación, chame ao método info_chamada para procesar a matriz e mostrar a chamada no sistema CRM.

     {
        "session_id":"SDsnZugDFmTW7Sec"
}

Como resposta, recibirá unha serie de datos que se poden procesar para almacenar datos no rexistro 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":""
        }
}

Outras funcións útiles da PBX virtual

Ademais da API, unha central virtual ten outras funcións útiles que podes usar. Por exemplo, este é un menú de voz interactivo e a integración de comunicacións móbiles e fixas.

A resposta de voz interactiva (IVR) é o que escoitamos no teléfono antes de que a persoa conteste. Esencialmente, trátase dun operador electrónico que redirixe as chamadas aos departamentos correspondentes e responde a algunhas preguntas automaticamente. En breve será posible traballar con IVR a través da API: actualmente estamos a desenvolver un software que che permitirá seguir o progreso dunha chamada a través do IVR e recibir información sobre as pulsacións de teclas de tons táctiles cando o abonado estea no menú de voz.

Para transferir a telefonía corporativa a teléfonos móbiles, pode utilizar aplicacións de softphone ou activar por separado o servizo Fixed Mobile Convergence (FMC). Con calquera dos métodos, as chamadas dentro da rede son gratuítas, faise posible traballar con números curtos e pódense gravar as chamadas e manter estatísticas xerais sobre elas. 

A diferenza é que os softphones necesitan Internet para comunicarse, pero non están ligados a un operador, mentres que FMC está ligado a un operador específico, pero pódese usar incluso en teléfonos antigos con botóns.

Fonte: www.habr.com

Engadir un comentario