Балкантау 43
ПодборкиСо складаПошив ХудиФутболкиТермосыШопперы ЕжедневникиРучкиPower BankБейсболки ПледыКоробкиПакетыЛанч-боксы

API для партнёров

Ваш сайт или учётная система сами забирают каталог ÖRNE с вашими ценами, остатками и категориями - без выгрузок вручную.

Главное

Всё для подключения - на одном экране.
Адрес APIhttps://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_ваш_ключ"

1Методы

Все ответы - только по вашему ассортименту и с вашими ценами: ключ определяет партнёра. Чужие объекты не видны - ответ 404.

GET/products

Товары: название, описание, категория, бренд, материал, наличие и остаток, минимальный тираж, ступени цен по вашему уровню, методы нанесения, цвета с остатками и фото, адрес карточки на сайте ÖRNE (canonical_url).

Параметры: page, per_page (до 100, по умолчанию 50), updated_since, category - код из /categories.

GET/products/{sku}

Один товар по артикулу - те же поля, что в списке.

GET/stock

Только остатки по цветам: артикул цвета, свободное количество (за вычетом резервов), наличие, дата поступления. Лёгкий ответ для частого опроса.

Параметры: page, per_page, updated_since.

GET/prices

Только цены: ступени тиража по вашему уровню, признак персональной цены, действующая акция (цена, срок, остаток квоты), версия прайс-листа.

Параметры: page, per_page, updated_since.

GET/categories

Дерево категорий вашего ассортимента с количеством товаров - для построения каталога на своей стороне.

POST/orders

Оформить заказ из своей системы - право ключа «Создание заказов». Позиции: артикул товара или цвета, тираж, нанесение (prints[].method, size); доставка pickup, courier или shipping; комментарий и ваш номер заказа external_ref. Цены - ваши, как в /prices.

Заголовок Idempotency-Key защищает от дублей: повтор запроса с тем же ключом вернёт уже созданный заказ.

GET/orders/{id}

Этап заказа, оплата, позиции и история этапов по номеру ORN-... . Только ваши заказы.

POST/reserves

Зарезервировать товар без заказа - право «Резервы склада». Позиции: артикул цвета из /stock и количество, не больше свободного остатка. Срок резерва - по вашему уровню, резерв виден в кабинете и снимается сам.

2Синхронизация

Первый раз заберите все страницы /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: номер страницы, размер и общее количество - по нему видно, сколько страниц забирать.

3Пример ответа

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"
  }
}

4Как считаются цены

Цена ступени - за штуку без нанесения, на нижней границе ступени. Её считает тот же расчёт, что цены на сайте, в вашем кабинете и КП: ваш уровень, скидка по категории, персональные цены и акции, минимальная цена товара. Нанесение зависит от метода, размера и тиража - его стоимость покажут корзина и КП.

Товары с ценой «по запросу» приходят с пустым списком tiers - цену уточнит менеджер.

5Ошибки и лимиты

КодЧто значитЧто делать
200Успешно-
401Ключ не передан, неверный или отозванПроверьте заголовок и статус ключа в кабинете
403У ключа нет права или уровень без доступа к APIТекст причины - в ответе
404Товар не найден или не входит в ваш ассортиментПроверьте артикул
422Неверные параметры запросаПоля и причины - в error.fields
429Превышен лимит запросовПовторите через Retry-After секунд

Ошибка всегда в одном формате:

{
  "error": {
    "code": "validation_failed",
    "message": "Проверьте поля запроса",
    "fields": { "per_page": "Не больше 100 на страницу" }
  }
}

Каждый запрос записывается в журнал - его видно в кабинете, раздел «API-ключи»: время, метод, ответ и время ответа. Если что-то не сходится, по журналу быстро найдём причину.

6Вебхуки

Вместо частого опроса подпишите свой адрес на события в кабинете, раздел «Вебхуки». Доступно уровням 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);

7Выгрузки файлом

Если вашей системе проще забирать файл: в кабинете, раздел «Выгрузки», создайте постоянную ссылку на каталог с вашими ценами и остатками - CSV для Excel и 1С, XML или JSON. Файл обновляется каждые 15 минут, раз в час или раз в сутки. Партнёры уровня Gold выбирают колонки и их порядок. Ссылка работает без ключа - не публикуйте её; при утечке нажмите «Новая ссылка».

https://api.orne.kz/v1/feeds/ваш_токен.csv
Готовы подключиться?

Ключ выпускается в кабинете партнёра за минуту. Если интеграция не сходится - напишите, посмотрим журнал запросов по вашему ключу.

Получить ключ
ÖRNE
Главная Каталог Подборки Услуги Виды нанесения Пошив под заказ Партнёрам Работы О компании Доставка и оплата Вопросы Контакты Личный кабинет
+7 700 021 46 44