Dan 0
Dokaži pristup
Kreirajte ključ, izvršite jedan autentifikovan zahtev i sačuvajte prvi odgovor sa njegovim metapodacima.
Otvori korak →API vodič za tok rada
Izaberite ishod najbliži vašem poslu. Svaki put vam daje jedan radni zahtev, šta odgovor treba da sadrži, kako proveriti da li je radio i sledeći koristan korak.
Pet praktičnih putanja
Selected: Harden a client
Vaš 14-dnevni API probni period
Cilj nije poseta svakoj stranici proizvoda. Cilj je završiti koristan autentifikovan API posao, vratiti se drugog dana i otići sa ponovljivim setom podataka ili radnim tokom aplikacije.
Dan 0
Kreirajte ključ, izvršite jedan autentifikovan zahtev i sačuvajte prvi odgovor sa njegovim metapodacima.
Otvori korak →Dani 1-2
Rešite probleme sa autentifikacijom ili filtriranjem i pretvorite prvi skript u imenovan ponovljiv posao.
Otvori korak →Dani 3-4
Koristite kalendar kao drugu porodicu endpoint-a i zakažite sledeće korisno API pokretanje.
Otvori korak →Dani 5-7
Dodajte očekivanja ili malu grupu makro serija, zatim kreirajte jedno sačuvano poređenje, tabelu ili rezultate.
Otvori korak →Dani 8-10
Izaberite zakazani REST, SSE ili webhooks i završite još jedno uspešno API pokretanje drugog dana.
Otvori korak →Dani 11-13
Dodajte tajmaute, ograničene pokušaje ponovnog slanja, validaciju odgovora, bezbedno logovanje kredencijala i praćenje zastarelih podataka.
Otvori korak →Dan 14
Potvrdite da API obezbeđuje ponovljiv posao koji će vaš tim zadržati, a zatim izaberite sledeći set podataka ili radni tok aplikacije.
Otvori korak →Production readiness
Production reliability comes from treating status codes differently, keeping retries bounded, reusing ETags, and choosing scheduled REST, SSE, or webhooks for the job.
Primer koji radi
Čuvajte svoj ključ u FXMD_API_KEY; nikada ga ne lepite u kontrolu izvora.
import os
import requests
from urllib3.util.retry import Retry
session = requests.Session()
retry = Retry(total=3, backoff_factor=0.5, status_forcelist=(429, 502, 503, 504))
session.mount("https://", requests.adapters.HTTPAdapter(max_retries=retry))
response = session.get(
"https://api.fxmacrodata.com/v1/announcements/eur/inflation",
params={"api_key": os.environ["FXMD_API_KEY"], "limit": 5},
headers={"Accept-Encoding": "gzip"},
timeout=(3.05, 20),
)
response.raise_for_status()
Očekivani rezultat: A bounded client that handles transient failures without retry storms and is ready to add ETag-based conditional refreshes.
Kada prva skripta postane pravi sistem
Koristite ove vodiče kada odgovor ne uspe, ne vrati podatke ili zahteva production kontrole kao što su keširanje, tajmauti, ponovni pokušaji i isporuka događaja.
| Vodič | Koristite ga kada | Započni |
|---|---|---|
| Dijagnostikuj neuspeli ili prazan odgovor | Razdvojite probleme sa autentifikacijom, pristupom, putanjom, ograničenjem brzine i dostupnošću podataka bez otkrivanja vašeg ključa. | Otvori vodič → |
| Učinite API klijenta spremnim za produkciju | Dodaj timeout-ove, ograničene pokušaje ponovnog slanja, keširanje, kondicionalne zahteve i ispravan obrazac isporuke. | Otvori vodič → |