Skip to main content
Skip table of contents

REST-API Schnittstelle

Über eine REST-API Schnittstelle die als Webservice zur Verfügung gestellt wird ist der Zugriff auf die Project-Center zugrundeliegende Daten möglich.

Die REST-API Schnittstelle ist ab Project-Center Version 5.0 verfügbar.
Die Nutzung der REST-API Schnittstelle erfordert die Lizenzierung der Erweiterung “REST-API” (PRC-RESTAPI).

Webservice Endpunkt

Die REST-API Schnittstelle wird über HTTP Aufrufe an eine individuelle URL angesprochen, z.B.

CODE
https://IhreAPIAdresse.de/api/Project/getall

Hierbei stellen wir Ihnen auf Anfrage die für Ihre Project-Center Instanz passende URL-Adresse (oben “https://IhreAPIAdresse.de") zur Verfügung.

Authentifizierung

Die Autenthifizierung erfolgt über ein geheimen “Token“ der im Header des HTTP-Aufrufes gesetzt werden muss. Als Name des Headers ist hierbei “Bearer” zu setzen, als Wert der geheime Token (siehe unten “123456789“). Dies kann zum Beispiel wie folgt aussehen:

CODE
curl -X 'GET' \
  'https://IhreAPIAdresse.de//api/Activity/getall' \
  -H 'Bearer: 123456789'

Der Token lässt sich über die Desktop-Anwendung unter “Verwaltung”->”Programm Einstellungen” und dann Links “Allgemein” ->”Sonstige Einstellungen” unter Kategorie “Rest-API” und Wert “API-Token für REST-API” abrufen und bearbeiten. Bitte beachen Sie hierbei daß die Länge des Tokens mindestens 36 Zeichen betragen muss.

Zugriff auf Datenbank-Objekte

Über die REST-API sind folgende Datenbank-Objekte verfügbar:

Objektname

Beschreibung

Zugriffsebene

Activity

Zugriff auf Aktivitäten

Lesen/Schreiben

ActivityType

Zugriff auf Aktivitätstypen

Lesen

Address

Zugriff auf Adressen

Lesen/Schreiben

Appointment

Zugriff auf Termine des Teamplaners

Lesen/Schreiben

Client

Zugriff auf Mandanten

Lesen

Contact

Zugriff auf Kontakte von Adressen

Lesen/Schreiben

OrderDocument

Zugriff auf Auftragsdokumente (Angebote, Rechnungen, Lieferscheine, …)

Lesen/Schreiben

OrderDocumentPosition

Zugriff auf Positionen von Auftragsdokumenten (Artikeldaten)

Lesen/Schreiben

OrderDocumentStatus

Zugriff auf den Status von Autragsdokumenten

Lesen

OrderDocumentType

Zugriff auf Typen von Auftragsdokumenten (Angebot, Rechnung, …)

Lesen

Project

Zugriff auf Projekte

Lesen/Schreiben

ProjectStatus

Zugriff auf die Stati von Projekten

Lesen

ProjectType

Zugriff auf Typen von Projekten

Lesen

ProjectWorktime

Zugriff auf Arbeitszeiten von Projekten

Lesen/Schreiben

User

Zugriff auf Benutzer

Lesen

Funktionen von Objekten

Zum Zugriff auf die Datenbankobjekte stehen folgende Funktionsaufrufe zur Verfügung:

Funktionsaufruf

Beschreibung

getall

Ruft alle Datensätze des Datenbankobjektes ab

get/{id}

Ruft den über den eindeutigen Schlüssel im URL-Parameter spezifizierten Datensatz ab

find

Ruft unter verwendung der Parameter “fieldName, condition, argumentValue” alle Datensätze ab die der über die Parameter definierten Filterbedingung entsprechen. Als Vergleichsoperator für den Parameter “condition” sind zulässig: Less, LessOrEqual, Equal, GreaterOrEqual, Greater, NotEqual

add

Fügt einen Datensatz hinzu
(nur bei Zugriffsebene Lesen/Schreiben verfügbar)

update

Aktualisiert einen bestehenden Datensatz
(nur bei Zugriffsebene Lesen/Schreiben verfügbar)

delete/{id}

Löscht den über den eindeutigen Schlüssel im URL-Parameter spezifizierten Datensatz
(nur bei Zugriffsebene Lesen/Schreiben verfügbar)

Funktionsaufrufe

Der Zugriff auf die verschiedenen Datenbank-Objekte über die jeweiligen Funktionen erfolgt durch Angabe des Objektnamens und der Funktion in der URL-Adresse. Im folgenden einige Beispiele:

CODE
GET https://IhreAPIAdresse.de/api/OBJEKTNAME/getall
GET https://IhreAPIAdresse.de/api/OBJEKTNAME/find?fieldName=Client&condition=Greater&argumentValue=0
POST https://IhreAPIAdresse.de/api/OBJEKTNAME/add
PUT https://IhreAPIAdresse.de/api/OBJEKTNAME/update
DELETE https://IhreAPIAdresse.de/api/OBJEKTNAME/delete/111
https://localhost:7269/api/OBJEKTNAME/getall

Hierbei liefern die Http-GET Aufrufe entsprechende Daten im JSON-Format zurück, also z.B.:

CODE
{
  "currentPage": 1,
  "totalPages": 1,
  "pageSize": 1000,
  "totalCount": 1,
  "items": [
    {
      "id": 330,
      "name": "Max Mustermann",
      "name2": null,
      "name3": null,
      "matchCode": null,
      "street": "Musterweg. 144",
      "zip": "84533",
      "town": "Musterhausen",
      "country": null,
      "phone": "76543/123456",
      "fax": null,
      "eMail": "x@y.de",
      "web": null,
      "mainContact": null,
      "isSupplier": false,
      "addressNumber": null,
      "isHouseManagement": null,
      "companyId": "d63294c4-b7e6-e911-94f9-0050b620b707",
      "creditNr": null,
      "debitNr": 70112,
      "mobile": null,
      "customerNr": "5001",
      "pretaxEntitled": false,
      "phone2": null,
      "notes": null,
      "iban": null,
      "bic": null,
      "salutation": null,
      "letterSalutation": null,
      "remark": null,
      "emailDocuments": null
    }
  ]
}

Hierbei werden pro Rückgabe maximal 1000 Datensätze geliefert. Liefert die Anfrage mehr Datensätze (siehe “totalCount") können unter verwendung des “pageNumber” Parameters weitere Datensätze abgefragt werden.

Bei add, update und delete Aufrufen sind die Daten des Datensatzes ebenfalls im JSON Format im Request-Body anzugeben.

Entwickler-Dokumentation und Test

Als weiterführenden Dokumentation und zum Schnittstellen-Test steht auf Anfrage eine “Swagger” Oberfläche zur Verfügung:

Die Swagger-Oberfläche beschreibt hierbei die einzelnen Funtionsaufrufe detailiert und ermöglicht den Aufruf dieser direkt aus der Swagger-Oberfläche:

Hierbei ist über die “Authorize” Schaltfläche der entsprechende geheime “Token” zu hinterlegen:

Bei Bedarf stellen wir Ihnen ergänzend ggf. einen API-Zugang auf eine Demo-Datenbank zur Verfügung.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.