Login English

Entwickler, sei gegrüßt! Die mite.api freut sich auf deine Hacks. Welche Funktionen wie zur Verfügung stehen, erfährst du hier im Dokumentationsbereich.

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.

Response : 200 OK