API серіктестерге
Сіздің сайтыңыз немесе есеп жүйеңіз ÖRNE каталогын сіздің бағаларыңызбен, қалдықтармен және санаттармен бірге өзі алып отырады - қолмен жүктеп алудың қажеті жоқ.
Негізгісі
| API мекенжайы | https://api.orne.kz/v1 |
| Кілт | Authorization: Bearer orn_... тақырыбында. Серіктес кабинетінде, «API-кілттер» бөлімінде шығарылады. API Silver и Gold деңгейіндегі серіктестерге қолжетімді. |
| Лимит | Бір кілтке минутына 60 сұраныс. Лимиттен асса - 429 жауабы және кідірісті секундпен көрсететін Retry-After тақырыбы |
| Деректер форматы | UTF-8 кодтауындағы JSON. Сомалар - теңгемен, бүтін сандармен, уақыт - Астана белдеуімен 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 жауабы.
/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 ішіндегі түс артикулы және саны - бос қалдықтан көп емес. Резерв мерзімі деңгейіңізге байланысты, резерв кабинетте көрінеді және өзі алынады.
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 |
Оқиға {id, event, occurred_at, data} денесі және X-ORNE-Signature, X-ORNE-Event, X-ORNE-Delivery тақырыптары бар POST сұранысымен келеді. 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Файлмен экспорт
Егер жүйеңізге файл алу ыңғайлырақ болса: кабинеттің «Экспорттар» бөлімінде бағаларыңыз бен қалдықтарыңыз бар каталогқа тұрақты сілтеме жасаңыз - Excel мен 1С үшін CSV, XML немесе JSON. Файл әр жүктеп алған сайын жиналады немесе, ыңғайлы болса, әр 15 минут сайын, сағатына бір рет не тәулігіне бір рет жаңарады. Gold деңгейіндегі серіктестер бағандарды және олардың ретін таңдайды. Сілтеме кілтсіз жұмыс істейді - оны жарияламаңыз; ол тарап кетсе, «Жаңа сілтеме» батырмасын басыңыз.
https://api.orne.kz/v1/feeds/ваш_токен.csv
Кілт серіктес кабинетінде бір минутта шығарылады. Интеграцияда бір нәрсе сәйкес келмесе - жазыңыз, кілтіңіз бойынша сұраныстар журналын қараймыз.
Кілт алу