API V1 Legacy
Эта страница относится только к старому совместимому контракту /api/*. Новый API v2 находится в отдельной ветке сайта.

Склады и магазины

API складов rw_warehouses и магазинов rw_shops.

GET/api/warehouses

Список складов. Нужен warehouses.view.

Exact/inwh_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.
LIKEwh_name, wh_doc_num, wh_doc_date.
Сортировкаsort=-wh_id,wh_name.
Пагинацияper_page максимум 500, по умолчанию 250.
GET/api/warehouses/{id}

Один склад с учетом access scope. Для пользователей, у которых скрыты суммы биллинга, поля wh_billing_cost, wh_billing_received, wh_billing_sum скрываются.

POST/api/warehouses

Создание склада. Нужен 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 родительского аккаунта.
PUT/api/warehouses/{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_json merge-ится с существующим JSON, а не заменяет все поле.
ЛК/admin/warehouses/wh/{id}/edit/delivery

Вкладка Доставки у FF-склада хранит дефолтные настройки отправителя для СДЭК в wh_custom_json.delivery.cdek: shipment_point, sender_city, sender_address и контактные поля отправителя. При выгрузке заказа CDEK сначала использует значения из интеграции, а если они пустые, берет значения из FF-склада заказа.

GET/api/warehouses/fulfillment/warehouses/{ffWarehouseId}

Данные FF-склада. Нужен warehouses.view.

{
  "data": {
    "id": 1,
    "name": "Fulfilment warehouse Varna",
    "domain_id": 10,
    "country_id": 100,
    "address": null,
    "phone": null
  }
}
GET/api/warehouses/fulfillment/warehouses/{ffWarehouseId}/client-warehouses

Список клиентских складов, связанных с FF-складом через wh_ff_id.

GET/api/shops

Список магазинов. Нужен shops.view.

Exact/insh_id, sh_domain_id, sh_user_id.
LIKEsh_name.
Сортировкаsh_id, sh_name, sh_user_id, sh_domain_id, created_at.
Пагинацияper_page максимум 500.
GET/api/shops/{id}

Один магазин с учетом доступа по домену и клиентскому владельцу.

POST/api/shops

Создает магазин. Нужен shops.create. Домен всегда берется у текущего пользователя.

{
  "sh_name": "Ozon Shop",
  "sh_user_id": 55
}

Не-global пользователь может создать магазин только на себя.

PUT/api/shops/{id}

Обновляет магазин. Нужен shops.update. sh_id и sh_domain_id запрещены. sh_user_id может менять только global scope.