Clockodo API: Verwaltung und Gruppierung von Zeiteinträgen

Endpunkt api/v2/entrygroups

Die gruppierte Abfrage von Zeiteinträgen eignet sich insbesondere zu Auswertungszwecken oder zur Rechnungsstellung.

Objekttyp „entrygroup“

Parameter Typ Beschreibung
grouped_bystring
Gruppierungskriterium der aktuellen Gruppierungsebene
groupstring
Identifikator der aktuellen Gruppe
namestring
Textliche Beschreibung der aktuellen Gruppe
numberstring|null
Datennummer der Gruppe (Kundennummer, Personalnummer, ...)
Nur falls das aktuelle Gruppierungskriterium customers_id, projects_id, services_id oder users_id ist
notestring|null
Notiz zu der Gruppe
Nur falls das aktuelle Gruppierungskriterium customers_id, projects_id oder services_id ist
restrictionsarray
Einschränkungen die auf die aktuelle Gruppe zutreffen, außer dem jeweils aktuellen grouped_by und Zeiteinschränkungen
durationinteger
Dauer aller Zeiteinträge der Gruppe
[revenue]float
Umsatz aller Zeiteinträge der Gruppe
Nur bei notwendigen Mitarbeiterrechten für die Gruppe
[budget_used]boolean
Wurde für mindestens einen Zeiteintrag hartes Projektbudget genutzt?
Nur bei notwendigen Mitarbeiterrechten für die Gruppe
[has_budget_revenues_billed]boolean
Hat die Gruppe mindestens einen Zeiteintrag der hartes Projektbudget nutzt und bereits abgerechnet wurde?
Nur bei notwendigen Mitarbeiterrechten für die Gruppe
[has_budget_revenues_not_billed]boolean
Hat die Gruppe mindestens einen Zeiteintrag der hartes Projektbudget nutzt und noch nicht abgerechnet wurde?
Nur bei notwendigen Mitarbeiterrechten für die Gruppe
[has_non_budget_revenues_billed]boolean
Hat die Gruppe mindestens einen Zeiteintrag der kein hartes Projektbudget nutzt und bereits abgerechnet wurde?
Nur bei notwendigen Mitarbeiterrechten für die Gruppe
[has_non_budget_revenues_not_billed]boolean
Hat die Gruppe mindestens einen Zeiteintrag der kein hartes Projektbudget nutzt und noch nicht abgerechnet wurde?
Nur bei notwendigen Mitarbeiterrechten für die Gruppe
[hourly_rate]float|null
Durchschnittlicher Stundensatz der Gruppe
Nur bei notwendigen Mitarbeiterrechten für die Gruppe
[hourly_rate_is_equal_and_has_no_lump_sums]boolean
Ist der Stundensatz für alle abrechenbaren Einträge gleich und hat die Gruppe keine Pauschaleinträge? In diesem Fall lässt sich der Umsatz wie folgt errechnen: revenue = hourly_rate * duration
Dies ist insbesondere für die Erstellung von Rechnungsposten nützlich.
Nur bei notwendigen Mitarbeiterrechten für die Gruppe
[duration_without_rounding]integer
Dauer ungerundet
Nur falls Rundung angefragt wurde
[revenue_without_rounding]float
Umsatz ungerundet
Nur falls Rundung angefragt wurde und nur bei notwendigen Mitarbeiterrechten für die Gruppe
[rounding_success]boolean
War das Runden des Umsatzes erfolgreich oder konnte die Rundung wegen unterschiedlicher Stundensätze nicht durchgeführt werden?
Nur auf unterster Gruppierungsebene falls Rundung angefragt wurde und nur bei notwendigen Mitarbeiterrechten.
[sub_groups]array
Falls mehrere Gruppierungskriterien übergeben wurden, findet sich hier die nächste Ebene

Gruppen von Zeiteinträgen abfragen

Anfrage
GET /api/v2/entrygroups
Notwendige Parameter time_sincestring
Filter Startzeitpunkt
im Format ISO 8601 UTC, z.B. „2021-06-30T12:34:56Z“
time_untilstring
Filter Endzeitpunkt
im Format ISO 8601 UTC, z.B. „2021-06-30T12:34:56Z“
groupingarray
Gruppierung von Einträge; Gruppen werden verschachtelt ausgegeben
Ausgewählte Kriterien aus folgender Liste: [customers_id, projects_id, services_id, users_id, texts_id, lumpsum_services_id, billable, is_lumpsum, year, week, month, day]

Beispiel in HTTP-GET-Notation: grouping[]=customers_id&grouping[]=users_id
Optionale Parameter filter[users_id]integer
Filter nach Mitarbeiter
filter[customers_id]integer
Filter nach Kunden
filter[projects_id]integer
Filter nach Projekt
filter[services_id]integer
Filter nach Leistung
filter[lumpsum_services_id]integer
Filter nach Pauschale
filter[billable]integer
Filter nach Abrechenbarkeit
0, 1 oder 2
billable = 2 entspricht hier "Abrechenbar und bereits abgerechnet"
filter[text] / filter[texts_id]string / integer
Filter nach Beschreibung
filter[budget_type]string
Filter nach Budget-Typ
strict, strict-completed, strict-incomplete, soft, soft-completed, soft-incomplete, without, without-strict
round_to_minutesinteger
Rundung der Dauern auf die übergebene Anzahl von Minuten aktivieren
(Default 0)
prepend_customer_to_ project_nameboolean
Kundennamen werden bei Projektnamen vorangestellt
(Default true)
calc_also_revenues_for_ projects_with_hard_budgetboolean
Normalerweise werden für Zeiteinträge zu Projekte mit hartem Budget keine Umsätze berechnet. Dies kann hier aktiviert werden. Beachten Sie jedoch dass in diesem Fall die Summe aller Umsätze über dem harten Projektbudget liegen kann.
(Default false)
Beispielhafter Aufruf mit cURL
curl -v 
  -X GET \ 
  -H 'X-ClockodoApiUser: [E-Mail-Adresse]' \ 
  -H 'X-ClockodoApiKey: [API-Key]' \ 
  -H 'X-Clockodo-External-Application: [Name der Anwendung];[E-Mail-Adresse]' \ 
  "https://my.clockodo.com/api/v2/entrygroups?time_since=2024-01-01T00:00:00Z&time_until=2024-02-01T00:00:00Z&grouping[]=projects_id&grouping[]=services_id&filter[users_id]=123&filter[customers_id]=456
Antwort
{
  "groups": 
  {
    [object of type group which may contain subgroups],
    [object of type group which may contain subgroups],
    ...
  }
}

Gruppen von Zeiteinträgen bearbeiten

Anfrage
PUT /api/v2/entrygroups
Notwendige Parameter time_sincestring
Filter Startzeitpunkt
im Format ISO 8601 UTC, z.B. „2021-06-30T12:34:56Z“
time_untilstring
Filter Endzeitpunkt
im Format ISO 8601 UTC, z.B. „2021-06-30T12:34:56Z“
Optionale Parameter filter[users_id]integer
Filter nach Mitarbeiter
filter[customers_id]integer
Filter nach Kunden
filter[projects_id]integer
Filter nach Projekt
filter[services_id]integer
Filter nach Leistung
filter[lumpsum_services_id]integer
Filter nach Pauschale
filter[billable]integer
Filter nach Abrechenbarkeit
filter[text] / filter[texts_id]string / integer
Filter nach Beschreibung
filter[budget_type]string
Filter nach Budget-Typ
strict, strict-completed, strict-incomplete, soft, soft-completed, soft-incomplete, without, without-strict
users_idinteger
Neu zu setzende Mitarbeiterzuordnung
customers_idinteger
Neu zu setzende Kundenzuordnung
projects_idinteger
Neu zu setzende Projektzuordnung
services_idinteger
Neu zu setzende Leistungszuordnung
lumpsum_services_idinteger
Neu zu setzende Pauschalleistungzuordnung
billableinteger
Neu zu setzender Wert für die Abrechenbarkeit
0, 1 oder 2
billable = 2 entspricht hier "Abrechenbar und bereits abgerechnet"
textstring
Neu zu setzende Beschreibung
hourly_ratefloat
Neu zu setzender Stundensatz
confirm_keystring
Bearbeitungsbestätigung
Zur Sicherheit wird unsere API zunächst mit diesem Bestätigungskey antworten bevor die Aktion ausgeführt wird (vgl. Abschnitt "Erste Antwort"). Bitte zeigen Sie in Ihrer Umsetzung auch eine entsprechende Bestätigungs-Anfrage inkl. der Anzahl betroffener Zeiteinträge an.
Beispiel-Aufruf mit allen Parametern als JSON-Body
{
  "time_since": "2024-01-01T00:00:00Z",
  "time_until": "2024-02-01T00:00:00Z",
  "grouping": ["projects_id", "services_id"],
  "filter": {
    "users_id": 123,
    "customers_id": 456
  }
}
Erste Antwort (auf Anfrage ohne Confirm-Key):
{
  "confirm_key": [string],
  "affected_entries": [integer, count of entries which will be affected]
}
Finale Antwort (auf Anfrage mit Confirm-Key):
{
  "success": true,
  "edited_entries": [integer]
}

Eine Gruppe von Zeiteinträgen löschen

Anfrage
DELETE /api/v2/entrygroups
Notwendige Parameter time_sincestring
Filter Startzeitpunkt
im Format ISO 8601 UTC, z.B. „2021-06-30T12:34:56Z“
time_untilstring
Filter Endzeitpunkt
im Format ISO 8601 UTC, z.B. „2021-06-30T12:34:56Z“
Optionale Parameter filter[users_id]integer
Filter nach Mitarbeiter
filter[customers_id]integer
Filter nach Kunden
filter[projects_id]integer
Filter nach Projekt
filter[services_id]integer
Filter nach Leistung
filter[lumpsum_services_id]integer
Filter nach Pauschale
filter[billable]integer
Filter nach Abrechenbarkeit
0, 1 oder 2
billable = 2 entspricht hier "Abrechenbar und bereits abgerechnet"
filter[text] / filter[texts_id]string / integer
Filter nach Beschreibung
filter[budget_type]string
Filter nach Budget-Typ
strict, strict-completed, strict-incomplete, soft, soft-completed, soft-incomplete, without, without-strict
confirm_keystring
Bearbeitungsbestätigung
Zur Sicherheit wird unsere API zunächst mit diesem Bestätigungskey antworten bevor die Aktion ausgeführt wird (vgl. Abschnitt "Erste Antwort"). Bitte zeigen Sie in Ihrer Umsetzung auch eine entsprechende Bestätigungs-Anfrage inkl. der Anzahl betroffener Zeiteinträge an.
Erste Antwort (auf Anfrage ohne Confirm-Key):
{
  "confirm_key": [string],
  "affected_entries": [integer, count of entries which will be affected]
}
Finale Antwort (auf Anfrage mit Confirm-Key):
{
  "success": true,
  "deleted_entries": [integer]
}
stripes illustration
Kontaktieren Sie uns!

Unser Customer-Success-Team steht Ihnen für Fragen zur Verfügung!

Jetzt kontaktieren!
Alle Funktionen 14 Tage kostenlos testen
Mit dem Absenden des Formulars akzeptieren Sie unsere AGB und unsere Datenschutz­erklärung und bestätigen, dass Sie Clockodo als Unternehmer nutzen.

Nutzen Sie die Erfahrungen von 10.000 weiteren Unternehmen:

Bechtle Mannheim LogoBechtlePeerigon LogoPeerigon GmbH
Phoenix Logistik LogoPhoenix LogistikFieda LogoFidea