Status
ส่ง transactionReference ไปยัง endpoint /status เพื่อติดตามรายการที่ยังไม่จบ
THANVASU ↔ AMAZE
ลงชื่อเข้าใช้ก่อนดูข้อมูลธุรกรรม จัดการแอป และจัดการ API keys
Middleware Dashboard — Earn-Point & Pay-with-Point
ใช้เมื่อ UAT/Production ตั้ง API_AUTH_MODE=required คีย์จะอยู่เฉพาะในหน้านี้และไม่บันทึกลง browser
ตั้งชื่อจุดเชื่อมต่อ เลือกร้านและสาขาที่ใช้ได้ แล้วกำหนดสิทธิ์ ระบบจะแสดงค่า key เพียงครั้งเดียวหลังสร้างหรือหมุนเวียน
ใช้สิทธิ์จากบัญชีที่ลงชื่อเข้าใช้ เพื่อสร้าง ปรับสิทธิ์ หรือหมุนเวียน API key
จัดกลุ่มตามร้านและ key โดยแยกสาขาเป็นแถว สาขาเดียวมีหลาย key ได้ การแก้ไข ปิดใช้งาน หมุนเวียน หรือลบ key มีผลกับ key เดียวกันทุกสาขา
| ร้าน | สาขา | จุดเชื่อมต่อ / Key ID | สิทธิ์ | สถานะ | อัปเดต | การดำเนินการ |
|---|
INTEGRATION GUIDE
เรียก Gateway ด้วย API key ที่กำหนดสิทธิ์ตามแอปและการทำงาน แล้วติดตามผลผ่าน status หรือ webhook
http://localhost:3333
AUTHENTICATION
ผู้ดูแลสร้าง key ได้จากแท็บ จัดการ API keys โดยผูก key กับ App ID และ scopes ที่จำเป็น เช่น earn:submit หรือ pay:verify
คัดลอกค่า key ทันทีหลังสร้าง ระบบเก็บเฉพาะ hash และไม่แสดงค่าเดิมซ้ำ
X-API-Key: amzgw_…ตั้ง API_AUTH_MODE=required สำหรับ UAT และ Production
EARN POINT
ใช้เมื่อระบบขายต้องการตรวจสอบสมาชิก สะสมแต้ม หรือยกเลิกรายการสะสม เริ่มจาก check แล้วส่ง submit พร้อม Idempotency-Key ที่ไม่ซ้ำต่อรายการ
curl -X POST "http://localhost:3333/api/v1/apps/app-demo-restaurant-a/earnings/check" \
-H "Content-Type: application/json" \
-H "X-API-Key: $AMAZE_GATEWAY_API_KEY" \
-H "Idempotency-Key: order-10001" \
-d '{"amzToken":"AMZ-EXAMPLE","billAmount":100,"currency":"THB","locationId":"loc-a-1"}'
| การทำงาน | Endpoint | Scope |
|---|---|---|
| ตรวจสอบสมาชิก | POST /apps/:appId/earnings/check | earn:check |
| สะสมแต้ม | POST /apps/:appId/earnings/submit | earn:submit |
| ติดตามสถานะ | POST /apps/:appId/earnings/status | earn:status |
| ยกเลิกรายการ | POST /apps/:appId/earnings/reverse | earn:reverse |
| สร้าง QR | POST /apps/:appId/earnings/transient/payloads | earn:qr |
PAY WITH POINT
ใช้เมื่อระบบขายต้องการชำระด้วยแต้มตาม redemption ID ตรวจสอบสิทธิ์ก่อน จากนั้น verify เพื่อจองแต้ม และ confirm เมื่อชำระสำเร็จ
curl -X POST "http://localhost:3333/api/v1/apps/app-demo-restaurant-a/redemptions/check" \
-H "Content-Type: application/json" \
-H "X-API-Key: $AMAZE_GATEWAY_API_KEY" \
-H "Idempotency-Key: payment-10001" \
-d '{"amzToken":"AMZ-EXAMPLE","amount":100,"currency":"THB","locationId":"loc-a-1"}'
| การทำงาน | Endpoint | Scope |
|---|---|---|
| ตรวจสอบสิทธิ์ | POST /apps/:appId/redemptions/check | pay:check |
| ชำระด้วย External ID | POST /apps/:appId/redemptions/submit | pay:submit |
| จองแต้ม | POST /apps/:appId/redemptions/verify | pay:verify |
| ยืนยันชำระ | POST /apps/:appId/redemptions/:redemptionId/confirm | pay:confirm |
| ยกเลิกรายการ | POST /apps/:appId/redemptions/:redemptionId/reverse | pay:reverse |
| ติดตามสถานะ / QR | POST /apps/:appId/redemptions/status, /transient/payloads | pay:status, pay:qr |
LOCATION
สร้างสาขาใน Amaze ผ่าน POST /apps/:appId/locations ด้วย scope location:create ระบบจะเติม tenant ของแอปให้ แต่ผู้ดูแลต้องเพิ่ม location mapping ในการตั้งค่าแอปก่อนนำรหัสสาขาไปใช้งานธุรกรรม
การสร้าง QR ของลูกค้า (/my-qr/v1/app/qr/create) ต้องใช้ personal access token ของลูกค้า จึงให้แอป Amaze เรียกโดยตรงและไม่เก็บ token นี้ใน Gateway
ASYNC RESULTS
ส่ง transactionReference ไปยัง endpoint /status เพื่อติดตามรายการที่ยังไม่จบ
Gateway รับ POST /webhooks/earnings และ /redemptions แล้ว forward ไป webhookUrl ของแอป
ตรวจ Amaze-Signature และ X-Amaze-Timestamp ก่อนประมวลผล webhook ทุกครั้ง
401 API key ไม่ถูกต้องหรือหมดสิทธิ์ · 403 key ไม่มี scope ที่ต้องใช้ · 404 ไม่พบ App ID · 429 เรียกเกินอัตรา · 5xx ให้ retry แบบ exponential backoff พร้อม Idempotency-Key เดิม| สถานะ | จำนวน |
|---|
| ID | แอป | ประเภท | การดำเนินการ | สถานะ | ยอดเงิน | เวลา |
|---|
Amaze integration
ทำตามลำดับขั้นตอน ระบบจะเก็บข้อมูลที่ได้ไว้ให้ใช้ต่อในขั้นถัดไป
คำขอทั้งหมดจะส่งไปยัง UAT ผ่าน middleware ของแอปที่เลือก
อัปเดตเมื่อกดแต่ละขั้นตอน โดยใช้ตัวแปร $env:AMAZE_GATEWAY_API_KEY เพื่อไม่แสดง API key ในคำสั่ง
ยังไม่มีคำขอ
เส้นทางคำขอจาก Gateway ไป Amaze และข้อมูลที่ตอบกลับ
QR Preview
เลือกประเภทเพื่อดู JSON ที่ POS ส่งและผลตอบกลับจำลอง หรือวาง qrString / qrPayload จริงจาก Amaze เพื่อสร้างภาพ QR ภาพสร้างภายใน Gateway และไม่ส่งไปบริการภายนอก
ภาพ QR เองไม่เปลี่ยนแต้ม แต่ผลหลังการสแกนเป็นไปตาม flow ของ Amaze และอาจหมดอายุได้
“ขอ QR จาก Amaze” ใช้ API key ด้านบนและ JSON ที่กรอก ต้องติ๊กยอมรับการทดสอบก่อน การสแกน QR ที่ออกจริงอาจสร้างรายการสะสมหรือใช้แต้มตามระบบที่เชื่อมต่อ
ข้อมูลตัวอย่างเป็น QR จำลองสำหรับดูหน้าจอเท่านั้น ใช้ชำระหรือทดสอบ flow จริงในแอป Amaze ไม่ได้
ยังไม่มี QR สำหรับสแกน
Earn
Check QR ก่อน แล้วจึง Submit บิลทดสอบ
ยังไม่ได้ตรวจสอบ
กรุณาตรวจสอบ QR ก่อน
ยังไม่ได้ตรวจสอบสถานะ
Pay with Point
Verify จะล็อกแต้ม และสร้าง Redemption ID สำหรับ Confirm หรือ Reverse
บัญชีทดสอบกำหนดได้จากหน้าจัดการแอป
ยังไม่ได้ตรวจสอบ
กรุณาตรวจสอบ Pay QR ก่อน
เลือกบัญชีทดสอบก่อนเริ่มรายการ
ได้จาก Verify และระบบใส่ให้โดยอัตโนมัติ
รอ Verify เพื่อรับ Redemption ID
คำสั่งใช้ตัวแปร $env:AMAZE_GATEWAY_API_KEY จึงไม่แสดง API key, Amaze credential หรือ access token
-
เส้นทางคำขอจาก Gateway ไป Amaze และข้อมูลที่ตอบกลับ
-
| App ID | ชื่อ | Tenant | Webhook URL | การดำเนินการ |
|---|
| เวลา | Request ID | คำขอ | สถานะ | เวลาใช้ | แอป / key |
|---|
| เวลา | ผู้ดำเนินการ | เหตุการณ์ | เป้าหมาย | รายละเอียด |
|---|