วิธีใช้ Transactions API (ฟิลด์รวม POS + OMS)
API
OAuth
ธุรกรรม
Transactions
POS
OMS
Android
iOS
วัตถุประสงค์ของคู่มือนี้
Transactions API ของ ReceiptRoller เป็นเอนด์พอยต์อ่านอย่างเดียวที่รวมยอดขายที่แคชเชียร์ (POS ทรานแซกชัน) และคำสั่งซื้อในระบบจัดการการขาย (OMS) ไว้ในฟีดเดียว ครอบคลุมยูสเคส "อยากเห็นธุรกรรมทั้งหมดของบัญชีธุรกิจในหน้าจอเดียว"
ทำไมต้องเป็นเอนด์พอยต์แยก
- Sales API รวมยอด POS ทรานแซกชันแล้วคืน KPI/กราฟ
- Orders API ให้บริการ CRUD ของคำสั่งซื้อ OMS
- ทั้งสองอย่างเห็นเพียงโลกฝั่งเดียว หากต้องการ "รายการธุรกรรมทุกช่องทาง" กรุณาใช้ API นี้
หมายเหตุ: Transactions API เป็นแบบอ่านอย่างเดียว การเขียนกรุณาทำผ่าน Orders API (OMS) หรือผ่านการเชื่อมต่อ POS แต่ละตัว
เอนด์พอยต์
GET /api/v1/transactions
?organizationId={organizationId}
&storeId={storeId} (ตัวเลือก, กรองด้วยร้านค้า)
&since=2026-05-01T00:00:00Z (ตัวเลือก, ค่าเริ่มต้น: 30 วันก่อน)
&until=2026-06-01T00:00:00Z (ตัวเลือก, ค่าเริ่มต้น: ปัจจุบัน)
&source=all|pos|oms (ตัวเลือก, ค่าเริ่มต้น: all)
&page=1
&pageSize=100 (สูงสุด 500)
Authorization: Bearer {access_token}
สโคปที่จำเป็น: store.orders.read หรือ sales.read อย่างใดอย่างหนึ่ง
ตัวอย่างเรสปอนส์
{
"organizationId": "a04507de-043a-4b47-b0a3-6204562f6e20",
"window": {
"since": "2026-05-01T00:00:00Z",
"until": "2026-06-01T00:00:00Z"
},
"transactions": [
{
"id": "pos:term-001:tx-9001",
"source": "pos",
"occurredAt": "2026-05-31T18:22:14Z",
"storeId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"channel": "POS",
"status": "Completed",
"amounts": { "subtotal": 960, "tax": 96, "shipping": 0, "discount": 0, "total": 1056 },
"itemCount": 2,
"customer": null,
"links": {
"posTransactionId": "tx-9001",
"posTerminalId": "term-001",
"omsOrderId": null
}
},
{
"id": "oms:ord-001",
"source": "oms",
"occurredAt": "2026-05-31T09:10:00Z",
"storeId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"channel": "Web",
"status": "Delivered",
"amounts": { "subtotal": 1140, "tax": 114, "shipping": 500, "discount": 0, "total": 1754 },
"itemCount": 3,
"customer": { "name": "佐藤花子", "email": "hanako@example.com" },
"links": {
"posTransactionId": null,
"posTerminalId": null,
"omsOrderId": "ord-001"
}
}
],
"page": 1,
"pageSize": 100,
"totalCount": 247,
"totalPages": 3
}
วิธีอ่านฟิลด์
source—"pos"หรือ"oms"บอกว่าธุรกรรมมาจากโลกฝั่งไหนoccurredAt— POS คือวันเวลาที่เกิดธุรกรรม, OMS คือวันเวลาที่สร้าง เรียงปนกันแบบ DESC ไว้แล้วchannel— POS เป็น"POS"เสมอ, OMS เป็นWeb/Phone/Manual/Marketplaceฯลฯstatus— POS เป็นCompleted/Voided, OMS เป็นPending/Confirmed/Processing/Shipped/Delivered/Cancelled/Refundedcustomer— POS เป็น null, OMS หากมีการกรอกจะมีชื่อ・อีเมลlinks— ID ที่ใช้เมื่อต้องการดึงรายละเอียดแบบ follow-up แถว POS จะฝังposTransactionId+posTerminalId, แถว OMS จะฝังomsOrderId
ข้อจำกัด
- ช่วงเวลาดึงได้สูงสุด 365 วัน หากเกินจะได้
400 Bad Request - ดึงภายในและ merge สูงสุด 5000 รายการต่อ source สำหรับเทนันต์ที่มีช่วงเวลายาวหรือธุรกรรมจำนวนมากเกินนั้น กรุณากรองด้วย
since/until…
วันที่เผยแพร่: 2569-06-01
วันที่อัปเดต: 2569-07-06
หมวดหมู่
แท็ก
API (22)
OAuth (15)
Android (10)
iOS (9)
Webhook (8)
api (7)
oauth (5)
getting-started (4)
การลงทะเบียนแอป (4)
การแก้ปัญหา (4)
บทความที่เกี่ยวข้อง
-
วิธีใช้ Reservations APIคู่มือ Reservations API ของ ReceiptRoller (/api/v1/reservations) อธิบายการทำ CRUD และอัปเดตสถานะการจอง การดึง・สร้าง・สร้างชุดของช่องจอง (สล็อต) การดึงข้อมูลโต๊ะ (โต๊ะ・ห้องส่วนตัว・เคาน์เตอร์) ที่ลงทะเบียนไว้ในเลย์เอาต์ร้าน และสถิติการจอง
-
วิธีใช้ In-Store Media Display API (Display API)ภาพรวมของ In-Store Android Display API ของ ReceiptRoller (/api/v1/displays/*) และขั้นตอนการจับคู่・heartbeat・การดึงเพลย์ลิสต์・การรายงานผลการเล่น คู่มือเริ่มต้นสำหรับสร้างแอปเล่นมีเดียลูปบนเครื่อง Android แบบ POS ควบคู่หรือเครื่องไซเนจของร้าน
-
การเชื่อมต่อข้อมูลการซื้อและใบเสร็จอธิบายโครงสร้างข้อมูลการซื้อและใบเสร็จที่ ReceiptRoller จัดการ วิธีการดึงข้อมูล สโคปที่เกี่ยวข้อง Webhook และกรณีการใช้งานที่พบบ่อย
-
สารบัญความช่วยเหลือสำหรับนักพัฒนาสารบัญความช่วยเหลือสำหรับนักพัฒนา ReceiptRoller รวบรวมตั้งแต่การสมัครเป็นนักพัฒนา การลงทะเบียนแอปพลิเคชัน การยืนยันตัวตน OAuth และสโคป คู่มือการพัฒนา (แอปวอลเล็ต, Webhook สำหรับร้านค้า, Survey API) คู่มือแยกตามโดเมนข้อมูล การใช้งานและความปลอดภัย คอมมูนิตี ไปจนถึงการแก้ปัญหา
-
ดึงรายการบัญชีธุรกิจ・ร้านค้า・เครื่อง POSคู่มือสรุปขั้นตอนการดึงรายการบัญชีธุรกิจที่ผู้ใช้สังกัด ร้านค้าภายใต้บัญชีนั้น และเครื่อง POS ของแต่ละร้านผ่าน REST API จากแอปมือถือ/แอปเซิร์ฟเวอร์ของ ReceiptRoller