API лавлах
AY-Robots REST API нь https://www.ay-robots.com/api хаягт байрлаж, хоёр чиглэлд JSON-оор ярьдаг. Энэ хуудас нэвтрэлт баталгаажуулалт, хариултын конвенц, эндпойнт бүрийг, программчлалаар дуудах магадлал өндөр замуудын хувьд бүрэн параметрийн баримт бичигтэй хамт тайлбарлана.
Сүүлд шинэчилсэн 2026-08-09
Нэвтрэлт баталгаажуулалт
Нийтийн хэсэгт жагссан бол л, эндпойнт бүр нэвтрэлт баталгаажуулалт шаарддаг. API хоёр төрлийн итгэмжлэлийг хүлээн авдаг бөгөөд хоёулаа ижил замаар ирдэг: хянах самбар аль хэдийн илгээдэг сешн cookie байдлаар, эсвэл Bearer токентой Authorization толгойгоор.
| Арга | Хэрхэн ажилладаг | Юунд тохирдог |
|---|---|---|
| Браузерын сешн | Нэвтэрсэн дансны тань Supabase сешн токен, cookie эсвэл Bearer токен байдлаар илгээгддэг | Хянах самбар өөрөө, нэвтэрсэн браузерийн орчноос хийх хурдан туршилтууд |
| API түлхүүр | /dashboard/settings-д үүсгэгдсэн, Bearer токен байдлаар илгээгддэг ayr_live_ угтвартай түлхүүр | Скрипт, сервер, CI, браузерын нэвтрэлтээс хамаарах ёсгүй бүх зүйл |
| MCP | https://www.ay-robots.com/api/mcp хаяг дахь хостлогдсон MCP сервер (Streamable HTTP) | Model Context Protocol-оор ярьдаг LLM агент, хэрэгслүүд |
curl https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here'API түлхүүрүүд /dashboard/settings-д үүсгэгдэж, цуцлагддаг. Тэдгээрийг нууц үг мэт хандаж: серверийн талд хадгал, эхлээд орлуулах түлхүүр үүсгэж, дараа нь хуучныг цуцлан ротацид оруул. Десктоп CLI ашигладаг бол платформыг ay-robots mcp тушаалаар орон нутгийн MCP сервер болгож ч харуулж чадна.
Хариултууд JSON юм. Алдаанууд тогтмол хэлбэртэй: хүн уншиж болох мессежтэй нэг error талбартай JSON объект, тохирох 4xx эсвэл 5xx статус кодтой хамт хүргэгддэг. Амжилттай хариултууд нөөцийг шууд буцаадаг; цөөн хэдэн эндпойнт жагсаалтыг нэрлэгдсэн талбарт ороодог бөгөөд доорх жишээнүүд энэ чухал байгаа газарт харуулна.
Auth эндпойнтууд
Данс, профайлын менежмент. Эдгээр эндпойнтуудыг голчлон хянах самбар өөрөө ашигладаг ч тэдгээр нь аливаа хүчинтэй итгэмжлэлтэй ажилладаг.
/api/auth/profileBearer сешн-токен эсвэл API түлхүүрНэвтрэлт баталгаажуулагдсан хэрэглэгчийн профайлыг буцаана.
/api/auth/profileBearer сешн-токен эсвэл API түлхүүрХарагдах нэр, мэдэгдлийн тохиргоо зэрэг профайлын талбаруудыг шинэчилдэг.
/api/auth/syncBearer сешн-токенSupabase auth хэрэглэгчийг платформын хэрэглэгчийн бичлэгтэй синхрончилдог.
/api/auth/check-onboardingBearer сешн-токенНэвтрэлт баталгаажуулагдсан хэрэглэгч бүртгэлээ дуусгасан эсэхийг мэдээлдэг.
/api/auth/avatarBearer сешн-токенНэвтрэлт баталгаажуулагдсан хэрэглэгчид зориулж шинэ аватар зураг байршуулдаг.
Үйлчлүүлэгчийн эндпойнтууд
Робот эзэмшигчийн удирддаг бүх зүйл: бүртгэгдсэн роботууд, үйлчлүүлэгчийн профайл, өгөгдлийн багц, нэхэмжлэх, хянах самбарын статистик.
/api/client/robotsBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгчийн эрх)Нэвтрэлт баталгаажуулагдсан үйлчлүүлэгчийн бүртгэсэн роботуудыг, хамгийн шинэ нь эхэнд, 50 хүртэлх бичлэгээр жагсаана. Цаг тэмдэгүүд ISO 8601; робот нэг удаа холбогдтол last_online, last_heartbeat null байна.
curl https://www.ay-robots.com/api/client/robots \
-H 'Authorization: Bearer ayr_live_your_key_here'[
{
"id": "1f9f4c1e-7f2a-4b7e-9a45-0f4d2b6c8a11",
"name": "Lab SO-100",
"robot_type": "SO-100",
"status": "AVAILABLE",
"control_url": "wss://robots.example.com/so100/control",
"stream_url": "https://robots.example.com/so100/stream",
"hardware_id": "board:local:usb-1",
"last_online": "2026-08-09T10:12:00.000Z",
"last_heartbeat": "2026-08-09T10:12:00.000Z",
"total_hours": 12.5,
"tags": ["lab"],
"notes": null,
"created_at": "2026-07-01T09:00:00.000Z"
}
]/api/client/robotsBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгчийн эрх)Шинэ роботыг бүртгэж, түүний id-г буцаадаг. Мотор платын техник хангамжийн id зөвхөн нэг роботод харьяалагдаж болно; давхцлыг 409 статусаар татгалздаг.
/api/client/profileBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгчийн эрх)Нэвтрэлт баталгаажуулагдсан хэрэглэгчийн үйлчлүүлэгчийн профайлыг буцаана.
/api/client/profileBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгчийн эрх)Үйлчлүүлэгчийн профайлын талбаруудыг шинэчилдэг.
/api/client/datasetsBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгчийн эрх)Үйлчлүүлэгчийн үүлэн өгөгдлийн багцуудыг эпизодын тоо, хэмжээтэй нь жагсаана.
/api/client/invoicesBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгчийн эрх)Үйлчлүүлэгчийн сарын нэхэмжлэхүүдийг жагсаана.
/api/client/statsBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгчийн эрх)Үйлчлүүлэгчийн хянах самбарт зориулсан ашиглалтын статистикийг буцаана.
Операторын эндпойнтууд
Операторын тал: профайл, боломжтой байдал, гэрчилгээ, хуваарь, орлогын статистик.
/api/operator/profileBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Нэвтрэлт баталгаажуулагдсан хэрэглэгчийн операторын профайлыг буцаана.
/api/operator/profileBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Операторын профайлыг үүсгэдэг эсвэл шинэчилдэг.
/api/operator/available-robotsBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Одоо боломжтой бөгөөд операторын гэрчилгээтэй тохирох роботуудыг жагсаана.
/api/operator/certificationsBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Операторын гэрчилгээний хүсэлтүүд болон тэдгээрийн төлөвийг жагсаана.
/api/operator/certificationsBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Роботын төрлийн гэрчилгээ хүсдэг.
/api/operator/scheduleBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Операторын долоо хоногийн боломжтой байдлын хуваарийг буцаана.
/api/operator/scheduleBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Долоо хоногийн боломжтой байдлын хуваарийг шинэчилдэг.
/api/operator/availabilityBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Операторын одоогийн боломжтой байдлыг буцаана.
/api/operator/statsBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Операторын хянах самбарт зориулсан орлого, сешний статистикийг буцаана.
Сешнүүд
Сешн бол платформын гол нөөц юм: сешн нэг бол оператор, роботын хооронд тасралтгүй үргэлжлэх телеудирдлагын нэг үйл ажиллагаа. Сешний статус PENDING, ACTIVE, PAUSED, COMPLETED, CANCELLED дамждаг.
/api/sessionsBearer сешн-токен эсвэл API түлхүүрНэвтрэлт баталгаажуулагдсан хэрэглэгчид зориулж сешнүүдийг жагсаана. Операторууд өөрсдийн удирдсан сешнүүдийг харна; үйлчлүүлэгчид өөрсдийн роботууд дээрх сешнүүдийг харна. Хоёр харагдацын хооронд талбарын багц бага зэрэг ялгаатай: үйлчлүүлэгчийн харагдац episodes_collected, data_collected_mb-г, операторын харагдац operator_earnings_cents-г агуулдаг.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | Сонголттой. Сешний статусаар шүүнэ, жишээ нь ACTIVE эсвэл COMPLETED. Бүгдийг жагсаахын тулд орхи. |
| limit | query | number | Сонголттой. Хуудасны хэмжээ, стандарт 50, дээд тал нь 100. |
| offset | query | number | Сонголттой. Хуудаслалтын offset, стандарт 0. |
curl 'https://www.ay-robots.com/api/sessions?status=COMPLETED&limit=10' \
-H 'Authorization: Bearer ayr_live_your_key_here'{
"sessions": [
{
"id": "6b0d2c9a-53f1-4f6e-8f1a-2c9d4e7b5a30",
"status": "COMPLETED",
"started_at": "2026-08-08T14:00:12.000Z",
"ended_at": "2026-08-08T14:47:31.000Z",
"duration_minutes": 47,
"client_charge_cents": 1175,
"episodes_collected": 23,
"data_collected_mb": 210.4,
"rating": 5,
"created_at": "2026-08-08T13:59:58.000Z",
"robot_id": "1f9f4c1e-7f2a-4b7e-9a45-0f4d2b6c8a11",
"robot_name": "Lab SO-100",
"robot_type": "SO-100",
"operator_name": "Jane D."
}
]
}/api/sessionsBearer сешн-токен эсвэл API түлхүүр (операторын эрх)Боломжтой робот дээр телеудирдлагын сешн эхлүүлдэг. Операторын эрх шаардана: үйлчлүүлэгчид сешн эхлүүлж чадахгүй. Оператор нэг зэрэг хамгийн ихдээ нэг ACTIVE эсвэл PAUSED сешнийг ажиллуулж чадна, робот одоо AVAILABLE статустай байх ёстой. Шууд эхлэхэд робот IN_SESSION болж, үйлчлүүлэгчид мэдэгдэл очно.
| Name | In | Type | Description |
|---|---|---|---|
| robotId | body | string | Заавал. Удирдах роботын id. Робот AVAILABLE байх ёстой. |
| operatorId | body | string | Сонголттой. Тодорхой операторын id; стандарт нь нэвтрэлт баталгаажуулагдсан оператор. |
| scheduledFor | body | string (ISO 8601) | Сонголттой. Сешнийг шууд эхлүүлэхийн оронд ирээдүйн цагт товлодог. |
curl -X POST https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here' \
-H 'Content-Type: application/json' \
-d '{"robotId": "1f9f4c1e-7f2a-4b7e-9a45-0f4d2b6c8a11"}'{
"sessionId": "6b0d2c9a-53f1-4f6e-8f1a-2c9d4e7b5a30",
"status": "ACTIVE"
}/api/sessions/[id]Bearer сешн-токен эсвэл API түлхүүрДэлгэрэнгүйтэй нь нэг сешнийг буцаана.
/api/sessions/[id]Bearer сешн-токен эсвэл API түлхүүрСешний амьдралын мөчлөгийг шинэчилдэг: түр зогсоох, үргэлжлүүлэх, дуусгах болон холбогдох үйлдлүүд.
/api/sessions/[id]/extendBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгч, сешн эзэмшигч)Сешн сунгах хүсэлт илгээдэг. Зөвхөн сешнийг эзэмшигч үйлчлүүлэгч энэ эндпойнтыг дуудаж чадна, сешн ACTIVE байх ёстой. Хүсэлт сешний үйл явдал болж тэмдэглэгдэж, оператор мэдэгдэл авдаг; сунгалт өөрөө оператор түүнд хариу үйлдэл үзүүлэхэд болдог.
| Name | In | Type | Description |
|---|---|---|---|
| id | path | string | Сешний id. |
| additionalMinutes | body | number | Хүссэн сунгалтын урт, минутаар. |
curl -X POST https://www.ay-robots.com/api/sessions/6b0d2c9a-53f1-4f6e-8f1a-2c9d4e7b5a30/extend \
-H 'Authorization: Bearer ayr_live_your_key_here' \
-H 'Content-Type: application/json' \
-d '{"additionalMinutes": 30}'{
"message": "Extension request sent to operator"
}/api/sessions/[id]/messagesBearer сешн-токен эсвэл API түлхүүрСешний чат мессежүүдийг жагсаана.
/api/sessions/[id]/messagesBearer сешн-токен эсвэл API түлхүүрСешнд чат мессеж илгээдэг.
/api/sessions/[id]/rateBearer сешн-токен эсвэл API түлхүүр (үйлчлүүлэгч)Дууссан сешнийг 1-ээс 5 одоны шкалаар, сонголттой сэтгэгдэлтэй үнэлдэг.
/api/sessions/exportBearer сешн-токен эсвэл API түлхүүрСешний өгөгдлийг экспортлодог.
Төлбөрүүд
Бүх мөнгөний хөдөлгөөн Stripe-ээр дамждаг. Үйлчлүүлэгчийн төлбөр тооцоо хадгалсан төлбөрийн аргатай Stripe үйлчлүүлэгчийг ашигладаг бол операторын төлбөр Stripe Connect-ээр дамждаг. Платформ өөрөө хэзээ ч карт эсвэл банкны өгөгдөл хадгалдаггүй.
/api/stripe/customerBearer сешн-токен (үйлчлүүлэгчийн эрх)Үйлчлүүлэгчийн төлбөр тооцоонд ашиглагдах Stripe үйлчлүүлэгчийг үүсгэдэг эсвэл буцаадаг.
/api/stripe/connectBearer сешн-токен (операторын эрх)Операторын Stripe Connect дансны төлөвийг буцаана.
/api/stripe/connectBearer сешн-токен (операторын эрх)Операторын төлбөрт зориулсан Stripe Connect бүртгэлийг эхлүүлдэг.
/api/stripe/setup-intentBearer сешн-токен (үйлчлүүлэгчийн эрх)Төлбөрийн аргыг хадгалахын тулд Stripe SetupIntent үүсгэдэг.
/api/stripe/portalBearer сешн-токен (үйлчлүүлэгчийн эрх)Төлбөрийн арга, нэхэмжлэхийг удирдахад зориулсан Stripe billing portal сешн үүсгэдэг.
/api/stripe/payoutBearer сешн-токен (операторын эрх)Нэвтрэлт баталгаажуулагдсан операторын төлбөрийн мэдээллийг буцаана.
/api/stripe/payoutBearer сешн-токен (операторын эрх)Хуримтлагдсан орлогын төлбөр гаргах хүсэлт илгээдэг. Хамгийн бага төлбөр 10,00 EUR.
/api/stripe/webhookStripe webhook гарын үсэгStripe webhook үйл явдлуудыг хүлээн авдаг. API клиент биш, Stripe-аас дуудагддаг.
Нийтийн эндпойнтууд
Эдгээр эндпойнтууд ямар ч нэвтрэлт баталгаажуулалт шаарддаггүй. Тэдгээрийг мониторинг, маркетингийн хуудас, эсвэл статус шалгалтаас аюулгүй дуудаж болно.
/api/healthAPI болон түүний өгөгдлийн сангийн холболтын health-check. Хоёулаа хэвийн бол 200 буцаана; өгөгдлийн сангийн шалгалт амжилтгүй бол status, db-г error болгосон ижил бүтэц, HTTP статус 503-тай буцна.
curl https://www.ay-robots.com/api/health{
"status": "ok",
"db": "ok",
"timestamp": "2026-08-09T10:12:00.000Z"
}/api/robots/[id]Дэмжигддэг роботын загварын нийтийн мэдээллийг буцаана.
/api/public/pricingОдоогийн нийтийн үнийн төлөвлөгөөнүүдийг буцаана.
/api/contactХолбоо барих маягтын мессежийг илгээдэг. Мессеж эхлээд хадгалагдаж, дараа нь имэйлээр хүргэгддэг тул түр зуурын мэйл тасалдал үүнийг алддаггүй: тэр тохиолдолд хариулт stored true, delivered false гэж мэдээлдэг, хүргэлт нь ажиллагааны хувьд дахин оролдогддог.
| Name | In | Type | Description |
|---|---|---|---|
| name | body | string | Заавал. Таны нэр. |
| body | string | Заавал. Хариу авахад зориулсан хүчинтэй имэйл хаяг. | |
| category | body | string | Заавал. Дараахын нэг: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other. |
| subject | body | string | Заавал. Богино гарчгийн мөр. |
| message | body | string | Заавал. Мессежийн агуулга. |
curl -X POST https://www.ay-robots.com/api/contact \
-H 'Content-Type: application/json' \
-d '{
"name": "Jane Doe",
"email": "jane@example.com",
"category": "Technical Support",
"subject": "SO-100 pairing question",
"message": "My arm shows as offline after pairing."
}'{
"success": true,
"message": "Message sent successfully",
"id": "b1f2c3d4-0000-0000-0000-000000000000",
"stored": true,
"delivered": true
}/api/robot-requestПлатформ дээр хараахан байхгүй роботын төрөлд дэмжлэг хүсдэг.
/api/statsНийтийн платформын статистикийг буцаана.
AY-Robots данс, шууд робот удирдлагыг хэрхэн хамгаалдаг: Supabase нэвтрэлт баталгаажуулалт, үүргийн модель, API түлхүүр, сешний хамгаалалт, аудитын түүх, шифрлэлт.
AY-Robots сешн хэрхэн ажилладаг: PENDING-ээс COMPLETED хүртэлх амьдралын мөчлөг, идэвхийн үйл явдал бүрийн тайлбар, сешний чат, үнэлгээ, сунгалт, сургалтын өгөгдөл.