День 0
Підтвердити доступ
Створіть ключ, виконайте один автентифікований запит і збережіть першу відповідь разом з її метаданими.
Відкрити крок →посібник з робочого процесу API
Виберіть результат, найближчий до вашої задачі. Кожен шлях надає вам один робочий запит, інформацію про те, що має містити відповідь, як перевірити її роботу, та наступний корисний крок.
П'ять практичних шляхів
Selected: Harden a client
Ваша 14-денна пробна версія API
Мета не в тому, щоб відвідати кожну сторінку продукту. Мета полягає в тому, щоб виконати корисну автентифіковану роботу API, повернутися в інший день і залишити після себе повторюваний набір даних або робочий процес додатка.
День 0
Створіть ключ, виконайте один автентифікований запит і збережіть першу відповідь разом з її метаданими.
Відкрити крок →Дні 1-2
Вирішіть проблеми з автентифікацією або фільтрацією та перетворіть перший скрипт на іменоване повторюване завдання.
Відкрити крок →Дні 3-4
Використовуйте календар як другу родину ендпоінтів і заплануйте наступний корисний запуск API.
Відкрити крок →Дні 5-7
Додайте очікування або невелику групу макросерій, потім створіть одне збережене порівняння, таблицю або звітну картку.
Відкрити крок →Дні 8-10
Виберіть заплановані REST, SSE або вебхуки та виконайте ще один успішний запуск API в інший день.
Відкрити крок →Дні 11-13
Додайте тайм-аути, обмежені повторні спроби, валідацію відповідей, безпечне логування облікових даних та моніторинг застарілих даних.
Відкрити крок →День 14
Підтвердьте, що API забезпечує повторювану роботу, яку ваша команда збереже, а потім виберіть наступний набір даних або робочий процес програми.
Відкрити крок →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.
Працюючий приклад
Зберігайте свій ключ у FXMD_API_KEY; ніколи не вставляйте його в систему контролю версій.
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()
Очікуваний результат: A bounded client that handles transient failures without retry storms and is ready to add ETag-based conditional refreshes.
Коли перший скрипт стає реальною системою
Використовуйте ці посібники, якщо відповідь не вдалася, не повернула даних або потребує виробничого контролю, такого як кешування, тайм-аути, повторні спроби та доставка подій.
| Посібник | Використовуйте це, коли | Старт |
|---|---|---|
| Діагностика помилкової або порожньої відповіді | Розділяйте проблеми автентифікації, доступу, шляху, ліміту запитів та доступності даних, не розкриваючи свій ключ. | Відкрити посібник → |
| Підготувати клієнта API до виробничого використання | Додайте таймаути, обмежені повторні спроби, кешування, умовні запити та правильний шаблон доставки. | Відкрити посібник → |