PABX virtual Rostelecom: o que e como pode ser feito via API

PABX virtual Rostelecom: o que e como pode ser feito via API

As empresas modernas percebem os telefones fixos como uma tecnologia ultrapassada: as comunicações celulares garantem a mobilidade e a disponibilidade constante dos funcionários, as redes sociais e os mensageiros instantâneos 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: estão migrando para a nuvem, gerenciados por meio de uma interface web e integrados a outros sistemas via API. Neste post iremos contar quais funções possui a API do PABX virtual Rostelecom e como trabalhar com as principais funções do PABX virtual através dela.

A principal tarefa da API do PABX virtual Rostelecom é a interação com o CRM ou sites da empresa. Por exemplo, a API implementa widgets de “call back” e “call from site” para os principais sistemas de gerenciamento: WordPress, Bitrix, OpenCart. A API permite:

  • Receber informações, notificar status e realizar chamadas mediante solicitação de um sistema externo;
  • Obtenha um link temporário para gravar a conversa;
  • Gerenciar e receber parâmetros de restrição dos usuários;
  • Obter informações sobre o usuário do PABX virtual;
  • Solicitar o histórico de débitos e cobranças de ligações;
  • Carregar registro de chamadas.

Como funciona a API

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

PABX virtual Rostelecom: o que e como pode ser feito via API

Ainda na conta pessoal, o administrador do domínio pode limitar as fontes de solicitações no acesso à API por IP. 

Recebemos informações sobre usuários de PABX virtual 

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

{
        "domain":"example.ru"
}

Em resposta, você receberá uma lista que poderá salvar.

{
"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 passa dois arrays. Um com usuários de domínio, outro com grupos de domínio. O grupo também tem a oportunidade de especificar um e-mail que será enviado na solicitação.

Processando informações sobre uma chamada recebida

Conectar a telefonia corporativa a diversos sistemas de CRM economiza tempo dos funcionários que interagem com os clientes e agiliza o processamento das chamadas recebidas. Por exemplo, ao receber uma ligação de um cliente atual, o CRM pode abrir seu cartão, e a partir do CRM você pode enviar uma ligação para o cliente e conectá-lo a um funcionário.

Para obter informações sobre chamadas de API, você precisa usar o método /get_number_info, que gera uma lista de chamadas com informações sobre o grupo para o qual a chamada é distribuída. Vamos supor que o número do PABX virtual receba uma chamada do número 1234567890. Em seguida, o PABX enviará a seguinte solicitação:

{
        "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 chega na linha de entrada antes que as chamadas sejam roteadas. Se a resposta a uma solicitação não for recebida dentro do tempo especificado, a chamada será roteada de acordo com as regras estabelecidas no domínio.

Exemplo de manipulador 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 manipulador.

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

Rastreamos o status e baixamos gravações de chamadas

No PABX virtual da Rostelecom, a gravação de chamadas é ativada na sua conta pessoal. Usando a API, você pode acompanhar o status desta função. Ao processar uma terminação de chamada em call_events você pode ver a bandeira 'é_registro', que notifica o usuário sobre o status da entrada: verdadeiro significa que a função de gravação de chamadas do usuário está habilitada.

Para baixar uma gravação, você precisa usar o ID da sessão de chamada session_id envie uma solicitação para api.cloudpbx.rt.ru/get_record.

{
        "session_id":"SDsnZugDFmTW7Sec"
}

Em resposta, você receberá um link temporário para baixar um arquivo com a gravação da conversa.

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

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

Estatísticas e relatórios

Na sua conta pessoal, em uma página separada, você pode ver estatísticas e relatórios de todas as chamadas e aplicar filtros por status e horário. Através 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"
        }

Então chame o método call_info para processar a matriz e exibir a chamada no sistema CRM.

     {
        "session_id":"SDsnZugDFmTW7Sec"
}

Em resposta, você receberá uma série de dados que podem ser processados ​​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":"[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":""
        }
}

Outros recursos úteis de PABX virtual

Além da API, um PBX virtual possui vários outros recursos úteis que você pode usar. Por exemplo, este é um menu de voz interativo e a integração de comunicações celulares e fixas.

Resposta de voz interativa (IVR) é o que ouvimos no aparelho antes de a pessoa atender. Essencialmente, trata-se de uma operadora eletrônica que redireciona as ligações para os departamentos competentes e responde algumas dúvidas automaticamente. Em breve será possível trabalhar com IVR via API: atualmente estamos desenvolvendo um software que permitirá acompanhar o andamento de uma chamada através do IVR e receber informações sobre as teclas digitadas quando o assinante estiver no menu de voz.

Para transferir a telefonia corporativa para celulares, você pode usar aplicativos de softphone ou ativar separadamente o serviço Convergência Fixo-Móvel (FMC). Com qualquer um dos métodos, as chamadas dentro da rede são gratuitas, é possível trabalhar com números curtos, as chamadas podem ser gravadas e mantidas estatísticas gerais sobre elas. 

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

Fonte: habr.com

Adicionar um comentário