- Alle aktiven Leistungen auflisten
- Alle archivierten Leistungen auflisten
- Einzelne Leistung anzeigen
- Eine Leistung erstellen
- Eine Leistung bearbeiten
- Eine Leistung löschen
Bitte beachten: Leistungen können von Zeiterfassern nur gelesen, nicht jedoch bearbeitet werden.
Alle aktiven Leistungen auflisten
Liste alle aktiven Leistungen sortiert nach deren Namen auf:
GET /services.xml
GET /services.json
Parameter
name | Gibt nur die Einträge zurück, deren Namen den übergebenen String enthalten. Groß- und Kleinschreibung wird ignoriert. |
limit | Mit dem Parameter limit ist es möglich, die maximale Anzahl der ausgegebenen Einträge zu begrenzen. Default: unbegrenzt |
page | In Kombination mit dem Parameter limit können Folgeseiten ausgegeben werden. Default: 1 |
Antwort
[ { "service": {...} }, { "service": {...} } ]
<?xml version="1.0" encoding="UTF-8"?> <services type="array"> <service> ... </service> <service> ... </service> </services>
Alle archivierten Leistungen auflisten
Liste alle archivierten Leistungen sortiert nach deren Namen auf:
GET /services/archived.xml
GET /services/archived.json
Es können die gleichen Parameter wie bei den aktiven Leistungen verwendet werden.
Einzelne Leistung anzeigen
Rufe eine Leistung nach ihrer id auf:
GET /services/:id.xml
GET /services/:id.json
Antwort
{ "service": { "id": 38672, "name": "Website Konzeption", "note": "", "hourly_rate": 3300, "archived": false, "billable": true, "created_at": "2009-12-13T12:12:00+01:00", "updated_at": "2015-12-13T07:20:04+01:00" } }
<?xml version="1.0" encoding="UTF-8"?> <service> <id type="integer">38672</id> <name>Website Konzeption</name> <note></note> <billable type="boolean">true</billable> <hourly-rate type="integer">3300</hourly-rate> <archived type="boolean">false</archived> <updated-at type="datetime">2015-12-13T07:20:04+01:00</updated-at> <created-at type="datetime">2009-12-13T12:12:00+01:00</created-at> </service>
Eine Leistung erstellen
Erstellt eine neue Leistung; alle Attribute – bis auf name – sind optional.
POST /services.xml
POST /services.json
Attribute
name | Darf nicht leer sein! |
note | Default: "" (leerer String) |
hourly_rate | Stundensatz in Cent (ein Hundertstel der Basiseinheit, unabhängig von der Währung) Default: null |
billable | true oder false Default: true |
archived | true oder false Default: false |
Anfrage
{ "service": { "name": "Schulung", "billable": false } }
<service> <name>Schulung</name> <billable>false</billable> </service>
Antwort
Location: https://demo.mite.de/services/702943.json
{ "service": { "id": 702943 "name": "Schulung", "note": "", "hourly_rate": null, "archived": false, "billable": false, "created_at": "2015-10-13T22:12:00+01:00", "updated_at": "2015-10-13T22:12:00+01:00" } }
Location: https://demo.mite.de/services/702943.xml
<?xml version="1.0" encoding="UTF-8"?> <service> <id type="integer">702943</id> <name>Schulung</name> <note></note> <billable type="boolean">false</billable> <hourly-rate type="integer" nil="true"></hourly-rate> <archived type="boolean">true</archived> <updated-at type="datetime">2015-10-13T22:12:00+01:00</updated-at> <created-at type="datetime">2015-10-13T22:12:00+01:00</created-at> </service>
Eine Leistung bearbeiten
Aktualisiere eine Leistung mit den übergebenen Attributen:
PATCH /services/:id.xml
PATCH /services/:id.json
Anfrage
{ "service": { "name": "Konzeption" } }
<service> <note>Konzeption</note> </service>
Antwort
{leer}
Wenn du den Stundensatz änderst, wird dieser sich per Default nur auf Zeiteinträge auswirken, die von jetzt an erstellt werden. Wenn du den neuen Stundensatz auch auf bereits vorhandene Zeiteinträge anwenden möchtest, setze bitte das zusätzliche Attribut update_hourly_rate_on_time_entries auf true:
{ "service": { "hourly_rate": 12000, "update_hourly_rate_on_time_entries": true } }
<service> <hourly-rate>12000</hourly-rate> <update-hourly-rate-on-time-entries>12000</update-hourly-rate-on-time-entries> </service>
Eine Leistung löschen
Lösche eine Leistung:
DELETE /services/:id.xml
DELETE /services/:id.json
Antwort
{leer}
Du kannst eine Leistung nur löschen, wenn ihr keine Zeiteinträge zugeordnet sind. Ansonsten erhältst du folgende Antwort:
{ "error": "Diese Leistung kann nicht gelöscht werden, da an \ ihr Zeiteinträge hängen. Archiviere sie stattdessen." }
<?xml version="1.0" encoding="UTF-8"?> <errors> <error>Diese Leistung kann nicht gelöscht werden, da an ihr \ Zeiteinträge hängen. Archiviere sie stattdessen.</error> </errors>