การจำกัดอัตราการเรียก (Rate Limit) และการควบคุมปริมาณ
อธิบายหน่วยของการจำกัดอัตราการเรียก API ของ ReceiptRoller ค่าเพดานแยกตามแพลน วิธีอ่านเฮดเดอร์การตอบกลับ และรูปแบบการเขียนโค้ดเพื่อไม่ให้ชน 429
เอนด์พอยต์และการกำหนดเวอร์ชัน
อธิบายเบส URL ของ ReceiptRoller API, นโยบายการกำหนดเวอร์ชัน, ขั้นตอนการแจ้งยกเลิกการใช้งาน และวิธีตรวจสอบเวอร์ชันปัจจุบัน
แนวปฏิบัติที่ดีในการใช้งาน production
อธิบายแนวปฏิบัติที่ดีสำหรับการใช้งานแอปที่เชื่อมต่อ ReceiptRoller บน production (การแยก environment การเฝ้าติดตาม การ deploy การรับมือเหตุขัดข้อง และการจัดเตรียมเอกสาร)
การออกแบบการส่งซ้ำ・ลำดับ・idempotency
อธิบายนโยบายการส่งซ้ำของ Webhook ของ ReceiptRoller, เหตุผลที่ไม่รับประกันลำดับการส่ง, การอิมพลิเมนต์ idempotency ด้วย event_id, การจัดการ dead letter และแอนตี้แพตเทิร์นที่พบบ่อย
วิธีใช้ Business Hours API
คู่มือ Business Hours API ของ ReceiptRoller (/api/v1/stores/{storeId}/business-hours) อธิบายการดึงและอัปเดตเวลาทำการรายวัน การลงทะเบียนวันเปิดทำการพิเศษ (หยุดกะทันหัน・เปลี่ยนเวลาทำการ) การตั้งค่าเวลาทำงานที่รับได้ของร้าน (เวลางานที่เป็นเพดานของการสร้างกะ) และการตัดสินว่าขณะนี้กำลังเปิดทำการอยู่หรือไม่
รหัสข้อผิดพลาดและแนวทางการรีทราย
อธิบายรายการรหัสสถานะ HTTP และรหัสข้อผิดพลาดที่ API ของ ReceiptRoller ตอบกลับ กรณีที่ควรรีทราย และแนวทางการเว้นช่วงการรีทราย
การตรวจสอบลายเซ็นและความปลอดภัย
อธิบายกลไกการตรวจสอบลายเซ็น HMAC-SHA256 ของ Webhook ใน ReceiptRoller ตัวอย่างโค้ดตรวจสอบ (Node.js / Python / C#) มาตรการป้องกัน replay attack และวิธีจัดการ secret อย่างปลอดภัย
ตัวอย่าง API ที่ใช้บ่อย
แนะนำตัวอย่างการเรียกเอนด์พอยต์ที่ใช้บ่อยของ API ReceiptRoller (ดึงใบเสร็จ・รายการร้าน・สร้างสินค้า・ลงทะเบียน Webhook) ด้วยคำสั่ง curl
พื้นฐานของรีเควสต์และเรสปอนส์ (JSON)
อธิบายรูปแบบรีเควสต์ของ API ReceiptRoller เฮดเดอร์ที่จำเป็น โครงสร้างเรสปอนส์ การแบ่งหน้า การกรอง และกฎของรูปแบบวันที่-เวลา