Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languagecs_CZ

Table of Contents

Úvod

Daktela kontaktní centrum nabízí několik různých přístupů k integraci s externími systémy, z nichž každý má své výhody a nevýhody. V tomto článku se pokusím přiblížit jednotlivé přístupy, jejich možnosti a kdy je vhodné daný přístup použít. Není to samozřejmě 100%, mnohdy je dobré zkombinovat dva a více přístupů pro ošetření případných chybových stavů, ale k tomu se postupně dostaneme. Záleží také na SW architektuře externí aplikace, zda je to webový systém nebo samostatná aplikace, zda má tenkého nebo tlustého klienta, zda nabízí externí aplikace nějaké standardizované API nebo je nutné vše programovat atd.

Nejdříve si pojďme představit jednotlivé přístupy, které Daktela nabízí. Můžeme je rozdělit do dvou skupin – klientské a serverové. Klientské jsou aktivovány na počítači operátora (klient). Serverové pak na Daktele (server).

Klientské přístupy

Klientský přístup znamená, že se přímo na počítači operátora spustí nějaká akce. Tato akce je vyvolána z naší GUI aplikace a server o ní v podstatě nic neví. Výhodou je velmi jednoduchá implementace, nevýhodou pak heterogennost prostředí, z nějž se akce vyvolává – různé webové prohlížeče a jejich nastavení, firewally, omezující aplikace v rámci korporátních prostředí atd. Tyto dva přístupy se nikdy nepoužívají pro užší integrace s externími systémy jako např. synchronizace dat.

URL Popup

URL popup jsou nejjednodušší formou integrace. V rámci jednotlivých front si můžete nadefinovat jeden nebo více URL odkazů včetně předání parametrů dané aktivity. Tedy pro hovorové fronty si například můžete posílat ID hovoru, CLID volajícího, DID číslo atd. U chatu si zase můžete do parametrů dát například IP, odkud se přistupovalo, nebo email chatujícího. Více informací o tom, jak nastavit URL popup je na této stránce.

iFrame widgety

Widgety jsou nedílnou součástí Daktely. Jsou to stavební prvky dashboardu, wallboardu a tabů jednotlivých aktivit. Do iFrame widgetu zadáte URL externí aplikace, které se pak buď volá opakovaně v intervalech (dashboard, wallboard) nebo při vzniku widgetu (tab aktivity). Výhodou je začlenění do GUI Daktely a operátorovi tak nabídnout dva systémy v jednom GUI. Nejčastěji se používá pro integrace, kdy operátoři používají GUI Daktely pro komunikaci s klienty a současně potřebují pracovat s interním CRM systémem. V době psaní tohoto článku tímto způsobem máme již zaintegrovány systémy MS Dynamics a SugarCRM. Daktela umožňuje vytvářet iFrame widgety na míru zákazníkům. Dokumentace k nastavení iFrame widgetů je k dispozici zde.

JS CLI knihovna

JS CLI knihovna je javascriptový wrapper nad naším API. Má standardizované rozhraní a nabízí jednoduché volání API funkcí ve zjednodušené podobě. Nad touto knihovnou například funguje náš konektor do Salesforce a operátorský addon do prohlížečů. Více informací je k dispozici zde.

Long Polling

Long Polling nabízí permanentní javascriptová konexe k našemu systému, kam se poté posílají změny pro přihlášeného operátora (přihlášení, zpracovávání aktivit, pauzy atd.) a externí systém na ně může obratem reagovat. Pomocí long pollingu je například implementováno celé webové rozhraní naší aplikace. Slouží k tomu API metoda /api/v6/appPullData.json, která je popsána zde.

Website CLI knihovna

Externí CLI knihovna slouží k obsluze naší externí api pro clientské stránky. Aktuálně podporuje založení click to call záznamu a spravuje web chat. Dokumentace je k dispozici zde.

Web chat a Click to call

Přizpůsobení chatu a CTC na klientských stránkách je možné pomocí parametrů při inicializaci chatu, použitím některé z událostí webchatu, přetížením designu, případně pomocí vlastní html/css šablony. Přizpůsobení je popsáno zde.

Serverové přístupy

Serverové přístupy jsou vyvolány na backendu našeho systému. Nejsou tedy ovlivněny žádným klientským nastavením na straně operátora, ani není nutné řešit kompatibilitu prohlížečů nebo operačního systému, na kterém operátor funguje.

Události (Events)

V rámci Daktela systému se generuje velké množství událostí, na které je možné si nastavit různé akce – zavolání webservisy, poslání emailu nebo udělat úpravu formuláře. To vše je možné nastavovat v přehledném grafickém rozhraní. Současně lze nastavovat časová omezení, ať již na vyvolání události, tak i timeout na opakování události (aby si člověk například neposlal 100 SMSek při problému). Události nicméně nejsou zcela vhodné pro synchronizace, protože nemají žádné možnosti opakování, pokud z jakéhokoliv důvodu selže její vyvolání (například nedostupná webservice). Dokumentace k nastavení událostí je k dispozici zde.

Skriptování pomocí Daktela API

Přímé volání našeho HTTP REST API je vhodné pro dávkové zpracovávání dat nebo zjišťování realtime statistik. Je možné také zjišťovat nastavení front, uživatelů, vytvářet je nebo synchronizovat kontakty. Je vhodné hlavně ke skriptování synchronizace kontaktů nebo aktivit, stahování dat do BI systémů apod. Kompletní dokumentace k API je zde.

Dokumentace pro externí API (web chat a ctc) pro simulaci klientské strany je pak k dispozici zde.


Sv translation
languageen_US

Table of Contents


Introduction

The Daktela Contact Center offers several different approaches for integration with external systems and each of them is suitable for different usecases. The goal of this article is to describe each integration approach and help you to decide the best and most effective way to solve your integration project. We can divide integration approaches into two groups - client and server. The client based approach is activated/run on the operator's computer. The server based approach is then run on server.

Client approach

This means that some action is started on the operator's computer. The action is invoked from our GUI application, and the server knows nothing about it. The advantage is simple implementation, the disadvantage can be the heterogeneity of the environment from which the action is invoked - various web browsers and their settings, firewalls, limiting applications within corporate environments, etc. These two approaches are never used for sophisticated integration scenarios such as crm data synchronization, etc.

URL popup

URL popups are the easiest form of integration. Within each queue, you can define one or more URLs which will pops up when new activity in this queue is created. You can use many parameters in the URL from the activity. For example, for voice queues you can use caller ID, DID number, queue name, agents name, etc. and for chat queues, you can use parameters like IP address, email address of the client. You can read the complete documentation about URL popup here.

iFrame widgets

Widgets are the building elements of the dashboard, wallboard or the individual tabs of open user's activities. Daktela comes with several pre-installed widgets in each category which everyone can start using right away. iFrame widgets can display various information for operator - data from external system about calling user, geo location data of webchat user, etc. The main advantage of this type of integration is simple unified GUI for operator. In some cases we can build custom widgets for our clients. At the time of writing this article, we have already integrated MS Dynamics and SugarCRM. Please follow the documentation here for iFrame setup and configuration.

JS CLI library

The JS CLI Library is a javascript wrapper above our API. It has a standardized interface and offers simple API function calls in a simplified form. You can use this library in your web applications. We used this library ourselves in our Salesforce / Daktela integration - where Daktela CTI plugin is running in Salesforce interface. The documentation and examples are available here.

Long Polling

Long Polling offers a permanent (long) connection to our system, which then notifies about changes of some logged user (logging, processing activities, pauses, etc.). The external system can then perform some actions. Our entire web interface is implemented using long polling approach. The basic API method for long polling is /api/v6/appPullData.json which is documented here.

Website CLI library

External CLI library is used to handle our external api for client sites. It currently supports the creation of a click to call record and manage web chat. The documentation is available here.

Web chat and Click to call

Adaptation of chat and CTC on client site is possible by using parameters in chat initialization, using some of webchat events, overloading the design, or using your own html/css template. Adaptation is described here.

Server approach

Server based integration approach is used for more sophisticated actions like CRM synchronization. Actions are called from the Daktela server (or from your server) and are not running on the client.

Events

Within the Daktela system, a large number of events are generated that allow you to set up various actions - to call the webservice, send an e-mail or SMS or edit the form. All this can be set up in nice wizard based interface. At the same time, time constraints can be set, whether to trigger an event, or a timeout when to repeat the event. This is handy when you want to be alerted (eg. by SMS) when your SLA is over some specific limit. And you are OK with just one SMS within given period of time and don't want to receive SMS every minute or so. The documentation about how to create and configure Events is here.

Scripting using Daktela V6 API

Direct calling of our HTTP REST API is suitable for batch processing of data, realtime statistics or sophisticated integrations. You can request information about queues, users, contacts, accounts, webchats, pauses, tickets etc. You can also peform create actions like - new queues, users, create new calls, tickets, etc. The complete API documentation is available here.

Documentation for external APIs (web chat and ctc) for client side simulation is available here.