Ваш сайт или учётная система сами забирают каталог ÖRNE с вашими ценами, остатками и категориями - без выгрузок вручную.
| Адрес API | https://api.orne.kz/v1 |
| Ключ | В заголовке Authorization: Bearer orn_.... Выпускается в кабинете партнёра, раздел «API-ключи». API доступен партнёрам уровней Silver и Gold. |
| Лимит | 60 запросов в минуту на ключ. Сверх лимита - ответ 429 и заголовок Retry-After с паузой в секундах |
| Формат | JSON в UTF-8. Суммы - в тенге целыми числами, время - ISO 8601 с поясом Астаны |
| Описание для разработчика | https://api.orne.kz/v1/openapi.yaml
Файл OpenAPI открывается в Postman и генераторах клиентов |
curl "https://api.orne.kz/v1/products?per_page=50" \ -H "Authorization: Bearer orn_ваш_ключ"
Все ответы - только по вашему ассортименту и с вашими ценами: ключ определяет партнёра. Чужие объекты не видны - ответ 404.
/products
Товары: название, описание, категория, бренд, материал, наличие и остаток, минимальный тираж, ступени цен по вашему уровню, методы нанесения, цвета с остатками и фото, адрес карточки на сайте ÖRNE (canonical_url).
Параметры: page, per_page (до 100, по умолчанию 50), updated_since, category - код из /categories.
/products/{sku}
Один товар по артикулу - те же поля, что в списке.
/stock
Только остатки по цветам: артикул цвета, свободное количество (за вычетом резервов), наличие, дата поступления. Лёгкий ответ для частого опроса.
Параметры: page, per_page, updated_since.
/prices
Только цены: ступени тиража по вашему уровню, признак персональной цены, действующая акция (цена, срок, остаток квоты), версия прайс-листа.
Параметры: page, per_page, updated_since.
/categories
Дерево категорий вашего ассортимента с количеством товаров - для построения каталога на своей стороне.
/orders
Оформить заказ из своей системы - право ключа «Создание заказов». Позиции: артикул товара или цвета, тираж, нанесение (prints[].method, size); доставка pickup, courier или shipping; комментарий и ваш номер заказа external_ref. Цены - ваши, как в /prices.
Заголовок Idempotency-Key защищает от дублей: повтор запроса с тем же ключом вернёт уже созданный заказ.
/orders/{id}
Этап заказа, оплата, позиции и история этапов по номеру ORN-... . Только ваши заказы.
/reserves
Зарезервировать товар без заказа - право «Резервы склада». Позиции: артикул цвета из /stock и количество, не больше свободного остатка. Срок резерва - по вашему уровню, резерв виден в кабинете и снимается сам.
Первый раз заберите все страницы /products. Дальше передавайте updated_since - время прошлой синхронизации, и придёт только изменённое:
/products и /stock - товары и цвета, у которых менялись данные или остаток;/prices - товары, у которых менялись ступени цен, акции или ваши персональные цены; если ÖRNE включил новый прайс-лист - все позиции;/prices целиком.curl "https://api.orne.kz/v1/stock?updated_since=2026-10-07T12:00:00%2B05:00&per_page=100" \ -H "Authorization: Bearer orn_ваш_ключ"
В ответе списков есть meta: номер страницы, размер и общее количество - по нему видно, сколько страниц забирать.
GET /api/v1/products/ORN-0026 - пример, цены розничные; у партнёра - по его уровню { "data": { "sku": "ORN-0026", "name": "Худи Oversize 340 г/м²", "category": "Одежда / Худи и свитшоты", "brand": null, "availability": "in_stock", "stock": 340, "min_qty": 10, "negotiable_from": 200, "tiers": [ { "min": 10, "max": 30, "price": 17200 }, { "min": 31, "max": 99, "price": 14620 }, { "min": 100, "max": null, "price": 12900 } ], "print_methods": ["dtf", "emb", "silk"], "variants": [ { "sku": "ORN-0026-01", "color_name": "Чёрный", "color_hex": "#231F20", "stock": 340, "images": [...] } ], "images": ["https://orne.kz/storage/..."], "canonical_url": "https://orne.kz/product/hudi-oversize-340-gm2", "updated_at": "2026-10-07T12:00:00+05:00" } }
Цена ступени - за штуку без нанесения, на нижней границе ступени. Её считает тот же расчёт, что цены на сайте, в вашем кабинете и КП: ваш уровень, скидка по категории, персональные цены и акции, минимальная цена товара. Нанесение зависит от метода, размера и тиража - его стоимость покажут корзина и КП.
Товары с ценой «по запросу» приходят с пустым списком tiers - цену уточнит менеджер.
| Код | Что значит | Что делать |
|---|---|---|
| 200 | Успешно | - |
| 401 | Ключ не передан, неверный или отозван | Проверьте заголовок и статус ключа в кабинете |
| 403 | У ключа нет права или уровень без доступа к API | Текст причины - в ответе |
| 404 | Товар не найден или не входит в ваш ассортимент | Проверьте артикул |
| 422 | Неверные параметры запроса | Поля и причины - в error.fields |
| 429 | Превышен лимит запросов | Повторите через Retry-After секунд |
Ошибка всегда в одном формате:
{
"error": {
"code": "validation_failed",
"message": "Проверьте поля запроса",
"fields": { "per_page": "Не больше 100 на страницу" }
}
}Каждый запрос записывается в журнал - его видно в кабинете, раздел «API-ключи»: время, метод, ответ и время ответа. Если что-то не сходится, по журналу быстро найдём причину.
Вместо частого опроса подпишите свой адрес на события в кабинете, раздел «Вебхуки». Доступно уровням Silver и Gold.
| Событие | Когда приходит | Что в data |
|---|---|---|
order.status | Ваш заказ перешёл на новый этап | номер заказа, этап «было» и «стало» |
stock.updated | Изменился остаток цвета | как строка /stock |
price.updated | Изменились ваши цены на товар: ступени, акция, персональная цена, новый прайс-лист или уровень | как строка /prices |
catalog.changed | Товар появился, изменился или снят | артикул и created, updated или removed |
Событие приходит POST-запросом с телом {id, event, occurred_at, data} и заголовками X-ORNE-Signature, X-ORNE-Event, X-ORNE-Delivery. Ответьте кодом 2xx - иначе повторим через 1, 5, 30 и 120 минут. Приходят события только по вашим заказам и товарам вашего ассортимента. Проверка подписи:
// PHP: подпись - HMAC-SHA256 тела секретом подписки, hex $body = file_get_contents('php://input'); if (!hash_equals(hash_hmac('sha256', $body, $secret), $_SERVER['HTTP_X_ORNE_SIGNATURE'] ?? '')) { http_response_code(401); exit; } $event = json_decode($body, true); // $event['id'] - для защиты от повторной обработки http_response_code(200);
Если вашей системе проще забирать файл: в кабинете, раздел «Выгрузки», создайте постоянную ссылку на каталог с вашими ценами и остатками - CSV для Excel и 1С, XML или JSON. Файл обновляется каждые 15 минут, раз в час или раз в сутки. Партнёры уровня Gold выбирают колонки и их порядок. Ссылка работает без ключа - не публикуйте её; при утечке нажмите «Новая ссылка».
https://api.orne.kz/v1/feeds/ваш_токен.csv
Ключ выпускается в кабинете партнёра за минуту. Если интеграция не сходится - напишите, посмотрим журнал запросов по вашему ключу.
Получить ключ
Опишите задачу - подберём продукцию под бюджет и срок, посчитаем стоимость с нанесением.