Што е API? Водич на едноставен јазик за градители на апликации
API (application programming interface) е дефиниран начин на кој еден софтвер бара податоци од друг или му налага да направи нешто. Вашата апликација испраќа барање во договорен формат — „дај ми ги утрешните резервации“, „наплати 20 евра на оваа картичка“, „резимирај го овој текст“ — а другиот систем враќа структуриран одговор. API-јата се начинот на кој деловите од една апликација разговараат меѓусебно, и начинот на кој вашата апликација користи надворешни услуги како плаќања, е-пошта, мапи и AI.
Зошто API-јата се важни кога градите со AI
Скоро секоја корисна апликација е составена од делови што комуницираат преку API-ја:
- Во вашата апликација, екраните во прелистувачот го повикуваат API-то на вашата сопствена позадина за да вчитаат и зачуваат податоци.
- Надвор од вашата апликација, вашата позадина ги повикува API-јата на други компании: Stripe за плаќања, давател на е-пошта за потврди, давател на AI модел за генерирање текст.
Кога од AI градител ќе побарате „прими плаќања“ или „додај AI резиме“, она што навистина го прави е пишување код што повикува API. Основното знаење ви помага да разберете што му треба на AI од вас (обично сметка кај таа услуга и API клуч), каде може да нешто тргне наопаку и колку ќе чини.
Секојдневна аналогија
Замислете ресторан. Не влегувате во кујната да готвите. Ја читате менито, му кажувате на келнерот што сакате на начин што кујната го разбира, а келнерот ви ја донесува храната — или ви вели дека јадењето е распродадено.
- Менито е документацијата на API-то: список на она што можете да го побарате и како.
- Келнерот е API-то: единствениот договорен начин на кој барањата влегуваат и одговорите излегуваат.
- Кујната е другиот систем: не треба да знаете како работи внатре.
- Вашата нарачка е барањето; чинијата е одговорот.
Кујната може да ги смени своите печки и персонал без да ве засега, сѐ додека менито останува исто. Тоа е вистинската вредност на API-то: им овозможува на два системи да работат заедно, без ниту еден да треба да знае како е изграден другиот.
Како функционира барање до веб API
Повеќето API-ја со кои ќе се сретнете се веб API-ја што работат преку HTTP, истиот протокол што го користи вашиот прелистувач. Секое барање има неколку делови:
| Дел | Што е | Пример |
|---|---|---|
| Метод | Видот на дејство | GET (читање), POST (создавање) |
| URL / крајна точка | Адресата на работата со која дејствувате | https://api.example.com/bookings |
| Заглавија | Дополнителни информации, вклучувајќи и кој сте вие | Authorization: Bearer <вашиот клуч> |
| Тело | Податоците што ги испраќате, за создавање и ажурирање | {"name": "Lena", "time": "14:00"} |
А секој одговор има:
| Дел | Што е | Пример |
|---|---|---|
| Статусен код | Број што покажува како поминало | 200 OK, 201 Created, 404 Not Found |
| Тело | Вратените податоци, обично како 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 и API-ја во RPC стил — но REST е она што го користат повеќето услуги и позадини изградени со AI.
Работен пример: потврда за резервација
Кога клиент ќе закаже фризура во апликација за салон, за една-две секунди може да се случат неколку повици до API:
- Страницата за резервација во прелистувачот испраќа
POST /api/bookingsсо услугата, времето и податоците за клиентот до вашата позадина. - Вашата позадина проверува дали терминот е слободен, ја зачувува резервацијата во базата на податоци и враќа
201 Created. - Вашата позадина повикува API на давател на е-пошта со својот тајна клуч: „испрати ја оваа потврда до lena@example.com“.
- Ако има депозит, вашата позадина го бара од API-то на давателот на плаќања да создаде сесија за плаќање и го испраќа клиентот таму.
- Подоцна, давателот на плаќања ја повикува вашата апликација за да каже дека плаќањето е успешно. Тој обратен повик е webhook.
Првите два чекори се вашето сопствено API помеѓу frontend и backend. Чекорите 3–5 се API-ја на трети страни.
Вообичаени термини објаснети
| Термин | Значење |
|---|---|
| Крајна точка (endpoint) | Една конкретна URL адреса на која API одговара. |
| API клуч | Тајна низа што ја идентификува вашата апликација пред услуга. Однесувајте се со неа како со лозинка. |
| Автентикација | Докажување кој повикува — со клуч, токен или најава. Видете што е автентикација. |
| Ограничување на брзина (rate limit) | Горна граница на колку барања можете да испратите во даден период. |
| SDK | Готова библиотека со код што ја олеснува употребата на одредено API. |
| Документација | „Менито“: кои крајни точки постојат, што прифаќаат и што враќаат. |
| Sandbox / тест режим | Верзија на услуга за тестирање без вистински пари или вистински податоци. |
| Webhook | Повик од друга услуга кон вашата апликација кога нешто ќе се случи. |
Вообичаени грешки и погрешни верувања
- Ставање тајни клучеви во frontend. Сѐ во кодот што работи во прелистувачот може да го види секој што ќе ја посети страницата. Тајните клучеви мора да останат на серверот, во променливи на околината или тајни.
- Лепење клучеви во разговор. Историјата на разговорот може да се чува. Наместо тоа, користете ја функцијата за тајни на вашиот градител, а секој клуч што сте го изложиле — заменете го.
- Претпоставка дека API-то е бесплатно. Многу API-ја наплаќаат по барање или по единица користење — API-јата за AI модели наплаќаат по токени. Проверете ги цените и поставете ограничувања на трошењето. Видете како да користите LLM API-ја.
- Непостапување при неуспех. Надворешните услуги паѓаат, истекува времето и достигнуваат ограничувања. Побарајте разумни пораки за грешки и повторни обиди.
- Верување на прелистувачот. Вашето сопствено API мора самото да ги проверува дозволите. Скриеното копче не значи дека некој нема да може директно да го повика крајната точка.
- Користење живи клучеви при тестирање. Користете клучеви од тест режимот додека не сте подготвени за лансирање.
Што да побарате од вашиот AI градител
- „Кои надворешни API-ја ги користи апликацијата и колку чини секое од нив?“
- „Повикувај го API-то за плаќања само од серверот. Прочитај го клучот од променлива на околината.“
- „Наведи ги сите крајни точки во нашето API, што прават и кој смее да ги повикува.“
- „Провери на серверот дека најавениот корисник е сопственик на резервацијата пред да ја ажурира или избрише.“
- „Ако API-то за е-пошта не успее, сепак зачувај ја резервацијата и запиши ја грешката.“
- „Користи го тест режимот на давателот за сега.“
API-ја во Mythex
Mythex може да изгради ваше сопствено API — како дел од веб-апликација, или како посебна позадина во Node, Python (FastAPI), C# или Java што работи покрај вашиот frontend — и да го напише кодот што ги повикува надворешните услуги. Нивните клучеви ги додавате како тајни на проектот, а не во разговорот, и се достапни за вашата апликација во прегледот и откако ќе се објави. Документацијата содржи рецепти за интегрирање на било кое API и изградба на REST API позадина.
Прашања
Што е 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, другата услуга ја повикува вашата апликација кога нешто ќе се случи — на пример, давател на плаќања ве известува дека плаќањето е успешно.