Diese Woche nimmt der Blog eine technische Wendung, denn Robin Karlsson, Technical Lead bei Teleopti, zeigt uns, wie wir die API von Calabrio WFM am besten nutzen können. Dies ist der erste von drei Blogs von Robin über die Nutzung der Stärken von Calabrio WFM für Integrationen.Um Integrationen mit anderen Systemen zu erstellen, ist eine API im Calabrio WFM Produkt verfügbar. Einige unserer Kunden nutzen es bereits für den Export von Zeitplänen oder die Synchronisierung von Agenten. Um Ihnen die Möglichkeiten der API vorzustellen, führe ich Sie durch eine dreiteilige Blogserie. Im ersten Teil stellen wir eine Verbindung mit der API her und extrahieren einige Details zu den Agenten eines bestimmten Teams.
Der zweite Blog-Beitrag wird sich mit der Erstellung einer kleinen Anwendung befassen, mit der Teamleiter einige grundlegende Details für die Agenten aktualisieren können. Der dritte und letzte Blog-Beitrag in dieser Serie befasst sich mit einer brandneuen Funktion, die eine Integration ermöglicht, bei der die Zeitplaninformationen immer auf dem neuesten Stand sind.
Um sich mit der API verbinden zu können, benötigen Sie eine Art Client, der Webservices versteht und mit ihnen kommunizieren kann. Die Spezifikation der API ist über einen Endpunkt verfügbar, der einen Standard namens WSDL verwendet. Ich verwende in dieser Serie unsere Demo-Umgebung in der Cloud, aber Sie können jede beliebige Umgebung verwenden, die Sie zur Verfügung haben. Sie benötigen ein gültiges Benutzerkonto für Teleopti WFM, um die weiter unten in diesem Beitrag erwähnten Funktionen nutzen zu können.
In diesem Blogbeitrag verwende ich im Beispielcode die C#-Syntax, aber die Grundprinzipien sind für Java oder jede andere Client-Sprache, die Sie verwenden möchten, gleich.
Zunächst müssen wir dafür sorgen, dass der Verweis auf die Datenbank, die Sie hier verwenden, als „Mieter“ im Ergebnis angezeigt wird, zusammen mit den Geschäftseinheiten, die für den aktuellen Benutzer verfügbar sind. Die Antwort des Webservice-Aufrufs teilt Ihnen auch mit, ob Ihr Kennwort abgelaufen ist oder demnächst abläuft, wenn eine Kennwortrichtlinie vorhanden ist.
var service = new TeleoptiCccLogOnServiceClient();var result = service.LogOnAsApplicationUser(„user“, „pw“);if (result.IsAuthenticated) {var businessUnit = result.AvailableBusinessUnits.First();var tenant = result.Tenant;goAhead();}
Nachdem wir überprüft haben, dass die Calabrio WFM-Authentifizierungsdaten des Benutzers in Ordnung sind, müssen wir die Geschäftseinheit auswählen, die wir weiter verwenden möchten. Da wir den Status der Benutzer nicht auf der Serverseite speichern, kann die Geschäftseinheit bei jeder neuen Anfrage geändert werden. Die Geschäftseinheit, mit der gearbeitet werden soll, ist in den Kopfdaten jedes Webservice-Aufrufs enthalten.
Jetzt sind wir bereit, einige echte Operationen durchzuführen. In Calabrio WFM haben wir das Konzept der Personengruppen, von denen einige dynamisch sind und andere individuell erstellt werden. Wir werden die enthaltene dynamische Gruppierung für die Geschäftshierarchie verwenden. Diese zeigt uns alle Teams und deren Mitarbeiter, auf die wir an einem bestimmten Tag Zugriff haben. Der eindeutige Bezeichner für die Unternehmenshierarchie ist fest codiert und lautet „6CE00B41-0722-4B36-91DD-0A3B63C545CF“. Der unten stehende Code verwendet dies, um eine Liste aller verfügbaren Teams für Heute zu erhalten.
var organisationService = new TeleoptiOrganisationService();var availableTeams = organisationService.GroupPageGroupsByQuery(new GroupPageGroupAtDateQueryDto { GroupPageId = new Guid(„6CE00B41-0722-4B36-91DD-0A3B63C545CF“), QueryDate = new DateOnlyDto { DateTime = DateTime.Today } });
Der Parameter QueryDate wird verwendet, um Informationen herauszufiltern, die auf unterschiedlichen Datumsbereichen beruhen. Die Teammitgliedschaft bei Calabrio WFM basiert auf Daten. Um nur die Teams zu erhalten, in denen sich die Teammitglieder befinden, auf die wir Zugriff haben, geben wir als zu suchendes Datum das heutige Datum an.
Um detaillierte Informationen über die Mitarbeiter in einem bestimmten Team zu finden, müssen wir eine neue Abfrage mit den Teaminformationen aus der obigen Abfrage erstellen.
var mitarbeiter = organisationService.GetPersonsByQuery(new GetPersonsByGroupPageGroupQueryDto { GroupPageGroupId = team.Id.Value, QueryDate = new DateOnly { DateTime = DateTime.Today } });
Jeder Mitarbeiter wird in Form eines PersonDto-Objekts angegeben. Um zu sehen, welche Informationen das genau sind, können Sie die chm-Datei aus dem SDK-Toolkit von Calabrio verwenden – oder Sie nutzen einfach die Autovervollständigungsfunktion in Ihrer Entwicklungsumgebung, um zu prüfen, was verfügbar ist.
Bleiben Sie dran für den nächsten Teil der Serie, in dem wir einige grundlegende Informationen für die Mitarbeiter aktualisieren werden! Wie bei jedem Teil dieser Serie finden Sie den Beispielcode auf dem offiziellen GitHub-Repository von Teleopti, das Sie unter https://github.com/Teleopti/sdk-sample finden.