Хэрэглээ
Түлхүүрээ оруулаад байгууллагынхаа өдөр тутмын хүсэлт, tile, олдоогүй хаалганы тоо, хязгаарыг харна. Өдөр нь Улаанбаатарын цагаар шөнө дундаас шөнө дунд хүртэл. Ямар ч эрхтэй түлхүүр ажиллана. Мөн багцаа харна. Үнэгүй түлхүүр (POST /v1/signup) өөрийн хязгаарыг түнш багцтай зэрэгцүүлж харна. Байгууллагад нээлттэй боломжууд (features, жишээ нь cargo.eta) мөн харагдана. Зам бүрийн хүсэлт, олдоогүй хаалга (endpoints, жишээ нь GET /v1/door/:code) хүснэгтээр харагдана. Зам нь загвар л байна: барилгын код, нэр, хайлтын үг хэзээ ч орохгүй. Энэ хуудас GET /v1/usage-г дууддаг. Өөрийн кодоос мөн адил дуудаж болно:
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/usage?days=30"Түлхүүр зөвхөн энэ хуудасны санах ойд байна. Хадгалагдахгүй, хаягт орохгүй. Энэ хүсэлт тоологдохгүй.
Дохио
Өнөөдрийн хүсэлт, tile эсвэл олдоогүй хаалганы тоо өдрийн хязгаарын тодорхой хувьд хүрэхэд дохио өгнө. Улаанбаатарын өдөрт нэгээс илүүгүй, ойролцоогоор нэг минутын дотор, энэ хуудсанд харагдана. Дээрээс эсвэл POST /v1/alerts-аар нэмнэ:
curl -X POST -H "Authorization: Bearer $DOCK_KEY" -H "Content-Type: application/json" \
-d '{"metric":"calls","percent":80,"webhook_url":"https://hooks.example.mn/dock"}' \
https://geo.dock.mn/v1/alertsmetric нь calls, tiles эсвэл door_misses. percent 1-ээс 100, анхдагч 80. Байгууллагад 20 хүртэл дохио. Дохиог өөрчлөхгүй; хаах бол dock-д хандана уу. Энэ хүсэлт үнэгүй, тоологдохгүй.
webhook_url (https, нийтийн хост нэр, анхдагч порт) заасан бол дохио бүрт нэг POST ийм JSON-оор ирнэ:
{ "type": "usage.alert", "alert": "al_7m4xq2b9kd", "metric": "calls", "percent": 80,
"day": "2026-10-01", "value": 8004, "cap": 10000, "fired_at": "2026-10-01T06:12:00Z" }Дурын 2xx-ээр хариулна. Redirect дагахгүй. Амжилтгүй бол минут тутам 3 удаа оролдоно. Dock-Signature: t=<unix секунд>,v1=<hex> толгой нь <t>.<body>-ийн HMAC-SHA256, түлхүүр нь POST-ийн хариунд нэг л удаа ирэх webhook_secret. Биеийг хэрэглэхээсээ өмнө шалгана уу:
import { createHmac, timingSafeEqual } from 'node:crypto';
const [, t, v1] = /^t=(\d+),v1=([0-9a-f]{64})$/.exec(req.headers['dock-signature']);
const want = createHmac('sha256', process.env.DOCK_WEBHOOK_SECRET).update(`${t}.${rawBody}`).digest();
const ok = timingSafeEqual(want, Buffer.from(v1, 'hex')) && Math.abs(Date.now() / 1000 - t) < 300;Хаалганы нэр
Байгууллагад door_names боломж нээлттэй бол дээр хаалганы нэрс харагдана (GET /v1/door-names, names:write). POST /v1/door-names-ээр хаалганд нэр бүртгэж, өөрийн нэрийг өөр хаалга руу шилжүүлнэ; олдоогүй код олдоогүй хаалгад тоологдох тул кодын хэлбэрийг эхлээд шалгана. Нэр бүрт шилжүүлэх код авч (POST /v1/door-names/{name}/transfer-code), цуцалж (DELETE ижил зам), өөр байгууллагаас авсан кодоор нэр авна (POST /v1/door-names/{name}/claim). Код зөвхөн нэг удаа харагдана, хуудас хадгалахгүй. Буруу код олдоогүй хаалгад тоологдох тул кодын хэлбэрийг илгээхээс өмнө шалгана.
curl -X POST -H "Authorization: Bearer $DOCK_KEY" -H "Content-Type: application/json" \
-d '{"transfer_code":"dnt_..."}' "https://geo.dock.mn/v1/door-names/Сансар%20бэйкери/claim"Хаалганы тэмдэглэл
Байгууллагад hotel.notes боломж мөн нээлттэй бол нэр бүрийн хажууд "Тэмдэглэл" товч гарна. Тэр нэрийн хаалганд бичсэн тэмдэглэл тань хүлээж буй, зөвшөөрсөн, татгалзсан эсэх, хэзээ гэдгийг харуулна (GET /v1/door-names/{name}/notes). Зочид хаалгаа хэрхэн олохыг монгол, англиар бичээд хянуулахаар илгээнэ (POST ижил зам). Хүн зөвшөөрсний дараа зочид харна. Утас, и-мэйлтэй тэмдэглэл хуудаснаас гарахгүй.
curl -X POST -H "Authorization: Bearer $DOCK_KEY" -H "Content-Type: application/json" \
-d '{"instructions_mn":"Баруун талын хаалга, ногоон өнгөтэй","instructions_en":"West entrance, green gate"}' \
"https://geo.dock.mn/v1/door-names/Сансар%20бэйкери/notes"Жолоочийн баталгаа
Түлхүүрт confirm:read эрх байвал дээр танай жолооч нарын сарын баталгаа, мэдэгдэл харагдана (GET /v1/confirm/own): дүнгээр нь өдөр бүр, хэдэн өөр жолооч, буруу, алга эсвэл давхардсан гэсэн хаалга 100 хүртэл. Жолоочийг зөвхөн тоолно, дугаарыг нь харуулахгүй. Өөр байгууллагын мөр уншихгүй. Сар бүрийг сар дууснаас 8 хоногийн дараа эцсийн гэнэ: тэр хүртэл офлайн хүлээгдсэн баталгаа нэмэгдэж болно. Энэ хүсэлт нэг хүсэлтэд тоологдоно.
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/confirm/own?month=2026-10"Хаалга хайсан минут
Түлхүүрт trace:read эрх байвал дээр танай аялал сүүлийн 200 м-т хэдэн минут зарцуулсныг сараар харуулна (GET /v1/traces/arrivals/own): аялал, 5 ба түүнээс дээш минут зарцуулсан нь, медиан, p75, p90, минутын бүлгээр аялал, аялал дууссан 500 м орчим 100 хүртэл нүд 5+ минутын аяллаар нь олноос, нүд бүрийн төвтэй. Машин тавих, хаалга хүртэл алхсан хугацаа минутад орно, тиймээс сар, газрыг хооронд нь харьцуулна. Өөр байгууллагын аялал уншихгүй. Сар дууснаас 14 хоногийн дараа эцсийн тоо болно. Энэ хүсэлт нэг хүсэлтэд тоологдоно.
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/traces/arrivals/own?month=2026-10"Хэзээ, ямар барилга руу
Түлхүүрт trace:read эрх байвал дээр танай аяллыг сараар хоёр талаас харуулна. Нэгд, эхний цэгийнх нь Улаанбаатарын гараг, цагаар (GET /v1/traces/hours/own): 7 гараг, 24 цагийн хүснэгт, гараг бүр, цаг бүрийн нийт, хамгийн их аялалтай гараг, цаг. Хоёрт, сүүлийн цэг дэх барилгын төрлөөр (GET /v1/traces/kinds/own): орон сууцны байр, гэр хорооллын байшин, худалдаа, үйлчилгээ гэх мэт, хувьтай нь. Барилга цэгийг агуулдаг, эсвэл 30 м дотор хамгийн ойр нь. Төрөл нь аялал хадгалагдах үеийнх. Өөр байгууллагын аялал уншихгүй. Сар дууснаас 14 хоногийн дараа эцсийн тоо болно. Энэ хэсэг хоёр хүсэлтэд тоологдоно.
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/traces/hours/own?month=2026-10"
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/traces/kinds/own?month=2026-10"Хаана
Түлхүүрт trace:read эрх байвал дээр танай аялал сард дайрсан 500 м орчим нүд бүрийг нэг тогтмол хүрээнд харуулна (GET /v1/traces/cells/own): Улаанбаатарын төв зургаан дүүрэг ба Налайх, баруун 106.55, өмнөд 47.72, зүүн 107.35, хойд 48.08. Багануур, Багахангай хүрээнээс гадна. Хуудас нүднүүдийг хойд зүг дээш, аяллын тоогоор өнгөөр зурж, хамгийн их 20 нүдийг төвтэй нь жагсаана. Нэг аялал дайрсан нүд бүрдээ тоологдоно, тиймээс нүдний тоог нэмбэл аяллын тоо гарахгүй. Өөр байгууллагын аялал уншихгүй. Сар дууснаас 14 хоногийн дараа эцсийн тоо болно. Энэ хүсэлт нэг хүсэлтэд тоологдоно.
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/traces/cells/own?month=2026-10&bbox=106.55,47.72,107.35,48.08"Хаана, бүх түнш
Түлхүүрт insights:read эрх байвал дээр нийтлэгдсэн сарын бүх түншийн аяллыг нийлүүлж, 500 м нүд бүрийг дайрсан аяллын тоог Улаанбаатарын төв зургаан дүүрэг ба Налайхад харуулна (GET /v1/traces/cells): хамгийн цөөнөөс хамгийн их нүд хүртэл логарифм хуваарьтай өнгөлсөн хойд зүг дээш зураг, хамгийн их 20 нүд. Нэг аялал дайрсан нүд бүрдээ тоологдоно, тиймээс нүдний тоог нэмбэл аяллын тоо гарахгүй. Нүд тухайн сард дор хаяж 3 байгууллагын аялалтай, хамгийн том байгууллагыг хасаад 5 ба түүнээс дээш аялалтай бол гарна. Нүд байхгүй нь аялал цөөн гэсэн үг, тэг биш. Туршилтын, дотоод байгууллага тоологдохгүй. Сар дууснаас 14 хоногийн дараа нийтлэгдэнэ, түүнээс хойш ирсэн аялал тоологдохгүй. Энэ хүсэлт нэг хүсэлтэд тоологдоно.
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/traces/cells?month=2026-09&bbox=106.55,47.72,107.35,48.08"Замын хурд, бүх түнш
Түлхүүрт insights:read эрх байвал дээр нийтлэгдсэн сарын оргил цагийн замын хурдыг долоо хоногийн бусад цагийнхтай харьцуулна (GET /v1/traces/roads, band-тай), "Хаана"-тай ижил тогтмол хүрээнд. Өглөөний оргил Даваа-Баасан 07:00-09:59, оройн оргил Даваа-Баасан 17:00-19:59, бусад нь бусад цаг ба амралтын өдөр бүтэн, аяллын эхний цэгийн Улаанбаатарын цагаар. Бусад цагийн хурдтай, дор хаяж нэг оргилд хурдтай замыг харьцуулна. Удааширсан нь оргилын удаан хурдыг бусад цагийнхтай харьцуулсан. Хуудас харьцуулсан замуудыг хойд зүг дээш, оргилд хэр удааширдгаар нь өнгөөр зурж, хамгийн их удааширдаг 20 замыг жагсаана. Энэ бол бүх түншийн аялал нийлсэн тоо: зам тухайн бүсэд дор хаяж 3 байгууллагын аялалтай, хамгийн том байгууллагыг хасаад 5 ба түүнээс дээш аялалтай бол гарна. Зам байхгүй нь аялал цөөн гэсэн үг, хоосон зам биш. Туршилтын, дотоод байгууллага тоологдохгүй. Сар дууснаас 14 хоногийн дараа нийтлэгдэнэ. Энэ хэсэг гурван хүсэлтэд тоологдоно.
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/traces/roads?month=2026-09&bbox=106.55,47.72,107.35,48.08&band=am_peak"Удаан нүд, бүх түнш
Түлхүүрт insights:read эрх байвал дээр нийтлэгдсэн сарын бүх түншийн аяллыг нийлүүлж, 500 м нүд бүрийн хөдөлгөөний хурдыг Улаанбаатарын төв зургаан дүүрэг ба Налайхад харуулна (GET /v1/traces/speeds): хойд зүг дээш зураг, хамгийн удаан 20 нүд. Хэсэг нь хоёр цэгийн хооронд 1-60 секунд, хурд нь 3-130 км/ц, дунд цэг нь аяллын эхний, сүүлийн цэгээс 200 м-ээс илүү зайтай бол тоологдоно: зогсоол, хаалга хүртэл алхах нь замын хурд биш. Нүд тухайн сард дор хаяж 3 байгууллагын аялалтай, хамгийн том байгууллагыг хасаад 5 ба түүнээс дээш аялалтай бол гарна. Нүд байхгүй нь аялал цөөн гэсэн үг, удаан эсвэл хоосон зам биш. Аяллын тоо байхгүй. Туршилтын, дотоод байгууллага тоологдохгүй. Сар дууснаас 14 хоногийн дараа нийтлэгдэнэ. Энэ хүсэлт нэг хүсэлтэд тоологдоно.
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/traces/speeds?month=2026-09&bbox=106.55,47.72,107.35,48.08"Гараг, цагаар, бүх түнш
Түлхүүрт insights:read эрх байвал дээр нийтлэгдсэн сарын бүх түншийн аяллыг нийлүүлж, аялал бүрийн эхний цэгийн Улаанбаатарын гараг, цагаар харуулна (GET /v1/traces/hours), аялал хаана ч явсан: 7-г 24-өөр хүснэгт, хамгийн их гараг, цаг. Гараг, цаг нь тухайн сард дор хаяж 3 байгууллагын аялалтай, хамгийн том байгууллагыг хасаад 5 ба түүнээс дээш аялалтай бол гарна. Зураастай нүд нь аялал цөөн гэсэн үг, тэг биш. Нийт дүн байхгүй: API илгээдэггүй, тиймээс зураастай нүдийг тооцоолж болохгүй. Туршилтын, дотоод байгууллага тоологдохгүй. Сар дууснаас 14 хоногийн дараа нийтлэгдэнэ. Энэ хүсэлт нэг хүсэлтэд тоологдоно.
curl -H "Authorization: Bearer $DOCK_KEY" "https://geo.dock.mn/v1/traces/hours?month=2026-09"