Standard-Web-Schnittstellen für project-pulse-Integration
Da Webschnittstellen kein Vorlagesystem besitzen, können diese Schnittstellen nicht als Vorlage zum Erstellen neuer Webschnitstellen benutzt werden.
Workload - Belastung
Überträgt die in PLANTA pulse auf Karten erfassten Rückmeldung auf die Vorgänge in PLANTA project
Member - Ressourcenzuordnung
Überträgt die in PLANTA pulse erfassten Mitgliedszuordnungen als Ressourcenzuordnungen für den entsprechenden Vorgang nach PLANTA project
Zeiterfassung
Überträgt die in PLANTA pulse auf PLANTA project-Vorgängen erfassten Rückmeldung auf dieselben Vorgänge in PLANTA project
Benutzerbezogene Schnittstellen
Alle benutzerbezogenen Schnittstellen haben in ihrer URL einen Parameter, mit dem die Benutzer-ID aus PLANTA pulse übergeben wird.
Query-Parameter:
Name | Mussfeld | Datentyp | Format |
---|---|---|---|
userID | X | String | Pulse-ID des Benutzers |
GET /pulse/timeTracking/1.0/users/{userID}/postingObjects
Query-Parameter:
Name | Mussfeld | Datentyp | Format |
---|---|---|---|
plannedOnly | String | Wird für | |
queryText | String | Erlaubt die Übergabe eines Strings, um die Ergebnisse einzuschränken. Implementierung basiert auf der pulse Such-Implementation. Beispiel: | |
projectsOnly | String | Wird für |
Ruft die bebuchbaren Planungsobjekte des Systems für den übergebenen Benutzer ab.
Die Implementation ist der Funktion "Projekte und Vorgänge für Zeiterfassung hinzufügen" aus dem Standard-Zeiterfassungsmodul nachempfunden:
Projekte
Nicht gesperrt
Kein Ist-Ende
Aktiv
Vorgänge
Nicht gesperrt
Kein Ist-Ende
Kein Meilenstein
Kein Sammelvorgang
Nicht nach pulse als Board exportiert
Ein Abteilungsfilter existiert im Standard seit DB 13 nicht mehr.
Die Schnittstelle kann beim Kunden dann individuell angepasst werden, so wie man auch die Funktion im Zeiterfassungsmodul anpassen würde.
Rückgabewert:
Eine Liste von Planungsobjekten:
Name | Datentyp | Beschreibung |
---|---|---|
projectUUID | String | UUID des Projekts in PLANTA project (DI 060934) |
functionalID | String | Fachliche ID des Projekts (DI 041317) |
name | String | Projektbezeichnung (DI 023655) |
keyDate | String | Globaler Stichtag (DI 000132). |
tasks | Array | Array von |
Task
Name | Datatyp | Beschreibung |
---|---|---|
UUID | String | UUID des Vorgangs in PLANTA project (DI 060936) |
functionalID | String | Fachliche ID des Vorgangs (DI 041467). Wenn diese leer ist, dann die technische ID (DI 001098) |
name | String | Vorgangsbezeichnung (DI 000807) |
planned | Boolean | Gibt an, ob der Benutzer als Ressource in diesem Vorgang eingeplant ist |
remainingEffort | Number | Aufwand-Rest, reduziert um die noch nicht von der Terminrechnung berücksichtigte Ist-Belastung. Der Wert wird automatisch angepasst, sobald die gebuchten Ist-Stunden von PLANTA project empfangen wurden. |
GET /pulse/timeTracking/1.0/users/{userID}/attendance
Ruft die Soll-/Ist-Arbeitszeit ab.
Die Daten sind eine Kombination der Daten aus DT203 (Anwesenheit) und DT468 (Periode).
Über die optionalen Query-Parameter kann der abgerufene Zeitraum eingeschränkt werden.
Query-Parameter:
Name | Mussfeld | Datentyp | Format |
---|---|---|---|
startDate | String | yyyy-mm-dd | |
endDate | String | yyyy-mm-dd |
Rückgabewert:
Chronologisch sortierter Array von Attendance
Name | Datentyp | Beschreibung |
---|---|---|
periodUUID | String | UUID aus der DT468 (DI 060941) |
unitPerPeriod | Float | Soll-Arbeitszeit an diesem Tag (DI 001339) |
availCap | Float | Verfügbare Kapazität an diesem Tag (Soll * Faktoren) (DI 001337) |
vacation | Float | Anzahl Stunden Urlaub an diesem Tag (DI 001340 umgerechnet) |
absence | Float | Anzahl Stunden Abwesenheit an diesem Tag (DI 001341 umgerechnet) |
date | String | Datum im Format yyyy-mm-dd (DI 001327) |
time | Array | Array von |
Time
Name | Datentyp | Beschreibung |
---|---|---|
attendanceUUID | String | UUID aus der DT203 (DI 065304) |
type | String | Ein Kenner aus dem |
duration | Float | Dauer in Stunden (DI 065320) |
startTime | Uhrzeit | Start der Zeitscheibe (DI 065318) |
endTime | Uhrzeit | Ende der Zeitscheibe (DI 065319) |
comment | String | Kommentar (DI 065321) |
AttendanceType
Enum
Schlüssel | Beschreibung |
---|---|
attendance | Anwesenheit |
break | Pause |
travel_billable | Fahrzeit (Arbeitszeit) |
travel_time | Fahrzeit (keine Arbeitszeit) |
travel | 1 Fahrt |
overnight_stay | 1 Übernachtung |
unknown | Unbekannter Wert |
GET /pulse/timeTracking/1.0/users/{userID}/workloads
Ruft die gefilterten Belastungsdatensätze des Benutzers ab. Die Filter:
Belastung-Ist != 0
Nicht storniert
Die Stunden kamen nicht über Hybrid von einer Karte
Query-Parameter:
Name | Mussfeld | Datentyp | Format |
---|---|---|---|
startDate | String | yyyy-mm-dd | |
endDate | String | yyyy-mm-dd | |
modifiedSince | String | yyyy-mm-dd | |
modifiedUntil | String | yyyy-mm-dd |
Rückgabewert:
Eine Liste an Buchungen:
Name | Datentyp | Beschreibung |
---|---|---|
taskUUID | String | UUID des Vorgangs in PLANTA project (DI 060936) |
taskName | String | Vorgangsbezeichnung in PLANTA project (DI 000807) |
taskFunctionalID | String | Fachliche ID des Vorgangs (DI 041467). Wenn diese leer ist, dann die technische ID (DI 001098) |
bookingPossible | Boolean | Bildet die Filter ab, die in PLANTA project den Bereich "Nicht bebuchbare Objekte" ausmachen (Projekt/Vorgang gesperrt, Projekt inaktiv oder Ressourcenzuordnung hat Ist-Ende) |
projectUUID | String | UUID des Projekts in PLANTA project (DI 060934) |
projectFunctionalID | String | Fachliche ID des Projekts (DI 041317) |
projectName | String | Projektbezeichnung in PLANTA project (DI 000690) |
load | Number | Belastung als Zahl (DI 001510) |
date | String | Datum im Format YYYY-MM-DD (DI 001519) |
comment | String | Kommentar (DI 001438) |
order | String | Auftrag (DI 027646) |
orderItem | Number | Auftragsposition (DI 027647) |
loadUUID | String | UUID der Belastung in PLANTA project (DI 060945) |
created_on | String | Anlagedatum im Format YYYY-MM-DD (DI 001500) |
modified_on | String | Änderungsdatum im Format YYYY-MM-DD (DI 001501) |
created_by | String | Anlagebenutzer (DI 001503) |
modified_by | String | Änderungsbenutzer (DI 001504) |
keyDate | String | Globaler Stichtag (DI 000132). |
remainingEffort | Number | Aufwand-Rest, reduziert um die noch nicht von der Terminrechnung berücksichtigte Ist-Belastung. Der Wert wird automatisch angepasst, sobald die gebuchten Ist-Stunden von PLANTA project empfangen wurden. |
GET /pulse/timeTracking/1.0/users/{userID}/subordinates
Ruft die Ressourcen ab, für die ein gewisser Mitarbeiter buchen darf.
Es werden nur interne und externe Mitarbeiter ausgegeben, keine Abteilungen (
DI 003414 = "1I" OR "1E"
)Wird gesteuert über Zugriff auf Ressourcen
Es werden nur Ressourcen ausgegeben, die auch mit PLANTA pulse verknüpft sind.
Der Benutzer, für den abgefragt wird, ist in der Ergebnismenge nicht enthalten.
Rückgabewert:
Ein Array von Resource
Objekten
Resource
Name | Datentyp | Beschreibung |
---|---|---|
resourceUUID | String | PLANTA pulse-ID des Benutzers |
resourceName | String | Name der Ressource (DI 001275) |
resourceType | String |
|
/pulse/timeTracking/1.0/users/{userID}/bookingFavorite
GET
Wird benutzt, um die Buchungsobjekte zu holen, die in PLANTA project vom übergebenen Benutzer als Favorit markiert sind.
Es werden nur Daten zu Vorgängen gesendet, die im PLANTA project-Standard im Zeiterfassungsmodul unter "Meine Zeiterfassungsfavoriten" auftauchen würden:
Projekt/Vorgang ist nicht gesperrt
Projekt ist aktiv
Vorgang ist kein Meilenstein
Vorgang ist kein Sammelvorgang
Ressourcenzuordnung hat kein Ist-Ende
Rückgabewert:
bookingFavorite
Name | Datentyp | Beschreibung |
---|---|---|
taskUUID | String | UUID des Vorgangs in PLANTA project (DI 060936) |
taskFunctionalID | String | Fachliche ID des Vorgangs (DI 041467). Wenn diese leer ist die technische ID (DI 001098) |
taskName | String | Vorgangsbezeichnung in PLANTA project (DI 000807) |
projectUUID | String | UUID des Projekts in PLANTA project (DI 060934) |
projectFunctionalID | String | Fachliche ID des Projekts (DI 041317) |
projectName | String | Projektbezeichnung in PLANTA project (DI 000690) |
keyDate | String | Globaler Stichtag (DI 000132) |
remainingEffort | Number | Aufwand-Rest, reduziert um die noch nicht von der Terminrechnung berücksichtigte Ist-Belastung. Der Wert wird automatisch angepasst, sobald die gebuchten Ist-Stunden von PLANTA project empfangen wurden. |
POST
Setzt den Favoritenflag auf einer Ressourcenzuordnung.
Parameter:
Name | Mussfeld | Datentyp | Beschreibung |
---|---|---|---|
taskUUID | x | String | UUID des Vorgangs in PLANTA project (DI 060936) |
DELETE
Löscht den Favoritenflag auf einer Ressourcenzuordnung.
Parameter:
Name | Mussfeld | Datentyp | Beschreibung |
---|---|---|---|
taskUUID | x | String | UUID des Vorgangs in PLANTA project (DI 060936) |
Workloads
Die PUT/DELETE-Schnittstellen haben in ihrer URL einen Parameter, mit dem die Belastungs-ID aus PLANTA project übergeben wird.
Name | Mussfeld | Datentyp | Format |
---|---|---|---|
workloadID | X | String | UUID der Belastung (DI 060945) |
Workload
Parameter:
Name | Mussfeld bei POST | Datentyp | Beschreibung |
---|---|---|---|
taskUUID | x | String | UUID des Vorgangs in PLANTA project (DI 060936) |
userID | x | String | PLANTA pulse-ID des Benutzers |
load | x | Number | Belastung (DI 001510) |
comment | x | String | Kommentar (DI 001438) |
date | x | String | Belastungsdatum (DI 001519) im Format |
order | String | Auftrag (DI 027646) | |
orderItem | Number | Auftragsposition (DI 027647) |
Es gibt keine Mussfelder bei PUT (außer die workloadID
in der URL natürlich!)
Es ist nur nötig, die geänderten Felder zu schicken.
Da in PLANTA project das Verschieben einer Belastung unter ein anderes Projekt / einen anderen Vorgang nicht erlaubt ist, macht es keinen Sinn, die
taskUUID
zu schicken.
POST /pulse/timeTracking/1.0/workloads
Erstellt eine Belastung (DT472)
Kostenart wird von der Default-Kostenart der Ressource übernommen
Rückgabewert:
Name | Datentyp | Beschreibung |
---|---|---|
UUID | String | UUID der Belastung |
taskUUID | String | UUID des Vorgangs in PLANTA project (DI 060936) |
userID | String | PLANTA project-ID des Benutzers |
load | Number | Belastung (DI 001510) |
comment | String | Kommentar (DI 001438) |
date | String | Belastungsdatum (DI 001519) (Format ist zurzeit nicht definiert) |
cardID | String | pulse: cardId (DI066832) |
/pulse/timeTracking/1.0/workloads/{workloadID}
PUT
Ändert eine Belastung
Rückgabewert:
Name | Datentyp | Beschreibung |
---|---|---|
UUID | String | UUID der Belastung |
taskUUID | String | UUID des Vorgangs in PLANTA project (DI 060936) |
load | Number | Belastung (DI 001510) |
comment | String | Kommentar (DI 001438) |
date | String | Belastungsdatum (DI 001519) (Format ist zurzeit nicht definiert) |
cardID | String | pulse: cardId (DI066832) |
DELETE
Löscht eine Belastung
Rückgabewert:
Name | Datentyp | Beschreibung |
---|---|---|
UUID | String | UUID der Belastung |
cardID | String | pulse: cardId (DI066832) |
POST /pulse/timeTracking/1.0/workloadSearch
Erwartet Body mit mindestens einem der folgenden Parameter als Liste:
Name | Datentyp | Beschreibung |
---|---|---|
userID | String | PLANTA pulse-ID des Benutzers |
cardID | String | PLANTA pulse-ID der Karte |
taskUUID | String | UUID des Vorgangs in PLANTA project (DI 060936) |
Query-Parameter:
Name | Datentyp | Format |
---|---|---|
startDate | String | yyyy-mm-dd |
endDate | String | yyyy-mm-dd |
modifiedSince | String | yyyy-mm-dd |
modifiedUntil | String | yyyy-mm-dd |
Rückgabewert:
Eine Liste an Buchungen:
Name | Datentyp | Beschreibung |
---|---|---|
taskUUID | String | UUID des Vorgangs in PLANTA project (DI 060936) |
taskName | String | Vorgangsbezeichnung in PLANTA project (DI 000807) |
taskFunctionalID | String | Fachliche ID des Vorgangs (DI 041467). Wenn diese leer ist, dann die technische ID (DI 001098) |
bookingPossible | Boolean | Bildet die Filter ab, die in PLANTA project den Bereich "Nicht bebuchbare Objekte" ausmachen (Projekt/Vorgang gesperrt, Projekt inaktiv oder Ressourcenzuordnung hat Ist-Ende) |
projectUUID | String | UUID des Projekts in PLANTA project (DI 060934) |
projectFunctionalID | String | Fachliche ID des Projekts (DI 041317) |
projectName | String | Projektbezeichnung in PLANTA project (DI 000690) |
load | Number | Belastung als Zahl (DI 001510) |
date | String | Datum im Format YYYY-MM-DD (DI 001519) |
comment | String | Kommentar (DI 001438) |
order | String | Auftrag (DI 027646) |
orderItem | Number | Auftragsposition (DI 027647) |
loadUUID | String | UUID der Belastung in PLANTA project (DI 060945) |
created_on | String | Anlagedatum im Format YYYY-MM-DD (DI 001500) |
modified_on | String | Änderungsdatum im Format YYYY-MM-DD (DI 001501) |
created_by | String | Anlagebenutzer (DI 001503) |
modified_by | String | Änderungsbenutzer (DI 001504) |
keyDate | String | Globaler Stichtag (DI 000132). |
remainingEffort | Number | Aufwand-Rest, reduziert um die noch nicht von der Terminrechnung berücksichtigte Ist-Belastung. Der Wert wird automatisch angepasst, sobald die gebuchten Ist-Stunden von PLANTA project empfangen wurden. |
Aufträge / Kontierungselemente
GET /pulse/timeTracking/1.0/orders
Hiermit können Kontierungselemente zur Buchung zurückgegeben werden. Sobald diese Schnittstelle aktiv ist, werden auf der UI entsprechende Felder freigeschaltet.
Rückgabewert:
Order
Name | Datentyp | Beschreibung |
---|---|---|
orderId | String | Identifier |
orderName | String | Bezeichnung |
orderItems | Array<OrderPosition> | Auftragspositionen |
OrderPosition
Name | Datentyp | Beschreibung |
---|---|---|
posId | Number | Identifier |
posName | String | Bezeichnung |
Fehlerbehandlung
Fehler Objekt
Name | Datentyp | Beschreibung |
---|---|---|
statusCode | Number | HTTP Statuscode |
message | String | Fehler Nachricht |
details | String | z.B. Stacktrace |
type (opt.) | String | Bei PLANTA pulse: PLANTA project-Request |
HTTP Statuscodes
Status Code | Description |
---|---|
200 | Returned when successful |
400 | Bad Request |
401 | Forbidden |
403 | Returned when the user is not authorized |
404 | Returned when no endpoint exists at the given address |
500 | Internal Server Error |