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.