API дегеніміз не? Қолданба құрастырушыларға арналған қарапайым нұсқаулық
API (application programming interface) — бір бағдарламалық жасақтаманың екіншісінен деректер сұрауына немесе бірдеңе жасауын өтінуіне арналған анықталған тәсіл. Қолданбаңыз келісілген форматта сұрау жібереді — «ертеңгі брондауларды бер», «осы картаға 20 € салып шығарыңыз», «осы мәтінді қысқартыңыз» — ал басқа жүйе құрылымдалған жауап қайтарады. API қолданба бөліктерінің бір-бірімен сөйлесу тәсілі, сондай-ақ қолданбаңыз төлемдер, электрондық пошта, карталар және AI сияқты сыртқы қызметтерді пайдаланатын тәсіл.
Неге API AI-мен құрастырған кезде маңызды
Пайдалы қолданбалардың дерлік барлығы API арқылы сөйлесетін бөліктерден тұрады:
- Қолданбаңыздың ішінде браузердегі экрандар деректерді жүктеу және сақтау үшін өз backend-іңіздің API-ін шақырады.
- Қолданбаңыздың сыртында backend-іңіз басқа компаниялардың API-лерін шақырады: төлем алу үшін Stripe, түбіртектер жіберу үшін электрондық пошта провайдері, мәтін жасау үшін AI модель провайдері.
AI құрастырушыдан «төлем қабылда» немесе «AI қорытындысын қос» деп сұрағанда, ол нақты сол қызметтің API-ін шақыратын код жазады. Негіздерін білу AI-дан не қажет болатынын түсінуге (әдетте сол қызметтегі аккаунт және API кілті), қай жерде қате кетуі мүмкін екенін және шығын қанша болатынын білуге көмектеседі.
Күнделікті салыстыру
Мейрамхананы елестетіңіз. Сіз ас үйге кіріп, өзіңіз пісірмейсіз. Мәзірді оқисыз, аспазға түсінікті тілмен не қалайтыныңызды айтасыз, ал даяшы тағамды әкеледі — немесе тағам таусылғанын айтады.
- Мәзір — API құжаттамасы: нені сұрауға болатыны және оны қалай сұрау керектігі.
- Даяшы — API: сұраулар кіріп, жауаптар шығатын жалғыз келісілген жол.
- Ас үй — басқа жүйе: ішкі жұмысын білудің қажеті жоқ.
- Сіздің тапсырысыңыз — сұраныс; тағам — жауап.
Ас үй пештерін және қызметкерлерін ауыстыра алады, мәзір өзгермейінше сізге әсер етпейді. API-дің нақты құндылығы осында: екі жүйе бір-бірінің ішкі құрылымын білмей-ақ жұмыс істей алады.
Веб API сұрауы қалай жұмыс істейді
Сіз кездесетін API-лердің көбі браузеріңіз пайдаланатын HTTP протоколы арқылы жұмыс істейтін веб API-лер. Әр сұрауда бірнеше бөлік бар:
| Бөлік | Не екенін | Мысал |
|---|---|---|
| Әдіс | Әрекеттің түрі | GET (оқу), POST (жасау) |
| URL / эндпоинт | Сіз әрекет ететін нәрсенің мекенжайы | https://api.example.com/bookings |
| Тақырыптар (headers) | Қосымша ақпарат, соның ішінде сіз кімсіз | Authorization: Bearer <your key> |
| Дене (body) | Жасау және жаңарту үшін жіберілетін деректер | {"name": "Lena", "time": "14:00"} |
Әр жауапта мыналар бар:
| Бөлік | Не екенін | Мысал |
|---|---|---|
| Мәртебе коды | Нәтиженің қалай болғанын көрсететін сан | 200 OK, 201 Created, 404 Not Found |
| Дене (body) | Қайтарылған деректер, әдетте JSON | {"id": 5001, "status": "confirmed"} |
JSON (JavaScript Object Notation) — аттар мен мәндер жиынтығының қарапайым мәтіндік форматы, фигуралы жақшаларда жазылады. Веб API деректер алмасудың стандартты тәсілі болып табылады.
REST: ең кең таралған стиль
REST — веб API жобалаудың кең таралған келісімі. Әр нәрсе түрінің өз URL-ы болады, ал стандартты әдістер сіз оған не істейтініңізді білдіреді. Брондау қолданбасының REST API-і былай болуы мүмкін:
| Әдіс | Эндпоинт | Не істейді |
|---|---|---|
GET | /api/bookings | Брондаулар тізімін алу |
GET | /api/bookings/5001 | Бір брондауды алу |
POST | /api/bookings | Жаңа брондау жасау |
PATCH | /api/bookings/5001 | Брондаудың бір бөлігін өзгерту, мысалы уақытын |
DELETE | /api/bookings/5001 | Брондауды болдырмау (жою) |
PUT те бар және ол әдетте бүкіл жазбаны ауыстырады, ал PATCH тек жіберген өрістерді өзгертеді.
Жиі кездесетін мәртебе кодтары:
| Код | Мағынасы |
|---|---|
200 / 201 | Сәтті / жасалды |
400 | Жаман сұраныс — жіберген нәрсеңізде қате немесе жетпейтін бөлік бар |
401 | Аутентификация жоқ — жарамды кіру немесе кілт жоқ |
403 | Тыйым салынған — сізді танығанымен, бұған рұқсат жоқ |
404 | Табылмады |
429 | Тым көп сұраныс — жылдамдық шегіне жеттіңіз |
500 | Серверде қате болды |
Қолданбаңыз бұзылғанда, мәртебе коды көбіне ең жылдам белгі болады. Төлем провайдерінен келген 401 әдетте жоқ немесе қате API кілтін білдіреді; 429 тым жиі шақырып жатқаныңызды білдіреді.
REST жалғыз стиль емес — GraphQL және RPC стиліндегі API-лер де бар — бірақ көбінесе қызметтер мен AI құрастырған backend-тер REST пайдаланады.
Жұмыс мысалы: брондау растауы
Клиент салон қолданбасында шаш қию брондайтын кезде, бір-екі секунд ішінде бірнеше API шақыруы болуы мүмкін:
- Браузердегі брондау беті қызмет, уақыт және клиент мәліметтерімен
POST /api/bookingsсұранысын backend-іңізге жібереді. - Backend слоттың бос екенін тексереді, брондауды дерекқорға сақтайды және
201 Createdқайтарады. - Backend электрондық пошта провайдерінің API-ін құпия кілтімен шақырады: «осы растауды lena@example.com-ға жібер».
- Егер алдын ала төлем болса, backend төлем провайдерінің API-іне төлем сессиясын жасауды сұрайды және клиентті соған жібереді.
- Кейінірек төлем провайдері төлем сәтті өткенін сіздің қолданбаңызға айту үшін қоңырау шалады. Бұл кері қоңырау — webhook.
Алғашқы екі қадам — фронтенд және backend арасындағы өз API-іңіз. 3–5-қадамдар — үшінші тарап API-лері.
Жалпы терминдер түсіндірмесі
| Термин | Мағынасы |
|---|---|
| Эндпоинт | API жауап беретін бір нақты URL. |
| API кілті | Қолданбаңызды қызметке танытатын құпия жол. Оны құпия сөз сияқты сақтаңыз. |
| Аутентификация | Кім шақырып тұрғанын дәлелдеу — кілтпен, токенмен немесе кіру арқылы. Аутентификация дегеніміз не бөлімін қараңыз. |
| Жылдамдық шегі (rate limit) | Белгілі кезең ішінде жасай алатын сұраныстар санының шегі. |
| SDK | Белгілі бір API-ді шақыруды жеңілдететін дайын код кітапханасы. |
| Құжаттама | «Мәзір»: қандай эндпоинттер бар, олар не қабылдайды және не қайтарады. |
| Sandbox / тест режимі | Нақты ақша немесе нақты деректерсіз сынауға арналған қызметтің нұсқасы. |
| Webhook | Бірдеңе болғанда басқа қызметтен қолданбаңызға келетін шақыру. |
Жиі кездесетін қателер мен қате түсініктер
- Құпия кілттерді frontend-ке салу. Браузерде іске қосылатын кодтағының бәрін кез келген келуші көре алады. Құпия кілттер серверде, орта айнымалыларында немесе құпияларда қалуы керек.
- Кілттерді чатқа қою. Чат тарихы сақталуы мүмкін. Оның орнына құрастырушыңыздың құпияларын пайдаланыңыз және ашылған кілтті ауыстырыңыз.
- API ақысыз деп ойлау. Көптеген API-лер әр сұраныс үшін немесе пайдалану бірлігі үшін ақы алады — AI модель API-лері токендермен есептеледі. Бағаны тексеріп, шығынға шек қойыңыз. Қараңыз: LLM API-лерін қалай пайдалану керек.
- Сәтсіздікті өңдемеу. Сыртқы қызметтер істен шығады, уақыт асып кетеді және шектерге тап болады. Түсінікті қате хабарларын және қайталауларды сұраңыз.
- Браузерге сену. Сіздің өз API-іңіз рұқсаттарды өзі тексеруі керек. Батырманы жасыру кімнің болса да эндпоинтті тікелей шақыруын тоқтатпайды.
- Тест кезінде тірі кілттерді пайдалану. Іске қосуға дайын болғанша тест режимі кілттерін пайдаланыңыз.
AI құрастырушыңыздан не сұрау керек
- «Бұл қолданба қай сыртқы API-лерді пайдаланады және әрқайсысы қанша тұрады?»
- «Төлем API-ін тек серверден шақырыңыз. Кілтті орта айнымалысынан оқыңыз.»
- «API-іміздегі әр эндпоинтті, оның не істейтінін және оны кімнің шақыра алатынын тізіңіз.»
- «Брондауды жаңартпас немесе жоймас бұрын, серверде кіріп тұрған пайдаланушының оның иесі екенін тексеріңіз.»
- «Электрондық пошта API-і істен шықса, брондауды бәрібір сақтаңыз және қатені журналға жазыңыз.»
- «Әзірге провайдердің тест режимін пайдаланыңыз.»
Mythex-тегі API-лер
Mythex веб қолданбаның бөлігі ретінде немесе фронтендпен бірге жұмыс істейтін бөлек backend ретінде Node, Python (FastAPI), C# немесе Java-да өз API-іңізді құра алады, сондай-ақ сыртқы қызметтерді шақыратын кодты жаза алады. Кілттерді чатқа емес, жоба құпиялары ретінде қосасыз, және олар алдын ала қарауда және жарияланғаннан кейін қолданбаңызға қолжетімді болады. Құжаттамада кез келген API-ді интеграциялау және REST API backend құру рецептері бар.
Сұрақтар
Қарапайым тілмен айтқанда API дегеніміз не?
API (application programming interface) — бір бағдарламалық жасақтаманың екіншісінен деректер сұрауына немесе бірдеңе жасауын өтінуіне арналған анықталған тәсіл. Қолданбаңыз келісілген форматта сұрау жібереді, ал басқа жүйе жауап қайтарады — мысалы ауа райы деректері, төлем нәтижесі немесе AI жасаған жауап.
REST API дегеніміз не?
REST API — веб API-дың кең таралған түрі, онда әр нәрсе түрінің (брондаулар, клиенттер) өз URL-ы болады, ал стандартты HTTP әдістері қолданылады: оқу үшін GET, жасау үшін POST, жаңарту үшін PUT немесе PATCH, жою үшін DELETE. Деректер әдетте JSON форматында қайтады.
API кілті дегеніміз не және оны қайда сақтау керек?
API кілті — қолданбаңызды қызметке танытатын және көбіне ақша жұмсауға немесе деректерге қол жеткізуге мүмкіндік беретін құпия жол. Оны серверде, орта айнымалыларында немесе жоба құпияларында сақтаңыз; браузерде іске қосылатын кодта немесе жалпыға ашық репозиторийде ешқашан сақтамаңыз.
API мен webhook арасындағы айырмашылық неде?
API-да қолданбаңыз қажет кезде басқа қызметтен бірдеңе сұрайды. Webhook-та басқа қызмет бірдеңе болған кезде қолданбаңызға өзі қоңырау шалады — мысалы, төлем провайдері төлем сәтті өткенін хабарлайды.