
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�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�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.