ProSonata API
Folgende HTTP-Methoden stehen für Projektaufgaben zur Verfügung:
Zugriff für alle Benutzergruppen.
Alle Benutzer können Projektaufgaben erstellen/bearbeiten.
Nur Benutzer ab der Gruppe Teamleiter können Projektaufgaben aller Benutzer löschen.
Alle Benutzer können ihre eigenen Projektaufgaben löschen.
GET /api/v1/projecttasks
Antwort:
{
"meta": {
"status": 200,
"perPage": 100,
"page": 1,
"totalCount": 564,
"requestUserID": 1,
"requestUsername": "Admin1",
"usergroupName": "Administrator",
"apiLimitRemaining": 436,
"apiLimitReset": 513
},
"data": [
{
"taskID": 13,
"taskName": "Layout erstellen",
"taskInfo": "<p>weitere Infos zur Aufgabe</p>",
"projectID": 48,
"projectNo": "19-12-001",
"projectName": "Kundenmailing",
"customerID": 12,
"customerName": "Versandmode Becker",
"userID": 7,
"username": "Designer1",
...
},
...
]
}
Über Parameter kann gefiltert werden:
GET /api/v1/projecttasks?projectID=45&userID=3&done=0
Parameter | Beschreibung |
---|---|
projectID | ID eines Projekts |
projectNo | Projektnummer |
projectName | Bezeichnung eines Projekts |
customerID | ID einer Firma/Gruppe |
customerName | Bezeichnung einer Firma/Gruppe |
userID | ID eines Benutzers Sonderwert: String »myself« für Zeiten des anfragenden Benutzeraccounts durch Ergänzung des Parameters »additionalUser=true« werden auch Aufgaben berücksichtigt, bei denen der Benutzer Zuarbeiter ist |
username | Benutzername |
taskName | Aufgabe |
taskDateStart | Startdatum der Aufgabe durch Angabe von > oder < vor dem Datum kann eine Suche ab dem bzw. bis zum Datum erfolgen |
taskDateEnd | Enddatum der Aufgabe durch Angabe von > oder < vor dem Datum kann eine Suche ab dem bzw. bis zum Datum erfolgen |
recurringTask | wiederkehrende Aufgabe 0 = keine Wiederholung 1 = wöchentlich 2 = 2-wöchentlich 3 = monatlich 4 = 2-monatlich 5 = quartalsweise 6 = halbjährlich |
taskTimeCategory | ID der Zeitkategorie |
taskPrio | Priorität der Aufgabe 0 = ohne 1 = niedrig 5 = mittel 9 = hoch |
type | Typ des Eintrags 0 = Aufgabe 1 = Meilenstein |
read | Aufgabe ist gelesen 0 = nein 1 = ja |
done | Aufgabe ist erledigt 0 = nein 1 = ja |
Nach folgenden Parametern kann sortiert werden (Sortierrichtung ggf. mit ASC bzw. DESC ergänzen):
taskID, projectID, customerID, userID, taskDateStart, taskDateEnd, taskOrder, taskPrio, type, read, done
GET /api/v1/projecttasks/{id}
Antwort:
{
"meta": {
"status": 200,
"requestUserID": 1,
"requestUsername": "Admin1",
"usergroupName": "Administrator",
"apiLimitRemaining": 186,
"apiLimitReset": 403
},
"data": {
"taskID": 304,
"taskName": "erstes Layout vorbereiten",
"taskInfo": "",
"projectID": 122,
"projectNo": "19-16-004",
"projectName": "Gestaltung der Webseite",
"customerID": 16,
"customerName": "Maler Maier",
"userID": 1,
"username": "Admin1",
"taskDateStart": null,
"taskTimeStart": null,
"taskDateEnd": null,
"taskTimeEnd": null,
"timePlanned": 3,
"recurringTask": 0,
"recurringTaskDateEnd": null,
"taskOrder": 7,
"taskTimeCategory": null,
"categoryName": null,
"taskPrio": 9,
"type": 0,
"read": 1,
"donePercentage": 0,
"done": 0,
"doneMailToUserID": null,
"changedInfoToUser": 0,
"changedInfoToCreator": 0,
"createdByUserID": 1,
"taskCreationDate": "2019-03-11 17:19:03",
"editedByUserID": 1,
"taskEditDate": "2019-03-11 17:19:14",
"linkedExtCostID": null,
"taskViaApi": 0
}
}
POST /api/v1/projecttasks
Notwendige und mögliche Parameter im Body:
Parameter | Beschreibung | Typ | Default-Wert | Pflichtfeld |
---|---|---|---|---|
taskName | Bezeichnung der Aufgabe | String | ja | |
taskInfo | erweiterte Infos zur Aufgabe Eingabe mit html Tags (max. 5.000 Zeichen) |
String | ||
projectID | ID des Projekts | Int | ja | |
userID | ID des Benutzers | Int | ID des anfragenden Benutzers |
|
taskDateStart | Datum Beginn der Aufgabe | Date | null | |
taskTimeStart | Uhrzeit des Startdatums | Time | null | |
taskDateEnd | Datum Ende der Aufgabe | Date | null | |
taskTimeEnd | Uhrzeit des Enddatums | Time | null | |
timePlanned | geplante Zeit der Aufgabe | Dec | 0.00 | |
recurringTask | wiederkehrende Aufgabe 0 = keine Wiederholung 1 = wöchentlich 2 = 2-wöchentlich 3 = monatlich 4 = 2-monatlich 5 = quartalsweise 6 = halbjährlich |
Int | 0 | |
recurringTaskDateEnd | Datum Ende der Wiederholungen | Date | null | |
taskTimeCategory | Zeitkategorie der Aufgabe | Int | null | |
taskPrio | Priorität der Aufgabe 0 = keine Prio 1 = niedrige Prio 5 = mittlere Prio 9 = hohe Prio |
Int | 0 | |
type | Typ der Aufgabe 0 = Aufgabe 1 = Meilenstein |
Int | 0 | |
doneMailToUserID | erledigt E-Mail an Benutzer mit der ID | Int | null | |
changedInfoToUser | Änderungen E-Mail an Mitarbeiter 0 = nein 1 = ja |
Int | 0 | |
changedInfoToCreator | Änderungen E-Mail an Aufgabenersteller 0 = nein 1 = ja |
Int | 0 | |
additionalUsers | Zuarbeiter (Benutzer) speichern (ein Array der userID(s) kann übergeben werden) |
Array | [] leeres Array |
Angabe von Dezimalwerten mit Punkt als Trennzeichen.
Beispiel:
{
"taskName": "eine Aufgabe zum Projekt",
"taskInfo": "<p>hier steht eine erweiterte Beschreibung</p>",
"projectID": 122,
"userID": 3,
"taskDateStart": "16.04.2019",
"taskDateEnd": "20.04.2019",
"timePlanned": 3.75,
"taskPrio": 9,
"additionalUsers": [
{
"userID": 2
},
{
"userID": 6
}
]
}
PUT /api/v1/projecttasks/{id}
Es müssen nicht alle Parameter für eine Bearbeitung übergeben werden.
Es stehen die Parameter zum Erstellen der Ressource zur Verfügung (s.o.).
Ergänzend stehen weitere Parameter zur Verfügung:
Parameter | Beschreibung | Typ |
---|---|---|
read | gelesen 0 = nein 1 = ja |
Int |
donePercentage | erledigt (Prozent) Werte: 0, 25, 50, 75, 100 |
Int |
done | erledigt 0 = nein 1 = ja |
Int |
DELETE /api/v1/projecttasks/{id}
Es müssen keine weiteren Parameter übergeben werden.