API ProHub

Товары, цены и остатки — в ProHub. Заказы — в вашу систему.

Подключение

Создайте ключ в кабинете. Передавайте его в заголовке Authorization: Bearer YOUR_API_KEY. Запросы — только по HTTPS.

Передача каталога

POST /api/v1/products/
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
Idempotency-Key: catalog-2026-10-08-001

{
  "items": [{
    "sku": "SHIRT-M",
    "name": "Рубашка",
    "product_code": "SHIRT",
    "price": "12000.00",
    "stock": "15.000",
    "warehouse": "MAIN",
    "warehouse_name": "Основной склад",
    "attributes": {"цвет": "белый", "размер": "M"}
  }]
}

Обязательны sku, name, price, stock. Повторный SKU обновляет данные. Для нескольких складов передавайте отдельную строку на каждый склад. Новый склад создаётся автоматически. Варианты объединяются по product_code.

{"request_id":"…","status":"success","rows":1,
 "created":1,"updated":0,"replayed":false}

Склады

POST /api/v1/warehouses/
{"items":[{"code":"ALMATY","name":"Алматы"}]}

Получение данных

ЗапросДанные
GET /api/v1/products/Товары, цены, остатки и резервы по складам
GET /api/v1/warehouses/Склады
GET /api/v1/orders/Заказы и позиции
GET /api/v1/returns/Возвраты, позиции и статусы площадки
GET /api/v1/connections/Ваши подключения без ключей площадок
GET /api/v1/syncs/Результаты передачи данных

Постраничное чтение: ?limit=50&offset=0. Ответ содержит items, total и next_offset. Для следующей страницы передайте next_offset как offset; null означает конец. Товары можно искать через q.

Для заказов и возвратов можно передать updated_since — дату ISO 8601 с часовым поясом. Сохраняйте данные по паре connection_id + external_id. В заказах Halyk состав пока не загружается: items_complete=false.

Сопоставление товаров площадки

GET /api/v1/connections/123/listings/
POST /api/v1/connections/123/listings/
{
  "items": [{
    "sku": "SHIRT-M",
    "external_sku": "SHIRT-M",
    "external_id": "103403297",
    "brand": "Your brand",
    "sync_mode": "auto",
    "active": true
  }]
}

123 — ID вашего подключения. Обновление по SKU, весь пакет атомарный. Режим auto/api/xml используется для Kaspi; его артикул — до 20 символов. Ключи площадок и соответствия складов задаются владельцем в кабинете.

Учётные системы и 1С

Ключ обмена создаётся в настройках УТ или Розницы и связан с одной базой. Каталог передаётся через этот API с source_id, reserved и заголовком X-ProHub-Snapshot-At. В очередь документов добавлены handshake, outbox и ack. Постоянный event_id связывает документ 1С с источником; revision защищает от устаревшего подтверждения. Сервер обмена готов, модуль создаётся под редакцию конфигурации.

Повторные запросы и ошибки

Idempotency-Key защищает пакеты каталога и складов от повторной обработки. Для сопоставлений используется upsert по SKU. Повтор с тем же ключом и тем же JSON вернёт прежний результат; другой JSON — 409. Ошибка в строке отклоняет весь пакет и возвращает 422. Исправленный пакет отправляйте с новым ключом.

401 — нет действующего ключа. 403 — запрещена запись. 429 — лимит запросов, повторите через Retry-After. Результат передачи виден в кабинете → Синхронизации.

Объём данных

Каталог безлимитный. Один пакет — до 1 000 строк и 2 МБ. Чтение — 120 запросов в минуту, запись — 20 на клиента. Разделяйте большие каталоги на пакеты. Остаток не может быть ниже резерва.

Скачать OpenAPI 3.1 →