Dígitro Neo Interact CTI Computer Telephony Integration |
Obviamente o pré-requisito básico para iniciar a implementação da API CTI do Neo Interact é conhecer a solução, seus conceitos e princípios de funcionamento. Recomenda-se portanto, primeiramente estudar a documentação da solução, realizar os treinamentos indicados, além de operar algumas chamadas e interface de configuração. A execução desses passos certamente ajudarão muito na compreensão do sistema e portanto na implementação da API.
A escolha por integrar a aplicação do cliente com o Neo Interact pela API CTI pode representar um significativo ganho de eficiência, qualidade, tempo e confiabilidade no atendimento do serviço de contact center.
A estratégia adotada para integração do Neo Interact com os sistemas legados dos clientes vai depender muito das necessidades e do modelo de negócio desejado, mas de forma geral pode-se classificar as integrações nos seguinte cenários:
Cenário 1: Emissão de relatórios, estatísticas, monitoração, dashboards, integração com ferramentas de monitoramento de redes. Não havendo necessidade de controle de agentes nem de chamadas, o envio de comandos e recebimento de eventos pode ser suficiente para atender os requisitos de negócio deste cenário. Pode ser implementado num servidor back-end do cliente ou em um navegador web.
Cenário 2: Atender requisitos do cenário 1 com controle de agentes e chamadas. O agente pode fazer uso da interface de atendimento web nativa do Neo Interact, tendo o seu acompanhamento e controle compartilhado pelo serviço de back-end do cliente via API CTI. O controle efetuado pelo back-end é sincronizado com a apresentação da interface de atendimento do agente. Esta solução apresenta uma ótima relação custo x benefício, já que o maior risco, custo, complexidade de desenvolvimento e suporte desta integração reside na implementação da interface de atendimento do agente, o que inclui, dentre outras coisas, a implementação do canal de áudio para atendimento de chamadas.
Cenário 3: Atender requisitos do cenário 2 com integração plena da interface de atendimento dos agentes à aplicação do cliente. Pode haver certos casos onde o cliente prefira desenvolver sua própria interface de atendimento integrada à sua aplicação de CRM, neste caso a API também disponibiliza comandos para este fim. O canal de áudio podém, deverá ser feito mediante utilização de protocolo VoIP SIP (Voice-over-IP/Session initiation Protocol), que pode ser embarcado na própria aplicação que roda no navegador do agente, ou por um dispositivo VoIP (softphone, telefone IP ou ATA) registrado no PABX IP Dígitro do sistema integrado SaaS.
Como foi abordado por esta documentação os elementos básicos da integração com o Neo Interact são:
A lista de comandos com a API CTI do Neo Interact, bem como sua descrição detalhada, pode ser acessada neste link As listas de eventos podem ser acessadas nos links abaixo:
Pode-se a partir dos exemplos utilizados nos capítulos anteriores, construir sua própria aplicação, contudo à eles devem ser adicionados controles de falhas e proteções normais de qualquer código. Os exemplos foram escritos para fins didático, sendo extremamente básicos sem estes controles, para simplificar ao máximo a compreensão da idéia.
É importante ressaltar a natureza da operação de sistemas multi-instanciados em tempo real. Ao contrário de sistemas síncronos, onde cada evento ocorre numa ordem específica e sequencial (como num preenchimento de um formulário), em sistemas em tempo real, vários eventos relacionados a qualquer instância da aplicação podem ocorrer a qualquer momento. Isso implica que não é possível executar fluxos de programação onde o sistema fica bloqueado até o recebimento de um determinado evento ou resposta. Para isso é necessário que a aplicação tenha suporte à programação multi-thread ou event_loop. O javascript nos navegadores tem modelo de runtime com suporte a event_loop, assim como o node.js, para aplicações server-side.
Também pode ser comum as "race conditions", ou condições de corrida onde eventos esperados, apesar de ocorrerem na ordem correta na origem, podem chegar ao destino de forma invertida. Isso é comum quando estes eventos percorrem caminhos diferentes dentro do sistema. A forma de tratamento desse problema pode ser mitigada através de máquinas de estado com salvamento dos eventos para reordenação de seu tratamento.