de
BuchungenNotfall-Einschieben + Kaskaden-Umplanung übernehmen

Notfall-Einschieben + Kaskaden-Umplanung übernehmen

Wendet die von /emergency/preview vorab berechnete Kaskade an: weist den Notfallauftrag dem Techniker zu und schiebt die verdrängten Aufträge nach hinten (oder besetzt sie mit `displacement_mode=reassign` zuerst auf ihre in der Vorschau vorgesehenen Ersatztechniker um), atomar. Unterstützt Idempotency-Key. Der Server berechnet den Plan unter einem Lock neu und sichert jeden Auftrag über seine status_version ab — hat sich seit der Vorschau etwas geändert, wird 409 EMERGENCY_RESCHEDULE_PLAN_DRIFTED zurückgegeben (erneut Vorschau abrufen). Gleicher Body wie preview + optionales `emergency_expected_version`. Isoliertes Feature (siehe EMERGENCY_RESCHEDULE_DESIGN.md). 409 NÄCHSTE SCHRITTE: EMERGENCY_RESCHEDULE_PLAN_DRIFTED — der Zeitplan hat sich zwischen Ihrer Vorschau und diesem Commit geändert (eine andere Buchung/Verschiebung hat eine Bahn gewonnen): rufen Sie erneut /preview auf, zeigen Sie den frischen Plan und übernehmen Sie dann. EMERGENCY_RESCHEDULE_SLOT_OCCUPIED — Landefenster durch einen unverschiebbaren Anker blockiert (P0/Team/mehrtägig): anderer Techniker oder andere Zeit. Andere Codes — dieselben Abhilfen wie bei /candidates.

Argumente

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.
displacement_modeenumbodyoptional
Schicksal der verdrängten Aufträge: reschedule (Standard) oder reassign — muss mit der Vorschau übereinstimmen.
emergency_expected_versionintegerbodyoptional
Optimistic-Lock-Absicherung aus dem in der Vorschau gezeigten Auftrag (0 = Absicherung über die serverseitig gelesene Version).
emergency_job_idstringbodyerforderlich
ID des einzuschiebenden P0-Auftrags.
expected_move_idsarray<string>bodyoptional
ExpectedMoveIDs — die IDs der verdrängten Aufträge, die die Vorschau zurückgab (geben Sie SOWOHL data.days[].moves[].job_id ALS AUCH data.reassignments[].job_id zurück). EMPFOHLEN: würde die neu berechnete Kaskade eine andere Menge betreffen (ein Auftrag, der seit der Vorschau auf die Bahn gebucht wurde), wird der Commit mit EMERGENCY_RESCHEDULE_PLAN_DRIFTED abgelehnt, statt einen Auftrag zu verdrängen, den der Koordinator nie gesehen hat. Weglassen, um dies zu deaktivieren.
modeenumbodyerforderlich
Kaskadenmodus: overtime | next_day (muss mit der Vorschau übereinstimmen).
start_atstringbodyerforderlich
Gewünschter Start — unternehmenslokale naive Datetime. Muss in der Zukunft liegen.
technician_idstringbodyerforderlich
Ziel-Techniker (muss zum Unternehmen gehören).
POST/v1/job-requests/emergency/commit
curl -X POST "https://api.crisphive.com/v1/job-requests/emergency/commit" \
  -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \
  -H "Content-Type: application/json" \
  -d '{
  "displacement_mode": "reschedule",
  "emergency_expected_version": 1,
  "emergency_job_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01",
  "expected_move_ids": [
    "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
  ],
  "mode": "overtime",
  "start_at": "2030-06-14T09:00:00",
  "technician_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
}'
Anfragetext
{
"displacement_mode": ,
"emergency_expected_version": ,
"emergency_job_id": ,
"expected_move_ids": [
],
"mode": ,
"start_at": ,
"technician_id":
}

Antworten