วัน 0
พิสูจน์การเข้าถึง
สร้างคีย์, ดำเนินการคำขอที่ผ่านการพิสูจน์ตัวตนหนึ่งครั้ง และบันทึกการตอบสนองครั้งแรกพร้อมกับเมทาดาตา
เปิดขั้นตอน →คู่มือเวิร์กโฟลว์ API
เลือกผลลัพธ์ที่ใกล้เคียงกับงานของคุณที่สุด แต่ละเส้นทางจะให้คำขอที่ใช้งานได้หนึ่งรายการ, สิ่งที่การตอบสนองควรมี, วิธีตรวจสอบว่าทำงานได้ และขั้นตอนที่มีประโยชน์ถัดไป
ห้าเส้นทางที่นำไปใช้ได้จริง
Selected: Harden a client
การทดลองใช้ API เป็นเวลา 14 วันของคุณ
เป้าหมายไม่ใช่การเข้าชมทุกหน้าผลิตภัณฑ์ แต่คือการทำงานด้วย API ที่มีการยืนยันตัวตนอย่างมีประโยชน์ให้เสร็จสิ้น กลับมาอีกครั้งในวันอื่น และจากไปพร้อมกับชุดข้อมูลหรือเวิร์กโฟลว์แอปพลิเคชันที่ทำซ้ำได้
วัน 0
สร้างคีย์, ดำเนินการคำขอที่ผ่านการพิสูจน์ตัวตนหนึ่งครั้ง และบันทึกการตอบสนองครั้งแรกพร้อมกับเมทาดาตา
เปิดขั้นตอน →วัน 1-2
แก้ไขปัญหาการยืนยันตัวตนหรือตัวกรอง และเปลี่ยนสคริปต์แรกให้เป็นงานที่ตั้งชื่อและทำซ้ำได้
เปิดขั้นตอน →วัน 3-4
ใช้ปฏิทินเป็นกลุ่ม endpoint ที่สองและกำหนดตารางการรัน API ที่มีประโยชน์ครั้งต่อไป
เปิดขั้นตอน →วัน 5-7
เพิ่มความคาดหวังหรือกลุ่มเล็กๆ ของชุดข้อมูล macro จากนั้นสร้างการเปรียบเทียบ, ตาราง หรือ scorecard ที่บันทึกไว้หนึ่งรายการ
เปิดขั้นตอน →วันที่ 8-10
เลือก REST, SSE ที่กำหนดเวลาไว้ หรือ webhooks และดำเนินการรัน API ที่ประสบความสำเร็จอีกครั้งในวันอื่น
เปิดขั้นตอน →วัน 11-13
เพิ่มการกำหนดเวลาหมดเวลา (timeouts), การลองใหม่แบบจำกัดจำนวน (bounded retries), การตรวจสอบความถูกต้องของการตอบสนอง, การบันทึกข้อมูลที่ปลอดภัยต่อข้อมูลประจำตัว และการตรวจสอบข้อมูลที่ล้าสมัย
เปิดขั้นตอน →วัน 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; ห้ามวางลงใน source control โดยเด็ดขาด
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.
เมื่อสคริปต์แรกกลายเป็นระบบจริง
ใช้คู่มือเหล่านี้เมื่อการตอบสนองล้มเหลว, ไม่คืนค่าข้อมูล หรือต้องการการควบคุมระดับ production เช่น การทำแคช, การกำหนดเวลาหมดเวลา, การลองใหม่ และการส่งเหตุการณ์
| คู่มือ | ใช้เมื่อ | เริ่ม |
|---|---|---|
| วินิจฉัยการตอบกลับที่ล้มเหลวหรือว่างเปล่า | แยกปัญหาการยืนยันตัวตน, การเข้าถึง, เส้นทาง, การจำกัดอัตรา และความพร้อมใช้งานของข้อมูล โดยไม่เปิดเผยคีย์ของคุณ | เปิดคู่มือ → |
| ทำให้ไคลเอนต์ API พร้อมสำหรับการผลิต | เพิ่มการกำหนดเวลาหมดเวลา (timeouts), การลองใหม่แบบจำกัดจำนวน (bounded retries), การทำแคช, การร้องขอแบบมีเงื่อนไข และรูปแบบการส่งข้อมูลที่เหมาะสม | เปิดคู่มือ → |