Caisse POS (V2)
Crée un draft de ticket capturé offline.
Crée un draft de ticket capturé offline.
NF525 ne permet pas d'écrire un ticket signé offline (le serveur seul
détient `CashSequence` + Fernet key). R193 introduit un état
intermédiaire `CashTicketDraft` — la signature fiscale est calculée
au reconnect par `POST /drafts/<id>/finalize` ou le Celery beat
`caisse.finalize_pending_drafts`.
**Idempotence stricte** : `client_op_id` UUID v4 obligatoire.
Si un draft existe déjà avec ce `(org_id, client_op_id)`, on retourne
la row existante (200), pas 409. Le frontend peut donc retry sans
risque (offline → reconnect → retry).
**Header `Idempotency-Key`** : aussi accepté en complément (middleware
R117) pour cacher la réponse 24h. Convention recommandée : poser le
même UUID que `client_op_id` dans les deux endroits.
Permission : `caisse:operate`.
Permissions requises : caisse:operate
post/api/v1/caisse/drafts
Request
- Base URL: https://erp.eyeot.fr/api/v1
- URL: https://erp.eyeot.fr/api/v1/api/v1/caisse/drafts
- Auth: one of:
- HTTP bearer
- HTTP bearer
Response
Succès — payload {data, meta} (cf. API-GUIDE §3.1)
Changes
No recorded changes to this operation across all 1 revision of this API.