ProSonata API
Folgende HTTP-Methoden stehen für Leistungsvorlagen zur Verfügung:
Zugriff ab Benutzergruppe Verwaltung.
GET /api/v1/servicetemplates
Antwort:
{
"meta": {
"status": 200,
"perPage": 100,
"page": 1,
"totalCount": 564,
"requestUserID": 1,
"requestUsername": "Admin1",
"usergroupName": "Administrator",
"apiLimitRemaining": 436,
"apiLimitReset": 513
},
"data": [
{
"templateID": 2,
"category": 1,
"templateName": "Website klein",
"detail": "<p>Beratung bei Konzeption und Struktur der Website. Kommunikation und Handling.</p>\r\n<p><strong>Zeitbedarf</strong>: ca. 4 Std.</p>",
"detail_lang1": "",
"quantity": "4.00",
"unit": "",
"unit_lang1": "",
"netValue": "95.00",
...
},
...
]
}
Über Parameter kann gefiltert werden:
GET /api/v1/servicetemplates?templateName=test
| Parameter | Beschreibung |
|---|---|
| templateName | Bezeichnung der Leistungsvorlage |
| detail | Beschreibungstext |
| detail_lang1 | Beschreibungstext englisch |
| category | ID der Kategorie |
| unit | Einheit |
| noCustomerDiscount | Kundenrabatte nicht berücksichtigen 0 = nein 1 = ja |
| hourlyRateService | Leistung auf Stundensatzbasis 0 = nein 1 = ja |
Nach folgenden Parametern kann sortiert werden (Sortierrichtung ggf. mit ASC bzw. DESC ergänzen):
templateID, category, netValue
GET /api/v1/servicetemplates/{id}
Antwort:
{
"meta": {
"status": 200,
"requestUserID": 1,
"requestUsername": "Admin1",
"usergroupName": "Administrator",
"apiLimitRemaining": 186,
"apiLimitReset": 403
},
"data": {
"templateID": 42,
"category": 2,
"templateName": "Gestaltung einer Website (klein)",
"detail": "<p>Gestaltung der Website: ca. 12 Stunden</p>",
"detail_lang1": "<p>Design of a website: approx. 12 hrs</p>",
"quantity": "12.00",
"unit": "",
"unit_lang1": "",
"netValue": "90.00",
"additionalCharge1": "0.00",
"additionalCharge2": "0.00",
"advancePaymentTemplate": 0,
"noCustomerDiscount": 0,
"hourlyRateService": 1,
"serviceTemplateViaApi": 1
}
}
POST /api/v1/servicetemplates
Notwendige und mögliche Parameter im Body:
| Parameter | Beschreibung | Typ | Default-Wert | Pflichtfeld |
|---|---|---|---|---|
| category | Kategorie der Leistung | Int | ja | |
| templateName | Bezeichnung der Leistungsvorlage | String | ja | |
| detail | Beschreibungstext der Vorlage für die Position | String | ||
| detail_lang1 | Beschreibungstext englisch | String | ||
| quantity | Menge | Dec | 0.00 | |
| unit | Einheit | String | ||
| unit_lang1 | Einheit englisch | String | ||
| netValue | Nettopreis | Dec | 0.00 | |
| additionalCharge1 | Preisaufschlag (%) | Dec | 0.00 | |
| additionalCharge2 | Preisaufschlag (Betrag pro Stück/Menge) | Dec | 0.00 | |
| noCustomerDiscount | Kundenrabatte nicht berücksichtigen 0 = nein 1 = ja |
Int | 0 | |
| hourlyRateService | Leistung auf Stundensatzbasis 0 = nein 1 = ja |
Int | 0 |
Angabe von Dezimalwerten mit Punkt als Trennzeichen.
Beispiel:
{
"category": 14,
"templateName": "eine neue Leistungsvorlage",
"detail": "<p>hier steht eine erweiterte Beschreibung</p>",
"quantity": 5,
"unit": "Std.",
"netValue": 90.00
}
PUT /api/v1/servicetemplates/{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.).
DELETE /api/v1/servicetemplates/{id}
Es müssen keine weiteren Parameter übergeben werden.