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 на клиента. Разделяйте большие каталоги на пакеты. Остаток не может быть ниже резерва.