Справочник 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>

GET /api/catalog/groups/categories/menu

Авторизация: Без обязательного 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>

GET /api/core/support-contact/

Авторизация: Без обязательного 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

GET /api/picker/realtime/metadata

Авторизация: 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"
}

AccountSwitchInput

Поле Тип Обязательное Описание
account_id string да
{
  "properties": {
    "account_id": {
      "title": "Account Id",
      "type": "string"
    }
  },
  "required": [
    "account_id"
  ],
  "title": "AccountSwitchInput",
  "type": "object"
}

AdditionalItemInput

Поле Тип Обязательное Описание
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"
}

AvailabilityItemInput

Поле Тип Обязательное Описание
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"
}

BarcodeInput

Поле Тип Обязательное Описание
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"
}

CancelPickingInput

Поле Тип Обязательное Описание
reason string / null нет
{
  "properties": {
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason"
    }
  },
  "title": "CancelPickingInput",
  "type": "object"
}

CardBlockInput

Поле Тип Обязательное Описание
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"
}

CardLinkInput

Поле Тип Обязательное Описание
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"
}

CardUnblockInput

Поле Тип Обязательное Описание
card_id string / null нет
{
  "properties": {
    "card_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Card Id"
    }
  },
  "title": "CardUnblockInput",
  "type": "object"
}

CategoryMenuSchema

Поле Тип Обязательное Описание
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"
}

CheckLocationItemInput

Поле Тип Обязательное Описание
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"
}

ConfirmClarificationInput

Поле Тип Обязательное Описание
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"
}

ConfirmOTPInput

Поле Тип Обязательное Описание
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"
}

DeliveryInput

Поле Тип Обязательное Описание
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"
}

DeliveryPriceEstimateInput

Поле Тип Обязательное Описание
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"
}

DiscountPreviewInput

Поле Тип Обязательное Описание
items массив<DiscountPreviewItemInput> да
{
  "properties": {
    "items": {
      "items": {
        "$ref": "#/components/schemas/DiscountPreviewItemInput"
      },
      "title": "Items",
      "type": "array"
    }
  },
  "required": [
    "items"
  ],
  "title": "DiscountPreviewInput",
  "type": "object"
}

DiscountPreviewItemInput

Поле Тип Обязательное Описание
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"
}

FavoriteProductsCheckInput

Поле Тип Обязательное Описание
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"
}

LocationInput

Поле Тип Обязательное Описание
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"
}

ManualPickInput

Поле Тип Обязательное Описание
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"
}

MissingInput

Поле Тип Обязательное Описание
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"
}

MobileVersionInput

Поле Тип Обязательное Описание
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"
}

OrderInput

Поле Тип Обязательное Описание
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"
}

OrderItemInput

Поле Тип Обязательное Описание
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"
}

PageResponse

Поле Тип Обязательное Описание
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"
}

PasswordUpdateInput

Поле Тип Обязательное Описание
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"
}

PickerLoginInput

Поле Тип Обязательное Описание
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"
}

PickerRealtimeMetadataSchema

Поле Тип Обязательное Описание
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"
}

PickerRefreshInput

Поле Тип Обязательное Описание
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"
}

PickupInput

Поле Тип Обязательное Описание
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"
}

PieceQuantityInput

Поле Тип Обязательное Описание
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"
}

ProfileInputPatch

Поле Тип Обязательное Описание
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"
}

PushDeviceInput

Поле Тип Обязательное Описание
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"
}

ReopenItemInput

Поле Тип Обязательное Описание
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"
}

ResolveClarificationInput

Поле Тип Обязательное Описание
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"
}

SendOTPInput

Поле Тип Обязательное Описание
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"
}

SupportContactSchema

Поле Тип Обязательное Описание
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"
}

TokenObtainPairInputSchema

Поле Тип Обязательное Описание
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"
}

TokenRefreshInputSchema

Поле Тип Обязательное Описание
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"
}

TokenVerifyInputSchema

Поле Тип Обязательное Описание
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"
}

UserAddressInput

Поле Тип Обязательное Описание
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"
}

UserPreferencesInputPatch

Поле Тип Обязательное Описание
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"
}

VerifyOTPInput

Поле Тип Обязательное Описание
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"
}

WeightInput

Поле Тип Обязательное Описание
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"
}