Доступные DTO для оффлайн-кассы (food-market.pos): • ProductSyncDto/PriceSyncDto/StockSyncDto/CounterpartySyncDto — выгрузка изменений для последующей пробивки; • PosSyncResponse — конверт всего sync-ответа с ServerTime (reference time против клок-дрейфа кассы) и DeletedProductIds; • PosSaleDto/PosSaleLineDto/PosSaleBatchDto — батч продаж от кассы. PosSaleBatchDto несёт IdempotencyKey + каждая продажа имеет ClientSaleId (двойная идемпотентность); • PosSaleBatchResponse — Accepted/Failed + ReplayedFromCache флаг. Версионирование на уровне namespace — для v2 будет рядом без breaking changes. Required-поля везде where applicable: компилятор обяжет заполнить новые обязательные поля при появлении v1.X добавок. Тесты: 3 unit на сериализационный round-trip (компиляция падёт при удалении любого поля контракта — это и есть тест public API). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Pos/V1 | ||
| food-market.shared.csproj | ||