Dag 0
Bevisa åtkomst
Skapa nyckeln, genomför en autentiserad begäran och spara det första svaret med dess metadata.
Öppna steg →API arbetsflödesguide
Välj det utfall som ligger närmast ditt jobb. Varje väg ger dig en fungerande förfrågan, vad responsen bör innehålla, hur du kontrollerar att det fungerade, och nästa användbara steg.
Fem praktiska vägar
Selected: Harden a client
Din 14-dagars API provperiod
Målet är inte att besöka varje produktsida. Det är att slutföra användbart autentiserat API arbete, återvända en annan dag, och lämna med ett upprepningsbart dataset eller arbetsflöde för applikationer.
Dag 0
Skapa nyckeln, genomför en autentiserad begäran och spara det första svaret med dess metadata.
Öppna steg →Dagar 1-2
Lös autentiserings- eller filtreringsproblem och förvandla det första skriptet till ett namngivet upprepningsbart jobb.
Öppna steg →Dagar 3-4
Använd kalendern som en andra endpoint-familj och schemalägg nästa användbara API körning.
Öppna steg →Dagar 5-7
Lägg till förväntningar eller en liten grupp makroserier, och producera sedan en sparad jämförelse, tabell eller scorecard.
Öppna steg →Dagar 8-10
Välj schemalagd REST, SSE, eller webhooks och slutför en annan lyckad API körning på en annan dag.
Öppna steg →Dagar 11-13
Lägg till timeouts, begränsade retries, validering av respons, autentiseringssäker loggning och övervakning av inaktuell data.
Öppna steg →Dag 14
Bekräfta att API tillhandahåller ett upprepningsbart jobb som ditt team kommer att behålla, välj sedan nästa dataset eller arbetsflöde för applikationen.
Öppna steg →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.
Arbetande exempel
Behåll din nyckel i FXMD_API_KEY; klistra aldrig in den i versionshantering.
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()
Förväntat resultat: A bounded client that handles transient failures without retry storms and is ready to add ETag-based conditional refreshes.
När det första skriptet blir ett riktigt system
Använd dessa guider när ett svar misslyckas, inte returnerar data eller behöver produktionskontroller såsom cachelagring, timeouts, försök på nytt och leverans av händelser.
| Guide | Använd den när | Starta |
|---|---|---|
| Diagnostisera ett misslyckat eller tomt svar | Separera autentiserings-, åtkomst-, sökvägs-, hastighetsbegränsnings- och datatillgänglighetsproblem utan att exponera din nyckel. | Öppna guide → |
| Gör en API klient produktionsredo | Lägg till timeouts, begränsade retries, cachning, villkorliga förfrågningar och rätt leveransmönster. | Öppna guide → |