# Vsebinski kriterij NIK
## Raziskovanje API-ja
## OSNOVNA NALOGA
Samostojno poiščite in raziskajte javni brezplačni API z vsaj 3 različnimi funkcionalnostmi. Dokumentirajte strukture klicev in prikazanje dostopa do JSON podatkov.
Kar nekaj jih najdeš tu: https://github.com/public-apis/public-apis
---
## OCENJEVALNI KRITERIJI
### OCENA 2 (ZADOSTNO)
**Vsi pogoji morajo biti izpolnjeni:**
- [ ] Izbira javnega brezplačnega API-ja z vsaj 3 funkcionalnostmi
- [ ] Predstavitev API-ja z opisom namena in možnosti
- [ ] Prikazana struktura najmanj 2 različnih API klicev
- [ ] Dokumentiran odgovor API-ja v JSON obliki
- [ ] Demonstracija dostopa do posameznih podatkov iz JSON strukture
### OCENA 3 (DOBRO)
**Vsi pogoji iz ocene 2 +:**
- [ ] Uporaba FOR zanke za obdelavo več podatkov iz API-ja
- [ ] Primer iteracije skozi seznam rezultatov
- [ ] Prikaz vsaj 3 različnih API klicev
- [ ] Filtriranje ali iskanje podatkov
### OCENA 4 (PRAV DOBRO)
**Vsi pogoji iz ocene 3 +:**
- [ ] Implementacija lastnih funkcij za delo z API-jem
- [ ] Funkcija za pridobivanje podatkov
- [ ] Funkcija za obdelavo/formatiranje podatkov
- [ ] Error handling (obravnava napak pri klicih)
### OCENA 5 (ODLIČNO)
**Vsi pogoji iz ocene 4 +:**
- [ ] Poljubna kreativna nadgradnja:
- Grafični prikaz podatkov
- Shranjevanje podatkov v datoteko
- Kombiniranje več API-jev
- Uporabniški vmesnik z input funkcijami
- Statistična analiza podatkov
- Primerjava ali rangiranje rezultatov
---
## PRIMER PREDSTAVITVE API-ja
### 1. Osnovni opis API-ja
```markdown
## [Ime API-ja]
**URL:** [povezava do API-ja]
**Namen:** [kratka razlaga, kaj API omogoča]
**Dokumentacija:** [povezava do uradno dokumentacijo]
### Glavne funkcionalnosti:
1. [Funkcionalnost 1] - [kratek opis]
2. [Funkcionalnost 2] - [kratek opis]
3. [Funkcionalnost 3] - [kratek opis]
```
### 2. Strukture API klicev
```python
# KLIC 1: [Opis kaj dela]
# URL: [polna URL pot]
odgovor1 = requests.get("[URL]")
# KLIC 2: [Opis kaj dela]
# URL: [polna URL pot]
odgovor2 = requests.get("[URL]")
# KLIC 3: [Opis kaj dela]
# URL: [polna URL pot]
odgovor3 = requests.get("[URL]")
```
### 3. Primer JSON odgovora
```json
{
"primer": "json odgovora",
"struktura": "podatkov",
"ključi": ["seznam", "vrednosti"]
}
```
### 4. Dostopanje do podatkov
```python
# Pretvorimo odgovor v Python objekt
podatki = odgovor.json()
# Dostopamo do posameznih podatkov
vrednost1 = podatki["kljuc1"]
vrednost2 = podatki.get("kljuc2", "Privzeta vrednost")
# Prikažemo rezultate
print(f"Rezultat: {vrednost1}")
```
---
## TEHNIČNE ZAHTEVE
- **Programski jezik:** Python (obvezno uporaba requests knjižnice)
- **Dokumentacija:** Komentarji v kodi + README.md datoteka
- **Struktura oddaje:**
- `main.py` - glavna koda
- `README.md` - opis projekta in predstavitev API-ja
- Dodatne datoteke po potrebi
## OSNOVE DELA Z API-jem
### Uvoz knjižnice
```python
import requests
```
### Osnovni klic
```python
odgovor = requests.get("URL_DO_API")
if odgovor.status_code == 200:
podatki = odgovor.json()
print("Podatki uspešno pridobljeni!")
else:
print(f"Napaka: {odgovor.status_code}")
```
### Varno dostopanje do podatkov
```python
# Uporabi .get() za varno dostopanje
vrednost = podatki.get("kljuc", "Privzeta vrednost")
# Preveri obstoj ključa
if "kljuc" in podatki:
vrednost = podatki["kljuc"]
```
## NASVETI ZA ISKANJE API-ja
- Iščite "free public API" ali "no auth API"
- Preverite, da ne potrebuje registracije ali API ključa
- Testirajte API v brskalniku najprej
- Preberite dokumentacijo za razumevanje strukture
## ROK ODDAJE
**10.6.2025**
---
*Opomba: Za dosego višje ocene morajo biti izpolnjeni VSI pogoji nižjih ocen.*