Šta je API? Vodič za one koji prave aplikacije bez programiranja
API (application programming interface) je definisan način da jedan dio softvera traži od drugog podatke ili da ga natjera da nešto uradi. Vaša aplikacija šalje zahtjev u dogovorenom formatu — „daj mi sutrašnje rezervacije”, „naplati ovu karticu 20 KM”, „sažmi ovaj tekst” — a drugi sistem šalje strukturiran odgovor. API-ji su način na koji se dijelovi aplikacije međusobno povezuju i kako vaša aplikacija koristi spoljne servise poput plaćanja, e-pošte, mapa i AI-ja.
Zašto su API-ji važni kada pravite uz AI
Gotovo svaka korisna aplikacija sastoji se od dijelova koji komuniciraju preko API-ja:
- Unutar vaše aplikacije, ekrani u pregledaču pozivaju API vaše pozadine da učitaju i snime podatke.
- Izvan vaše aplikacije, vaša pozadina poziva API-je drugih kompanija: Stripe za naplatu, servis e-pošte za račune, dobavljač AI modela za generisanje teksta.
Kada od AI alata zatražite da „primi plaćanja” ili „dodaj AI sažetak”, on zapravo piše kod koji poziva API. Osnove vam pomažu da razumijete šta AI treba od vas (obično nalog kod tog servisa i API ključ), gdje stvari mogu poći po zlu i koliko će koštati.
Analogija iz svakodnevnog života
Zamislite restoran. Ne ulazite u kuhinju da kuvate. Čitate jelovnik, kažete konobaru šta želite na način koji kuhinja razumije, a konobar donosi jelo — ili kaže da je nešto pošlo za rukom.
- Jelovnik je dokumentacija API-ja: spisak onoga što možete tražiti i kako.
- Konobar je API: jedan dogovoreni način na koji zahtjevi ulaze, a odgovori izlaze.
- Kuhinja je drugi sistem: ne morate znati kako radi iznutra.
- Vaša narudžba je zahtjev; tanjir je odgovor.
Kuhinja može mijenjati šporete i osoblje bez uticaja na vas, sve dok jelovnik ostaje isti. U tome je stvarna vrijednost API-ja: omogućava da dva sistema rade zajedno, a da nijedan ne mora znati kako je drugi napravljen.
Kako radi zahtjev web API-ja
Većina API-ja koje ćete sresti su web API-ji koji rade preko HTTP-a, istog protokola koji koristi vaš pregledač. Svaki zahtjev ima nekoliko dijelova:
| Dio | Šta je | Primjer |
|---|---|---|
| Metoda | Vrsta radnje | GET (čitanje), POST (kreiranje) |
| URL / krajnja tačka | Adresa stvari s kojom radite | https://api.example.com/bookings |
| Zaglavlja | Dodatne informacije, uključujući ko ste | Authorization: Bearer <vaš ključ> |
| Tijelo | Podaci koje šaljete, za kreiranje i izmjene | {"name": "Lena", "time": "14:00"} |
A svaki odgovor ima:
| Dio | Šta je | Primjer |
|---|---|---|
| Statusni kod | Broj koji kaže kako je prošlo | 200 OK, 201 Created, 404 Not Found |
| Tijelo | Vraćeni podaci, obično kao JSON | {"id": 5001, "status": "confirmed"} |
JSON (JavaScript Object Notation) je jednostavan tekstualni format s nazivima i vrijednostima u vitičastim zagradama. To je standardan način na koji web API-ji razmjenjuju podatke.
REST: najčešći stil
REST je široko korišćena konvencija za projektovanje web API-ja. Svaka vrsta stvari dobija svoj URL, a standardne metode govore šta radite s njom. Evo kako bi REST API za aplikaciju za rezervacije mogao izgledati:
| Metoda | Krajnja tačka | Šta radi |
|---|---|---|
GET | /api/bookings | Lista rezervacija |
GET | /api/bookings/5001 | Dohvati jednu rezervaciju |
POST | /api/bookings | Kreiraj novu rezervaciju |
PATCH | /api/bookings/5001 | Izmijeni dio rezervacije, npr. vrijeme |
DELETE | /api/bookings/5001 | Otkaži (obriši) rezervaciju |
PUT takođe postoji i po konvenciji zamjenjuje cijeli zapis, dok PATCH mijenja samo polja koja pošaljete.
Statusni kodovi koje ćete najčešće vidjeti:
| Kod | Značenje |
|---|---|
200 / 201 | Uspjeh / kreirano |
400 | Loš zahtjev — nešto u onome što ste poslali nije ispravno ili nedostaje |
401 | Nije autentifikovano — nema važeće prijave ili ključa |
403 | Zabranjeno — poznati ste, ali ne smijete ovo uraditi |
404 | Nije pronađeno |
429 | Previše zahtjeva — dostigli ste ograničenje učestalosti |
500 | Greška na serveru |
Kada se vaša aplikacija pokvari, statusni kod je često najbrži trag. 401 od dobavljača plaćanja obično znači da API ključ nedostaje ili nije ispravan; 429 znači da zovete prečesto.
REST nije jedini stil — postoje i GraphQL i API-ji u RPC stilu — ali REST koristi većina servisa i pozadina napravljenih uz AI.
Radni primjer: potvrda rezervacije
Kada kupac rezerviše šišanje u aplikaciji za salon, nekoliko API poziva može se dogoditi za sekundu ili dvije:
- Stranica za rezervaciju u pregledaču šalje
POST /api/bookingss uslugom, terminom i podacima kupca vašoj pozadini. - Vaša pozadina provjerava je li termin slobodan, čuva rezervaciju u bazi podataka i vraća
201 Created. - Vaša pozadina poziva API servisa e-pošte sa svojim tajnim ključem: „pošalji ovu potvrdu na lena@example.com.”
- Ako postoji avans, vaša pozadina traži od API-ja dobavljača plaćanja da napravi sesiju plaćanja i šalje kupca tamo.
- Kasnije, dobavljač plaćanja poziva vašu aplikaciju da javi da je plaćanje uspjelo. Taj obrnuti poziv je webhook.
Prva dva koraka su vaš vlastiti API između frontenda i backenda. Koraci 3–5 su API-ji trećih strana.
Pojmovi objašnjeni
| Pojam | Značenje |
|---|---|
| Krajnja tačka (endpoint) | Jedan konkretan URL na koji API odgovara. |
| API ključ | Tajni niz znakova koji identifikuje vašu aplikaciju kod servisa. Tretirajte ga kao lozinku. |
| Autentifikacija | Dokazivanje ko poziva — ključem, tokenom ili prijavom. Vidi šta je autentifikacija. |
| Ograničenje učestalosti (rate limit) | Ograničenje koliko zahtjeva možete poslati u određenom periodu. |
| SDK | Gotova biblioteka koda koja olakšava pozivanje određenog API-ja. |
| Dokumentacija | „Jelovnik”: koje krajnje tačke postoje, šta prihvataju i vraćaju. |
| Sandbox / testni režim | Verzija servisa za testiranje bez pravog novca ili pravih podataka. |
| Webhook | Poziv iz drugog servisa u vašu aplikaciju kada se nešto dogodi. |
Česte greške i zablude
- Stavljanje tajnih ključeva u frontend. Sve u kodu koji se izvršava u pregledaču može vidjeti svako ko posjeti stranicu. Tajni ključevi moraju ostati na serveru, u varijablama okruženja ili tajnama.
- Lijepljenje ključeva u chat. Historija chata se može čuvati. Umjesto toga koristite funkciju tajni u vašem alatu, a svaki ključ koji ste izložili zamijenite novim.
- Pretpostavka da je API besplatan. Mnogi API-ji naplaćuju po zahtjevu ili po jedinici korišćenja — API-ji AI modela naplaćuju po tokenima. Provjerite cijene i postavite limite potrošnje. Vidi kako koristiti API-je LLM-ova.
- Nerukovanje greškama. Spoljni servisi padaju, istekne im vrijeme i dostignu limite. Tražite razumne poruke o greškama i ponovne pokušaje.
- Vjerovanje pregledaču. Vaš API mora sam provjeravati dozvole. Skrivanje dugmeta ne sprečava nekoga da direktno pozove krajnju tačku.
- Korištenje živih ključeva u testiranju. Koristite ključeve testnog režima dok ne budete spremni za lansiranje.
Šta tražiti od vašeg AI alata
- „Koje spoljne API-je ova aplikacija koristi i koliko svaki košta?”
- „Zovi API za plaćanja samo sa servera. Čitaj ključ iz varijable okruženja.”
- „Navedi svaku krajnju tačku našeg API-ja, šta radi i ko ga smije pozivati.”
- „Provjeri na serveru da prijavljeni korisnik posjeduje rezervaciju prije izmjene ili brisanja.”
- „Ako API servisa e-pošte ne uspije, ipak sačuvaj rezervaciju i zabilježi grešku.”
- „Za sada koristi testni režim dobavljača.”
API-ji u Mythexu
Mythex može napraviti vaš vlastiti API — kao dio web-aplikacije ili kao zasebnu pozadinu u Node, Pythonu (FastAPI), C# ili Javi, koja radi uz vaš frontend — i napisati kod koji poziva spoljne servise. Ključeve dodajete kao tajne projekta, a ne u chat, i dostupni su vašoj aplikaciji u pregledu i nakon objavljivanja. Dokumentacija ima recepte za integraciju bilo kojeg API-ja i izgradnju REST API pozadine.
Pitanja
Šta je API, jednostavno rečeno?
API (application programming interface) je dogovoreni način da jedan softver od drugog traži podatke ili da ga natjera da nešto uradi. Vaša aplikacija šalje zahtjev u dogovorenom formatu, a drugi sistem vraća odgovor — npr. podatke o vremenu, rezultat plaćanja ili odgovor generisan AI-jem.
Šta je REST API?
REST API je čest stil web API-ja u kojem svaka vrsta stvari (rezervacije, kupci) ima svoj URL, a koriste se standardne HTTP metode — GET za čitanje, POST za kreiranje, PUT ili PATCH za izmjenu, DELETE za brisanje. Podaci se obično vraćaju kao JSON.
Šta je API ključ i gdje ga čuvati?
API ključ je tajni niz znakova koji identifikuje vašu aplikaciju kod nekog servisa i često joj omogućava trošenje novca ili pristup podacima. Čuvajte ga u varijablama okruženja ili tajnama projekta na serveru, nikad u kodu koji se izvršava u pregledaču i nikad u javnom repozitoriju.
Koja je razlika između API-ja i webhooka?
Kod API-ja vaša aplikacija traži nešto od drugog servisa kada joj zatreba. Kod webhooka drugi servis poziva vašu aplikaciju kada se nešto dogodi — npr. dobavljač plaćanja javlja da je plaćanje uspjelo.