de
BuchungenVerschiebung auf dem Planungsboard übernehmen

Verschiebung auf dem Planungsboard übernehmen

Wendet die von /move/preview vorab berechnete Verschiebung an: platziert den Auftrag zur neuen Zeit beim Techniker und schiebt die verdrängten Aufträge nach hinten, atomar (Advisory-Lock pro Techniker; der Server berechnet den Plan neu und sichert jeden Auftrag über seine status_version ab — Drift seit der Vorschau liefert 409 SCHEDULE_MOVE_PLAN_DRIFTED, erneut Vorschau abrufen). Gleicher Body wie preview + optionales `expected_version`. Siehe SCHEDULE_BOARD_DESIGN.md. 409 NÄCHSTE SCHRITTE: SCHEDULE_MOVE_PLAN_DRIFTED — der Zeitplan hat sich seit Ihrer Vorschau geändert (oder expected_move_ids stimmen nicht mehr überein): erneut Vorschau abrufen, den frischen Plan anzeigen, erneut übernehmen. Alle anderen Codes — dieselben Abhilfen wie bei /move/preview.

Argumente

idstringpatherforderlich
Auftragsanfrage-ID (UUID oder short_code)
Idempotency-Keystringheaderoptional
Unique key making retries safe: a repeat send with the same key replays the original response (header Idempotent-Replayed: true) instead of re-running the operation. Reusing a key with a different body returns 422 IDEMPOTENCY_KEY_REUSE.
expected_member_idsarray<string>bodyoptional
ExpectedMemberIDs — nur bei Team-Verschiebungen: die VOLLSTÄNDIGE Mitgliedermenge, die die Vorschau besetzt hat (geben Sie data.members[].technician_id zurück). Würde die Neuplanung des Commits eine ANDERE Menge besetzen (ein in der Vorschau vorgesehener Ersatz wurde zwischenzeitlich gebucht), wird der Commit mit SCHEDULE_MOVE_PLAN_DRIFTED abgelehnt — Team-Wechsel werden nie ungesehen genehmigt. Weglassen, um dies zu deaktivieren.
expected_move_idsarray<string>bodyoptional
ExpectedMoveIDs — die IDs der verdrängten Aufträge, die die Vorschau zurückgab (geben Sie data.days[].moves[].job_id zurück). Optional, aber EMPFOHLEN: hat sich der Zeitplan so geändert, dass der Commit eine andere Menge verschieben würde (z. B. ein seit der Vorschau auf den Ziel-Techniker gebuchter Auftrag), wird der Commit mit SCHEDULE_MOVE_PLAN_DRIFTED abgelehnt, statt still einen ungesehenen Auftrag zu verschieben.
expected_versionintegerbodyoptional
ExpectedVersion — die status_version des verschobenen Auftrags aus der Vorschau (0 = Absicherung über den Wert aus dem frischen Plan-Read; negative Werte abgelehnt).
modeenumbodyerforderlich
Cascade mode: overtime | next_day (must match the preview).
start_atstringbodyerforderlich
New start — business-local naive datetime, no offset. Must match the preview and be in the future.
technician_idstringbodyerforderlich
Target technician (must match the preview).
POST/v1/job-requests/{id}/move/commit
curl -X POST "https://api.crisphive.com/v1/job-requests/9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01/move/commit" \
  -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \
  -H "Content-Type: application/json" \
  -d '{
  "expected_member_ids": [
    "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
  ],
  "expected_move_ids": [
    "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
  ],
  "expected_version": 1,
  "mode": "overtime",
  "start_at": "2030-06-14T09:00:00",
  "technician_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
}'
Anfragetext
{
"expected_member_ids": [
],
"expected_move_ids": [
],
"expected_version": ,
"mode": ,
"start_at": ,
"technician_id":
}

Antworten