วิธีใช้ Reservations API

API OAuth การจอง Reservations ช่องจอง โต๊ะ Android iOS
เกี่ยวกับคู่มือนี้
รวบรวมวิธีใช้ Reservations API ของ ReceiptRoller (/api/v1/reservations) เนื่องจากสามารถควบคุมเอนจินการจองเดียวกับหน้าจัดการบนเว็บได้ผ่าน OAuth คุณจึงสามารถดึง・สร้าง・อัปเดตสถานะการจอง และสร้างช่องจอง จากแอปมือถือหรือระบบจองภายนอกได้

วิธีใช้ Reservations API

ขอบเขตที่จำเป็น

ขอบเขตสิทธิ์ที่ได้รับ
store.reservations.readอ่านการจอง・ช่องจอง・ข้อมูลโต๊ะ・สถิติ
store.reservations.writeสร้าง・แก้ไข・อัปเดตสถานะการจอง, สร้าง・สร้างชุด・ลบช่องจอง

เมื่อติ๊กที่ "API สโคป" ในหน้าจอแก้ไขแอป กรุณาใส่ไว้ในพารามิเตอร์ scope ของ URL อนุมัติด้วย

การยืนยันตัวตน

ใช้ข้อกำหนดโทเคนเดียวกับ v1 API อื่น ๆ

  • โทเคนที่ผูกกับบัญชีธุรกิจ — เรียกได้เลย
  • โทเคนขอบเขต user (สำหรับแอปมือถือเนทีฟ) — กรุณาแนบ ?organizationId= ในเควรี

รายการเอนด์พอยต์

เมธอดพาธเนื้อหา
GET/api/v1/reservations?storeId=รายการการจอง (กรองด้วย statusfromto)
GET/api/v1/reservations/{reservationId}รายละเอียดการจอง
POST/api/v1/reservationsสร้างการจอง
PUT/api/v1/reservations/{reservationId}อัปเดตเนื้อหาการจอง・เปลี่ยนสถานะ
GET/api/v1/reservations/slotsรายการช่องจอง (ค่าเริ่มต้นคือ 7 วันนับจากวันนี้)
POST/api/v1/reservations/slotsสร้างช่องจอง 1 รายการ
POST/api/v1/reservations/slots/generateสร้างชุดช่องจองจากการตั้งค่าการจอง
DELETE/api/v1/reservations/slots/{slotId}ลบช่องจอง
GET/api/v1/reservations/configการตั้งค่าการจองของร้าน (ความยาวช่อง・ช่วงรับจอง・ยืนยันอัตโนมัติ・รายการกำหนดเอง ฯลฯ)
GET/api/v1/reservations/tablesรายการโต๊ะที่จองได้ (โต๊ะ・ห้องส่วนตัว・เคาน์เตอร์ ฯลฯ)
GET/api/v1/reservations/stats?month=สถิติการจองรายเดือน (จำนวนแยกตามสถานะ・จำนวนของวันนี้/พรุ่งนี้)

ทุกเอนด์พอยต์ระบุ storeId ในเควรีหรือในบอดี้

การสร้างการจอง

POST /api/v1/reservations
Authorization: Bearer {token}
Content-Type: application/json

{
  "storeId": "store-001",
  "customerName": "山田 太郎",
  "customerPhone": "090-0000-0000",
  "partySize": 4,
  "slotId": "slot-xxxx",
  "note": "窓際の席を希望"
}

การจองที่สร้างผ่าน API จะถูกบันทึกโดยมี bookingSource เป็น API (หากระบุค่าไว้อย่างชัดเจนในคำขอ ค่านั้นจะมีความสำคัญกว่า)

การอัปเดตสถานะ

เมื่อเปลี่ยน status ในบอดี้ของ PUT /api/v1/reservations/{reservationId} จะมีการประมวลผลการเปลี่ยนสถานะเดียวกับหน้าจัดการบนเว็บ การคำนวณที่นั่งคงเหลือของช่องจองและการแจ้งเตือนยืนยัน・ยกเลิก ก็ทำงานเหมือนกับการดำเนินการในหน้าจัดการ

สถานะที่ระบุได้:

  • Pending (รอการอนุมัติ)
  • Confirmed (ยืนยันแล้ว)
  • Completed (มาใช้บริการแล้ว)
  • Cancelled (ยกเลิก)
  • NoShow (ไม่มาโดยไม่แจ้ง)

การสร้างชุดช่องจอง

POST /api/v1/reservations/slots/generate จะสร้างช่องจองในช่วงเวลาที่ระบุเป็นชุด โดยอิงตามการตั้งค่าการจองของร้าน (ความยาวช่อง・เวลาทำการ・วันหยุดประจำ)

POST /api/v1/reservations/slots/generate
Authorization: Bearer {token}
Content-Type: application/json

{
  "storeId": "store-001",
  "from": "2026-06-15",
  "to": "2026-06-21",
  "perResource": true
}

เมื่อตั้ง perResource เป็น true จะสร้างช่องจองแยกตามโต๊ะที่จองได้ (โต๊ะ・ห้องส่วนตัว・เคาน์เตอร์) ที่ลงทะเบียนไว้ในเลย์เอาต์ร้าน กรุณาใช้เมื่อรับจองแบบแยกรายโต๊ะ

การดึงข้อมูลโต๊ะ (Table)

GET /api/v1/reservations/tables?storeId= จะคืนทรัพยากรที่จองได้ซึ่งลงทะเบียนไว้ในเลย์เอาต์ร้าน

{
  "items": [
    { "id": "table-01", "name": "テーブル1", "type": "table", "typeDisplayName": "テーブル", "capacity": 4 },
    { "id": "room-01",  "name": "個室A",     "type": "room",  "typeDisplayName": "個室",     "capacity": 8 }
  ]
}

id ที่คืนมาที่นี่สามารถระบุลงใน assignedResource ของช่องจองหรือการจองได้โดยตรง การแก้ไขเลย์เอาต์โต๊ะเองให้ทำในตัวแก้ไขเลย์เอาต์ของหน้าจัดการบนเว็บ

คู่มือที่เกี่ยวข้อง

วันที่เผยแพร่: 2569-06-10 วันที่อัปเดต: 2569-07-05
このトピックについて
開発者API
機能の詳細を見る
แท็ก
API (22) OAuth (15) Android (10) iOS (9) Webhook (8) api (7) oauth (5) getting-started (4) การลงทะเบียนแอป (4) การแก้ปัญหา (4)
บทความที่เกี่ยวข้อง