2. Produktbeschreibung

2. Produktbeschreibung

Die CTI API ist eine API, die für Server/Server Kommunikation konzipiert wurde. Sie ist mit jedem Device, wie z.B. Hardphone, Softphone oder der Mobile App, kompatibel. Zu den unterstützten Features gehören u.a. Call Control, Call Event streams und Device Management.

Die CTI API wurde entwickelt, um auf Grundlage der API kundenindividuelle Integrationslösungen zu entwickeln. Dazu gehören u.a. die Integration von Drittanwendungen mit z.B. folgenden Features:

  • Contact Pop Up
    Bei einem eingehenden Anruf, wird anhand der eingehenden Rufnummer ein CRM-System geöffnet. Dabei kann je nach Kundenanforderung der Kontaktfenster beim Klingeln, nach Entgegennahme des Anrufs oder erst durch eine Aktion (z.B. hotkey) geöffnet werden.
  • Contact Preview
    Bei einem eingehenden Anruf erscheint ein Popup, mit dem Namen zu der Rufnummer, der aus einem CRM system ausgelesen wurde. Diese Informationen können noch mit weiteren Informationen aus dem CRM-System, wie z.B. Anzahl offener Tickets angereichert werden.
  • Line Status synchronisieren
    Um die Verfügbarkeit von Mitarbeitern transparent darzustellen, kann der Line Status ausgelesen und in einer individuellen Übersicht dargestellt werden. Der NFON Line Status kann ebenfalls noch mit Informationen aus weiteren Kommunikationsanwendungen (MS Teams, Slack) oder Kalendern (MS Office, Google Kalender) angereichert werden.
  • Anruf starten/beenden
    Mit CTI API können Anrufe direkt gestartet oder beendet werden. Dies ermöglicht das Starten und Beenden von Anrufen aus CRM-Systemen.

Folgende Anwendungsfälle sind grundsätzlich ebenfalls möglich:

  • Action-URL
    Auf Grundlage der CTI API kann „Action URL“ für eingehende Anrufe, angenommene Anrufe und beendete Anrufe entwickelt werden.
  • Individuelle Klingeltöne
    Die API kann dazu verwendet werden, um für interne, externe oder VIP-Anrufe dedizierte Klingeltöne zu nutzen. In diesem Fall ist es sinnvoll Cloudya bzw. das entsprechende Device zu muten.
  • Call Analytics
    Werden die gestreamten events (siehe „Anruf Details streamen”) gespeichert, können darauf wichtige Informationen ausgelesen werden. Es muss aber beachtet werden, dass bei dem initialen Verbinden der API nicht der Status der einzelnen Nebenstellen übermittelt wird.

Restriction:

Die CTI API wurde für ein- und ausgehende Anrufe konzipiert. Bei eingehenden Anrufen gibt es die Besonderheit, dass die CTI API nur für eingehende Anrufe, die direkt bei einer Nebenstelle ankommen getestet und freigegeben wurde. Die Funktionen, wie Gruppen-Anrufe, Skill-basierte Anrufe oder vorgeschaltete Warteschlangen werden derzeit nicht unterstützt. Ebenso werden Anrufszenarien, bei denen ein Anruf weitergeleitet und Konferenzen mit mehreren Teilnehmern nicht unterstützt. Jeder Nebenstelle darf nur ein Device zugeordnet sein.

Es ist geplant das Authentifizierungsverfahren zu ändern. Dieser Breaking Change wird vorab angekündigt und muss in der vorgegebenen Zeit umgesetzt werden.

2.1 Overview of functions

Nachfolgend sind die wichtigsten Funktionen aufgelistet:

  1. Nebenstellenkonfiguration auslesen “Get /extension/phone/data”
    Mit diesem Endpunkt ist es möglich einen Überblick über alle konfigurierten Nebenstellen einer K-Anlage zu erhalten. Das beinhaltet sowohl Nummer als auch der Namen, der der Nebenstelle hinterlegt ist.
  2. Line Status auslesen “Get /extensions/phone/states”
    Dieser Endpunkt ermöglicht das Auslesen des Line Status je Nebenstelle. Dadurch kann der jeweilige Verfügbarkeitsstatus je Nebenstelle in Third Party Anwendungen dargestellt werden. Beim erstmaligen Verbinden wird der Status aller konfigurierten Nebenstellen angezeigt.
  3. Anruf starten “Post /extensions/phone/calls”
    Dieser Endpunkt initiiert einen Anruf für einer Nebenstelle. Zuerst wird der Anruf bei der A-Rufnummer durchgeführt und nach Annahme wird der Anruf zur B-Rufnummer aufgebaut. Welches Endgerät beim Nutzer der A-Rufnummer klingt kann der Nutzer individuell festlegen. Als Return Code wird für diesen Endpunkt eine UUID zurückgegeben, die zum Beenden von Anrufen verwendet werden kann.
  4. Anruf beenden “Delete /extensions/phone/calls/{uuid}”
    Beendet einen über die API initiierten Anruf mittels der zurückgegebenen UUID.
  5. Anruf Details streamen “Get /extensions/phone/calls”
    Dieser Endpunkt ermöglicht das Streamen aller ein- und ausgehender Telefon-Events einer K-Anlage in Echtzeit. In komplexen Umgebungen sind die Einschränkungen zu berücksichtigen. 
    Beim erstmaligen Verbinden wird, anders als beim Endpunkt zum Auslesen des Line Status (siehe oben),  nicht der aktuelle Status aller Nebenstellen angezeigt.