NeoLogo

Dígitro Neo Interact CTI Computer Telephony Integration

Integração



Conhecendo o Neo Interact

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.



Cenários de integração

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:



Desenvolvendo sua aplicação

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.



Programação assíncrona

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