API анықтамалығы
AY-Robots REST API-і https://www.ay-robots.com/api мекенжайында орналасқан және екі бағытта да JSON пайдаланады. Бұл бет аутентификацияны, жауап конвенцияларын және әр соңғы нүктені, оны бағдарламалы түрде шақыруыңыз ықтимал жолдар үшін толық параметр құжаттамасымен бірге қамтиды.
Соңғы жаңарту 2026-08-09
Аутентификация
Public бөлімінде тізілмесе, әр соңғы нүктеге аутентификация қажет. 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 пайдалансаңыз, ол платформаны жергілікті MCP сервер ретінде де көрсете алады: ay-robots 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 сессия токеніАутентификацияланған пайдаланушы үшін жаңа аватар суретін жүктейді.
Client соңғы нүктелері
Робот иесі басқаратын барлық нәрсе: тіркелген роботтар, клиент профилі, датасеттер, шот-фактуралар және бақылау тақтасы статистикасы.
/api/client/robotsBearer сессия токені немесе API кілті (client рөлі)Аутентификацияланған клиент тіркеген роботтарды, ең жаңасынан бастап, 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 кілті (client рөлі)Жаңа роботты тіркеп, оның id мәнін қайтарады. Мотор тақтасының жабдық идентификаторы тек бір роботқа тиесілі бола алады; қайшылық 409 күйімен қабылданбайды.
/api/client/profileBearer сессия токені немесе API кілті (client рөлі)Аутентификацияланған пайдаланушының client профилін қайтарады.
/api/client/profileBearer сессия токені немесе API кілті (client рөлі)client профиль өрістерін жаңартады.
/api/client/datasetsBearer сессия токені немесе API кілті (client рөлі)Клиенттің бұлттық датасеттерін эпизод саны мен өлшемдерімен тізеді.
/api/client/invoicesBearer сессия токені немесе API кілті (client рөлі)Клиенттің ай сайынғы шот-фактураларын тізеді.
/api/client/statsBearer сессия токені немесе API кілті (client рөлі)Клиент бақылау тақтасы үшін пайдалану статистикасын қайтарады.
Operator соңғы нүктелері
Оператор жағы: профиль мен қолжетімділік, сертификаттар, кестелер және табыс статистикасы.
/api/operator/profileBearer сессия токені немесе API кілті (operator рөлі)Аутентификацияланған пайдаланушының operator профилін қайтарады.
/api/operator/profileBearer сессия токені немесе API кілті (operator рөлі)operator профилін жасайды немесе жаңартады.
/api/operator/available-robotsBearer сессия токені немесе API кілті (operator рөлі)Қазіргі уақытта қолжетімді және оператордың сертификаттарына сәйкес келетін роботтарды тізеді.
/api/operator/certificationsBearer сессия токені немесе API кілті (operator рөлі)Оператордың сертификаттау сұраныстары мен олардың күйін тізеді.
/api/operator/certificationsBearer сессия токені немесе API кілті (operator рөлі)Робот түрі үшін сертификаттауды сұрайды.
/api/operator/scheduleBearer сессия токені немесе API кілті (operator рөлі)Оператордың апталық қолжетімділік кестесін қайтарады.
/api/operator/scheduleBearer сессия токені немесе API кілті (operator рөлі)Апталық қолжетімділік кестесін жаңартады.
/api/operator/availabilityBearer сессия токені немесе API кілті (operator рөлі)Оператордың ағымдағы қолжетімділігін қайтарады.
/api/operator/statsBearer сессия токені немесе API кілті (operator рөлі)Оператор бақылау тақтасы үшін табыс пен сессия статистикасын қайтарады.
Sessions
Сессиялар платформаның негізгі ресурсы: бір сессия - оператор мен робот арасындағы бір үздіксіз қашықтан басқару әрекеттесуі. Сессия күйі PENDING, ACTIVE, PAUSED, COMPLETED және CANCELLED арасында ауысады.
/api/sessionsBearer сессия токені немесе API кілтіАутентификацияланған пайдаланушы үшін сессияларды тізеді. Операторлар өздері басқарған сессияларды көреді; клиенттер өз роботтарындағы сессияларды көреді. Екі көріністегі өрістер жиынтығы аздап ерекшеленеді: client көрінісіне episodes_collected пен data_collected_mb кіреді, operator көрінісіне operator_earnings_cents кіреді.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | Міндетті емес. Сессия күйі бойынша сүзу, мысалы ACTIVE немесе COMPLETED. Барлығын тізу үшін қалдырыңыз. |
| limit | query | number | Міндетті емес. Бет өлшемі, әдепкі 50, максимум 100. |
| offset | query | number | Міндетті емес. Беттеу ығысуы, әдепкі 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 кілті (operator рөлі)Қолжетімді роботта қашықтан басқару сессиясын бастайды. Operator рөлі талап етіледі: клиенттер сессия бастай алмайды. Оператор бір мезгілде ең көбі бір 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 кілті (client, сессия иесі)Сессияны ұзартуды сұрайды. Мұны тек сессияға иелік ететін клиент шақыра алады, сессия 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 кілті (client)Аяқталған сессияны 1-ден 5 жұлдызға дейінгі шкала бойынша, міндетті емес пікірмен бағалайды.
/api/sessions/exportBearer сессия токені немесе API кілтіСессия деректерін экспорттайды.
Payments
Барлық ақша қозғалысы Stripe арқылы жүреді. Клиент төлемдері сақталған төлем әдісі бар Stripe клиентін пайдаланады; оператор төлемдері Stripe Connect пайдаланады. Платформаның өзі карта немесе банк деректерін ешқашан сақтамайды.
/api/stripe/customerBearer сессия токені (client рөлі)Клиент төлемдері үшін пайдаланылатын Stripe клиентін жасайды немесе қайтарады.
/api/stripe/connectBearer сессия токені (operator рөлі)Оператордың Stripe Connect есептік жазбасының күйін қайтарады.
/api/stripe/connectBearer сессия токені (operator рөлі)Оператор төлемдері үшін Stripe Connect тіркелуін бастайды.
/api/stripe/setup-intentBearer сессия токені (client рөлі)Төлем әдісін сақтау үшін Stripe SetupIntent жасайды.
/api/stripe/portalBearer сессия токені (client рөлі)Төлем әдістері мен шот-фактураларды басқару үшін Stripe төлем порталы сессиясын жасайды.
/api/stripe/payoutBearer сессия токені (operator рөлі)Аутентификацияланған оператор үшін төлем ақпаратын қайтарады.
/api/stripe/payoutBearer сессия токені (operator рөлі)Жиналған табыстың төлемін сұрайды. Ең аз төлем 10,00 EUR.
/api/stripe/webhookStripe webhook қолтаңбасыStripe webhook оқиғаларын қабылдайды. Stripe шақырады, API клиенттері емес.
Public соңғы нүктелері
Бұл соңғы нүктелерге ешбір аутентификация қажет емес. Оларды бақылаудан, маркетинг беттерінен немесе күй тексерушісінен шақыру қауіпсіз.
/api/healthAPI мен оның дерекқор байланысы үшін сау-саулық тексерісі. Екеуі де дұрыс болса 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-ке дейінгі өмірлік цикл, әр белсенділік оқиғасының түсіндірмесі, сессия чаты, бағалаулар, ұзартулар және оқыту деректері.