Dzień 0
Potwierdź dostęp
Utwórz klucz, wykonaj jedno uwierzytelnione żądanie i zapisz pierwszą odpowiedź wraz z jej metadanymi.
Otwórz krok →przewodnik po workflow API
Wybierz wynik najbliższy Twojemu stanowisku. Każda ścieżka daje Ci jedno działające żądanie, informację o tym, co powinna zawierać odpowiedź, jak sprawdzić, czy zadziałało, oraz kolejny użyteczny krok.
Pięć praktycznych ścieżek
Selected: Harden a client
Twój API okres próbny 14 dni
Celem nie jest odwiedzanie każdej strony produktu. Celem jest wykonanie użytecznej, uwierzytelnionej pracy API, powrót innego dnia i wyjście z powtarzalnym zestawem danych lub przepływem pracy aplikacji.
Dzień 0
Utwórz klucz, wykonaj jedno uwierzytelnione żądanie i zapisz pierwszą odpowiedź wraz z jej metadanymi.
Otwórz krok →Dni 1-2
Rozwiąż problemy z uwierzytelnianiem lub filtrowaniem i przekształć pierwszy skrypt w nazane, powtarzalne zadanie.
Otwórz krok →Dni 3-4
Użyj kalendarza jako drugiej rodziny punktów końcowych i zaplanuj następne użyteczne uruchomienie API.
Otwórz krok →Dni 5-7
Dodaj oczekiwania lub małą grupę szeregów makro, a następnie wygeneruj jedno zapisane porównanie, tabelę lub scorecard.
Otwórz krok →Dni 8-10
Wybierz zaplanowane REST, SSE lub webhoki i ukończ kolejny udany przebieg API w innym dniu.
Otwórz krok →Dni 11-13
Dodaj limity czasu (timeouts), ograniczone ponowienia, walidację odpowiedzi, bezpieczne logowanie poświadczeń i monitorowanie nieaktualnych danych.
Otwórz krok →Dzień 14
Potwierdź, że API zapewnia powtarzalne zadanie, które Twój zespół będzie utrzymywał, a następnie wybierz kolejny zestaw danych lub proces aplikacji.
Otwórz krok →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.
Działający przykład
Przechowuj swój klucz w FXMD_API_KEY; nigdy nie wklejaj go do kontroli wersji.
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()
Oczekiwany wynik: A bounded client that handles transient failures without retry storms and is ready to add ETag-based conditional refreshes.
Kiedy pierwszy skrypt staje się prawdziwym systemem
Skorzystaj z tych przewodników, gdy odpowiedź nie powodzi się, nie zwraca danych lub wymaga kontroli produkcyjnych, takich jak buforowanie, limity czasu, ponowienia i dostarczanie zdarzeń.
| Przewodnik | Użyj go, gdy | Start |
|---|---|---|
| Zdiagnozuj nieudaną lub pustą odpowiedź | Oddziel problemy z uwierzytelnianiem, dostępem, ścieżką, limitem żądań i dostępnością danych bez ujawniania swojego klucza. | Otwórz przewodnik → |
| Przygotuj klienta API do produkcji | Dodaj limity czasu, ograniczone ponowienia, buforowanie, żądania warunkowe i właściwy wzorzec dostarczania. | Otwórz przewodnik → |