Upsert batch du stock de l'officine
PUT/pharmacy/v0/admin/inventory
Premier PUT du repo — précédent d'upsert batch absolu (vs
POST + X-Idempotency-Key) : la requête est naturellement
idempotente (même body → même état final), pas de clé requise.
Résolution de l'officine identique à POST /sessions
(next(iter(organizationIds), None)) : PAS de 422 en cas de scope
multi-officine (asymétrie évitée, P31 ADR-0033 §6). Chaque ligne
existante du batch est verrouillée (select_for_update) avant
écriture. La réponse contient la totalité du stock de l'officine
après upsert (total = items.length), pas seulement les lignes du
body — sémantique distincte du total paginé de GET /inventory
malgré le schéma PharmacyInventoryList partagé.
Request
Responses
- 200
- 401
- 403
- 422
Totalité du stock de l'officine après upsert (total = nombre d'items du body, pas le total paginé du stock)
Non authentifié
Rôle insuffisant (PharmacyAdmin requis) ou aucune officine dans le périmètre
Corps de requête invalide (items absent ou vide, itemCode manquant, ou quantityAvailable négatif)