Boshlash

  1. Kabinetga telefon raqam va SMS kod bilan kiring.
  2. «Kalit yaratish» — kalit (omk_…) faqat bir marta ko‘rsatiladi, saqlab qo‘ying.
  3. Har bir so‘rovga Authorization: Bearer omk_… sarlavhasini qo‘shing (yoki ?key=omk_…).
  4. Bir kalit — bitta qurilma. Ilovangizning doimiy identifikatorini X-Device-Id sarlavhasida yuboring (yo‘q bo‘lsa, IP manzil olinadi). Birinchi so‘rov kalitni shu qurilmaga bog‘laydi; boshqa qurilmadan so‘rov 403 oladi, 3 ta begona qurilmadan keyin kalit butunlay bloklanadi. Ilovani ko‘chirsangiz, kabinetda «Qurilmani almashtirish» ni bosing (kuniga bir marta).

Bazaviy manzil: https://maps.orgon.kz. Hammasi GET, javob JSON, CORS ochiq. Har oy 1 000 ta so‘rov bepul; keyin narx balansdan yechiladi (Kaspi orqali to‘ldiriladi, kamida 1 000 ₸). Javob sarlavhalari: x-orgon-cost — shu so‘rov narxi, x-orgon-free-left — oy oxirigacha qolgan bepul so‘rovlar.

Manzil qidirish GET /v1/geocode

2 ₸ / so‘rov
qmatn, kamida 2 harf (majburiy)
nearlat,lng — shu nuqtaga yaqinlari birinchi
cityKarabulak, Shymkent, Sayram, Aksukent
limit1–50, standart 10
curl "https://maps.orgon.kz/v1/geocode?q=magnum&near=42.5205,69.775&limit=5" -H "Authorization: Bearer $ORGON_MAPS_KEY" -H "X-Device-Id: my-server-1"

{ "ok": true, "items": [ { "id": 812, "name": "12-maktab", "kind": "place", "city": "Karabulak", "lat": 42.5191, "lng": 69.7712, "distance_m": 420 } ] }

Koordinatadan manzil GET /v1/reverse

2 ₸ / so‘rov
lat, lngnuqta (majburiy)
radiusmetr, 10–2000, standart 300
curl "https://maps.orgon.kz/v1/reverse?lat=42.5206&lng=69.7752" -H "Authorization: Bearer $ORGON_MAPS_KEY" -H "X-Device-Id: my-server-1"

{ "ok": true, "place": { "name": "Markaziy bozor", "kind": "place", "city": "Karabulak", "lat": 42.5205, "lng": 69.775, "distance_m": 18 }, "nearby": [ … ] }

Oynadagi joylar GET /v1/places

1 ₸ / so‘rov
bboxsouth,west,north,east (tomoni 0,5° gacha, majburiy)
kindplace | street | district | zone
limit1–1000, standart 200
curl "https://maps.orgon.kz/v1/places?bbox=42.50,69.75,42.54,69.80&kind=place" -H "Authorization: Bearer $ORGON_MAPS_KEY" -H "X-Device-Id: my-server-1"

{ "ok": true, "items": [ { "id": 3, "name": "Abay ko‘chasi", "kind": "street", … } ] }

Marshrut GET /v1/route

3 ₸ / so‘rov
pointslat,lng;lat,lng[;…] — 2–5 nuqta (majburiy)
curl "https://maps.orgon.kz/v1/route?points=42.5205,69.775;42.5501,69.7702" -H "Authorization: Bearer $ORGON_MAPS_KEY" -H "X-Device-Id: my-server-1"

{ "ok": true, "km": 3.6, "minutes": 7, "coords": [[42.5205, 69.775], …] }

JavaScript

const r = await fetch("https://maps.orgon.kz/v1/geocode?q=" + encodeURIComponent("bozor"), {
  headers: { Authorization: "Bearer " + ORGON_MAPS_KEY, "X-Device-Id": DEVICE_ID },
});
const { items } = await r.json();

Kalitni brauzerda ochiq qoldirsangiz, uni boshqalar ham ishlatishi mumkin — iloji bo‘lsa so‘rovni o‘z serveringizdan yuboring.

Xatolar

401 keyKalit yo‘q, noto‘g‘ri yoki bekor qilingan
402 payment-requiredBepul so‘rovlar tugagan va balans yetarli emas
403 deviceKalit boshqa qurilmaga bog‘langan (left — bloklanishgacha qolgan begona qurilmalar)
403 key-blockedKalit 3 ta begona qurilmada ishlatilgani uchun bloklangan — yangi kalit oching
429 rate-limitBir kalit bilan sekundiga 10 tadan ko‘p so‘rov
400 invalidParametr noto‘g‘ri (field — qaysi biri)
503 route-unavailableMarshrut API hozircha yoqilmagan
502 route-failedYo‘l topilmadi — so‘rov hisobga olinmaydi

Ma’lumotlar: ÖRGON, © OpenStreetMap contributors (ODbL), Overture Maps. Ilovangizda shu manbalarni ko‘rsating.