Päivä 0
Todista pääsy
Luo avain, suorita yksi autentikoitu pyyntö ja tallenna ensimmäinen vastaus metadatineen.
Avaa vaihe →API -työnkulkuopas
Valitse työllesi lähin lopputulos. Jokainen polku antaa sinulle yhden toimivan pyynnön, tiedon siitä mitä vastauksen tulisi sisältää, ohjeen sen tarkistamiseen ja seuraavan hyödyllisen vaiheen.
Viisi käytännön polkua
Selected: Harden a client
14-päivän API -kokeilujaksosi
Tavoitteena ei ole vierailla jokaisella tuotesivulla. Tavoitteena on suorittaa hyödyllinen tunnistettu API -työ, palata toisena päivänä ja poistua toistettavan tietoaineiston tai sovellustyönkulun kanssa.
Päivä 0
Luo avain, suorita yksi autentikoitu pyyntö ja tallenna ensimmäinen vastaus metadatineen.
Avaa vaihe →Päivät 1-2
Ratkaise tunnistautumis- tai suodatinongelmat ja muuta ensimmäinen skripti nimettyä toistettavaksi työksi.
Avaa vaihe →Päivät 3-4
Käytä kalenteria toisena päätepisteperheenä ja aikatauluta seuraava hyödyllinen API -ajo.
Avaa vaihe →Päivät 5-7
Lisää odotuksia tai pieni ryhmä makrosarjoja, ja luo sitten yksi tallennettu vertailu, taulukko tai pisteytyskortti.
Avaa vaihe →Päivät 8-10
Valitse ajastettu REST, SSE tai webhooks ja suorita toinen onnistunut API -ajo eri päivänä.
Avaa vaihe →Päivät 11-13
Lisää aikakatkaisut, rajatut uudelleenyritykset, vastauksen validointi, tunnusturvallinen lokitus ja vanhentuneen datan seuranta.
Avaa vaihe →Päivä 14
Varmista, että API tarjoaa toistettavan työn, jonka tiimisi säilyttää, ja valitse sitten seuraava tietoaineisto tai sovelluksen työnkulku.
Avaa vaihe →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.
Toimiva esimerkki
Pidä avaimesi FXMD_API_KEY; älä koskaan liitä sitä versionhallintaan.
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()
Odotettu tulos: A bounded client that handles transient failures without retry storms and is ready to add ETag-based conditional refreshes.
Kun ensimmäisestä skriptistä tulee oikea järjestelmä
Käytä näitä oppaita, kun vastaus epäonnistuu, ei palauta tietoja tai vaatii tuotantokontrolleja, kuten välimuistia, aikakatkaisuja, uudelleenyrityksiä ja tapahtumien toimitusta.
| Opas | Käytä sitä, kun | Aloita |
|---|---|---|
| Diagnosoi epäonnistunut tai tyhjä vastaus | Erota tunnistautumis-, pääsy-, polku-, nopeusrajoitus- ja tietojen saatavuusongelmat paljastamatta avaintasi. | Avaa opas → |
| Tee API -asiakkaasta tuotantovalmis | Lisää aikakatkaisut, rajatut uudelleenyritykset, välimuisti, ehdolliset pyynnöt ja oikea toimitusmalli. | Avaa opas → |