Справочник API
Скачать OpenAPI. Поля и объявленные ответы сформированы из кода. Общие ошибки и условия заголовков — в правилах интеграции. Отсутствие схемы ответа не означает отсутствие тела.
DELETE /api/accounts/me/
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 204 |
схема тела не объявлена |
|
GET /api/accounts/me/
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
ProfileSchema |
|
PATCH /api/accounts/me/
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: ProfileInputPatch. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
ProfileSchema |
|
GET /api/accounts/me/preferences
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
UserPreferences |
|
PATCH /api/accounts/me/preferences
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: UserPreferencesInputPatch. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
UserPreferences |
|
DELETE /api/accounts/me/preferences/fcm
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
token |
запрос |
string |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 204 |
схема тела не объявлена |
|
PUT /api/accounts/me/push-devices
Register or refresh the FCM token for one app installation.
Авторизация: JWT: ApplicationJWTAuth.
Тело запроса
application/json: PushDeviceInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PushDeviceSchema |
|
DELETE /api/accounts/me/push-devices/{device_id}
Авторизация: JWT: ApplicationJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
device_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 204 |
схема тела не объявлена |
|
POST /api/auth/otp/confirm
Авторизация: Без обязательного JWT.
Тело запроса
application/json: ConfirmOTPInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
ConfirmOTPOutput |
|
POST /api/auth/otp/send
Авторизация: Без обязательного JWT.
Тело запроса
application/json: SendOTPInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
SuccessResponse |
|
POST /api/auth/otp/update-pin/send
Авторизация: Без обязательного JWT.
Тело запроса
application/json: SendOTPInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
SuccessResponse |
|
POST /api/auth/otp/update-pin/verify
Авторизация: Без обязательного JWT.
Тело запроса
application/json: VerifyOTPInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
RecoveryTokenSchema |
|
POST /api/auth/otp/verify
Авторизация: Без обязательного JWT.
Тело запроса
application/json: VerifyOTPInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
VerifyOTPOutput |
|
PATCH /api/auth/recovery/update-pin
Авторизация: JWT: RecoveryTokenApiKey.
Тело запроса
application/json: PasswordUpdateInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
TokenObtainPairOutputSchema |
|
GET /api/catalog/bootstrap/{version}
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
version |
путь |
string (uuid) |
да |
|
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
схема тела не объявлена |
|
GET /api/catalog/features/units/
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<MeasurementUnitSchema> |
|
GET /api/catalog/groups/categories/main-page
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<MainPageCategoryBlockSchema> |
|
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<CategoryMenuSchema> |
|
GET /api/catalog/groups/categories/own-production
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<OwnCategorySchema> |
|
GET /api/catalog/groups/categories/root
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<CategorySchema> |
|
GET /api/catalog/groups/categories/{category_id}
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
category_id |
путь |
string |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
CategorySchema |
|
GET /api/catalog/groups/categories/{category_id}/children
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
category_id |
путь |
string |
да |
|
level |
запрос |
integer / null |
нет |
|
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<CategorySchema> |
|
GET /api/catalog/groups/categories/{category_id}/parents
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
category_id |
путь |
string |
да |
|
level |
запрос |
integer / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<CategorySchema> |
|
GET /api/catalog/products/
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
search |
запрос |
string / null |
нет |
|
category_id |
запрос |
string (uuid) / null |
нет |
|
is_favorite |
запрос |
boolean / null |
нет |
|
is_top |
запрос |
boolean / null |
нет |
|
is_new |
запрос |
boolean / null |
нет |
|
is_fresh |
запрос |
boolean / null |
нет |
|
sort_by |
запрос |
"cheap" / "expensive" / "more_discount" / null |
нет |
|
only_discount |
запрос |
boolean / null |
нет |
|
page |
запрос |
integer |
нет |
|
page_size |
запрос |
integer / null |
нет |
|
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PagedProductListingSchema |
|
POST /api/catalog/products/add-favorite/{product_id}
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
product_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
схема тела не объявлена |
|
POST /api/catalog/products/check-availability
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: массив<AvailabilityItemInput>. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<AvailabilityOutput> |
|
POST /api/catalog/products/favorites/check
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: FavoriteProductsCheckInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
FavoriteProductsCheckOutput |
|
GET /api/catalog/products/recommendations
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
product_ids |
запрос |
массив<string (uuid)> |
да |
|
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<ProductListingSchema> |
|
DELETE /api/catalog/products/remove-favorite/{product_id}
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
product_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 204 |
схема тела не объявлена |
|
GET /api/catalog/products/{product_id}
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
product_id |
путь |
string |
да |
|
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
ProductDetailSchema |
|
GET /api/catalog/version
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
схема тела не объявлена |
|
GET /api/core/banners/
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
BannerSchema |
|
POST /api/core/mobile-version/check/
Авторизация: Без обязательного JWT.
Тело запроса
application/json: MobileVersionInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
MobileVersionCheckResponse |
|
GET /api/core/pages/
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<PageResponse> |
|
GET /api/core/pages/main-page/products-titles
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
MainPageProductsTitlesSchema |
|
GET /api/core/stories/
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<StorySchema> |
|
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
SupportContactSchema |
|
POST /api/loaylty/discounts/preview/
Preview loyalty bonus accruals for cart items.
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: DiscountPreviewInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
DiscountPreviewSchema |
|
GET /api/loaylty/programs/
Legacy-compatible programs endpoint with silent fallback to [].
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<LoyaltyProgramSchema> |
|
GET /api/loaylty/programs/strict/
Return programs or surface Set Loyalty integration failures as 502.
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<LoyaltyProgramSchema> |
|
GET /api/loaylty/wallet/
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletSchema |
|
POST /api/loaylty/wallet/accounts/switch/
Switch active bonus account.
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: AccountSwitchInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletWrapperSchema |
|
GET /api/loaylty/wallet/block-reasons/
Return available card block reasons.
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<BlockReasonSchema> |
|
POST /api/loaylty/wallet/block/
Block a loyalty card.
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: CardBlockInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletWrapperSchema |
|
POST /api/loaylty/wallet/create/
Create wallet and trigger Set Loyalty provisioning.
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletWrapperSchema |
|
POST /api/loaylty/wallet/link-physical/
Link a physical Set Loyalty card to user's wallet via transfer API.
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: CardLinkInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletWrapperSchema |
|
POST /api/loaylty/wallet/link-physical/preview/
Preview a physical Set Loyalty card before transfer.
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: CardLinkInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletLinkPreviewSchema |
|
POST /api/loaylty/wallet/link/
Link existing Set Loyalty card to user's wallet.
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: CardLinkInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletWrapperSchema |
|
POST /api/loaylty/wallet/link/preview/
Preview card info before linking.
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: CardLinkInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletLinkPreviewSchema |
|
GET /api/loaylty/wallet/purchases/
Purchase history from Set Loyalty — single source of truth.
Returns an empty list when the wallet is not linked to Set Loyalty or
the CDP is unreachable.
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
page |
запрос |
integer |
нет |
|
page_size |
запрос |
integer / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PagedPurchaseSchema |
|
GET /api/loaylty/wallet/purchases/{purchase_id}/
Get detailed purchase from Set Loyalty (positions, discounts).
Returns 404 when the wallet is not linked to Set Loyalty or the
purchase is not found in the CDP.
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
purchase_id |
путь |
string |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PurchaseDetailSchema |
|
POST /api/loaylty/wallet/replace/
Replace current card with a new one.
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletWrapperSchema |
|
GET /api/loaylty/wallet/transactions/
Bonus transactions — from Set Loyalty if available, local fallback.
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
page |
запрос |
integer |
нет |
|
page_size |
запрос |
integer / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PagedTransactionSchema |
|
POST /api/loaylty/wallet/unblock/
Unblock a loyalty card.
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: CardUnblockInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
WalletWrapperSchema |
|
GET /api/logistics/map/address-suggestions
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
lon |
запрос |
number |
да |
|
lat |
запрос |
number |
да |
|
query |
запрос |
string |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<AddressSuggestionOutput> |
|
GET /api/logistics/map/config
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
MapConfigOutput |
|
POST /api/logistics/map/reverse-geocode
Авторизация: Без обязательного JWT.
Тело запроса
application/json: LocationInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
ReverseGeocodeOutput |
|
POST /api/logistics/stores/delivery/can-use-location
Авторизация: Без обязательного JWT.
Тело запроса
application/json: LocationInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
string (uuid) / null |
|
POST /api/logistics/stores/delivery/check-location
Авторизация: Без обязательного JWT.
Тело запроса
application/json: LocationInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
StoreLocationOutput |
|
POST /api/logistics/stores/delivery/check-multiply-locations
Авторизация: Без обязательного JWT.
Тело запроса
application/json: массив<CheckLocationItemInput>. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
object |
|
GET /api/logistics/stores/delivery/order-preferences
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
DeliveryPreferenceOutput |
|
GET /api/logistics/stores/delivery/slots
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<DeliverySlotOutput> |
|
GET /api/logistics/stores/delivery/zones
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<DeliveryZoneOutput> |
|
GET /api/logistics/stores/pickup/
Авторизация: Без обязательного JWT.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<PickupStoreOutput> |
|
GET /api/logistics/stores/pickup/order-preferences
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickupPreferenceOutput |
|
GET /api/logistics/stores/pickup/slots
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<PickupSlotOutput> |
|
GET /api/logistics/stores/pickup/{store_id}
Авторизация: Без обязательного JWT.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
store_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
схема тела не объявлена |
|
GET /api/orders/
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
active |
запрос |
boolean / null |
нет |
|
page |
запрос |
integer |
нет |
|
page_size |
запрос |
integer / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PagedOrdersListingSchema |
|
POST /api/orders/
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: OrderInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 201 |
string |
|
| 409 |
OrderCommandError |
|
| 422 |
OrderCommandError |
|
POST /api/orders/delivery/price-estimate
Авторизация: JWT: CustomerJWTAuth.
Тело запроса
application/json: DeliveryPriceEstimateInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
DeliveryPriceEstimateSchema |
|
| 422 |
OrderCommandError |
|
| 502 |
OrderCommandError |
|
| 503 |
OrderCommandError |
|
GET /api/orders/roadmap/{order_id}/detail
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
DetailOrderRoadmapSchema |
|
GET /api/orders/roadmap/{order_id}/short
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
OrderRoadmapSchema |
|
GET /api/orders/{order_id}
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
OrderDetailSchema |
|
POST /api/orders/{order_id}/cancel
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
OrderDetailSchema |
|
GET /api/payments/eskhata/preferences
Авторизация: JWT: CustomerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
object |
|
GET /api/payments/eskhata/{order_id}/invoice
Авторизация: JWT: CustomerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
EskhataInvoiceResponse |
|
POST /api/picker/auth/login
Авторизация: Без обязательного JWT.
Тело запроса
application/json: PickerLoginInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerLoginOutput |
|
GET /api/picker/auth/me
Авторизация: JWT: PickerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerUserSchema |
|
POST /api/picker/auth/refresh
Авторизация: Без обязательного JWT.
Тело запроса
application/json: PickerRefreshInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerRefreshOutput |
|
GET /api/picker/catalog/products
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
query |
запрос |
string / null |
нет |
|
barcode |
запрос |
string / null |
нет |
|
limit |
запрос |
integer |
нет |
|
offset |
запрос |
integer |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerCatalogOutput |
|
GET /api/picker/catalog/products/v2
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
query |
запрос |
string / null |
нет |
|
barcode |
запрос |
string / null |
нет |
|
limit |
запрос |
integer |
нет |
|
cursor |
запрос |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerCatalogCursorOutput |
|
GET /api/picker/history/sessions
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
started_at |
запрос |
string (date-time) / null |
нет |
|
ended_at |
запрос |
string (date-time) / null |
нет |
|
limit |
запрос |
integer |
нет |
|
offset |
запрос |
integer |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerHistorySessionsOutput |
|
GET /api/picker/history/sessions/{session_id}
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
session_id |
путь |
integer |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerHistorySessionDetailSchema |
|
GET /api/picker/history/summary
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
started_at |
запрос |
string (date-time) / null |
нет |
|
ended_at |
запрос |
string (date-time) / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerHistorySummarySchema |
|
GET /api/picker/orders
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
X-Store-Id |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
массив<PickerOrderSchema> |
|
POST /api/picker/orders/{order_id}/additional-items
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: AdditionalItemInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/cancel
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: CancelPickingInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/cancelled/ack
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 204 |
схема тела не объявлена |
|
POST /api/picker/orders/{order_id}/finish
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/items/{item_id}/clarification/confirm
Подтверждает уже сохранённое расхождение до finish.
Количество или вес должны точно совпадать с confirmed_quantity в актуальной
session. Эта операция не изменяет фактическое значение, а переводит позицию из
clarified в picked.
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: ConfirmClarificationInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/items/{item_id}/clarification/reopen
Возвращает позицию в сборку до finish.
Допустимо для missing, clarified/removed, clarified/quantity_mismatch,
clarified/weight_mismatch, clarified/store_transfer_shortage и picked.
Для уже собранной позиции передайте reason="recheck"; для найденной ранее
отсутствующей — reason="found_in_store". Сервер очищает фактическое
количество и возвращает позицию в pending.
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: ReopenItemInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/items/{item_id}/clarification/resolve
Окончательно удаляет отсутствующую позицию из заказа до finish.
Сначала выполните missing с action="remove", затем вызовите эту операцию с
resolution="remove". Результат — clarified/removed; при необходимости
позицию можно вернуть через clarification/reopen.
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: ResolveClarificationInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/items/{item_id}/manual-pick
Сохраняет фактическое количество штучной позиции после ручного ввода. Если количество отличается от заказанного, передайте confirm: true для подтверждения расхождения. Действие доступно до finish.
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: ManualPickInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/items/{item_id}/missing
Помечает позицию как отсутствующую до finish.
call и remove только фиксируют missing_action и переводят позицию в
missing. Для фактического удаления из заказа затем вызовите
clarification/resolve с resolution="remove".
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: MissingInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/items/{item_id}/piece-quantity
Изменяет фактическое количество штучной позиции до finish.
Разрешено повторно вызывать для pending, awaiting_quantity, picked и
clarified/quantity_mismatch. Количество — целое от 1 до заказанного. Неполное
количество сохраняется как clarified/quantity_mismatch; оно не удаляет товар.
Каждое новое действие требует новый Idempotency-Key.
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: PieceQuantityInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
| 409 |
схема тела не объявлена |
Сессия закрыта или состояние позиции не позволяет изменение. |
| 422 |
схема тела не объявлена |
Количество нецелое, нулевое или больше заказанного. |
POST /api/picker/orders/{order_id}/items/{item_id}/replacement
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: BarcodeInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/items/{item_id}/scan
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: BarcodeInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
POST /api/picker/orders/{order_id}/items/{item_id}/weight
Сохраняет или исправляет фактический вес до finish.
Повторный вызов для уже собранной позиции корректирует вес. Вес в допуске
переводит позицию в picked; вне допуска сохраняется как
clarified/weight_mismatch и требует отдельного подтверждения.
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
item_id |
путь |
integer |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Тело запроса
application/json: WeightInput. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingActionOutput |
|
| 409 |
схема тела не объявлена |
Сессия закрыта или позиция не весовая. |
| 422 |
схема тела не объявлена |
Вес нулевой, отрицательный или имеет более трёх знаков. |
GET /api/picker/orders/{order_id}/session
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingSessionSchema |
|
POST /api/picker/orders/{order_id}/start
Авторизация: JWT: PickerJWTAuth.
Параметры
| Имя |
Где |
Тип |
Обязателен в схеме |
Описание |
order_id |
путь |
string (uuid) |
да |
|
Idempotency-Key |
заголовок |
string / null |
нет |
|
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingSessionSchema |
|
Авторизация: JWT: PickerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickerRealtimeMetadataSchema |
|
GET /api/picker/session/active
Авторизация: JWT: PickerJWTAuth.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
PickingSessionSchema |
|
| 204 |
схема тела не объявлена |
|
POST /api/token/pair
Авторизация: Без обязательного JWT.
Тело запроса
application/json: TokenObtainPairInputSchema. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
TokenObtainPairOutputSchema |
|
POST /api/token/refresh
Авторизация: Без обязательного JWT.
Тело запроса
application/json: TokenRefreshInputSchema. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
TokenRefreshOutputSchema |
|
POST /api/token/verify
Авторизация: Без обязательного JWT.
Тело запроса
application/json: TokenVerifyInputSchema. Обязательно: да.
Объявленные ответы
| Код |
Тип тела |
Описание |
| 200 |
Schema |
|
Модели данных
AccountSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
title |
string |
нет |
|
description |
string |
нет |
|
balance |
string |
нет |
|
is_active |
boolean |
нет |
|
{
"properties": {
"balance": {
"default": "0",
"title": "Balance",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"is_active": {
"default": true,
"title": "Is Active",
"type": "boolean"
},
"title": {
"default": "",
"title": "Title",
"type": "string"
}
},
"required": [
"id"
],
"title": "AccountSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
account_id |
string |
да |
|
{
"properties": {
"account_id": {
"title": "Account Id",
"type": "string"
}
},
"required": [
"account_id"
],
"title": "AccountSwitchInput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
inventory_id |
string (uuid) |
да |
|
quantity |
number / string |
да |
|
{
"properties": {
"inventory_id": {
"format": "uuid",
"title": "Inventory Id",
"type": "string"
},
"quantity": {
"anyOf": [
{
"exclusiveMinimum": 0.0,
"type": "number"
},
{
"type": "string"
}
],
"title": "Quantity"
}
},
"required": [
"inventory_id",
"quantity"
],
"title": "AdditionalItemInput",
"type": "object"
}
AddressSuggestionOutput
| Поле |
Тип |
Обязательное |
Описание |
title |
string |
да |
|
place_name |
string / null |
нет |
|
category |
string |
да |
|
location |
LocationOutput |
да |
|
{
"properties": {
"category": {
"title": "Category",
"type": "string"
},
"location": {
"$ref": "#/components/schemas/LocationOutput"
},
"place_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Place Name"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"category",
"location"
],
"title": "AddressSuggestionOutput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
product_id |
string (uuid) |
да |
|
unit_id |
string (uuid) |
да |
|
quantity |
number / string |
да |
|
{
"properties": {
"product_id": {
"format": "uuid",
"title": "Product Id",
"type": "string"
},
"quantity": {
"anyOf": [
{
"minimum": 0.001,
"type": "number"
},
{
"type": "string"
}
],
"title": "Quantity"
},
"unit_id": {
"format": "uuid",
"title": "Unit Id",
"type": "string"
}
},
"required": [
"product_id",
"unit_id",
"quantity"
],
"title": "AvailabilityItemInput",
"type": "object"
}
AvailabilityOutput
| Поле |
Тип |
Обязательное |
Описание |
product_id |
string (uuid) |
да |
|
unit_id |
string (uuid) |
да |
|
is_available |
boolean |
да |
|
max_quantity |
number / string |
да |
|
is_user_order_quantity_limit_enabled |
boolean |
нет |
|
user_order_quantity_limit |
number / string |
нет |
|
requested_quantity |
number / string |
нет |
|
reason_code |
string / null |
нет |
|
{
"properties": {
"is_available": {
"title": "Is Available",
"type": "boolean"
},
"is_user_order_quantity_limit_enabled": {
"default": false,
"title": "Is User Order Quantity Limit Enabled",
"type": "boolean"
},
"max_quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Max Quantity"
},
"product_id": {
"format": "uuid",
"title": "Product Id",
"type": "string"
},
"reason_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason Code"
},
"requested_quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"default": "0.000",
"title": "Requested Quantity"
},
"unit_id": {
"format": "uuid",
"title": "Unit Id",
"type": "string"
},
"user_order_quantity_limit": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"default": "0.000",
"title": "User Order Quantity Limit"
}
},
"required": [
"product_id",
"unit_id",
"is_available",
"max_quantity"
],
"title": "AvailabilityOutput",
"type": "object"
}
BannerSchema
| Поле |
Тип |
Обязательное |
Описание |
image |
string |
да |
|
reference_type |
string |
да |
|
reference_id |
string / null |
нет |
|
{
"properties": {
"image": {
"title": "Image",
"type": "string"
},
"reference_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reference Id"
},
"reference_type": {
"title": "Reference Type",
"type": "string"
}
},
"required": [
"image",
"reference_type"
],
"title": "BannerSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
barcode |
string |
да |
Штрихкод товара. |
{
"properties": {
"barcode": {
"description": "Штрихкод товара.",
"examples": [
"482000000001"
],
"minLength": 1,
"title": "Barcode",
"type": "string"
}
},
"required": [
"barcode"
],
"title": "BarcodeInput",
"type": "object"
}
BlockReasonSchema
| Поле |
Тип |
Обязательное |
Описание |
key |
string |
да |
|
label |
string |
да |
|
{
"properties": {
"key": {
"title": "Key",
"type": "string"
},
"label": {
"title": "Label",
"type": "string"
}
},
"required": [
"key",
"label"
],
"title": "BlockReasonSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
reason |
string / null |
нет |
|
{
"properties": {
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
}
},
"title": "CancelPickingInput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
reason |
string / null |
нет |
|
card_id |
string / null |
нет |
|
{
"properties": {
"card_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Card Id"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
}
},
"title": "CardBlockInput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
card_number |
string |
да |
|
{
"properties": {
"card_number": {
"title": "Card Number",
"type": "string"
}
},
"required": [
"card_number"
],
"title": "CardLinkInput",
"type": "object"
}
CardSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
title |
string |
нет |
|
card_number |
string |
нет |
|
is_virtual |
boolean |
нет |
|
is_active |
boolean |
нет |
|
is_blocked |
boolean |
нет |
|
qrcode |
QrcodeSchema / null |
нет |
|
{
"properties": {
"card_number": {
"default": "",
"title": "Card Number",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"is_active": {
"default": true,
"title": "Is Active",
"type": "boolean"
},
"is_blocked": {
"default": false,
"title": "Is Blocked",
"type": "boolean"
},
"is_virtual": {
"default": true,
"title": "Is Virtual",
"type": "boolean"
},
"qrcode": {
"anyOf": [
{
"$ref": "#/components/schemas/QrcodeSchema"
},
{
"type": "null"
}
]
},
"title": {
"default": "",
"title": "Title",
"type": "string"
}
},
"required": [
"id"
],
"title": "CardSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
card_id |
string / null |
нет |
|
{
"properties": {
"card_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Card Id"
}
},
"title": "CardUnblockInput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
level |
integer |
да |
|
parent_id |
string (uuid) / null |
нет |
|
color |
string |
да |
|
children_count |
integer |
нет |
|
image |
ListingImageSchema / null |
нет |
|
children |
массив<CategorySchema> / null |
нет |
|
{
"properties": {
"children": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/CategorySchema"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Children"
},
"children_count": {
"default": 0,
"title": "Children Count",
"type": "integer"
},
"color": {
"title": "Color",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"image": {
"anyOf": [
{
"$ref": "#/components/schemas/ListingImageSchema"
},
{
"type": "null"
}
]
},
"level": {
"title": "Level",
"type": "integer"
},
"name": {
"title": "Name",
"type": "string"
},
"parent_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Id"
}
},
"required": [
"id",
"name",
"level",
"color"
],
"title": "CategoryMenuSchema",
"type": "object"
}
CategorySchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
level |
integer |
да |
|
parent_id |
string (uuid) / null |
нет |
|
color |
string |
да |
|
children_count |
integer |
нет |
|
image |
ListingImageSchema / null |
нет |
|
{
"properties": {
"children_count": {
"default": 0,
"title": "Children Count",
"type": "integer"
},
"color": {
"title": "Color",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"image": {
"anyOf": [
{
"$ref": "#/components/schemas/ListingImageSchema"
},
{
"type": "null"
}
]
},
"level": {
"title": "Level",
"type": "integer"
},
"name": {
"title": "Name",
"type": "string"
},
"parent_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Id"
}
},
"required": [
"id",
"name",
"level",
"color"
],
"title": "CategorySchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
uuid |
string (uuid) |
да |
|
location |
LocationInput |
да |
|
{
"properties": {
"location": {
"$ref": "#/components/schemas/LocationInput"
},
"uuid": {
"format": "uuid",
"title": "Uuid",
"type": "string"
}
},
"required": [
"uuid",
"location"
],
"title": "CheckLocationItemInput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
resolution |
string / null |
нет |
Необязательный тип расхождения: quantity_mismatch или weight_mismatch. Если передан, должен совпасть с состоянием позиции. |
quantity |
integer / null |
нет |
Подтверждённое целое количество для штучного товара. |
quantity_kg |
number / string / null |
нет |
Подтверждённый вес в килограммах для весового товара. |
{
"properties": {
"quantity": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"description": "Подтверждённое целое количество для штучного товара.",
"examples": [
2
],
"title": "Quantity"
},
"quantity_kg": {
"anyOf": [
{
"exclusiveMinimum": 0.0,
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Подтверждённый вес в килограммах для весового товара.",
"examples": [
"0.680"
],
"title": "Quantity Kg"
},
"resolution": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Необязательный тип расхождения: `quantity_mismatch` или `weight_mismatch`. Если передан, должен совпасть с состоянием позиции.",
"examples": [
"quantity_mismatch"
],
"title": "Resolution"
}
},
"title": "ConfirmClarificationInput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
phone |
string |
да |
|
otp |
string |
да |
|
first_name |
string / null |
нет |
|
last_name |
string / null |
нет |
|
patronymic |
string / null |
нет |
|
{
"properties": {
"first_name": {
"anyOf": [
{
"maxLength": 50,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "First Name"
},
"last_name": {
"anyOf": [
{
"maxLength": 50,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Name"
},
"otp": {
"title": "Otp",
"type": "string"
},
"patronymic": {
"anyOf": [
{
"maxLength": 50,
"type": "string"
},
{
"type": "null"
}
],
"title": "Patronymic"
},
"phone": {
"maxLength": 15,
"minLength": 8,
"pattern": "^\\+[1-9][0-9]{7,14}$",
"title": "Phone",
"type": "string"
}
},
"required": [
"phone",
"otp"
],
"title": "ConfirmOTPInput",
"type": "object"
}
ConfirmOTPOutput
| Поле |
Тип |
Обязательное |
Описание |
phone |
string |
да |
|
refresh |
string |
да |
|
access |
string |
да |
|
is_new_user |
boolean |
да |
|
{
"properties": {
"access": {
"title": "Access",
"type": "string"
},
"is_new_user": {
"title": "Is New User",
"type": "boolean"
},
"phone": {
"maxLength": 15,
"title": "Телефон",
"type": "string"
},
"refresh": {
"title": "Refresh",
"type": "string"
}
},
"required": [
"phone",
"refresh",
"access",
"is_new_user"
],
"title": "ConfirmOTPOutput",
"type": "object"
}
CourierLocationSchema
| Поле |
Тип |
Обязательное |
Описание |
lng |
number / string |
да |
|
lat |
number / string |
да |
|
bearing |
number / string / null |
нет |
|
updated_at |
string (date-time) / null |
нет |
|
{
"properties": {
"bearing": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Bearing"
},
"lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Lat"
},
"lng": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Lng"
},
"updated_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Updated At"
}
},
"required": [
"lng",
"lat"
],
"title": "CourierLocationSchema",
"type": "object"
}
CourierSchema
| Поле |
Тип |
Обязательное |
Описание |
name |
string / null |
нет |
|
phone |
string / null |
нет |
|
vehicle_number |
string / null |
нет |
|
{
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Phone"
},
"vehicle_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vehicle Number"
}
},
"title": "CourierSchema",
"type": "object"
}
DeliveryInfoSchema
| Поле |
Тип |
Обязательное |
Описание |
address_line |
string |
да |
|
date |
string (date) |
да |
|
start_time |
string (time) |
да |
|
end_time |
string (time) |
да |
|
cost |
number / string |
да |
|
store_location |
DeliveryRouteLocationSchema / null |
нет |
|
customer_location |
DeliveryRouteLocationSchema / null |
нет |
|
tracking |
DeliveryTrackingSchema / null |
нет |
|
{
"properties": {
"address_line": {
"title": "Address Line",
"type": "string"
},
"cost": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Cost"
},
"customer_location": {
"anyOf": [
{
"$ref": "#/components/schemas/DeliveryRouteLocationSchema"
},
{
"type": "null"
}
]
},
"date": {
"format": "date",
"title": "Date",
"type": "string"
},
"end_time": {
"format": "time",
"title": "End Time",
"type": "string"
},
"start_time": {
"format": "time",
"title": "Start Time",
"type": "string"
},
"store_location": {
"anyOf": [
{
"$ref": "#/components/schemas/DeliveryRouteLocationSchema"
},
{
"type": "null"
}
]
},
"tracking": {
"anyOf": [
{
"$ref": "#/components/schemas/DeliveryTrackingSchema"
},
{
"type": "null"
}
]
}
},
"required": [
"address_line",
"date",
"start_time",
"end_time",
"cost"
],
"title": "DeliveryInfoSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
address |
UserAddressInput |
да |
|
slot_id |
string (uuid) / null |
нет |
|
estimate_id |
string (uuid) / null |
нет |
|
{
"properties": {
"address": {
"$ref": "#/components/schemas/UserAddressInput"
},
"estimate_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Estimate Id"
},
"slot_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Slot Id"
}
},
"required": [
"address"
],
"title": "DeliveryInput",
"type": "object"
}
DeliveryPreferenceOutput
| Поле |
Тип |
Обязательное |
Описание |
min_order_amount |
number / string |
да |
|
express |
ExpressDeliveryOutput / null |
нет |
|
standard |
StandardDeliveryOutput / null |
нет |
|
{
"properties": {
"express": {
"anyOf": [
{
"$ref": "#/components/schemas/ExpressDeliveryOutput"
},
{
"type": "null"
}
]
},
"min_order_amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Min Order Amount"
},
"standard": {
"anyOf": [
{
"$ref": "#/components/schemas/StandardDeliveryOutput"
},
{
"type": "null"
}
]
}
},
"required": [
"min_order_amount"
],
"title": "DeliveryPreferenceOutput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
location |
LocationInput |
да |
|
{
"properties": {
"location": {
"$ref": "#/components/schemas/LocationInput"
}
},
"required": [
"location"
],
"title": "DeliveryPriceEstimateInput",
"type": "object"
}
DeliveryPriceEstimateSchema
| Поле |
Тип |
Обязательное |
Описание |
estimate_id |
string (uuid) |
да |
|
total_price |
number / string |
да |
|
currency |
string |
да |
|
distance_km |
number / string |
да |
|
tariff_id |
string |
да |
|
tariff_name |
string / null |
нет |
|
expires_at |
string (date-time) |
да |
|
{
"properties": {
"currency": {
"title": "Currency",
"type": "string"
},
"distance_km": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Distance Km"
},
"estimate_id": {
"format": "uuid",
"title": "Estimate Id",
"type": "string"
},
"expires_at": {
"format": "date-time",
"title": "Expires At",
"type": "string"
},
"tariff_id": {
"title": "Tariff Id",
"type": "string"
},
"tariff_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tariff Name"
},
"total_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Total Price"
}
},
"required": [
"estimate_id",
"total_price",
"currency",
"distance_km",
"tariff_id",
"expires_at"
],
"title": "DeliveryPriceEstimateSchema",
"type": "object"
}
DeliveryRouteLocationSchema
| Поле |
Тип |
Обязательное |
Описание |
lon |
number |
да |
|
lat |
number |
да |
|
{
"properties": {
"lat": {
"title": "Lat",
"type": "number"
},
"lon": {
"title": "Lon",
"type": "number"
}
},
"required": [
"lon",
"lat"
],
"title": "DeliveryRouteLocationSchema",
"type": "object"
}
DeliverySlotOutput
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
type |
integer |
да |
|
start_time |
string (time) |
да |
|
end_time |
string (time) |
да |
|
cost |
number / string |
да |
|
{
"properties": {
"cost": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Cost"
},
"end_time": {
"format": "time",
"title": "End Time",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"start_time": {
"format": "time",
"title": "Start Time",
"type": "string"
},
"type": {
"title": "Type",
"type": "integer"
}
},
"required": [
"id",
"type",
"start_time",
"end_time",
"cost"
],
"title": "DeliverySlotOutput",
"type": "object"
}
DeliveryTrackingSchema
| Поле |
Тип |
Обязательное |
Описание |
state |
string |
да |
|
display |
string |
да |
|
comment |
string / null |
нет |
|
can_cancel |
boolean |
нет |
|
cancellation_reason |
string / null |
нет |
|
courier |
CourierSchema / null |
нет |
|
location |
CourierLocationSchema / null |
нет |
|
updated_at |
string (date-time) / null |
нет |
|
{
"properties": {
"can_cancel": {
"default": false,
"title": "Can Cancel",
"type": "boolean"
},
"cancellation_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cancellation Reason"
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"courier": {
"anyOf": [
{
"$ref": "#/components/schemas/CourierSchema"
},
{
"type": "null"
}
]
},
"display": {
"title": "Display",
"type": "string"
},
"location": {
"anyOf": [
{
"$ref": "#/components/schemas/CourierLocationSchema"
},
{
"type": "null"
}
]
},
"state": {
"title": "State",
"type": "string"
},
"updated_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Updated At"
}
},
"required": [
"state",
"display"
],
"title": "DeliveryTrackingSchema",
"type": "object"
}
DeliveryZoneOutput
| Поле |
Тип |
Обязательное |
Описание |
store_id |
string (uuid) |
да |
|
store_name |
string |
да |
|
polygon |
PolygonSchema |
да |
|
{
"properties": {
"polygon": {
"$ref": "#/components/schemas/PolygonSchema"
},
"store_id": {
"format": "uuid",
"title": "Store Id",
"type": "string"
},
"store_name": {
"title": "Store Name",
"type": "string"
}
},
"required": [
"store_id",
"store_name",
"polygon"
],
"title": "DeliveryZoneOutput",
"type": "object"
}
DetailImageSchema
| Поле |
Тип |
Обязательное |
Описание |
original |
string |
да |
|
listing |
string |
да |
|
detail |
string |
да |
|
{
"properties": {
"detail": {
"title": "Detail",
"type": "string"
},
"listing": {
"title": "Listing",
"type": "string"
},
"original": {
"title": "Original",
"type": "string"
}
},
"required": [
"original",
"listing",
"detail"
],
"title": "DetailImageSchema",
"type": "object"
}
DetailOrderRoadmapSchema
| Поле |
Тип |
Обязательное |
Описание |
no |
integer |
да |
|
type |
string |
да |
|
status |
OrderStatusSchema |
да |
|
total_price |
number / string |
да |
|
picking_result_state |
string |
нет |
|
has_picking_changes |
boolean |
нет |
|
items |
массив<OrderItemSchema> |
да |
|
delivery |
DeliveryInfoSchema / null |
нет |
|
pickup |
PickupInfoSchema / null |
нет |
|
can_cancel |
boolean |
нет |
|
picking_result |
PickingResultSchema |
да |
|
{
"properties": {
"can_cancel": {
"default": false,
"title": "Can Cancel",
"type": "boolean"
},
"delivery": {
"anyOf": [
{
"$ref": "#/components/schemas/DeliveryInfoSchema"
},
{
"type": "null"
}
]
},
"has_picking_changes": {
"default": false,
"title": "Has Picking Changes",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/OrderItemSchema"
},
"title": "Items",
"type": "array"
},
"no": {
"title": "No",
"type": "integer"
},
"picking_result": {
"$ref": "#/components/schemas/PickingResultSchema"
},
"picking_result_state": {
"default": "pending",
"title": "Picking Result State",
"type": "string"
},
"pickup": {
"anyOf": [
{
"$ref": "#/components/schemas/PickupInfoSchema"
},
{
"type": "null"
}
]
},
"status": {
"$ref": "#/components/schemas/OrderStatusSchema"
},
"total_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Total Price"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"no",
"type",
"status",
"total_price",
"items",
"picking_result"
],
"title": "DetailOrderRoadmapSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<DiscountPreviewItemInput> |
да |
|
{
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/DiscountPreviewItemInput"
},
"title": "Items",
"type": "array"
}
},
"required": [
"items"
],
"title": "DiscountPreviewInput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
product_id |
string (uuid) |
да |
|
unit_id |
string (uuid) |
да |
|
quantity |
number / string |
да |
|
{
"properties": {
"product_id": {
"format": "uuid",
"title": "Product Id",
"type": "string"
},
"quantity": {
"anyOf": [
{
"minimum": 0.001,
"type": "number"
},
{
"type": "string"
}
],
"title": "Quantity"
},
"unit_id": {
"format": "uuid",
"title": "Unit Id",
"type": "string"
}
},
"required": [
"product_id",
"unit_id",
"quantity"
],
"title": "DiscountPreviewItemInput",
"type": "object"
}
DiscountPreviewItemSchema
| Поле |
Тип |
Обязательное |
Описание |
product_external_id |
string |
да |
|
original_price |
string |
да |
|
discounted_price |
string |
да |
|
discount_amount |
string |
да |
|
{
"properties": {
"discount_amount": {
"title": "Discount Amount",
"type": "string"
},
"discounted_price": {
"title": "Discounted Price",
"type": "string"
},
"original_price": {
"title": "Original Price",
"type": "string"
},
"product_external_id": {
"title": "Product External Id",
"type": "string"
}
},
"required": [
"product_external_id",
"original_price",
"discounted_price",
"discount_amount"
],
"title": "DiscountPreviewItemSchema",
"type": "object"
}
DiscountPreviewSchema
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<DiscountPreviewItemSchema> |
нет |
|
total_discount |
string |
нет |
|
bonus_accrual |
string |
нет |
|
bonus_applied |
boolean |
нет |
|
bonus_reason |
string |
нет |
|
{
"properties": {
"bonus_accrual": {
"default": "0",
"title": "Bonus Accrual",
"type": "string"
},
"bonus_applied": {
"default": false,
"title": "Bonus Applied",
"type": "boolean"
},
"bonus_reason": {
"default": "",
"title": "Bonus Reason",
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/DiscountPreviewItemSchema"
},
"title": "Items",
"type": "array"
},
"total_discount": {
"default": "0",
"title": "Total Discount",
"type": "string"
}
},
"title": "DiscountPreviewSchema",
"type": "object"
}
EskhataInvoiceResponse
| Поле |
Тип |
Обязательное |
Описание |
link |
string |
да |
|
expires_at |
string (date-time) |
да |
|
{
"properties": {
"expires_at": {
"format": "date-time",
"title": "Expires At",
"type": "string"
},
"link": {
"title": "Link",
"type": "string"
}
},
"required": [
"link",
"expires_at"
],
"title": "EskhataInvoiceResponse",
"type": "object"
}
ExpressDeliveryOutput
| Поле |
Тип |
Обязательное |
Описание |
minutes |
integer |
да |
|
cost |
number / string |
да |
|
max_items_count |
integer / null |
нет |
|
is_available |
boolean |
да |
|
schedule |
массив<ExpressOrderScheduleOutput> |
да |
|
{
"properties": {
"cost": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Cost"
},
"is_available": {
"title": "Is Available",
"type": "boolean"
},
"max_items_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Items Count"
},
"minutes": {
"title": "Minutes",
"type": "integer"
},
"schedule": {
"items": {
"$ref": "#/components/schemas/ExpressOrderScheduleOutput"
},
"title": "Schedule",
"type": "array"
}
},
"required": [
"minutes",
"cost",
"is_available",
"schedule"
],
"title": "ExpressDeliveryOutput",
"type": "object"
}
ExpressOrderScheduleOutput
| Поле |
Тип |
Обязательное |
Описание |
weekday |
integer |
да |
|
start_time |
string (time) |
да |
|
end_time |
string (time) |
да |
|
is_active |
boolean |
да |
|
{
"properties": {
"end_time": {
"format": "time",
"title": "End Time",
"type": "string"
},
"is_active": {
"title": "Is Active",
"type": "boolean"
},
"start_time": {
"format": "time",
"title": "Start Time",
"type": "string"
},
"weekday": {
"title": "Weekday",
"type": "integer"
}
},
"required": [
"weekday",
"start_time",
"end_time",
"is_active"
],
"title": "ExpressOrderScheduleOutput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
product_ids |
массив<string (uuid)> |
да |
|
{
"properties": {
"product_ids": {
"items": {
"format": "uuid",
"type": "string"
},
"maxItems": 100,
"title": "Product Ids",
"type": "array"
}
},
"required": [
"product_ids"
],
"title": "FavoriteProductsCheckInput",
"type": "object"
}
FavoriteProductsCheckOutput
| Поле |
Тип |
Обязательное |
Описание |
product_ids |
массив<string (uuid)> |
да |
|
{
"properties": {
"product_ids": {
"items": {
"format": "uuid",
"type": "string"
},
"title": "Product Ids",
"type": "array"
}
},
"required": [
"product_ids"
],
"title": "FavoriteProductsCheckOutput",
"type": "object"
}
Gender
{
"enum": [
"male",
"female"
],
"title": "Gender",
"type": "string"
}
InventoryItemSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
unit_id |
string (uuid) |
да |
|
stock |
number / string / null |
да |
|
unit_price |
number / string |
да |
|
old_price |
number / string / null |
нет |
|
discount_percent |
number / string / null |
нет |
|
{
"properties": {
"discount_percent": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Discount Percent"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"old_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Old Price"
},
"stock": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Stock"
},
"unit_id": {
"format": "uuid",
"title": "Unit Id",
"type": "string"
},
"unit_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Unit Price"
}
},
"required": [
"id",
"unit_id",
"stock",
"unit_price"
],
"title": "InventoryItemSchema",
"type": "object"
}
ListingImageSchema
| Поле |
Тип |
Обязательное |
Описание |
original |
string |
да |
|
listing |
string |
да |
|
{
"properties": {
"listing": {
"title": "Listing",
"type": "string"
},
"original": {
"title": "Original",
"type": "string"
}
},
"required": [
"original",
"listing"
],
"title": "ListingImageSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
lon |
number |
да |
|
lat |
number |
да |
|
{
"properties": {
"lat": {
"maximum": 90,
"minimum": -90,
"title": "Lat",
"type": "number"
},
"lon": {
"maximum": 180,
"minimum": -180,
"title": "Lon",
"type": "number"
}
},
"required": [
"lon",
"lat"
],
"title": "LocationInput",
"type": "object"
}
LocationOutput
| Поле |
Тип |
Обязательное |
Описание |
lon |
number |
да |
|
lat |
number |
да |
|
{
"properties": {
"lat": {
"title": "Lat",
"type": "number"
},
"lon": {
"title": "Lon",
"type": "number"
}
},
"required": [
"lon",
"lat"
],
"title": "LocationOutput",
"type": "object"
}
LoyaltyProgramLevelSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
integer / null |
нет |
|
order |
integer |
да |
|
name |
string |
да |
|
boundary |
string |
нет |
|
clients_count |
integer / null |
нет |
|
range_label |
string |
нет |
|
description |
string |
нет |
|
{
"properties": {
"boundary": {
"default": "0",
"title": "Boundary",
"type": "string"
},
"clients_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Clients Count"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Id"
},
"name": {
"title": "Name",
"type": "string"
},
"order": {
"title": "Order",
"type": "integer"
},
"range_label": {
"default": "",
"title": "Range Label",
"type": "string"
}
},
"required": [
"order",
"name"
],
"title": "LoyaltyProgramLevelSchema",
"type": "object"
}
LoyaltyProgramSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
integer |
да |
|
name |
string |
да |
|
levels |
массив<LoyaltyProgramLevelSchema> |
нет |
|
{
"properties": {
"id": {
"title": "Id",
"type": "integer"
},
"levels": {
"items": {
"$ref": "#/components/schemas/LoyaltyProgramLevelSchema"
},
"title": "Levels",
"type": "array"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"id",
"name"
],
"title": "LoyaltyProgramSchema",
"type": "object"
}
LoyaltyStatusSchema
| Поле |
Тип |
Обязательное |
Описание |
program_name |
string |
нет |
|
current_tier |
string |
нет |
|
next_tier |
string |
нет |
|
tiers_source |
string |
нет |
|
tiers_complete |
boolean |
нет |
|
progress |
number |
нет |
|
amount_to_next |
string |
нет |
|
total_turnover |
string |
нет |
|
last_purchase_points |
string |
нет |
|
tiers |
массив<TierSchema> |
нет |
|
{
"properties": {
"amount_to_next": {
"default": "0",
"title": "Amount To Next",
"type": "string"
},
"current_tier": {
"default": "",
"title": "Current Tier",
"type": "string"
},
"last_purchase_points": {
"default": "0",
"title": "Last Purchase Points",
"type": "string"
},
"next_tier": {
"default": "",
"title": "Next Tier",
"type": "string"
},
"program_name": {
"default": "",
"title": "Program Name",
"type": "string"
},
"progress": {
"default": 0.0,
"title": "Progress",
"type": "number"
},
"tiers": {
"items": {
"$ref": "#/components/schemas/TierSchema"
},
"title": "Tiers",
"type": "array"
},
"tiers_complete": {
"default": false,
"title": "Tiers Complete",
"type": "boolean"
},
"tiers_source": {
"default": "cdp_fallback",
"title": "Tiers Source",
"type": "string"
},
"total_turnover": {
"default": "0",
"title": "Total Turnover",
"type": "string"
}
},
"title": "LoyaltyStatusSchema",
"type": "object"
}
MainPageCategoryBlockSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
level |
integer |
да |
|
parent_id |
string (uuid) / null |
нет |
|
color |
string |
да |
|
children_count |
integer |
нет |
|
image |
ListingImageSchema / null |
нет |
|
children |
массив<CategorySchema> / null |
нет |
|
layout |
string |
да |
|
{
"properties": {
"children": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/CategorySchema"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Children"
},
"children_count": {
"default": 0,
"title": "Children Count",
"type": "integer"
},
"color": {
"title": "Color",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"image": {
"anyOf": [
{
"$ref": "#/components/schemas/ListingImageSchema"
},
{
"type": "null"
}
]
},
"layout": {
"title": "Layout",
"type": "string"
},
"level": {
"title": "Level",
"type": "integer"
},
"name": {
"title": "Name",
"type": "string"
},
"parent_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Id"
}
},
"required": [
"id",
"name",
"level",
"color",
"layout"
],
"title": "MainPageCategoryBlockSchema",
"type": "object"
}
MainPageProductsTitlesSchema
| Поле |
Тип |
Обязательное |
Описание |
promo |
string |
да |
|
amid |
string |
да |
|
amid_category |
string / null |
нет |
|
new |
string |
да |
|
childhood |
string |
да |
|
fresh |
string |
да |
|
{
"properties": {
"amid": {
"title": "Amid",
"type": "string"
},
"amid_category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Amid Category"
},
"childhood": {
"title": "Childhood",
"type": "string"
},
"fresh": {
"title": "Fresh",
"type": "string"
},
"new": {
"title": "New",
"type": "string"
},
"promo": {
"title": "Promo",
"type": "string"
}
},
"required": [
"promo",
"amid",
"new",
"childhood",
"fresh"
],
"title": "MainPageProductsTitlesSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
quantity |
integer |
да |
Фактически собранное целое количество. |
confirm |
boolean |
нет |
Подтверждает уже сохранённое расхождение количества. |
{
"properties": {
"confirm": {
"default": false,
"description": "Подтверждает уже сохранённое расхождение количества.",
"title": "Confirm",
"type": "boolean"
},
"quantity": {
"description": "Фактически собранное целое количество.",
"examples": [
2
],
"minimum": 1,
"title": "Quantity",
"type": "integer"
}
},
"required": [
"quantity"
],
"title": "ManualPickInput",
"type": "object"
}
MapConfigOutput
| Поле |
Тип |
Обязательное |
Описание |
enabled |
boolean |
да |
|
mapbox_public_token |
string / null |
нет |
|
style_uri |
string / null |
нет |
|
search_min_length |
integer |
нет |
|
search_max_results |
integer |
нет |
|
search_debounce_ms |
integer |
нет |
|
{
"properties": {
"enabled": {
"title": "Enabled",
"type": "boolean"
},
"mapbox_public_token": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mapbox Public Token"
},
"search_debounce_ms": {
"default": 400,
"title": "Search Debounce Ms",
"type": "integer"
},
"search_max_results": {
"default": 7,
"title": "Search Max Results",
"type": "integer"
},
"search_min_length": {
"default": 2,
"title": "Search Min Length",
"type": "integer"
},
"style_uri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Style Uri"
}
},
"required": [
"enabled"
],
"title": "MapConfigOutput",
"type": "object"
}
MaritalStatus
{
"enum": [
"single",
"married"
],
"title": "MaritalStatus",
"type": "string"
}
MeasurementUnitSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
full_name |
string |
да |
|
ratio |
number / string |
да |
|
{
"properties": {
"full_name": {
"title": "Full Name",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Ratio"
}
},
"required": [
"id",
"name",
"full_name",
"ratio"
],
"title": "MeasurementUnitSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
action |
string |
да |
call — запросить звонок клиенту; remove — подготовить удаление. |
{
"properties": {
"action": {
"description": "`call` — запросить звонок клиенту; `remove` — подготовить удаление.",
"examples": [
"remove"
],
"title": "Action",
"type": "string"
}
},
"required": [
"action"
],
"title": "MissingInput",
"type": "object"
}
MobileVersionCheckResponse
| Поле |
Тип |
Обязательное |
Описание |
update_required |
boolean |
да |
|
can_update |
boolean |
да |
|
message |
string / null |
нет |
|
{
"properties": {
"can_update": {
"title": "Can Update",
"type": "boolean"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Message"
},
"update_required": {
"title": "Update Required",
"type": "boolean"
}
},
"required": [
"update_required",
"can_update"
],
"title": "MobileVersionCheckResponse",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
platform |
"android" / "ios" |
да |
|
version |
string |
да |
|
{
"properties": {
"platform": {
"enum": [
"android",
"ios"
],
"title": "Platform",
"type": "string"
},
"version": {
"title": "Version",
"type": "string"
}
},
"required": [
"platform",
"version"
],
"title": "MobileVersionInput",
"type": "object"
}
OrderAdviceActionEnum
{
"enum": [
"remove",
"call"
],
"title": "OrderAdviceActionEnum",
"type": "string"
}
OrderCommandError
| Поле |
Тип |
Обязательное |
Описание |
detail |
string |
да |
|
code |
string |
да |
|
{
"properties": {
"code": {
"title": "Code",
"type": "string"
},
"detail": {
"title": "Detail",
"type": "string"
}
},
"required": [
"detail",
"code"
],
"title": "OrderCommandError",
"type": "object"
}
OrderDetailSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
no |
integer |
да |
|
type |
string |
да |
|
address_line |
string |
да |
|
created_at |
string (date-time) |
да |
|
total_price |
number / string |
да |
|
picking_result_state |
string |
нет |
|
has_picking_changes |
boolean |
нет |
|
items |
массив<OrderItemSchema> |
да |
|
status |
OrderStatusSchema |
да |
|
delivery |
DeliveryInfoSchema / null |
нет |
|
pickup |
PickupInfoSchema / null |
нет |
|
comment |
string / null |
нет |
|
can_cancel |
boolean |
нет |
|
picking_result |
PickingResultSchema |
да |
|
{
"properties": {
"address_line": {
"title": "Address Line",
"type": "string"
},
"can_cancel": {
"default": false,
"title": "Can Cancel",
"type": "boolean"
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"delivery": {
"anyOf": [
{
"$ref": "#/components/schemas/DeliveryInfoSchema"
},
{
"type": "null"
}
]
},
"has_picking_changes": {
"default": false,
"title": "Has Picking Changes",
"type": "boolean"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/OrderItemSchema"
},
"title": "Items",
"type": "array"
},
"no": {
"title": "No",
"type": "integer"
},
"picking_result": {
"$ref": "#/components/schemas/PickingResultSchema"
},
"picking_result_state": {
"default": "pending",
"title": "Picking Result State",
"type": "string"
},
"pickup": {
"anyOf": [
{
"$ref": "#/components/schemas/PickupInfoSchema"
},
{
"type": "null"
}
]
},
"status": {
"$ref": "#/components/schemas/OrderStatusSchema"
},
"total_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Total Price"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"id",
"no",
"type",
"address_line",
"created_at",
"total_price",
"items",
"status",
"picking_result"
],
"title": "OrderDetailSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
type |
OrderTypeEnum |
да |
|
delivery_context |
DeliveryInput / null |
нет |
|
pickup_context |
PickupInput / null |
нет |
|
payment_method |
PaymentMethodEnum |
да |
|
items |
массив<OrderItemInput> |
да |
|
comment |
string / null |
нет |
|
change |
number / string / null |
нет |
|
absence_action |
OrderAdviceActionEnum |
нет |
|
{
"properties": {
"absence_action": {
"allOf": [
{
"$ref": "#/components/schemas/OrderAdviceActionEnum"
}
],
"default": "call"
},
"change": {
"anyOf": [
{
"minimum": 0.01,
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Change"
},
"comment": {
"anyOf": [
{
"maxLength": 1000,
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"delivery_context": {
"anyOf": [
{
"$ref": "#/components/schemas/DeliveryInput"
},
{
"type": "null"
}
]
},
"items": {
"items": {
"$ref": "#/components/schemas/OrderItemInput"
},
"title": "Items",
"type": "array"
},
"payment_method": {
"$ref": "#/components/schemas/PaymentMethodEnum"
},
"pickup_context": {
"anyOf": [
{
"$ref": "#/components/schemas/PickupInput"
},
{
"type": "null"
}
]
},
"type": {
"$ref": "#/components/schemas/OrderTypeEnum"
}
},
"required": [
"type",
"payment_method",
"items"
],
"title": "OrderInput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
product_id |
string (uuid) |
да |
|
unit_id |
string (uuid) |
да |
|
quantity |
number / string |
да |
|
{
"properties": {
"product_id": {
"format": "uuid",
"title": "Product Id",
"type": "string"
},
"quantity": {
"anyOf": [
{
"minimum": 0.001,
"type": "number"
},
{
"type": "string"
}
],
"title": "Quantity"
},
"unit_id": {
"format": "uuid",
"title": "Unit Id",
"type": "string"
}
},
"required": [
"product_id",
"unit_id",
"quantity"
],
"title": "OrderItemInput",
"type": "object"
}
OrderItemSchema
| Поле |
Тип |
Обязательное |
Описание |
product_id |
string (uuid) / null |
нет |
|
unit_id |
string (uuid) / null |
нет |
|
unit_name |
string |
да |
|
name |
string |
да |
|
image |
string / null |
нет |
|
weight |
number / string |
да |
|
old_price |
number / string / null |
нет |
|
unit_price |
number / string |
да |
|
quantity |
number / string |
да |
|
{
"properties": {
"image": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image"
},
"name": {
"title": "Name",
"type": "string"
},
"old_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Old Price"
},
"product_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Product Id"
},
"quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Quantity"
},
"unit_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Unit Id"
},
"unit_name": {
"title": "Unit Name",
"type": "string"
},
"unit_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Unit Price"
},
"weight": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Weight"
}
},
"required": [
"unit_name",
"name",
"weight",
"unit_price",
"quantity"
],
"title": "OrderItemSchema",
"type": "object"
}
OrderRoadmapSchema
| Поле |
Тип |
Обязательное |
Описание |
no |
integer |
да |
|
type |
string |
да |
|
status |
OrderStatusSchema |
да |
|
total_price |
number / string |
да |
|
picking_result_state |
string |
нет |
|
has_picking_changes |
boolean |
нет |
|
items_count |
integer |
да |
|
{
"properties": {
"has_picking_changes": {
"default": false,
"title": "Has Picking Changes",
"type": "boolean"
},
"items_count": {
"title": "Items Count",
"type": "integer"
},
"no": {
"title": "No",
"type": "integer"
},
"picking_result_state": {
"default": "pending",
"title": "Picking Result State",
"type": "string"
},
"status": {
"$ref": "#/components/schemas/OrderStatusSchema"
},
"total_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Total Price"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"no",
"type",
"status",
"total_price",
"items_count"
],
"title": "OrderRoadmapSchema",
"type": "object"
}
OrderStatusSchema
| Поле |
Тип |
Обязательное |
Описание |
display |
string |
да |
|
value |
string |
да |
|
comment |
string / null |
нет |
|
{
"properties": {
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"display": {
"title": "Display",
"type": "string"
},
"value": {
"title": "Value",
"type": "string"
}
},
"required": [
"display",
"value"
],
"title": "OrderStatusSchema",
"type": "object"
}
OrderTypeEnum
{
"enum": [
"pickup",
"delivery"
],
"title": "OrderTypeEnum",
"type": "string"
}
OrdersListingSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
no |
integer |
да |
|
type |
string |
да |
|
address_line |
string |
да |
|
created_at |
string (date-time) |
да |
|
total_price |
number / string |
да |
|
picking_result_state |
string |
нет |
|
has_picking_changes |
boolean |
нет |
|
{
"properties": {
"address_line": {
"title": "Address Line",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"has_picking_changes": {
"default": false,
"title": "Has Picking Changes",
"type": "boolean"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"no": {
"title": "No",
"type": "integer"
},
"picking_result_state": {
"default": "pending",
"title": "Picking Result State",
"type": "string"
},
"total_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Total Price"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"id",
"no",
"type",
"address_line",
"created_at",
"total_price"
],
"title": "OrdersListingSchema",
"type": "object"
}
OwnCategorySchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
level |
integer |
да |
|
parent_id |
string (uuid) / null |
нет |
|
color |
string |
да |
|
children_count |
integer |
нет |
|
image |
ListingImageSchema / null |
нет |
|
products_count |
integer / null |
нет |
|
{
"properties": {
"children_count": {
"default": 0,
"title": "Children Count",
"type": "integer"
},
"color": {
"title": "Color",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"image": {
"anyOf": [
{
"$ref": "#/components/schemas/ListingImageSchema"
},
{
"type": "null"
}
]
},
"level": {
"title": "Level",
"type": "integer"
},
"name": {
"title": "Name",
"type": "string"
},
"parent_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Id"
},
"products_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Products Count"
}
},
"required": [
"id",
"name",
"level",
"color"
],
"title": "OwnCategorySchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
title |
string |
да |
|
content |
string |
да |
|
{
"properties": {
"content": {
"title": "Content",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"content"
],
"title": "PageResponse",
"type": "object"
}
PagedOrdersListingSchema
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<OrdersListingSchema> |
да |
|
count |
integer |
да |
|
has_next |
boolean |
да |
|
{
"properties": {
"count": {
"title": "Count",
"type": "integer"
},
"has_next": {
"title": "Has Next",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/OrdersListingSchema"
},
"title": "Items",
"type": "array"
}
},
"required": [
"items",
"count",
"has_next"
],
"title": "PagedOrdersListingSchema",
"type": "object"
}
PagedProductListingSchema
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<ProductListingSchema> |
да |
|
count |
integer |
да |
|
has_next |
boolean |
да |
|
{
"properties": {
"count": {
"title": "Count",
"type": "integer"
},
"has_next": {
"title": "Has Next",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/ProductListingSchema"
},
"title": "Items",
"type": "array"
}
},
"required": [
"items",
"count",
"has_next"
],
"title": "PagedProductListingSchema",
"type": "object"
}
PagedPurchaseSchema
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<PurchaseSchema> |
да |
|
count |
integer |
да |
|
has_next |
boolean |
да |
|
{
"properties": {
"count": {
"title": "Count",
"type": "integer"
},
"has_next": {
"title": "Has Next",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PurchaseSchema"
},
"title": "Items",
"type": "array"
}
},
"required": [
"items",
"count",
"has_next"
],
"title": "PagedPurchaseSchema",
"type": "object"
}
PagedTransactionSchema
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<TransactionSchema> |
да |
|
count |
integer |
да |
|
has_next |
boolean |
да |
|
{
"properties": {
"count": {
"title": "Count",
"type": "integer"
},
"has_next": {
"title": "Has Next",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TransactionSchema"
},
"title": "Items",
"type": "array"
}
},
"required": [
"items",
"count",
"has_next"
],
"title": "PagedTransactionSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
password |
string (password) |
да |
|
password_repeat |
string (password) |
да |
|
{
"properties": {
"password": {
"format": "password",
"title": "Password",
"type": "string",
"writeOnly": true
},
"password_repeat": {
"format": "password",
"title": "Password Repeat",
"type": "string",
"writeOnly": true
}
},
"required": [
"password",
"password_repeat"
],
"title": "PasswordUpdateInput",
"type": "object"
}
PaymentMethodEnum
{
"enum": [
"cash",
"online"
],
"title": "PaymentMethodEnum",
"type": "string"
}
PaymentSummarySchema
| Поле |
Тип |
Обязательное |
Описание |
original_total |
number / string |
да |
|
current_total |
number / string |
да |
|
difference |
number / string |
да |
|
reconciliation_status |
string / null |
нет |
|
{
"properties": {
"current_total": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Current Total"
},
"difference": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Difference"
},
"original_total": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Original Total"
},
"reconciliation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reconciliation Status"
}
},
"required": [
"original_total",
"current_total",
"difference"
],
"title": "PaymentSummarySchema",
"type": "object"
}
PickerCatalogCursorOutput
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<PickerCatalogProductSchema> |
да |
|
next_cursor |
string / null |
нет |
|
has_more |
boolean |
да |
|
{
"properties": {
"has_more": {
"title": "Has More",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PickerCatalogProductSchema"
},
"title": "Items",
"type": "array"
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Cursor"
}
},
"required": [
"items",
"has_more"
],
"title": "PickerCatalogCursorOutput",
"type": "object"
}
PickerCatalogOutput
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<PickerCatalogProductSchema> |
да |
|
total |
integer |
да |
|
limit |
integer |
да |
|
offset |
integer |
да |
|
has_more |
boolean |
да |
|
{
"properties": {
"has_more": {
"title": "Has More",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PickerCatalogProductSchema"
},
"title": "Items",
"type": "array"
},
"limit": {
"title": "Limit",
"type": "integer"
},
"offset": {
"title": "Offset",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"items",
"total",
"limit",
"offset",
"has_more"
],
"title": "PickerCatalogOutput",
"type": "object"
}
PickerCatalogProductSchema
| Поле |
Тип |
Обязательное |
Описание |
inventory_id |
string |
да |
|
product_id |
string |
да |
|
name |
string |
да |
|
barcode |
string |
да |
|
description |
string |
да |
|
price |
number / string |
да |
|
available_quantity |
number / string |
да |
|
unit |
string |
да |
|
kind |
string |
да |
|
plu_code |
string / null |
нет |
|
image_url |
string / null |
нет |
|
{
"properties": {
"available_quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Available Quantity"
},
"barcode": {
"title": "Barcode",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image Url"
},
"inventory_id": {
"title": "Inventory Id",
"type": "string"
},
"kind": {
"title": "Kind",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"plu_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Plu Code"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Price"
},
"product_id": {
"title": "Product Id",
"type": "string"
},
"unit": {
"title": "Unit",
"type": "string"
}
},
"required": [
"inventory_id",
"product_id",
"name",
"barcode",
"description",
"price",
"available_quantity",
"unit",
"kind"
],
"title": "PickerCatalogProductSchema",
"type": "object"
}
PickerHistoryItemSchema
| Поле |
Тип |
Обязательное |
Описание |
item_id |
string |
да |
|
source |
string |
да |
|
original_name |
string |
да |
|
original_image_url |
string / null |
нет |
|
final_name |
string |
да |
|
final_image_url |
string / null |
нет |
|
original_barcode |
string |
нет |
|
final_barcode |
string |
нет |
|
barcode |
string |
да |
|
original_plu_code |
string / null |
нет |
|
final_plu_code |
string / null |
нет |
|
plu_code |
string / null |
нет |
|
required_quantity |
number / string |
да |
|
actual_quantity |
number / string |
да |
|
original_unit_price |
number / string |
да |
|
final_unit_price |
number / string |
да |
|
state |
string |
да |
|
resolution_type |
string / null |
нет |
|
is_added |
boolean |
да |
|
is_removed |
boolean |
да |
|
{
"properties": {
"actual_quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Actual Quantity"
},
"barcode": {
"title": "Barcode",
"type": "string"
},
"final_barcode": {
"default": "",
"title": "Final Barcode",
"type": "string"
},
"final_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Image Url"
},
"final_name": {
"title": "Final Name",
"type": "string"
},
"final_plu_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Plu Code"
},
"final_unit_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Final Unit Price"
},
"is_added": {
"title": "Is Added",
"type": "boolean"
},
"is_removed": {
"title": "Is Removed",
"type": "boolean"
},
"item_id": {
"title": "Item Id",
"type": "string"
},
"original_barcode": {
"default": "",
"title": "Original Barcode",
"type": "string"
},
"original_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Original Image Url"
},
"original_name": {
"title": "Original Name",
"type": "string"
},
"original_plu_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Original Plu Code"
},
"original_unit_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Original Unit Price"
},
"plu_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Plu Code"
},
"required_quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Required Quantity"
},
"resolution_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resolution Type"
},
"source": {
"title": "Source",
"type": "string"
},
"state": {
"title": "State",
"type": "string"
}
},
"required": [
"item_id",
"source",
"original_name",
"final_name",
"barcode",
"required_quantity",
"actual_quantity",
"original_unit_price",
"final_unit_price",
"state",
"is_added",
"is_removed"
],
"title": "PickerHistoryItemSchema",
"type": "object"
}
PickerHistorySessionDetailSchema
| Поле |
Тип |
Обязательное |
Описание |
session_id |
integer |
да |
|
order_id |
string |
да |
|
order_number |
string |
да |
|
session_status |
string |
да |
|
completed_at |
string (date-time) |
да |
|
duration_seconds |
integer |
да |
|
items |
массив<PickerHistoryItemSchema> |
да |
|
store |
PickerStoreSchema |
да |
|
fulfillment_type |
string |
да |
|
slot |
PickerSlotSchema / null |
нет |
|
{
"properties": {
"completed_at": {
"format": "date-time",
"title": "Completed At",
"type": "string"
},
"duration_seconds": {
"title": "Duration Seconds",
"type": "integer"
},
"fulfillment_type": {
"title": "Fulfillment Type",
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/PickerHistoryItemSchema"
},
"title": "Items",
"type": "array"
},
"order_id": {
"title": "Order Id",
"type": "string"
},
"order_number": {
"title": "Order Number",
"type": "string"
},
"session_id": {
"title": "Session Id",
"type": "integer"
},
"session_status": {
"title": "Session Status",
"type": "string"
},
"slot": {
"anyOf": [
{
"$ref": "#/components/schemas/PickerSlotSchema"
},
{
"type": "null"
}
]
},
"store": {
"$ref": "#/components/schemas/PickerStoreSchema"
}
},
"required": [
"session_id",
"order_id",
"order_number",
"session_status",
"completed_at",
"duration_seconds",
"items",
"store",
"fulfillment_type"
],
"title": "PickerHistorySessionDetailSchema",
"type": "object"
}
PickerHistorySessionSchema
| Поле |
Тип |
Обязательное |
Описание |
session_id |
integer |
да |
|
order_id |
string (uuid) |
да |
|
order_number |
string |
да |
|
picker_id |
integer |
да |
|
picker_login |
string |
да |
|
picker_display_name |
string |
да |
|
store_id |
string |
да |
|
store_name |
string |
да |
|
status |
string |
да |
|
started_at |
string (date-time) |
да |
|
completed_at |
string (date-time) |
да |
|
duration_seconds |
integer |
да |
|
total_items |
integer |
да |
|
picked_items |
integer |
да |
|
added_items |
integer |
да |
|
replacement_items |
integer |
да |
|
removed_items |
integer |
да |
|
weighted_items |
integer |
да |
|
piece_items |
integer |
да |
|
store |
PickerStoreSchema |
да |
|
fulfillment_type |
string |
да |
|
slot |
PickerSlotSchema / null |
нет |
|
{
"properties": {
"added_items": {
"title": "Added Items",
"type": "integer"
},
"completed_at": {
"format": "date-time",
"title": "Completed At",
"type": "string"
},
"duration_seconds": {
"title": "Duration Seconds",
"type": "integer"
},
"fulfillment_type": {
"title": "Fulfillment Type",
"type": "string"
},
"order_id": {
"format": "uuid",
"title": "Order Id",
"type": "string"
},
"order_number": {
"title": "Order Number",
"type": "string"
},
"picked_items": {
"title": "Picked Items",
"type": "integer"
},
"picker_display_name": {
"title": "Picker Display Name",
"type": "string"
},
"picker_id": {
"title": "Picker Id",
"type": "integer"
},
"picker_login": {
"title": "Picker Login",
"type": "string"
},
"piece_items": {
"title": "Piece Items",
"type": "integer"
},
"removed_items": {
"title": "Removed Items",
"type": "integer"
},
"replacement_items": {
"title": "Replacement Items",
"type": "integer"
},
"session_id": {
"title": "Session Id",
"type": "integer"
},
"slot": {
"anyOf": [
{
"$ref": "#/components/schemas/PickerSlotSchema"
},
{
"type": "null"
}
]
},
"started_at": {
"format": "date-time",
"title": "Started At",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"store": {
"$ref": "#/components/schemas/PickerStoreSchema"
},
"store_id": {
"title": "Store Id",
"type": "string"
},
"store_name": {
"title": "Store Name",
"type": "string"
},
"total_items": {
"title": "Total Items",
"type": "integer"
},
"weighted_items": {
"title": "Weighted Items",
"type": "integer"
}
},
"required": [
"session_id",
"order_id",
"order_number",
"picker_id",
"picker_login",
"picker_display_name",
"store_id",
"store_name",
"status",
"started_at",
"completed_at",
"duration_seconds",
"total_items",
"picked_items",
"added_items",
"replacement_items",
"removed_items",
"weighted_items",
"piece_items",
"store",
"fulfillment_type"
],
"title": "PickerHistorySessionSchema",
"type": "object"
}
PickerHistorySessionsOutput
| Поле |
Тип |
Обязательное |
Описание |
items |
массив<PickerHistorySessionSchema> |
да |
|
total |
integer |
да |
|
limit |
integer |
да |
|
offset |
integer |
да |
|
has_more |
boolean |
да |
|
{
"properties": {
"has_more": {
"title": "Has More",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PickerHistorySessionSchema"
},
"title": "Items",
"type": "array"
},
"limit": {
"title": "Limit",
"type": "integer"
},
"offset": {
"title": "Offset",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"items",
"total",
"limit",
"offset",
"has_more"
],
"title": "PickerHistorySessionsOutput",
"type": "object"
}
PickerHistorySummarySchema
| Поле |
Тип |
Обязательное |
Описание |
picker_id |
integer |
да |
|
picker_login |
string |
да |
|
picker_full_name |
string |
да |
|
picker_display_name |
string |
да |
|
store_id |
string |
да |
|
store_name |
string |
да |
|
completed_orders |
integer |
да |
|
total_items |
integer |
да |
|
added_items |
integer |
да |
|
replacement_items |
integer |
да |
|
removed_items |
integer |
да |
|
missing_items |
integer |
да |
|
weighted_items |
integer |
да |
|
piece_items |
integer |
да |
|
total_duration_seconds |
integer |
да |
|
average_duration_seconds |
integer |
да |
|
{
"properties": {
"added_items": {
"title": "Added Items",
"type": "integer"
},
"average_duration_seconds": {
"title": "Average Duration Seconds",
"type": "integer"
},
"completed_orders": {
"title": "Completed Orders",
"type": "integer"
},
"missing_items": {
"title": "Missing Items",
"type": "integer"
},
"picker_display_name": {
"title": "Picker Display Name",
"type": "string"
},
"picker_full_name": {
"title": "Picker Full Name",
"type": "string"
},
"picker_id": {
"title": "Picker Id",
"type": "integer"
},
"picker_login": {
"title": "Picker Login",
"type": "string"
},
"piece_items": {
"title": "Piece Items",
"type": "integer"
},
"removed_items": {
"title": "Removed Items",
"type": "integer"
},
"replacement_items": {
"title": "Replacement Items",
"type": "integer"
},
"store_id": {
"title": "Store Id",
"type": "string"
},
"store_name": {
"title": "Store Name",
"type": "string"
},
"total_duration_seconds": {
"title": "Total Duration Seconds",
"type": "integer"
},
"total_items": {
"title": "Total Items",
"type": "integer"
},
"weighted_items": {
"title": "Weighted Items",
"type": "integer"
}
},
"required": [
"picker_id",
"picker_login",
"picker_full_name",
"picker_display_name",
"store_id",
"store_name",
"completed_orders",
"total_items",
"added_items",
"replacement_items",
"removed_items",
"missing_items",
"weighted_items",
"piece_items",
"total_duration_seconds",
"average_duration_seconds"
],
"title": "PickerHistorySummarySchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
login |
string |
да |
|
password |
string (password) |
да |
|
{
"properties": {
"login": {
"minLength": 1,
"title": "Login",
"type": "string"
},
"password": {
"format": "password",
"minLength": 1,
"title": "Password",
"type": "string",
"writeOnly": true
}
},
"required": [
"login",
"password"
],
"title": "PickerLoginInput",
"type": "object"
}
PickerLoginOutput
| Поле |
Тип |
Обязательное |
Описание |
access_token |
string |
да |
|
refresh_token |
string |
да |
|
expires_at |
string (date-time) |
да |
|
user |
PickerUserSchema |
да |
|
{
"properties": {
"access_token": {
"title": "Access Token",
"type": "string"
},
"expires_at": {
"format": "date-time",
"title": "Expires At",
"type": "string"
},
"refresh_token": {
"title": "Refresh Token",
"type": "string"
},
"user": {
"$ref": "#/components/schemas/PickerUserSchema"
}
},
"required": [
"access_token",
"refresh_token",
"expires_at",
"user"
],
"title": "PickerLoginOutput",
"type": "object"
}
PickerOrderSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
order_number |
string |
да |
|
created_at |
string (date-time) |
да |
|
is_express |
boolean |
да |
|
absence_preference |
string |
да |
|
customer_comment |
string |
да |
|
customer_phone |
string / null |
нет |
|
status |
string |
да |
|
store |
PickerStoreSchema |
да |
|
fulfillment_type |
string |
да |
|
slot |
PickerSlotSchema |
да |
|
{
"properties": {
"absence_preference": {
"title": "Absence Preference",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"customer_comment": {
"title": "Customer Comment",
"type": "string"
},
"customer_phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Customer Phone"
},
"fulfillment_type": {
"title": "Fulfillment Type",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"is_express": {
"title": "Is Express",
"type": "boolean"
},
"order_number": {
"title": "Order Number",
"type": "string"
},
"slot": {
"$ref": "#/components/schemas/PickerSlotSchema"
},
"status": {
"title": "Status",
"type": "string"
},
"store": {
"$ref": "#/components/schemas/PickerStoreSchema"
}
},
"required": [
"id",
"order_number",
"created_at",
"is_express",
"absence_preference",
"customer_comment",
"status",
"store",
"fulfillment_type",
"slot"
],
"title": "PickerOrderSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
realtime_recommended |
boolean |
да |
|
socket_path |
string |
да |
|
poll_after_seconds |
integer |
да |
|
{
"properties": {
"poll_after_seconds": {
"title": "Poll After Seconds",
"type": "integer"
},
"realtime_recommended": {
"title": "Realtime Recommended",
"type": "boolean"
},
"socket_path": {
"title": "Socket Path",
"type": "string"
}
},
"required": [
"realtime_recommended",
"socket_path",
"poll_after_seconds"
],
"title": "PickerRealtimeMetadataSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
refresh |
string (password) |
да |
|
{
"properties": {
"refresh": {
"format": "password",
"minLength": 1,
"title": "Refresh",
"type": "string",
"writeOnly": true
}
},
"required": [
"refresh"
],
"title": "PickerRefreshInput",
"type": "object"
}
PickerRefreshOutput
| Поле |
Тип |
Обязательное |
Описание |
access |
string |
да |
|
refresh |
string |
да |
|
{
"properties": {
"access": {
"title": "Access",
"type": "string"
},
"refresh": {
"title": "Refresh",
"type": "string"
}
},
"required": [
"access",
"refresh"
],
"title": "PickerRefreshOutput",
"type": "object"
}
PickerSlotSchema
| Поле |
Тип |
Обязательное |
Описание |
date |
string (date) |
да |
|
start_time |
string (time) |
да |
|
end_time |
string (time) |
да |
|
start_at |
string (date-time) |
да |
|
end_at |
string (date-time) |
да |
|
is_overdue |
boolean |
да |
|
{
"properties": {
"date": {
"format": "date",
"title": "Date",
"type": "string"
},
"end_at": {
"format": "date-time",
"title": "End At",
"type": "string"
},
"end_time": {
"format": "time",
"title": "End Time",
"type": "string"
},
"is_overdue": {
"title": "Is Overdue",
"type": "boolean"
},
"start_at": {
"format": "date-time",
"title": "Start At",
"type": "string"
},
"start_time": {
"format": "time",
"title": "Start Time",
"type": "string"
}
},
"required": [
"date",
"start_time",
"end_time",
"start_at",
"end_at",
"is_overdue"
],
"title": "PickerSlotSchema",
"type": "object"
}
PickerStoreSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
name |
string |
да |
|
{
"properties": {
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"id",
"name"
],
"title": "PickerStoreSchema",
"type": "object"
}
PickerUserSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
login |
string |
да |
|
full_name |
string |
да |
|
role |
string |
да |
|
status |
string |
да |
|
access_scope |
string |
да |
|
namespace |
string |
да |
|
store |
PickerStoreSchema / null |
нет |
|
stores |
массив<PickerStoreSchema> |
нет |
|
{
"properties": {
"access_scope": {
"title": "Access Scope",
"type": "string"
},
"full_name": {
"title": "Full Name",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"login": {
"title": "Login",
"type": "string"
},
"namespace": {
"title": "Namespace",
"type": "string"
},
"role": {
"title": "Role",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"store": {
"anyOf": [
{
"$ref": "#/components/schemas/PickerStoreSchema"
},
{
"type": "null"
}
]
},
"stores": {
"default": [],
"items": {
"$ref": "#/components/schemas/PickerStoreSchema"
},
"title": "Stores",
"type": "array"
}
},
"required": [
"id",
"login",
"full_name",
"role",
"status",
"access_scope",
"namespace"
],
"title": "PickerUserSchema",
"type": "object"
}
PickingActionOutput
| Поле |
Тип |
Обязательное |
Описание |
session |
PickingSessionSchema |
да |
|
status |
string |
да |
|
message |
string / null |
нет |
|
{
"properties": {
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Message"
},
"session": {
"$ref": "#/components/schemas/PickingSessionSchema"
},
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"session",
"status"
],
"title": "PickingActionOutput",
"type": "object"
}
PickingItemSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
name |
string |
да |
|
category |
string |
да |
|
image_asset |
string |
да |
|
image_url |
string / null |
нет |
|
barcode |
string |
да |
|
description |
string |
да |
|
price |
number / string |
да |
|
required_quantity |
number / string |
да |
|
confirmed_quantity |
number / string |
да |
|
unit |
string |
да |
|
kind |
string |
да |
|
plu_code |
string / null |
нет |
|
weight_tolerance_kg |
number / string / null |
нет |
|
min_quantity_kg |
number / string / null |
нет |
|
max_quantity_kg |
number / string / null |
нет |
|
state |
string |
да |
|
item_version |
integer |
да |
|
source |
string |
да |
|
replacement_options |
массив<ReplacementOptionSchema> |
да |
|
selected_replacement |
ReplacementOptionSchema / null |
нет |
|
missing_action |
string / null |
нет |
|
is_added |
boolean |
нет |
|
is_removed |
boolean |
нет |
|
resolution_type |
string / null |
нет |
|
{
"properties": {
"barcode": {
"title": "Barcode",
"type": "string"
},
"category": {
"title": "Category",
"type": "string"
},
"confirmed_quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Confirmed Quantity"
},
"description": {
"title": "Description",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"image_asset": {
"title": "Image Asset",
"type": "string"
},
"image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image Url"
},
"is_added": {
"default": false,
"title": "Is Added",
"type": "boolean"
},
"is_removed": {
"default": false,
"title": "Is Removed",
"type": "boolean"
},
"item_version": {
"title": "Item Version",
"type": "integer"
},
"kind": {
"title": "Kind",
"type": "string"
},
"max_quantity_kg": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Max Quantity Kg"
},
"min_quantity_kg": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Min Quantity Kg"
},
"missing_action": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Missing Action"
},
"name": {
"title": "Name",
"type": "string"
},
"plu_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Plu Code"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Price"
},
"replacement_options": {
"items": {
"$ref": "#/components/schemas/ReplacementOptionSchema"
},
"title": "Replacement Options",
"type": "array"
},
"required_quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Required Quantity"
},
"resolution_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resolution Type"
},
"selected_replacement": {
"anyOf": [
{
"$ref": "#/components/schemas/ReplacementOptionSchema"
},
{
"type": "null"
}
]
},
"source": {
"title": "Source",
"type": "string"
},
"state": {
"title": "State",
"type": "string"
},
"unit": {
"title": "Unit",
"type": "string"
},
"weight_tolerance_kg": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Weight Tolerance Kg"
}
},
"required": [
"id",
"name",
"category",
"image_asset",
"barcode",
"description",
"price",
"required_quantity",
"confirmed_quantity",
"unit",
"kind",
"state",
"item_version",
"source",
"replacement_options"
],
"title": "PickingItemSchema",
"type": "object"
}
PickingResultItemSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
group |
string |
да |
|
changes |
массив<string> |
да |
|
reason |
PickingResultReasonSchema / null |
нет |
|
original |
PickingResultPositionSchema / null |
нет |
|
final |
PickingResultPositionSchema / null |
нет |
|
{
"properties": {
"changes": {
"items": {
"type": "string"
},
"title": "Changes",
"type": "array"
},
"final": {
"anyOf": [
{
"$ref": "#/components/schemas/PickingResultPositionSchema"
},
{
"type": "null"
}
]
},
"group": {
"title": "Group",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"original": {
"anyOf": [
{
"$ref": "#/components/schemas/PickingResultPositionSchema"
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"$ref": "#/components/schemas/PickingResultReasonSchema"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"group",
"changes"
],
"title": "PickingResultItemSchema",
"type": "object"
}
PickingResultPositionSchema
| Поле |
Тип |
Обязательное |
Описание |
product_id |
string (uuid) / null |
нет |
|
unit_id |
string (uuid) / null |
нет |
|
name |
string |
да |
|
image |
string / null |
нет |
|
barcode |
string / null |
нет |
|
plu_code |
string / null |
нет |
|
unit |
string / null |
нет |
|
weight |
number / string / null |
нет |
|
quantity |
number / string |
да |
|
unit_price |
number / string |
да |
|
line_total |
number / string |
да |
|
{
"properties": {
"barcode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Barcode"
},
"image": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image"
},
"line_total": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Line Total"
},
"name": {
"title": "Name",
"type": "string"
},
"plu_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Plu Code"
},
"product_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Product Id"
},
"quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Quantity"
},
"unit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Unit"
},
"unit_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Unit Id"
},
"unit_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Unit Price"
},
"weight": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Weight"
}
},
"required": [
"name",
"quantity",
"unit_price",
"line_total"
],
"title": "PickingResultPositionSchema",
"type": "object"
}
PickingResultReasonSchema
| Поле |
Тип |
Обязательное |
Описание |
code |
string |
да |
|
display |
string |
да |
|
{
"properties": {
"code": {
"title": "Code",
"type": "string"
},
"display": {
"title": "Display",
"type": "string"
}
},
"required": [
"code",
"display"
],
"title": "PickingResultReasonSchema",
"type": "object"
}
PickingResultSchema
| Поле |
Тип |
Обязательное |
Описание |
state |
string |
да |
|
completed_at |
string (date-time) / null |
нет |
|
summary |
PickingResultSummarySchema |
да |
|
items |
массив<PickingResultItemSchema> |
да |
|
{
"properties": {
"completed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"items": {
"items": {
"$ref": "#/components/schemas/PickingResultItemSchema"
},
"title": "Items",
"type": "array"
},
"state": {
"title": "State",
"type": "string"
},
"summary": {
"$ref": "#/components/schemas/PickingResultSummarySchema"
}
},
"required": [
"state",
"summary",
"items"
],
"title": "PickingResultSchema",
"type": "object"
}
PickingResultSummarySchema
| Поле |
Тип |
Обязательное |
Описание |
removed |
integer |
да |
|
changed |
integer |
да |
|
unchanged |
integer |
да |
|
{
"properties": {
"changed": {
"title": "Changed",
"type": "integer"
},
"removed": {
"title": "Removed",
"type": "integer"
},
"unchanged": {
"title": "Unchanged",
"type": "integer"
}
},
"required": [
"removed",
"changed",
"unchanged"
],
"title": "PickingResultSummarySchema",
"type": "object"
}
PickingSessionSchema
| Поле |
Тип |
Обязательное |
Описание |
session_id |
integer |
да |
|
order_id |
string |
да |
|
order_number |
string |
да |
|
is_express |
boolean |
да |
|
current_item_index |
integer |
да |
|
is_locked |
boolean |
да |
|
is_cancelled |
boolean |
да |
|
is_completed |
boolean |
да |
|
session_status |
string |
да |
|
version |
integer |
да |
|
updated_at |
string (date-time) |
да |
|
closure_source |
string |
да |
|
cancellation_reason |
string / null |
нет |
|
absence_preference |
string |
да |
|
customer_comment |
string |
да |
|
customer_phone |
string |
да |
|
items |
массив<PickingItemSchema> |
да |
|
max_added_items |
integer |
да |
|
added_items_count |
integer |
да |
|
payment_summary |
PaymentSummarySchema |
да |
|
cancel_after_resolved_items |
integer / null |
нет |
|
store |
PickerStoreSchema |
да |
|
fulfillment_type |
string |
да |
|
slot |
PickerSlotSchema / null |
нет |
|
{
"properties": {
"absence_preference": {
"title": "Absence Preference",
"type": "string"
},
"added_items_count": {
"title": "Added Items Count",
"type": "integer"
},
"cancel_after_resolved_items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Cancel After Resolved Items"
},
"cancellation_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cancellation Reason"
},
"closure_source": {
"title": "Closure Source",
"type": "string"
},
"current_item_index": {
"title": "Current Item Index",
"type": "integer"
},
"customer_comment": {
"title": "Customer Comment",
"type": "string"
},
"customer_phone": {
"title": "Customer Phone",
"type": "string"
},
"fulfillment_type": {
"title": "Fulfillment Type",
"type": "string"
},
"is_cancelled": {
"title": "Is Cancelled",
"type": "boolean"
},
"is_completed": {
"title": "Is Completed",
"type": "boolean"
},
"is_express": {
"title": "Is Express",
"type": "boolean"
},
"is_locked": {
"title": "Is Locked",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PickingItemSchema"
},
"title": "Items",
"type": "array"
},
"max_added_items": {
"title": "Max Added Items",
"type": "integer"
},
"order_id": {
"title": "Order Id",
"type": "string"
},
"order_number": {
"title": "Order Number",
"type": "string"
},
"payment_summary": {
"$ref": "#/components/schemas/PaymentSummarySchema"
},
"session_id": {
"title": "Session Id",
"type": "integer"
},
"session_status": {
"title": "Session Status",
"type": "string"
},
"slot": {
"anyOf": [
{
"$ref": "#/components/schemas/PickerSlotSchema"
},
{
"type": "null"
}
]
},
"store": {
"$ref": "#/components/schemas/PickerStoreSchema"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
}
},
"required": [
"session_id",
"order_id",
"order_number",
"is_express",
"current_item_index",
"is_locked",
"is_cancelled",
"is_completed",
"session_status",
"version",
"updated_at",
"closure_source",
"absence_preference",
"customer_comment",
"customer_phone",
"items",
"max_added_items",
"added_items_count",
"payment_summary",
"store",
"fulfillment_type"
],
"title": "PickingSessionSchema",
"type": "object"
}
PickupInfoSchema
| Поле |
Тип |
Обязательное |
Описание |
date |
string (date) |
да |
|
start_time |
string (time) |
да |
|
end_time |
string (time) |
да |
|
{
"properties": {
"date": {
"format": "date",
"title": "Date",
"type": "string"
},
"end_time": {
"format": "time",
"title": "End Time",
"type": "string"
},
"start_time": {
"format": "time",
"title": "Start Time",
"type": "string"
}
},
"required": [
"date",
"start_time",
"end_time"
],
"title": "PickupInfoSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
slot_id |
string (uuid) |
да |
|
{
"properties": {
"slot_id": {
"format": "uuid",
"title": "Slot Id",
"type": "string"
}
},
"required": [
"slot_id"
],
"title": "PickupInput",
"type": "object"
}
PickupPreferenceOutput
| Поле |
Тип |
Обязательное |
Описание |
min_order_amount |
number / string |
да |
|
{
"properties": {
"min_order_amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Min Order Amount"
}
},
"required": [
"min_order_amount"
],
"title": "PickupPreferenceOutput",
"type": "object"
}
PickupSlotOutput
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
type |
integer |
да |
|
start_time |
string (time) |
да |
|
end_time |
string (time) |
да |
|
{
"properties": {
"end_time": {
"format": "time",
"title": "End Time",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"start_time": {
"format": "time",
"title": "Start Time",
"type": "string"
},
"type": {
"title": "Type",
"type": "integer"
}
},
"required": [
"id",
"type",
"start_time",
"end_time"
],
"title": "PickupSlotOutput",
"type": "object"
}
PickupStoreOutput
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
address |
string / null |
нет |
|
location |
LocationOutput |
да |
|
work_time |
string / null |
нет |
|
contacts |
массив<string> / null |
нет |
|
{
"properties": {
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Address"
},
"contacts": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Contacts"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"location": {
"$ref": "#/components/schemas/LocationOutput"
},
"name": {
"title": "Name",
"type": "string"
},
"work_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Work Time"
}
},
"required": [
"id",
"name",
"location"
],
"title": "PickupStoreOutput",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
quantity |
integer |
да |
Фактически собранное целое количество. |
{
"properties": {
"quantity": {
"description": "Фактически собранное целое количество.",
"examples": [
2
],
"minimum": 1,
"title": "Quantity",
"type": "integer"
}
},
"required": [
"quantity"
],
"title": "PieceQuantityInput",
"type": "object"
}
PolygonSchema
| Поле |
Тип |
Обязательное |
Описание |
type |
string |
да |
|
coordinates |
массив<произвольный JSON> |
да |
|
{
"properties": {
"coordinates": {
"items": {},
"title": "Coordinates",
"type": "array"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"type",
"coordinates"
],
"title": "PolygonSchema",
"type": "object"
}
ProductDetailSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
category_id |
string (uuid) / null |
нет |
|
category_uuid |
string (uuid) / null |
нет |
|
category_name |
string / null |
нет |
|
inventories |
массив<InventoryItemSchema> |
да |
|
image |
DetailImageSchema / null |
нет |
|
is_favorite |
boolean |
нет |
|
description |
string / null |
нет |
|
composition |
string / null |
нет |
|
manufacturer |
string / null |
нет |
|
made_country |
string / null |
нет |
|
brand |
string / null |
нет |
|
weight_based |
boolean |
нет |
|
weight |
number / string |
нет |
|
is_user_order_quantity_limit_enabled |
boolean |
нет |
|
user_order_quantity_limit |
number / string |
нет |
|
calories |
number / string / null |
нет |
|
protein |
number / string / null |
нет |
|
fats |
number / string / null |
нет |
|
carbohydrates |
number / string / null |
нет |
|
{
"properties": {
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"calories": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Calories"
},
"carbohydrates": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Carbohydrates"
},
"category_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Category Id"
},
"category_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category Name"
},
"category_uuid": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Category Uuid"
},
"composition": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Composition"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"fats": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fats"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"image": {
"anyOf": [
{
"$ref": "#/components/schemas/DetailImageSchema"
},
{
"type": "null"
}
]
},
"inventories": {
"items": {
"$ref": "#/components/schemas/InventoryItemSchema"
},
"title": "Inventories",
"type": "array"
},
"is_favorite": {
"default": false,
"title": "Is Favorite",
"type": "boolean"
},
"is_user_order_quantity_limit_enabled": {
"default": false,
"title": "Is User Order Quantity Limit Enabled",
"type": "boolean"
},
"made_country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Made Country"
},
"manufacturer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Manufacturer"
},
"name": {
"title": "Name",
"type": "string"
},
"protein": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Protein"
},
"user_order_quantity_limit": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"default": "0.000",
"title": "User Order Quantity Limit"
},
"weight": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"default": "0.000",
"title": "Weight"
},
"weight_based": {
"default": false,
"title": "Weight Based",
"type": "boolean"
}
},
"required": [
"id",
"name",
"inventories"
],
"title": "ProductDetailSchema",
"type": "object"
}
ProductListingSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
category_id |
string (uuid) / null |
нет |
|
category_uuid |
string (uuid) / null |
нет |
|
unit_id |
string (uuid) |
да |
|
stock |
number / string |
да |
|
user_order_quantity_limit |
number / string |
нет |
|
is_user_order_quantity_limit_enabled |
boolean |
нет |
|
unit_price |
number / string |
да |
|
old_price |
number / string / null |
нет |
|
discount_percent |
number / string / null |
нет |
|
image |
ListingImageSchema / null |
нет |
|
is_favorite |
boolean |
нет |
|
{
"properties": {
"category_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Category Id"
},
"category_uuid": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Category Uuid"
},
"discount_percent": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Discount Percent"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"image": {
"anyOf": [
{
"$ref": "#/components/schemas/ListingImageSchema"
},
{
"type": "null"
}
]
},
"is_favorite": {
"default": false,
"title": "Is Favorite",
"type": "boolean"
},
"is_user_order_quantity_limit_enabled": {
"default": false,
"title": "Is User Order Quantity Limit Enabled",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"old_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Old Price"
},
"stock": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Stock"
},
"unit_id": {
"format": "uuid",
"title": "Unit Id",
"type": "string"
},
"unit_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Unit Price"
},
"user_order_quantity_limit": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"default": "0.000",
"title": "User Order Quantity Limit"
}
},
"required": [
"id",
"name",
"unit_id",
"stock",
"unit_price"
],
"title": "ProductListingSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
first_name |
string / null |
нет |
|
last_name |
string / null |
нет |
|
patronymic |
string / null |
нет |
|
email |
string (email) / null |
нет |
|
birth_date |
string (date) / null |
нет |
|
gender |
Gender / null |
нет |
|
marital_status |
MaritalStatus / null |
нет |
|
{
"properties": {
"birth_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Birth Date"
},
"email": {
"anyOf": [
{
"format": "email",
"type": "string"
},
{
"type": "null"
}
],
"title": "Email"
},
"first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "First Name"
},
"gender": {
"anyOf": [
{
"$ref": "#/components/schemas/Gender"
},
{
"type": "null"
}
]
},
"last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Name"
},
"marital_status": {
"anyOf": [
{
"$ref": "#/components/schemas/MaritalStatus"
},
{
"type": "null"
}
]
},
"patronymic": {
"anyOf": [
{
"maxLength": 50,
"type": "string"
},
{
"type": "null"
}
],
"title": "Patronymic"
}
},
"title": "ProfileInputPatch",
"type": "object"
}
ProfileSchema
| Поле |
Тип |
Обязательное |
Описание |
phone |
string |
да |
|
first_name |
string |
нет |
|
last_name |
string |
нет |
|
patronymic |
string |
нет |
|
email |
string |
нет |
|
birth_date |
string (date) / null |
нет |
|
gender |
string / null |
нет |
|
marital_status |
string / null |
нет |
|
{
"properties": {
"birth_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Birth Date"
},
"email": {
"default": "",
"title": "Email",
"type": "string"
},
"first_name": {
"default": "",
"title": "First Name",
"type": "string"
},
"gender": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Gender"
},
"last_name": {
"default": "",
"title": "Last Name",
"type": "string"
},
"marital_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Marital Status"
},
"patronymic": {
"default": "",
"title": "Patronymic",
"type": "string"
},
"phone": {
"title": "Phone",
"type": "string"
}
},
"required": [
"phone"
],
"title": "ProfileSchema",
"type": "object"
}
PurchaseDetailSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
date |
string |
да |
|
shop_name |
string |
нет |
|
total |
string |
нет |
|
bonus_accrual |
string |
нет |
|
items_count |
integer |
нет |
|
positions |
массив<PurchasePositionSchema> |
нет |
|
discounts |
массив<PurchaseDiscountSchema> |
нет |
|
source |
string |
нет |
|
{
"properties": {
"bonus_accrual": {
"default": "0",
"title": "Bonus Accrual",
"type": "string"
},
"date": {
"title": "Date",
"type": "string"
},
"discounts": {
"items": {
"$ref": "#/components/schemas/PurchaseDiscountSchema"
},
"title": "Discounts",
"type": "array"
},
"id": {
"title": "Id",
"type": "string"
},
"items_count": {
"default": 0,
"title": "Items Count",
"type": "integer"
},
"positions": {
"items": {
"$ref": "#/components/schemas/PurchasePositionSchema"
},
"title": "Positions",
"type": "array"
},
"shop_name": {
"default": "",
"title": "Shop Name",
"type": "string"
},
"source": {
"default": "offline",
"title": "Source",
"type": "string"
},
"total": {
"default": "0",
"title": "Total",
"type": "string"
}
},
"required": [
"id",
"date"
],
"title": "PurchaseDetailSchema",
"type": "object"
}
PurchaseDiscountSchema
| Поле |
Тип |
Обязательное |
Описание |
name |
string |
нет |
|
amount |
string |
нет |
|
{
"properties": {
"amount": {
"default": "0",
"title": "Amount",
"type": "string"
},
"name": {
"default": "",
"title": "Name",
"type": "string"
}
},
"title": "PurchaseDiscountSchema",
"type": "object"
}
PurchasePositionSchema
| Поле |
Тип |
Обязательное |
Описание |
name |
string |
нет |
|
code |
string |
нет |
|
quantity |
integer |
нет |
|
price |
string |
нет |
|
amount |
string |
нет |
|
discount |
string |
нет |
|
{
"properties": {
"amount": {
"default": "0",
"title": "Amount",
"type": "string"
},
"code": {
"default": "",
"title": "Code",
"type": "string"
},
"discount": {
"default": "0",
"title": "Discount",
"type": "string"
},
"name": {
"default": "",
"title": "Name",
"type": "string"
},
"price": {
"default": "0",
"title": "Price",
"type": "string"
},
"quantity": {
"default": 1,
"title": "Quantity",
"type": "integer"
}
},
"title": "PurchasePositionSchema",
"type": "object"
}
PurchaseSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
date |
string |
да |
|
shop_name |
string |
нет |
|
total |
string |
нет |
|
bonus_accrual |
string |
нет |
|
items_count |
integer |
нет |
|
source |
string |
нет |
|
{
"properties": {
"bonus_accrual": {
"default": "0",
"title": "Bonus Accrual",
"type": "string"
},
"date": {
"title": "Date",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"items_count": {
"default": 0,
"title": "Items Count",
"type": "integer"
},
"shop_name": {
"default": "",
"title": "Shop Name",
"type": "string"
},
"source": {
"default": "offline",
"title": "Source",
"type": "string"
},
"total": {
"default": "0",
"title": "Total",
"type": "string"
}
},
"required": [
"id",
"date"
],
"title": "PurchaseSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
fcm_token |
string |
да |
|
device_id |
string (uuid) |
да |
|
platform |
"ios" / "android" |
да |
|
app_kind |
"customer" / "picker" |
нет |
|
environment |
"TEST" / "PRODUCTION" / null |
нет |
|
app_version |
string |
да |
|
build_number |
string |
да |
|
{
"properties": {
"app_kind": {
"default": "customer",
"enum": [
"customer",
"picker"
],
"title": "App Kind",
"type": "string"
},
"app_version": {
"maxLength": 64,
"minLength": 1,
"title": "App Version",
"type": "string"
},
"build_number": {
"maxLength": 64,
"minLength": 1,
"title": "Build Number",
"type": "string"
},
"device_id": {
"format": "uuid",
"title": "Device Id",
"type": "string"
},
"environment": {
"anyOf": [
{
"enum": [
"TEST",
"PRODUCTION"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Environment"
},
"fcm_token": {
"maxLength": 255,
"minLength": 3,
"title": "Fcm Token",
"type": "string"
},
"platform": {
"enum": [
"ios",
"android"
],
"title": "Platform",
"type": "string"
}
},
"required": [
"fcm_token",
"device_id",
"platform",
"app_version",
"build_number"
],
"title": "PushDeviceInput",
"type": "object"
}
PushDeviceSchema
| Поле |
Тип |
Обязательное |
Описание |
device_id |
string (uuid) |
да |
|
platform |
string |
да |
|
app_version |
string |
да |
|
build_number |
string |
да |
|
app_kind |
string |
да |
|
environment |
string |
да |
|
updated_at |
string (date-time) |
да |
|
{
"properties": {
"app_kind": {
"title": "App Kind",
"type": "string"
},
"app_version": {
"title": "App Version",
"type": "string"
},
"build_number": {
"title": "Build Number",
"type": "string"
},
"device_id": {
"format": "uuid",
"title": "Device Id",
"type": "string"
},
"environment": {
"title": "Environment",
"type": "string"
},
"platform": {
"title": "Platform",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"device_id",
"platform",
"app_version",
"build_number",
"app_kind",
"environment",
"updated_at"
],
"title": "PushDeviceSchema",
"type": "object"
}
QrcodeSchema
| Поле |
Тип |
Обязательное |
Описание |
original |
string |
да |
|
listing |
string |
да |
|
detail |
string |
да |
|
{
"properties": {
"detail": {
"title": "Detail",
"type": "string"
},
"listing": {
"title": "Listing",
"type": "string"
},
"original": {
"title": "Original",
"type": "string"
}
},
"required": [
"original",
"listing",
"detail"
],
"title": "QrcodeSchema",
"type": "object"
}
RecoveryTokenSchema
| Поле |
Тип |
Обязательное |
Описание |
phone |
string |
да |
|
token |
string |
да |
|
{
"properties": {
"phone": {
"title": "Phone",
"type": "string"
},
"token": {
"title": "Token",
"type": "string"
}
},
"required": [
"phone",
"token"
],
"title": "RecoveryTokenSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
reason |
string |
да |
found_in_store — товар найден после отсутствия; recheck — вернуть уже собранный товар на пересчёт. |
{
"properties": {
"reason": {
"description": "`found_in_store` — товар найден после отсутствия; `recheck` — вернуть уже собранный товар на пересчёт.",
"examples": [
"found_in_store",
"recheck"
],
"title": "Reason",
"type": "string"
}
},
"required": [
"reason"
],
"title": "ReopenItemInput",
"type": "object"
}
ReplacementOptionSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
string |
да |
|
name |
string |
да |
|
barcode |
string |
да |
|
description |
string |
да |
|
price |
number / string |
да |
|
{
"properties": {
"barcode": {
"title": "Barcode",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Price"
}
},
"required": [
"id",
"name",
"barcode",
"description",
"price"
],
"title": "ReplacementOptionSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
resolution |
string |
да |
Для удаления используется только значение remove. |
{
"properties": {
"resolution": {
"description": "Для удаления используется только значение `remove`.",
"examples": [
"remove"
],
"title": "Resolution",
"type": "string"
}
},
"required": [
"resolution"
],
"title": "ResolveClarificationInput",
"type": "object"
}
ReverseGeocodeOutput
| Поле |
Тип |
Обязательное |
Описание |
address |
AddressSuggestionOutput / null |
нет |
|
{
"properties": {
"address": {
"anyOf": [
{
"$ref": "#/components/schemas/AddressSuggestionOutput"
},
{
"type": "null"
}
]
}
},
"title": "ReverseGeocodeOutput",
"type": "object"
}
Schema
{
"properties": {},
"title": "Schema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
phone |
string |
да |
|
{
"properties": {
"phone": {
"maxLength": 15,
"minLength": 8,
"pattern": "^\\+[1-9][0-9]{7,14}$",
"title": "Phone",
"type": "string"
}
},
"required": [
"phone"
],
"title": "SendOTPInput",
"type": "object"
}
StandardDeliveryOutput
| Поле |
Тип |
Обязательное |
Описание |
free_amount_threshold |
number / string |
да |
|
{
"properties": {
"free_amount_threshold": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Free Amount Threshold"
}
},
"required": [
"free_amount_threshold"
],
"title": "StandardDeliveryOutput",
"type": "object"
}
StoreLocationOutput
| Поле |
Тип |
Обязательное |
Описание |
store |
StoreOutput |
да |
|
location |
LocationOutput |
да |
|
distance_km |
number |
да |
|
{
"properties": {
"distance_km": {
"title": "Distance Km",
"type": "number"
},
"location": {
"$ref": "#/components/schemas/LocationOutput"
},
"store": {
"$ref": "#/components/schemas/StoreOutput"
}
},
"required": [
"store",
"location",
"distance_km"
],
"title": "StoreLocationOutput",
"type": "object"
}
StoreOutput
| Поле |
Тип |
Обязательное |
Описание |
id |
string (uuid) |
да |
|
name |
string |
да |
|
address |
string / null |
нет |
|
location |
LocationOutput |
да |
|
{
"properties": {
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Address"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"location": {
"$ref": "#/components/schemas/LocationOutput"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"id",
"name",
"location"
],
"title": "StoreOutput",
"type": "object"
}
StoryItemSchema
| Поле |
Тип |
Обязательное |
Описание |
image |
string |
да |
|
type |
string |
да |
|
reference_id |
string / null |
нет |
|
{
"properties": {
"image": {
"title": "Image",
"type": "string"
},
"reference_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reference Id"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"image",
"type"
],
"title": "StoryItemSchema",
"type": "object"
}
StorySchema
| Поле |
Тип |
Обязательное |
Описание |
image |
string |
да |
|
created_at |
string (date-time) |
да |
|
items |
массив<StoryItemSchema> |
да |
|
{
"properties": {
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"image": {
"title": "Image",
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/StoryItemSchema"
},
"title": "Items",
"type": "array"
}
},
"required": [
"image",
"created_at",
"items"
],
"title": "StorySchema",
"type": "object"
}
SuccessResponse
| Поле |
Тип |
Обязательное |
Описание |
message |
string |
да |
|
data |
object / null |
нет |
|
{
"properties": {
"data": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Data"
},
"message": {
"title": "Message",
"type": "string"
}
},
"required": [
"message"
],
"title": "SuccessResponse",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
jivo_enabled_android |
boolean |
нет |
|
jivo_enabled_ios |
boolean |
нет |
|
jivo_channel_id |
string / null |
нет |
|
jivo_android_app_key |
string / null |
нет |
|
jivo_ios_app_key |
string / null |
нет |
|
support_phone |
string / null |
нет |
|
email |
string / null |
нет |
|
site |
string / null |
нет |
|
{
"properties": {
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Email"
},
"jivo_android_app_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Jivo Android App Key"
},
"jivo_channel_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Jivo Channel Id"
},
"jivo_enabled_android": {
"default": false,
"title": "Jivo Enabled Android",
"type": "boolean"
},
"jivo_enabled_ios": {
"default": false,
"title": "Jivo Enabled Ios",
"type": "boolean"
},
"jivo_ios_app_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Jivo Ios App Key"
},
"site": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site"
},
"support_phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Support Phone"
}
},
"title": "SupportContactSchema",
"type": "object"
}
TierSchema
| Поле |
Тип |
Обязательное |
Описание |
id |
integer / null |
нет |
|
label |
string |
да |
|
is_active |
boolean |
да |
|
order |
integer / null |
нет |
|
boundary |
string / null |
нет |
|
range_label |
string |
нет |
|
description |
string |
нет |
|
{
"properties": {
"boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Boundary"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Id"
},
"is_active": {
"title": "Is Active",
"type": "boolean"
},
"label": {
"title": "Label",
"type": "string"
},
"order": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Order"
},
"range_label": {
"default": "",
"title": "Range Label",
"type": "string"
}
},
"required": [
"label",
"is_active"
],
"title": "TierSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
password |
string |
да |
|
phone |
string |
да |
|
{
"additionalProperties": false,
"properties": {
"password": {
"maxLength": 128,
"title": "Пароль",
"type": "string"
},
"phone": {
"maxLength": 15,
"title": "Телефон",
"type": "string"
}
},
"required": [
"password",
"phone"
],
"title": "TokenObtainPairInputSchema",
"type": "object"
}
TokenObtainPairOutputSchema
| Поле |
Тип |
Обязательное |
Описание |
phone |
string |
да |
|
refresh |
string |
да |
|
access |
string |
да |
|
{
"properties": {
"access": {
"title": "Access",
"type": "string"
},
"phone": {
"maxLength": 15,
"title": "Телефон",
"type": "string"
},
"refresh": {
"title": "Refresh",
"type": "string"
}
},
"required": [
"phone",
"refresh",
"access"
],
"title": "TokenObtainPairOutputSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
refresh |
string |
да |
|
{
"properties": {
"refresh": {
"title": "Refresh",
"type": "string"
}
},
"required": [
"refresh"
],
"title": "TokenRefreshInputSchema",
"type": "object"
}
TokenRefreshOutputSchema
| Поле |
Тип |
Обязательное |
Описание |
refresh |
string |
да |
|
access |
string / null |
да |
|
{
"properties": {
"access": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Access"
},
"refresh": {
"title": "Refresh",
"type": "string"
}
},
"required": [
"refresh",
"access"
],
"title": "TokenRefreshOutputSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
token |
string |
да |
|
{
"properties": {
"token": {
"title": "Token",
"type": "string"
}
},
"required": [
"token"
],
"title": "TokenVerifyInputSchema",
"type": "object"
}
TransactionSchema
| Поле |
Тип |
Обязательное |
Описание |
action |
string |
да |
|
before |
number / string |
да |
|
amount |
number / string |
да |
|
after |
number / string |
да |
|
time |
string (date-time) |
да |
|
reason |
string / null |
нет |
|
{
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"after": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "After"
},
"amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Amount"
},
"before": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Before"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
},
"time": {
"format": "date-time",
"title": "Time",
"type": "string"
}
},
"required": [
"action",
"before",
"amount",
"after",
"time"
],
"title": "TransactionSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
address |
string |
да |
|
location |
LocationInput |
да |
|
apartment_number |
string / null |
нет |
|
entrance |
string / null |
нет |
|
floor |
string / null |
нет |
|
intercom |
string / null |
нет |
|
landmark |
string / null |
нет |
|
{
"properties": {
"address": {
"title": "Address",
"type": "string"
},
"apartment_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Apartment Number"
},
"entrance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entrance"
},
"floor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Floor"
},
"intercom": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Intercom"
},
"landmark": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Landmark"
},
"location": {
"$ref": "#/components/schemas/LocationInput"
}
},
"required": [
"address",
"location"
],
"title": "UserAddressInput",
"type": "object"
}
UserPreferences
| Поле |
Тип |
Обязательное |
Описание |
receive_mail |
boolean |
нет |
|
receive_sms |
boolean |
нет |
|
{
"properties": {
"receive_mail": {
"default": false,
"title": "Receive Mail",
"type": "boolean"
},
"receive_sms": {
"default": false,
"title": "Receive Sms",
"type": "boolean"
}
},
"title": "UserPreferences",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
receive_mail |
boolean / null |
нет |
|
receive_sms |
boolean / null |
нет |
|
fcm_token |
string / null |
нет |
|
{
"properties": {
"fcm_token": {
"anyOf": [
{
"minLength": 3,
"type": "string"
},
{
"type": "null"
}
],
"title": "Fcm Token"
},
"receive_mail": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Receive Mail"
},
"receive_sms": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Receive Sms"
}
},
"title": "UserPreferencesInputPatch",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
phone |
string |
да |
|
otp |
string |
да |
|
{
"properties": {
"otp": {
"title": "Otp",
"type": "string"
},
"phone": {
"maxLength": 15,
"minLength": 8,
"pattern": "^\\+[1-9][0-9]{7,14}$",
"title": "Phone",
"type": "string"
}
},
"required": [
"phone",
"otp"
],
"title": "VerifyOTPInput",
"type": "object"
}
VerifyOTPOutput
| Поле |
Тип |
Обязательное |
Описание |
phone |
string |
да |
|
is_new_user |
boolean |
да |
|
{
"properties": {
"is_new_user": {
"title": "Is New User",
"type": "boolean"
},
"phone": {
"title": "Phone",
"type": "string"
}
},
"required": [
"phone",
"is_new_user"
],
"title": "VerifyOTPOutput",
"type": "object"
}
WalletLinkPreviewSchema
| Поле |
Тип |
Обязательное |
Описание |
card_number_digits |
string |
нет |
|
card_number |
string |
нет |
|
status |
string |
нет |
|
bonus_points |
integer |
нет |
|
{
"properties": {
"bonus_points": {
"default": 0,
"title": "Bonus Points",
"type": "integer"
},
"card_number": {
"default": "",
"title": "Card Number",
"type": "string"
},
"card_number_digits": {
"default": "",
"title": "Card Number Digits",
"type": "string"
},
"status": {
"default": "",
"title": "Status",
"type": "string"
}
},
"title": "WalletLinkPreviewSchema",
"type": "object"
}
WalletManagementSchema
| Поле |
Тип |
Обязательное |
Описание |
is_blocked |
boolean |
нет |
|
status_label |
string |
нет |
|
blocked_reason |
string |
нет |
|
active_account_id |
string |
нет |
|
accounts |
массив<AccountSchema> |
нет |
|
cards |
массив<CardSchema> |
нет |
|
{
"properties": {
"accounts": {
"items": {
"$ref": "#/components/schemas/AccountSchema"
},
"title": "Accounts",
"type": "array"
},
"active_account_id": {
"default": "",
"title": "Active Account Id",
"type": "string"
},
"blocked_reason": {
"default": "",
"title": "Blocked Reason",
"type": "string"
},
"cards": {
"items": {
"$ref": "#/components/schemas/CardSchema"
},
"title": "Cards",
"type": "array"
},
"is_blocked": {
"default": false,
"title": "Is Blocked",
"type": "boolean"
},
"status_label": {
"default": "",
"title": "Status Label",
"type": "string"
}
},
"title": "WalletManagementSchema",
"type": "object"
}
WalletSchema
| Поле |
Тип |
Обязательное |
Описание |
amount |
number / string |
да |
|
points_balance |
string |
нет |
|
card_number |
string / null |
нет |
|
qrcode |
QrcodeSchema / null |
нет |
|
status |
string |
нет |
|
synced_at |
string (date-time) / null |
нет |
|
last_error |
string / null |
нет |
|
loyalty_status |
LoyaltyStatusSchema / null |
нет |
|
management |
WalletManagementSchema / null |
нет |
|
{
"properties": {
"amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"title": "Amount"
},
"card_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Card Number"
},
"last_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Error"
},
"loyalty_status": {
"anyOf": [
{
"$ref": "#/components/schemas/LoyaltyStatusSchema"
},
{
"type": "null"
}
]
},
"management": {
"anyOf": [
{
"$ref": "#/components/schemas/WalletManagementSchema"
},
{
"type": "null"
}
]
},
"points_balance": {
"default": "0",
"title": "Points Balance",
"type": "string"
},
"qrcode": {
"anyOf": [
{
"$ref": "#/components/schemas/QrcodeSchema"
},
{
"type": "null"
}
]
},
"status": {
"default": "pending",
"title": "Status",
"type": "string"
},
"synced_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Synced At"
}
},
"required": [
"amount"
],
"title": "WalletSchema",
"type": "object"
}
WalletWrapperSchema
Wraps wallet in {"wallet": {...}} as mobile expects for mutations.
| Поле |
Тип |
Обязательное |
Описание |
wallet |
WalletSchema |
да |
|
{
"description": "Wraps wallet in {\"wallet\": {...}} as mobile expects for mutations.",
"properties": {
"wallet": {
"$ref": "#/components/schemas/WalletSchema"
}
},
"required": [
"wallet"
],
"title": "WalletWrapperSchema",
"type": "object"
}
| Поле |
Тип |
Обязательное |
Описание |
quantity_kg |
number / string |
да |
Фактический вес в килограммах, максимум три знака после запятой. |
{
"properties": {
"quantity_kg": {
"anyOf": [
{
"exclusiveMinimum": 0.0,
"type": "number"
},
{
"type": "string"
}
],
"description": "Фактический вес в килограммах, максимум три знака после запятой.",
"examples": [
"1.250"
],
"title": "Quantity Kg"
}
},
"required": [
"quantity_kg"
],
"title": "WeightInput",
"type": "object"
}