ได้รับ 403/401 (สิทธิ์และสโคป)
การแยกแยะสาเหตุเมื่อการเรียก API ส่งคืน 401 หรือ 403 อธิบายกรณีทั่วไป เช่น โทเคนไม่ถูกต้อง สโคปไม่เพียงพอ ไม่มีสิทธิ์เข้าถึงร้านค้า และสโคปประเภท User ที่ยังไม่ผ่านการตรวจสอบ
การตรวจสอบลายเซ็นและความปลอดภัย
อธิบายกลไกการตรวจสอบลายเซ็น HMAC-SHA256 ของ Webhook ใน ReceiptRoller ตัวอย่างโค้ดตรวจสอบ (Node.js / Python / C#) มาตรการป้องกัน replay attack และวิธีจัดการ secret อย่างปลอดภัย
Webhook ไม่มาถึง
การแยกแยะสาเหตุเมื่อ Webhook ไม่มาถึง endpoint ผู้รับ อธิบายขั้นตอนการตรวจสอบตามลำดับ ทั้งการตั้งค่า endpoint การสมัครรับ event ความสามารถในการเข้าถึง ความล้มเหลวในการตรวจสอบลายเซ็น และไฟร์วอลล์
การขอและการอัปเดตแอ็กเซสโทเคน
อธิบายวิธีขอแอ็กเซสโทเคนและรีเฟรชโทเคนที่ใช้กับ ReceiptRoller API, อายุการใช้งาน, ขั้นตอนการอัปเดต และการจัดการเมื่อเกิดเออเรอร์
วิธีใช้ In-Store Media Display API (Display API)
ภาพรวมของ In-Store Android Display API ของ ReceiptRoller (/api/v1/displays/*) และขั้นตอนการจับคู่・heartbeat・การดึงเพลย์ลิสต์・การรายงานผลการเล่น คู่มือเริ่มต้นสำหรับสร้างแอปเล่นมีเดียลูปบนเครื่อง Android แบบ POS ควบคู่หรือเครื่องไซเนจของร้าน
การมอนิเตอร์และการจัดการเมื่อล้มเหลว
อธิบายวิธีดูประวัติการส่ง Webhook ของ ReceiptRoller, ตัวชี้วัดที่ควรมอนิเตอร์และการออกแบบอะเลิร์ต, การส่ง dead letter ซ้ำ, รูปแบบเหตุขัดข้องที่พบบ่อยและขั้นตอนการกู้คืน
การออกแบบการส่งซ้ำ・ลำดับ・idempotency
อธิบายนโยบายการส่งซ้ำของ Webhook ของ ReceiptRoller, เหตุผลที่ไม่รับประกันลำดับการส่ง, การอิมพลิเมนต์ idempotency ด้วย event_id, การจัดการ dead letter และแอนตี้แพตเทิร์นที่พบบ่อย
รหัสข้อผิดพลาดและแนวทางการรีทราย
อธิบายรายการรหัสสถานะ HTTP และรหัสข้อผิดพลาดที่ API ของ ReceiptRoller ตอบกลับ กรณีที่ควรรีทราย และแนวทางการเว้นช่วงการรีทราย
คู่มือการยืนยันตัวตน API
อธิบายวิธีการยืนยันตัวตนของ ReceiptRoller API ด้วย OAuth 2.0 authorization code flow