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

Приемки

API входящих накладных rw_acceptances и строк товаров rw_acceptance_offers.

GET/api/acceptances

Постраничный список приемок. Нужен acceptances.view.

Exact/inacc_id, acc_status, acc_wh_id, acc_shop_id, acc_type.
acc_ext_idОдиночное значение ищется через LIKE; массив работает как exact whereIn.
Диапазоныacc_date_from/to, created_at_from/to.
Сортировкаsort=-acc_date,acc_id. Разрешены acc_id, acc_date, created_at, acc_ext_id.
Пагинацияper_page максимум 250.
POST/api/acceptances

Создает приемку, опционально со строками товаров. Нужен acceptances.create. Начальный статус: acc_status=1.

{
  "acc_wh_id": 3,
  "acc_shop_id": 12,
  "acc_type": 1,
  "acc_ext_id": "ACC-1234",
  "acc_comment": "Inbound from ACME",
  "offers": [
    {
      "ao_offer_id": 77,
      "ao_expected": 10,
      "ao_price": 4.99,
      "ao_batch": "LOT-2025-11",
      "ao_expiration_date": "2026-03-31",
      "ao_barcode": "4601234567890"
    },
    {
      "ao_offer_ext_id": "EXT-77",
      "ao_expected": 5
    }
  ]
}

Для каждой строки нужен ao_offer_id или ao_offer_ext_id. Если ao_barcode не передан, система пробует взять основной штрихкод товара.

GET/api/acceptances/{id}

Одна приемка с типом, статусом, складом, пользователем и строками. В строках добавляются computed поля:

  • ao_accepted - сумма принятого товара из whc_wh_items;
  • ao_placed - сумма товара, размещенного на местах;
  • ao_barcodes - список штрихкодов по документу.
PUT/api/acceptances/{id}

Редактирует заголовок приемки, upsert строк и удаление строк в одном запросе. Нужен acceptances.update. Приемка должна быть в статусе acc_status=1.

{
  "acc_date": "2026-02-15",
  "acc_ext_id": "ACC-1234-UPDATED",
  "acc_comment": "Adjusted note",
  "offers": [
    {
      "ao_id": 555,
      "ao_expected": 12,
      "ao_barcode": "4601234567890"
    },
    {
      "ao_offer_ext_id": "EXT-99",
      "ao_expected": 3
    }
  ],
  "offers_delete": [111, 112]
}
DELETE/api/acceptances/{id}

Удаляет пустую приемку. Нужен acceptances.delete; legacy delete разрешен admin/warehouse_manager. Если в приемке есть строки или движения whc_wh_items, удаление запрещено.

GET/api/acceptances/{id}/offers

Список строк приемки. Нужен acceptances.view.

Фильтрыao_id, ao_offer_id, ao_barcode, ao_batch, ao_expiration_from/to.
Сортировкаao_id, ao_offer_id, ao_expected, ao_price, ao_batch, ao_expiration_date, created_at.
Пагинацияper_page максимум 500.
POST/api/acceptances/{id}/offers

Добавляет строки в приемку. Нужен acceptances.update, статус приемки должен быть 1.

[
  {
    "ao_offer_id": 77,
    "ao_expected": 10,
    "ao_price": 4.99,
    "ao_barcode": "4601234567890"
  }
]
PUT/api/acceptances/{acceptance_id}/offers/{offer_id}

Обновляет строку приемки. offer_id здесь это rw_acceptance_offers.ao_id.

{
  "ao_expected": 12,
  "ao_price": 5.10,
  "ao_batch": "LOT-2",
  "ao_expiration_date": "2026-03-31",
  "ao_barcode": "4601234567890"
}
DELETE/api/acceptances/{acceptance_id}/offers/{offer_id}

Удаляет строку приемки и связанные warehouse item rows. Разрешено только для приемок со статусом не выше 2.