Склады и магазины
API складов rw_warehouses и магазинов rw_shops.
Список складов. Нужен warehouses.view.
| Exact/in | wh_id, wh_status, wh_domain_id, wh_user_id, wh_country_id, wh_ff_id, wh_company_id, wh_billing_id, wh_type, wh_currency_id, wh_parent_id. |
|---|---|
| LIKE | wh_name, wh_doc_num, wh_doc_date. |
| Сортировка | sort=-wh_id,wh_name. |
| Пагинация | per_page максимум 500, по умолчанию 250. |
Один склад с учетом access scope. Для пользователей, у которых скрыты суммы биллинга, поля wh_billing_cost, wh_billing_received, wh_billing_sum скрываются.
Создание склада. Нужен warehouses.create; legacy-доступ также разрешен ролям admin, warehouse_manager и clients. По умолчанию создается клиентский склад wh_type=2.
{
"wh_name": "Client warehouse Sofia",
"wh_ff_id": 1,
"wh_user_id": 55,
"wh_status": 1,
"wh_country_id": 100,
"wh_company_id": 44,
"wh_billing_id": 7,
"wh_currency_id": 3,
"wh_set_expiration_date": 1,
"wh_set_batch": 1,
"wh_custom_json": {
"delivery": {
"cdek": {
"shipment_point": "MSK1",
"sender_city": "Москва",
"sender_address": "ул. Ленина 1",
"sender_company": "ООО Ромашка",
"sender_name": "Иван Иванов",
"sender_phone": "+79990000000",
"sender_email": "sender@example.com"
}
},
"contractUuid": "CDEK-CONTRACT-0000000001",
"sla": 95
}
}
Для клиентского склада wh_ff_id должен ссылаться на FF-склад wh_type=1 в том же домене.
- Если
wh_user_idне передан, владельцем склада становится текущий пользователь. adminиwarehouse_managerмогут передатьwh_user_idпользователя из того же домена.- Клиент может создать только клиентский склад
wh_type=2; если передаетwh_user_id, значение должно быть его ID или ID родительского аккаунта.
Обновление склада. Нужен warehouses.update.
- Запрещено менять
wh_id,wh_domain_id,wh_type. wh_user_idможет менять толькоadmin,warehouse_managerили пользователь с расширенным доступом на изменение владельца склада; новый владелец должен быть в том же домене.- Обычный update разрешен только для клиентских складов
wh_type=2. - Специальный клиентский сценарий: можно обновить только
wh_custom_json.pvz_code. wh_custom_jsonmerge-ится с существующим JSON, а не заменяет все поле.
Вкладка Доставки у FF-склада хранит дефолтные настройки отправителя
для СДЭК в wh_custom_json.delivery.cdek: shipment_point,
sender_city, sender_address и контактные поля отправителя.
При выгрузке заказа CDEK сначала использует значения из интеграции, а если они пустые,
берет значения из FF-склада заказа.
Данные FF-склада. Нужен warehouses.view.
{
"data": {
"id": 1,
"name": "Fulfilment warehouse Varna",
"domain_id": 10,
"country_id": 100,
"address": null,
"phone": null
}
}
Список клиентских складов, связанных с FF-складом через wh_ff_id.
Список магазинов. Нужен shops.view.
| Exact/in | sh_id, sh_domain_id, sh_user_id. |
|---|---|
| LIKE | sh_name. |
| Сортировка | sh_id, sh_name, sh_user_id, sh_domain_id, created_at. |
| Пагинация | per_page максимум 500. |
Один магазин с учетом доступа по домену и клиентскому владельцу.
Создает магазин. Нужен shops.create. Домен всегда берется у текущего пользователя.
{
"sh_name": "Ozon Shop",
"sh_user_id": 55
}
Не-global пользователь может создать магазин только на себя.
Обновляет магазин. Нужен shops.update. sh_id и sh_domain_id запрещены. sh_user_id может менять только global scope.