Neue API-Version v7.8.64 wurde veröffentlicht! 🎉
REST Dokumentation
PATCH Projekt aktualisieren

Projekt aktualisieren

Mit diesem Endpunkt können Sie ein bestehendes Projekt aktualisieren. Alle Felder sind optional; es werden nur die übermittelten Felder aktualisiert.

Request

PATCH /api/v1/projects/:id
curl --request PATCH \
     --url 'https://www.zep-online.de/zepinstanz/next/api/v1/projects/123' \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {token}' \
     --header 'Content-Type: application/json' \
     --data '{
  "name": "Website Relaunch 2024",
  "description": "Komplette Überarbeitung der Unternehmenswebsite",
  "start_date": "2024-01-15",
  "end_date": "2024-06-30",
  "plan_hours": 500.0,
  "plan_expenses": 15000.00,
  "project_status_id": "in_progress"
}'

Parameter

  • id (integer, erforderlich): Die ID des zu aktualisierenden Projekts

Optionale Felder

Alle Felder sind optional. Sie können einzelne oder mehrere Felder gleichzeitig aktualisieren:

Grundlegende Informationen

  • name (string): Projektname/Kennung (max. 64 Zeichen, muss eindeutig sein)
  • department_id (integer): Abteilungs-ID
  • description (string): Projektbeschreibung (max. 255 Zeichen)
  • start_date (string): Projektstartdatum (Format: YYYY-MM-DD)
  • end_date (string): Projektenddatum (Format: YYYY-MM-DD, muss nach start_date liegen)
  • comments (string): Zusätzliche Kommentare oder Notizen

Standortinformationen

  • location_address (string): Adresse (max. 64 Zeichen)
  • location_city (string): Stadt (max. 64 Zeichen)
  • location_state (string): Bundesland/Region (max. 64 Zeichen)
  • location_country (string): Land (max. 32 Zeichen)

Planungsdaten

  • plan_hours (number): Geplante Stunden (≥ 0)
  • plan_expenses (number): Geplante Ausgaben (≥ 0)
  • plan_wage (number): Geplanter Lohn (≥ 0)
  • plan_expenses_travel (number): Geplante Reisekosten (≥ 0)
  • plan_hours_done (number): Erledigte Stunden
  • plan_hours_invoiced (number): Abgerechnete Stunden
  • plan_hours_children (number): Geplante Stunden für Unterprojekte (≥ 0)
  • plan_hours_per_day (number): Geplante Stunden pro Tag (≥ 0)
  • plan_warning_percent (number): Warnungsprozentsatz 1 (≥ 0)
  • plan_warning_percent_2 (number): Warnungsprozentsatz 2 (≥ 0)
  • plan_warning_percent_3 (number): Warnungsprozentsatz 3 (≥ 0)
  • plan_can_exceed (integer): Option zum Überschreiten der Planung (Enum-Wert)

Kostenrechnung

  • cost_object (string): Kostenträger (max. 32 Zeichen)
  • cost_object_identifier (string/integer): Kostenträgerkennung (max. 32 Zeichen oder Zahl ≥ 0)
  • revenue_account (string): Erlöskonto (max. 32 Zeichen)

Kundeninformationen

  • customer_id (integer): Kunden-ID
  • customer_contact_id (integer): Kontaktpersonen-ID beim Kunden
  • customer_project_reference (string): Kundenreferenz für das Projekt (max. 64 Zeichen)
  • customer_billing_address_id (integer): Rechnungsadresse-ID
  • customer_shipping_address_id (integer): Lieferadresse-ID
  • has_multiple_customers (boolean): Mehrere Kunden für dieses Projekt

Abrechnungs- und Spracheinstellungen

  • billing_type (integer): Abrechnungsart
  • default_billability (integer): Standard-Abrechnungsfähigkeit
  • receipts_billability (integer): Abrechnungsfähigkeit für Belege
  • billing_tasks (boolean): Aufgaben abrechnen
  • currency (string): Währung
  • language (integer): Sprache

Status und Referenzen

  • project_status_id (string): Projektstatus-ID (max. 64 Zeichen)
  • url (string): Projekt-URL (max. 255 Zeichen)
  • reference_commission (string): Kommissionsreferenz (max. 100 Zeichen)
  • reference_procurement (string): Beschaffungsreferenz (max. 100 Zeichen)
  • reference_object (string): Objektreferenz (max. 100 Zeichen)
  • reference_order (string): Bestellreferenz (max. 100 Zeichen)

Berichts- und Formatierungsoptionen

  • indicate_hours_for_daily_proof (integer): Stundenangabe für täglichen Nachweis
  • indicate_remarks_for_daily_proof (integer): Bemerkungen für täglichen Nachweis
  • indicate_all_locations_per_day (integer): Alle Standorte pro Tag anzeigen
  • indicate_all_activities_per_day (integer): Alle Aktivitäten pro Tag anzeigen
  • also_take_into_account_the_price_factors_for_hourly_rates (integer): Preisfaktoren für Stundensätze berücksichtigen
  • employee_name_time_report_format (integer): Format für Mitarbeitername im Zeitbericht
  • employee_name_project_sales_volume_format (integer): Format für Mitarbeitername im Projektumsatz
  • employee_name_invoice_attachment_format (integer): Format für Mitarbeitername in Rechnungsanhängen

Sonstige Felder

  • travel_flat_rate (number): Reisekostenpauschale
  • keywords (array): Array von Schlüsselwörtern (strings)
  • dynamic_attributes (array): Benutzerdefinierte dynamische Attribute (array von Objekten)
  • categories (array): Array von Kategorie-IDs (integers)

Response

{
	"data": {
		"id": 123,
		"name": "Website Relaunch 2024",
		"description": "Komplette Überarbeitung der Unternehmenswebsite",
		"start_date": "2024-01-15",
		"end_date": "2024-06-30",
		"plan_hours": "500.00",
		"plan_expenses": "15000.00",
		"project_status_id": "in_progress",
		"department_id": 5,
		"customer_id": 42,
		"created": "2023-12-10T09:00:00.000000Z",
		"modified": "2024-11-20T15:30:00.000000Z"
	},
	"info": null
}

Response-Felder

  • data: Das aktualisierte Projektobjekt
  • info: Optionale Konsistenzinformationen, wenn Projektdaten während der Aktualisierung angepasst wurden

Fehlercodes

  • 401 Unauthorized: Ungültige oder fehlende Authentifizierung
  • 404 Not Found: Projekt nicht gefunden
  • 422 Unprocessable Entity: Validierungsfehler

Hinweise

  • Nur die übermittelten Felder werden aktualisiert; nicht angegebene Felder bleiben unverändert
  • Der Projektname muss eindeutig sein, wenn er geändert wird
  • Das Enddatum muss nach dem Startdatum liegen, wenn beide angegeben werden
  • Alle Planungswerte (Stunden, Ausgaben) müssen nicht-negativ sein
  • Währungs- und Sprachcodes müssen im System existieren
  • Referenzen auf Kunden, Abteilungen und Kontaktpersonen müssen gültige IDs sein