Hinweis
Kunden können von Zeiterfassern nicht bearbeitet werden. Lesen können Zeiterfasser lediglich Kunden der für sie freigegebenen Projekte.
Alle aktiven Kunden auflisten
GET /customers.xml
Listet alle aktiven Kunden sortiert nach deren Namen auf.
Response : 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<customers type="array">
<customer>
...
</customer>
<customer>
...
</customer>
</customers>
Mit dem Parameter name kann die Liste eingeschränkt werden:
GET /customers.xml?name=gmbh
Listet alle aktiven Kunden auf, deren Namen 'gmbh' enthält. Groß-/Kleinschreibung wird ignoriert.
Standardmäßig werden alle Kunden ausgegeben, die den übergebenen Kriterien entsprechen. Mit dem Parameter limit ist es möglich, die Anzahl zu begrenzen:
GET /customers.xml?limit=100
Gibt die ersten 100 Kunden zurück. Mit dem Parameter page können die darauf folgenden Kunden ausgegeben werden:
GET /customers.xml?limit=100&page=2
Gibt die Kunden 101 bis 200 zurück.
Alle archivierten Kunden auflisten
GET /customers/archived.xml
Listet alle archivierten Kunden sortiert nach deren Namen auf. Auch hier ist eine Freitextsuche mit dem Parameter name möglich.
Einzelnen Kunden anzeigen
GET /customers/{id}.xml
Gibt einen einzelnen Kunden zurück.
Response : 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<customer>
<id type="integer">2</id>
<name>LilaLaune GmbH</name>
<note>Sehr wankelmütig!</note>
<archived type="boolean">false</archived>
<hourly-rate type="integer">0</hourly-rate>
<active-hourly-rate nil="true"></active-hourly-rate>
<hourly-rates-per-service type="array"></hourly-rates-per-service>
<created-at type="datetime">2007-12-13T12:12:00+01:00</created-at>
<updated-at type="datetime">2007-12-13T12:12:00+01:00</updated-at>
</customer>
Erstellen
POST /customers.xml
Erstellt einen neuen Kunden. Alle Parameter – bis auf den Namen – sind optional.
- note
- Default: '' (leerer String)
- archived
- true oder false - Default: false
- hourly_rate
- in Cent (ein Hundertstel der Basiseinheit, unabhängig von der Währung) - Default: 0
- hourly_rates_per_service
- Liste der Stundensätze je nach Leistung - Default: [] (leerer Array)
- active_hourly_rate
- nil, hourly_rate oder hourly_rates_per_service - Default: nil
Request Body
<customer>
<name>Kunde XY</name>
<note>Neukunde Nachhaken!</note>
</customer>
Response : 201 Created
<?xml version="1.0" encoding="UTF-8"?>
<customer>
<id type="integer">1234</id>
<name>Kunde XY</name>
<note>Neukunde? Nachhaken!</note>
<archived type="boolean">false</archived>
<hourly-rate type="integer">0</hourly-rate>
<active-hourly-rate nil="true"></active-hourly-rate>
<hourly-rates-per-service type="array"></hourly-rates-per-service>
<created-at type="datetime">2008-02-11T22:12:00+01:00</created-at>
<updated-at type="datetime">2008-02-11T22:12:00+01:00</updated-at>
</customer>
Bearbeiten
PUT /customers/{id}.xml
Aktualisiert einen Kunden mit den übergebenen Parametern.
Request Body
<customer>
<note>Erfolgreiche Akquise!</note>
</customer>
Response : 200 OK
Wird der Stundensatz des Kunden verändert, kann über den Parameter update_hourly_rate_on_time_entries gesteuert werden, ob der neue Stundensatz auch auf existierende Zeiteinträge angewendet werden soll. Per Default werden die Zeiteinträge nicht aktualisiert; um sie zu aktualisieren setze update_hourly_rate_on_time_entries auf true.
Löschen
DELETE http://demo.mite.yo.lk/customers/{id}.xml
Löscht einen Kunden. Dies ist nur möglich, wenn keine Projekte dieses Kunden existieren.
