GET /api/pos/v1/sync — full snapshot products/prices/stocks/counterparties с serverTime; since-инкремент работает (products пусто после first sync). POST /api/pos/v1/sales с idempotency: - batch-level: повтор того же IdempotencyKey → replayedFromCache=true, stock не дублирует списание; - per-sale: новый IdempotencyKey + тот же ClientSaleId → возвращает существующий ServerSaleId (маркер в Notes); - qty > stock → failed-секция с error, accepted=0. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| e2e | ||
| food-market.IntegrationTests | ||
| food-market.UnitTests | ||