Introdução


O processo de integração é o processo que permite que sistemas externos se comuniquem com o PABX IP Vonix de forma que eles possam enviar e receber informações através de uma interface rápida e simples.

Para realização deste processo, disponibilizamos algumas APIs. A definição de qual API deverá ser usada dependerá de como o sistema integrante foi desenvolvido e da linguagem de programação utilizada.

De uma maneira geral, o sistema integrado envia solicitações ao PABX IP Vonix através de actions e recebe notificações ou respostas de algumas ações através de events.

A integração completa é feita em 2 etapas. A primeira etapa consiste em desenvolver todo o tratamento de ações e eventos que possam ser disparados ou recebidos em uma PA. A segunda etapa consistem em implementar a alimentação de contatos em massa para o discador automático.

Primeira etapa


Desenvolver o tratamento de todas as ações e eventos que possam ser disparados ou recebidos diretamente em uma PA. Ao fim dessa etapa será possível efetuar ações básicas como pausar/despausar agente, logar/deslogar, discar para um determinado número a partir da PA, tratar recebimento de chamadas (abertura de fichas), etc

Comunicação entre a PA e o  PABX Vonix


Actions


As maioria das actions disponíveis hoje seguem o modelo definido abaixo. Nem todas as actions são implementadas em todas as APIs. Os nomes das funções podem variar de acordo com a linguagem utilizada, mas a idéia é a mesma para todas as APIs.

  • Connect: Estabelece a conexão entre a PA e o PABX IP Vonix
  • doLogin: Efetua o login do agente no ramal vinculado a PA onde ele se encontra
  • doLogoff: Efetua o logoff do agente
  • doDial: Origina uma chamada para o agente
  • doTransfer: Transfere a chamada do agente para um outro destino
  • doHangup: Encerra a chamada do agente que está em andamento
  • doPause: Pausa o agente
  • doUnpause: Tira o agente da pausa
  • doTag: Adiciona uma marcação a uma chamada
  • doStatus: Solicite ao sistema de telefonia que informe o estado atual de um agente
  • doVersion

Events


Os eventos são notificações que os agentes recebem independente se executaram alguma action ou não. O agente é notificado sempre que algum evento ocorrer com ele.

As notificações seguem o modelo definido abaixo:

  • onConnect: Notifica o client que a conexão foi estabelecida com sucesso
  • onDial: Notifica o client que uma discagem (manual ou através da API) foi iniciada
  • onDialFailure: Notifica o client que a discagem iniciada pelo agente falhou
  • onDialAnswer: Notifica o client que a discagem iniciada pelo agente foi atendida
  • onHangup: Notifica o client que a chamada do agente foi encerrada
  • onReceive: Notifica o client que o agente está recebendo uma chamada
  • onReceiveFailure: Notifica o client que o agente não atendeu a chamada
  • onReceiveAnswer: Notifica o client que o agente atendeu a chamada
  • onPause: Notifica o client que o agente entrou em pausa
  • onUnpause: Notifica o cliente que o agente saiu de pausa
  • onStatus: Notifica o client sobre o estado atual do agente
  • onError
  • onLog

Segunda etapa


Fazer a alimentação de contatos para o discador automático. Diferente da primeira, essa etapa geralmente é feita a partir do servidor do sistema integrado e não da PA.


Comunicação entre o servidor integrado e o PABX Vonix


Em resumo, o sistema integrado irá enviar contatos para o discador automático, que por sua vez fará a discagem do contato e ao finaliza-lo, enviará o resultado da discagem de volta para o sistema integrado.

Ao final do processo de integração teremos um cenário igual ao da imagem abaixo.

  


Discagem automática


O uso da discagem automática pode envolver somente recursos da primeira etada da integração ou das 2 etapas juntas.

Existem alguns métodos possíveis de se trabalhar com discagem automática com o PABX IP Vonix.

Sem alimentação prévia


Neste caso, todas as discagens são feitas a partir da PA.

Click-to-dialConsiste em colocar um link no telefone ou algum botão no sistema para quando o agente clicar, executar a action doDial pelo componente. Desta forma a chamada será originada através de um clique feito pelo agente. 


Preview: É quase um click-to-dial, com a diferença de que o agente escolherá se irá trabalhar na ficha do cliente ou não. No caso do preview, assim que o agente clica em algum link que sinalize que ele vai trabalhar na ficha, o sistema integrado manda a lista de telefones para o discador através da action doDial em sequência, se baseando nas notificações onDialXXXX. Ou seja, executa o doDial, monitora a resposta através dos eventos onDial, onDialAnswer e onDialFailure. Se a resposta for negativa, manda outro doDial com o próximo telefone e assim sucessivamente;

Power Dialing: É o processo de discagem automatica de 1 para 1, ou seja, o sistema integrado, assim que mandar a ficha de um cliente para o agente, já executa o doDial sem intervenção do agente. Neste caso, o agente recebe todas as chamadas, mesmo ocupadas. Então, sempre que for aberta a ficha do próximo cliente, a solicitação de discagem será feita de forma automática.

Com alimentação prévia


Neste caso, a discagem não parte da PA. Ela é feita diretamente pelo discador automático. O sistema integrado fará a alimentação dos contatos que deverão ser discados pelo discador automático. O discador então começará a discar os números telefônicos conforme a prioridade de cada telefone definido para cada contato (Ver documentação sobre alimentação). Ele fica monitorando todas as chamadas e quando detecta atendimento, encaminha a chamada para a fila de atendimento especificada na alimentação e essa fila por sua vez, entrega a chamada para o agente que estiver disponível para atendimento. A medida que os agentes recebem as chamadas, as aplicações clients nas PAs são notificadas (descrito na fase 1).


O agente não precisa fazer nada. Ele fica parado aguardando a entrada da chamada e a abertura automática da ficha.


Há alguns modelos de discagens diferentes, mas na integração o processo de alimentação e coleta de resultados é o mesmo. O que muda é o a forma de discagem e o processo no atendimento da chamada.


Discador Power: Nesse modo, o discador só discará para um próximo telefone/contato quando tiver um agente disponível para atendimento, isto é, vai discar sob demanda.


Discador Preditivo: Nesse modo, o discador fica monitorando todos os dados da fila com o objetivo de fazer chamadas antes mesmo de ter agentes disponíveis, baseado na previsão de quando estarão disponíveis, utilizando estatísticas de duração de chamadas, tempo de toque médio, número de ocupados, número de inexistentes no mailing, média de pausa, etc


Ura reversa: Neste caso, o discador vai discar para todos os contatos alimentados se limitando somente ao número de troncos disponibilizados para isso. No caso de atendimento, a chamada é direcionada para alguma rotina conforme configuração prévia, ex:

  1. Pode ser reproduzida uma gravação de recado para o cliente e depois encerrar a chamada
  2. Pode ser reproduzida uma gravação com opções para o cliente digitar e escutar alguma outra gravação
  3. Pode ser reproduzida uma gravação com opções para o cliente digitar e ser encaminhado para uma outra fila de atendimento. Neste caso a PA receberá todos os eventos já descritos anteriormente.
  4. Pode ser feito uma mistura dos itens anteriores. Essa parte de configuração de fila de fonação é bem flexível.


Em resumo, essas abordagens distintas de Discador Power, Discador Preditivo e URA reversa, na visão da integração, funciona da mesma forma. O processo é o mesmo.


APIs


Possuímos APIs prontas para integração com sistemas desktops ou web.

Para desktop:


- Delphi
- VB6
-.NET

Para web:


- Flash
- Javascript

Para alimentação de contatos em massa:


- Alimentação via webservice (REST)
- Através de base compartilhada Vonix
- Através de base compartilhada pelo sistema integrado. *A conversar.

Conclusão


Toda a estrutura Vonix já está pronta para a alimentação dos contatos e inicio das discagem. Agora é preciso fazer o desenvolvimento por parte do sistema integrante.

O primeiro passo é desenvolver a parte de discagem sem alimentação prévia. Essa é a parte base pois o sistema integrante fará o tratamento de eventos recebidos e enviados ao discador. O segundo passo é desenvolver a parte da alimentação prévia de contatos.