Zum Hauptinhalt springen
Version: 5.3

Einleitung

Dieses Dokument beschreibt die API von TimePunch. Ziel ist, den Entwickler in die Lage zu versetzen, mit dem Backend von TimePunch zu kommunizieren, Daten auszutauschen, und so TimePunch in die IT-Infrastruktur besser integrieren zu können.

Installation

Die TimePunch API wird mit dem TimePunch Application Server installiert und ausgeliefert.

Zugriff über das TimePunch Web API Nuget Package

Seit Version 4.8 bietet TimePunch ein TimePunch Web API Nuget-Paket für den einfachen Zugriff auf die TimePunch-Webdienste.

Es kann unter dem Namen: TpWebWcf installiert werden.

NuGet Gallery | TpWebWcf

Und ist aufgrund der netStandard2.0-Konformität mit allen .net-Frameworks kompatibel.

Mit einem TimePunch Application Server verbinden

Um sich mit einem TimePunch Application Server zu verbinden, muss ein neues TimePunchInstance Objekt erstellt werden.

// Connect to the TimePunch Server

var timePunchInstance
= new TimePunchInstance(new Uri("https://demo.timepunch-hub.com/TimePunch"));

Den Anwender authentifizieren

Um sicherzustellen, dass der Benutzer auf die TimePunch-Instanz zugreifen darf, muss ein Authentifizierungsobjekt erstellt werden.

// Create an authentication object

var adminAuthentication
= TimePunchInstance.CreateAuthentication("{user}", "{pwd}");

Hinweis: Der Identitätsparameter (dritter Parameter) kann verwendet werden, um auf ein anderes TimePunch-Benutzerprofil zuzugreifen, mit den Rechten des Principals, welcher der Anmeldebenutzer ist (erster Parameter).

Erstellen einer Serviceverbindung

Der nächste Schritt besteht darin, eine Serviceverbindung zu erstellen. Dies kann der Projektdienst sein, wie im Beispiel, oder jeder andere Service, den TimePunch anbietet.

// Create the project service

var projectService = timePunchInstance.CreateProjectService();

Aufruf eines Web-Services

Schließlich können wir den Serviceaufruf ausführen und die Antwort validieren.

// Execute Project search

var spr = new SearchProjectsRequest(adminAuthentication, new ProjectSearchDto());

var response = projectService.SearchProjects(spr);

// Output projects

if (response.fault != null)

{

Console.WriteLine("Error: " + response.fault.Message);

return;

}

response.SearchProjectsResult
.ForEach(p => Console.WriteLine($"--> {p.ProjectName}"));