Балкантау 43
ТоптамаларҚоймаданТігу ХудиФутболкаларТермостарШопперлер КүнделіктерҚаламсаптарPower BankБейсболкалар ПледтерҚораптарПакеттерЛанч-бокстар
Басты бетAPIЖылдам бастау

Жылдам бастау

Кілттен сайтыңыздағы ÖRNE каталогына және алғашқы тапсырысқа дейін алты қадам. curl, JavaScript және PHP тіліндегі мысалдар.

1Кілт алыңыз

Кілттер серіктес кабинетінде, «API-кілттер» бөлімінде шығарылады: атауы, құқықтары - және кілт дайын. Оны сол жерде кез келген уақытта көріп, көшіруге болады. Кілтті бет немесе мобильді қосымша кодында емес, серверде сақтаңыз: ол арқылы сіздің бағаларыңыз көрінеді.

2Қолжетімділікті тексеріңіз

curl "https://api.orne.kz/v1/categories" \
  -H "Authorization: Bearer orn_ваш_ключ"

Санаттар тізімі бар 200 жауабы - бәрі дұрыс. 401 - кілт берілмеген немесе қайтарып алынған, 403 - кілтте «Каталог, бағалар және қалдықтар» құқығы жоқ немесе деңгейіңізде әзірге API жоқ: себебі жауапта жазылған.

3Каталогты алыңыз

// JavaScript, Node 18+: все страницы каталога
const base = 'https://api.orne.kz/v1', key = process.env.ORNE_KEY;
let page = 1, items = [];
while (true) {
  const res = await fetch(`${base}/products?per_page=100&page=${page}`, { headers: { Authorization: `Bearer ${key}` } });
  const { data, meta } = await res.json();
  items.push(...data);
  if (page * meta.per_page >= meta.total) break;
  page++;
}

Әр тауарда - деңгейіңіз бойынша баға сатылары, қалдық, фотосы бар түстер және ÖRNE сайтындағы карточка мекенжайы.

4Тек өзгерістерді алыңыз

Синхрондау уақытын сақтап, келесі жолы оны updated_since ішінде жіберіңіз. Қалдықтарды әр 5-15 минут сайын, тауарлар мен бағаларды сағатына бір рет жаңартқан ыңғайлы.

// PHP: изменения остатков с прошлой синхронизации
$since = urlencode($lastSync->format(DATE_ATOM));
$ch = curl_init("https://api.orne.kz/v1/stock?per_page=100&updated_since=$since");
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Authorization: Bearer '.$key]]);
$stock = json_decode(curl_exec($ch), true)['data'];
foreach ($stock as $row) {
    // $row['sku'] - артикул цвета, $row['stock'] - свободный остаток
}

Жауапта 429 болса - сұраныстар лимиті таусылды: Retry-After тақырыбында көрсетілген секунд күтіңіз.

Одан да оңайы - кабинетте stock.updated және price.updated вебхуктарына жазылу: ÖRNE өзгерістерді өзі жібереді.

5Тапсырыс рәсімдеңіз

curl -X POST "https://api.orne.kz/v1/orders" \
  -H "Authorization: Bearer orn_ваш_ключ" -H "Content-Type: application/json" \
  -H "Idempotency-Key: ZK-1042" \
  -d '{"items":[{"sku":"ORN-0026","qty":100,"prints":[{"method":"dtf","zone":"chest","size":"до 15 см"}]}],
       "delivery":{"type":"courier","city":"Астана","address":"ул. Примерная, 1"},"external_ref":"ZK-1042"}'

Жауапта - ORN-... тапсырыс нөмірі және кезеңі. Әрі қарай оны /orders/{id} немесе order.status вебхугы арқылы қадағалаңыз. Кілттің «Тапсырыс жасау» құқығы қажет.

6Тауарларды өз сайтыңызда көрсетіңіз

ÖRNE карточкаларын сипаттамасын өңдемей жарияласаңыз, бетте <link rel="canonical" href="..."> тегін canonical_url өрісіндегі мекенжаймен көрсетіңіз - іздеу жүйелері беттерді телнұсқа деп санамайды. Фотоларды images ішіндегі сілтемелер бойынша алыңыз.

Интеграцияға көмек керек пе?

Жазыңыз - кілтіңіз бойынша сұраныстар журналын қарап, нақты қай жерде бұзылатынын айтамыз. Журнал сізге де кабинеттің «API-кілттер» бөлімінде көрінеді.

WhatsApp-қа жазу