PBX virtual Rostelecom: o que e como pode ser feito através da API



As empresas modernas percebem os telefones fixos como uma tecnologia desatualizada: a comunicação celular fornece mobilidade e disponibilidade constante de funcionários, redes sociais e mensagens instantâneas são um canal de comunicação mais fácil e rápido. Para acompanhar seus concorrentes, os PBXs de escritório estão se tornando cada vez mais parecidos com eles: eles vão para as nuvens, são gerenciados via interface da Web e são integrados a outros sistemas através da API. Neste post, mostraremos quais funções a API de PBX virtual da Rostelecom possui e como trabalhar com ela através das funções básicas de um PBX virtual.

A principal tarefa da API de PBX virtual da Rostelecom é interagir com sites de CRM ou da empresa. Por exemplo, a API inclui widgets "retorno de chamada" e "chamada do site" para os principais sistemas de controle: WordPress, Bitrix, OpenCart. A API permite que você:

  • Receba informações, notifique sobre status e faça chamadas, mediante solicitação, de um sistema externo;
  • Obtenha um link temporário para a gravação da conversa;
  • Gerenciar e receber configurações de restrição dos usuários;
  • Obtenha informações sobre o usuário de um PBX virtual;
  • Solicitar um histórico de cobranças e cobranças nas chamadas;
  • Faça o download do registro de chamadas.

Como a API funciona


A API de integração e o sistema externo interagem entre si usando solicitações HTTP. Na sua conta pessoal, o administrador define os endereços para onde as solicitações à API devem vir e para onde as solicitações da API devem ser enviadas. O sistema externo deve ter um endereço público acessível na Internet com um certificado SSL instalado.



Além disso, em sua conta pessoal, o administrador do domínio pode restringir as fontes IP de solicitações ao acessar a API.

Obtemos informações sobre os usuários do PBX virtual


Para obter uma lista de usuários ou grupos, você precisa enviar uma solicitação ao PBX virtual usando o método / users_info .

{         "domain":"example.ru" } 

Será retornada uma lista que você pode salvar.

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

Nesse método, duas matrizes são passadas. Um com usuários do domínio, outro com grupos de domínio. O grupo também pode especificar o email que será enviado na solicitação.

Processamos informações sobre uma chamada recebida


A conexão da telefonia corporativa a vários sistemas de CRM economiza o tempo dos funcionários que interagem com os clientes e acelera o processamento das chamadas recebidas. Por exemplo, em uma chamada do cliente atual, o CRM pode abrir o cartão e, no CRM, você pode enviar uma chamada para o cliente e conectá-la ao funcionário.

Para obter informações sobre chamadas através da API, você precisa usar o método / get_number_info , que forma uma lista de chamadas com informações sobre o grupo no qual a chamada é distribuída. Suponha que uma chamada do número 1234567890 tenha chegado ao número virtual do PBX. Em seguida, uma solicitação será enviada a partir do 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":"" } 

Em seguida, você precisa conectar o manipulador / get_number_info . A solicitação deve ser executada quando uma chamada de entrada chega em uma linha de entrada antes de rotear chamadas. Se a resposta à solicitação não for recebida dentro do tempo definido, a chamada será roteada de acordo com as regras estabelecidas no domínio.

Manipulador de exemplo 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; 

A resposta do manipulador.

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

Monitoramos o status e baixamos os registros de conversas


Na central telefônica virtual da Rostelecom, a gravação de conversas é ativada em sua conta pessoal. Usando a API, você pode rastrear o status desta função. Ao processar o encerramento de chamadas em call_events, você pode ver o sinalizador 'is_record', que notifica o usuário sobre o status da gravação: true significa que o usuário tem uma função de gravação de conversas ativada .

Para baixar um registro, você precisa enviar uma solicitação para api.cloudpbx.rt.ru/get_record usando o ID da sessão da chamada session_id .

 {        "session_id":"SDsnZugDFmTW7Sec" } 

A resposta será um link temporário para baixar o arquivo de gravação de conversa.

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


O tempo de armazenamento de arquivos é definido nas configurações da sua conta pessoal. Depois que o arquivo é excluído.

Estatísticas e Relatórios


Na sua conta, em uma página separada, você pode ver estatísticas e relatórios de todas as chamadas e aplicar filtros por status e hora. Por meio da API, você deve primeiro processar a chamada com o 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"        } 

Em seguida, chame o método call_info para processar a matriz e exibir a chamada no sistema CRM.

    {        "session_id":"SDsnZugDFmTW7Sec" } 

A resposta será uma matriz de dados que pode ser processada para armazenar dados no log do 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":""        } } 


Outros recursos úteis de PBX virtual


Além da API, o PBX virtual possui algumas funções mais úteis que você pode usar. Por exemplo, este é um menu de voz interativo e uma combinação de comunicações celulares e fixas.

Resposta de voz interativa (IVR) é o que ouvimos no receptor antes que uma pessoa atenda. De fato, este é um operador eletrônico que redireciona as chamadas para os departamentos apropriados e responde a algumas das perguntas automaticamente. Em breve, será possível trabalhar com a URA por meio da API: agora estamos desenvolvendo um software que permitirá que você acompanhe o andamento de uma chamada através da URA e receba informações sobre as teclas pressionadas quando o chamador estiver no menu de voz.

Para transferir telefonia corporativa para telefones celulares, você pode usar aplicativos de softphone ou conectar separadamente o serviço FMC (Fixed Mobile Convergence). Em qualquer um dos métodos, as chamadas na rede são gratuitas, é possível trabalhar com números curtos, as chamadas podem ser gravadas e as estatísticas gerais podem ser mantidas nelas.

A diferença é que os softphones precisam da Internet para se comunicar, mas não estão vinculados a uma operadora, e o FMC está vinculado a uma operadora específica, mas pode até ser usado em telefones antigos com botão de pressão.

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


All Articles