เราออกแบบกระบวนการเชื่อมต่อ PEAK Open API ให้มีความปลอดภัย เป็นขั้นตอน และง่ายต่อการพัฒนา โดยแบ่งการทำงานออกเป็น 3 ระยะหลัก เพื่อให้ทีมธุรกิจ ทีมบัญชี และทีม Developer สามารถวางระบบ ทดสอบ และตรวจสอบผลลัพธ์ได้อย่างมั่นใจก่อนเริ่มใช้งานจริง
การเชื่อมต่อ API ที่ดีไม่ควรเริ่มจากการเขียนโค้ดทันที แต่ควรเริ่มจากการออกแบบ Business Flow และ Accounting Flow ให้ชัดเจนก่อน เพื่อให้ข้อมูลที่ส่งเข้า PEAK ถูกต้องทั้งในมุมระบบและมุมบัญชี
The 3-Phase Roadmap
| Phase | เป้าหมาย | ผลลัพธ์ที่ควรได้ |
|---|---|---|
| Phase 1: Preparation | เตรียมความพร้อมและวางสถาปัตยกรรม | Workflow, Document Flow, Volume Estimate, UAT Request |
| Phase 2: Test & Payment | ทดสอบระบบบน UAT Sandbox | Token, Test Case, API Log, Accounting Validation |
| Phase 3: Go-Live Activation | เปิดใช้งานจริงบน Production | Production Token, Endpoint Switch, Monitoring Plan |
Phase 1: Preparation
เตรียมความพร้อมและวางสถาปัตยกรรม
การวางแผนที่ดีคือหัวใจสำคัญของการเชื่อมต่อ API ที่เสถียรและตรวจสอบได้ ทีมงานควรออกแบบ Flow ให้ครบทั้งฝั่งธุรกิจ ฝั่งระบบ และฝั่งบัญชี ก่อนเริ่มพัฒนา
| สิ่งที่ต้องเตรียม | รายละเอียด | ตัวอย่าง |
|---|---|---|
| Design Workflow | กำหนด Flow เอกสารที่ต้องการเชื่อมต่อ | POS สร้าง Invoice / E-Commerce สร้าง Receipt / CRM สร้าง Quotation |
| Document Type | ระบุเอกสารที่ต้องการสร้างใน PEAK | Invoice, Receipt, Quotation, Purchase Order, Expense |
| Payment Timing | ระบุจังหวะการรับชำระเงิน | รับเงินทันที / วางบิลก่อน / แบ่งชำระ |
| Volume Estimation | ประเมินจำนวน Transaction ต่อเดือน | 500 / 1,000 / 2,000 / 10,000 รายการต่อเดือน |
หากยังไม่แน่ใจว่าควรสร้างเอกสารประเภทใดใน PEAK แนะนำให้ทีมบัญชีจำลอง Flow เดียวกันบน PEAK UI ก่อน แล้วจึงนำผลลัพธ์ที่ถูกต้องไปออกแบบ API Flow
Request UAT Access
หลังจากเตรียม Workflow และประเมินปริมาณเอกสารแล้ว สามารถส่งรายละเอียดเพื่อขอรับสิทธิ์ทดสอบระบบ UAT Sandbox
เวลาทำการระบบ UAT: จันทร์–ศุกร์ 08:00–22:00 น.
| ผู้รับผิดชอบ | อีเมล |
|---|---|
| Business / API Coordination | [email protected]CC [email protected] |
โดยควรแนบข้อมูลต่อไปนี้มาด้วย
| ข้อมูลที่ควรส่ง | ตัวอย่าง |
|---|---|
| ชื่อกิจการที่ต้องการทดสอบ | บริษัท ตัวอย่าง จำกัด |
| ระบบต้นทาง | POS / ERP / CRM / E-Commerce / Custom System |
| Flow ที่ต้องการเชื่อมต่อ | สร้าง Invoice จากยอดขาย POS |
| Document Type | Invoice, Receipt, Expense |
| ปริมาณเอกสารต่อเดือนโดยประมาณ | 2,000 รายการ/เดือน |
| ผู้ประสานงานฝั่ง Dev/IT | ชื่อ / อีเมล / เบอร์โทร |
| ผู้ตรวจสอบฝั่งบัญชี | ชื่อ / อีเมล / เบอร์โทร (ถ้ามี) |
โดยทั่วไปทีมงานจะดำเนินการส่งข้อมูล UAT ให้ภายใน 1–2 วันทำการ หลังจากได้รับข้อมูล Workflow และรายละเอียดที่จำเป็นครบถ้วน
Phase 2: Test & Validate
ทดสอบระบบบน UAT Sandbox
UAT Sandbox คือพื้นที่ทดสอบสำหรับตรวจสอบ Logic, Data Mapping, Token, Request/Response, Error Handling และผลลัพธ์ทางบัญชี ก่อนเชื่อมต่อกับ Production จริง
เป้าหมายของ UAT ไม่ใช่แค่ยิง API สำเร็จ แต่ต้องตรวจสอบว่าเอกสาร ข้อมูลบัญชี ภาษี การรับชำระเงิน และผลลัพธ์ที่เกิดขึ้นใน PEAK ถูกต้องตาม Flow ที่กิจการต้องการ
Developer Toolkit
เพื่อความปลอดภัย ทีมงานจะจัดส่งข้อมูลสำหรับ UAT แยกเป็นอีเมล โดยข้อมูลสำคัญจะถูกแยกชั้นเพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต
| รายการ | รายละเอียด |
|---|---|
| Email 1 | ข้อมูลสำหรับเชื่อมต่อแพลตฟอร์มในรูปแบบไฟล์ ZIP ที่เข้ารหัส |
| Sender | [email protected] |
| Email Subject | PEAK API - ข้อมูลสำหรับเชื่อมต่อแพลตฟอร์ม xxxx กับ PEAK อยู่ในอีเมลนี้แล้ว |
| ข้อมูลที่เกี่ยวข้อง | Connect ID และข้อมูลสำหรับการเชื่อมต่อที่อยู่ในไฟล์ ZIP |
| รายการ | รายละเอียด |
|---|---|
| Email 2 | Application Code สำหรับใช้สร้าง User Token และข้อมูลประกอบการทดสอบ |
| Sender | [email protected] |
| Email Subject | PEAK API UAT Application Code - ชื่อกิจการของท่าน |
| ข้อมูลที่เกี่ยวข้อง | Application Code, ไฟล์ ZIP ที่เข้ารหัส, Postman Collection หรือไฟล์ประกอบการทดสอบที่เกี่ยวข้อง |
Application Code ไม่ใช่ค่าที่ใช้ Create Client Token โดยตรง การสร้าง Client Token ต้องใช้
connectIdและpasswordที่ PEAK ส่งให้
Token Activation
หลังจากได้รับ Application Code แล้ว เจ้าของกิจการต้องนำ Application Code ไปกรอกในระบบ PEAK เพื่อ Generate User Token สำหรับให้ทีม Developer ใช้เชื่อมต่อกับกิจการนั้น
วิธี Generate User Token
ตั้งค่า > ตั้งค่าเชื่อมต่อระบบภายนอก > กรอก Application Code > Generate User Token| Token | ใช้ทำอะไร | ใครเกี่ยวข้อง |
|---|---|---|
Client Token | ใช้ยืนยันตัวตนของ Client User หรือ Application ที่เรียก API | Developer / System |
User Token | ใช้ระบุว่าจะทำงานกับกิจการใดใน PEAK | เจ้าของกิจการ / Developer |
Application Code | ใช้เพื่อให้เจ้าของกิจการ Generate User Token | เจ้าของกิจการ |
Client Token ระบุตัวตนของผู้เรียก API ส่วน User Token ระบุบริบทของกิจการใน PEAK ดังนั้น Client User ที่ดูแลหลายกิจการสามารถใช้ Client Token ตัวเดียว และสลับ User Token ตามกิจการที่ต้องการจัดการได้
UAT Access & Commercial Step
| รายการ | รายละเอียด |
|---|---|
| Free Sandbox Access | สิทธิ์ทดสอบระบบบน UAT ฟรี 3 เดือน |
| Extension | หากจำเป็น สามารถแจ้งทีมงานเพื่อพิจารณาขยายระยะเวลาทดสอบ |
| API Service Payment | ก่อนเปิดใช้งานจริง ควรชำระค่าบริการ API ตามเงื่อนไขแพ็กเกจที่ตกลง |
| Payment Evidence | ส่งหลักฐานการชำระเงินมาที่ [email protected] และ [email protected] |
เงื่อนไขค่าบริการ API, ปริมาณ Transaction, ระยะเวลาทดสอบ และการขยายเวลา ควรยืนยันกับทีม PEAK อีกครั้งก่อนใช้อ้างอิงในใบเสนอราคา สัญญา หรือเอกสารลูกค้า
Phase 3: Go-Live Activation
ขึ้นระบบใช้งานจริง
เมื่อทดสอบ Flow บน UAT สำเร็จและทีมบัญชียืนยันผลลัพธ์แล้ว ทีม Developer สามารถเตรียมเปลี่ยนระบบไปใช้งาน Production ได้
| ขั้นตอน | รายละเอียด |
|---|---|
| 1. Final UAT Review | ตรวจสอบ Test Case, Error Case, Duplicate Case และผลลัพธ์ทางบัญชี |
| 2. Payment & Commercial Confirmation | ตรวจสอบแพ็กเกจ API และหลักฐานการชำระเงิน |
| 3. Production Token Request | แจ้งทีมงานเพื่อขอรับ Production Token |
| 4. Switch Endpoint | เปลี่ยน API Endpoint จาก UAT เป็น Production |
Production Endpoint
https://api.peakaccount.com/api/v1หลังจากทีมงานได้รับข้อมูลครบถ้วนและเงื่อนไข Commercial พร้อมแล้ว ทีมงานจะดำเนินการส่งมอบ Production Token ให้โดยเร็ว โดยทั่วไปภายใน 24 ชั่วโมง หรือไม่เกิน 1–2 วันทำการ
ห้ามใช้ UAT Credential กับ Production URL และห้ามใช้ Production Credential กับ UAT URL เพื่อป้องกันข้อมูลผิด Environment
Technical Essentials
ข้อกำหนดเทคนิคที่ Developer ควรรู้
เพื่อให้การออกแบบ Architecture มีประสิทธิภาพ เสถียร และตรวจสอบย้อนหลังได้ ควรพิจารณาข้อกำหนดต่อไปนี้ก่อนเริ่มพัฒนา
| Topic | คำแนะนำ |
|---|---|
| Token Management | Client Token มีอายุการใช้งาน 24 ชั่วโมง ระบบควร Cache และ Reuse Token ไม่จำเป็นต้อง Request Token ใหม่ทุกครั้งที่ยิง API |
| Queue & Throttling | สำหรับปริมาณรายการจำนวนมาก ควรใช้ Queue และ Throttle Request เพื่อลดความเสี่ยงจาก Rate Limit หรือ Burst Traffic |
| Batch Consolidation | ควรออกแบบการส่งข้อมูลแบบรวมรายการตามข้อจำกัดของแต่ละ Endpoint และปรึกษาทีมภายในก่อนใช้งานจริง |
| Idempotency / Duplicate Prevention | ควรเก็บ External Reference และ Mapping ระหว่างระบบต้นทางกับ PEAK เพื่อป้องกันเอกสารซ้ำ |
| Error Logging | ควรบันทึก Request, Response, resCode, resDesc, Timestamp และผู้รับผิดชอบ |
| Daily Reconciliation | ควรตรวจสอบจำนวนเอกสารและยอดเงินระหว่างระบบต้นทางกับ PEAK เป็นประจำ |
| Accounting Validation | ให้ทีมบัญชีตรวจสอบผลลัพธ์ใน PEAK ก่อน Go-Live |
API Behavior & Limitation Notes
| Topic | รายละเอียด |
|---|---|
| Partial Document Strategy | ปัจจุบัน API ยังไม่รองรับการแบ่งงวดงานหรือ Partial Sync จากใบเสนอราคา หรือใบสั่งซื้อ |
| Recommended Workaround | ให้ระบบต้นทางคำนวณงวดงานหรือยอดที่ต้องการก่อน แล้วยิง API เพื่อ Create New เอกสารใหม่ใน PEAK เป็นรายใบ |
| Split Payment | รองรับการบันทึกรับ/จ่ายชำระเงินแบบแบ่งจ่ายหลายครั้งในเอกสารใบเดียวกันได้ |
| Credit Note | การสร้างใบลดหนี้ควรทำผ่านรูปแบบอ้างอิงเอกสารตั้งต้นตาม Flow ที่ระบบรองรับ |
| Classification Sync | หากต้องการติด Tag หรือ Classification แนะนำให้สร้างเอกสารให้สำเร็จก่อน แล้วจึงยิง Request เพื่อ Update Classification ภายหลัง |
| Scope Limitations | ปัจจุบัน PEAK API ยังไม่ยืนยันการรองรับโมดูล PEAK TAX, PEAK ASSET และ PEAK PAYROLL ใน Public API Scope ควรยืนยันกับทีม API ก่อนสื่อสารกับลูกค้า |
Pro Tip: สำหรับ Flow ที่มีการแบ่งงวด เช่น แบ่งชำระจาก Quotation หรือ Purchase Order แนะนำให้ระบบต้นทางเป็นผู้คำนวณยอดแต่ละงวดให้เสร็จก่อน แล้วค่อยส่ง API เพื่อสร้างเอกสารใหม่ใน PEAK ตามงวดที่ต้องการ
Environment Comparison
| รายละเอียด | UAT / Sandbox | Production |
|---|---|---|
| วัตถุประสงค์ | ทดสอบ Flow, ตรวจสอบความถูกต้อง และจำลองข้อมูล | เชื่อมต่อกับ PEAK Account สำหรับใช้งานจริง |
| Endpoint URL | http://peakengineapidev.azurewebsites.net/api/v1 | https://api.peakaccount.com/api/v1 |
| Credential | ใช้ UAT Credential เท่านั้น | ใช้ Production Credential เท่านั้น |
| ข้อมูลที่ใช้ | ข้อมูลทดสอบ / ข้อมูลจำลอง | ข้อมูลธุรกิจจริง |
| เหมาะสำหรับ | Developer Test, Accounting Validation, Error Case | Live Operation, Production Sync, Business Reporting |
| Server Availability | ใช้สำหรับทดสอบตามเงื่อนไขของ UAT Environment | ใช้งานจริงตามระบบ Production |
ข้อมูลเวลาทำการของ Server, SLA, Maintenance Window หรือ Availability ควรยืนยันกับทีม API/Engineering ก่อนนำไปใช้เป็น Customer Commitment
API Support
เราแยกช่องทางการประสานงานตามประเภทของคำถาม เพื่อให้ทีมงานสามารถตอบและแก้ปัญหาได้ตรงจุดที่สุด
| ประเภทการสนับสนุน | ใช้เมื่อ | ติดต่อ |
|---|---|---|
| Strategic & Business Support | ปรึกษา Business Flow, เงื่อนไขสัญญา, Package, Commercial Term, การประเมิน Transaction | คุณบอส [email protected] CC: [email protected] |
| UAT Coordination | ขอ UAT, ส่ง Application Code, ประสานงานเอกสารทดสอบ | [email protected] CC: [email protected] |
| Technical & API Support | API Error, Log, Response, Code, Request Body, ปัญหาเชิงเทคนิค | [email protected] |
ข้อมูลที่ควรแนบเมื่อแจ้งปัญหา API
| ข้อมูล | ตัวอย่าง |
|---|---|
| Environment | UAT หรือ Production |
| Endpoint / Method | POST /api/v1/Invoice |
| Timestamp | วันที่และเวลาที่เกิดปัญหา |
| Request Body | Payload ที่ใช้ยิง API โดย Mask ข้อมูลสำคัญแล้ว |
| Response Body | Error response, resCode, resDesc |
| External Reference | เลขอ้างอิงจากระบบต้นทาง |
| Expected Result | ผลลัพธ์ที่คาดหวัง |
| Actual Result | ผลลัพธ์ที่เกิดขึ้นจริง |
| Recent Change | มีการเปลี่ยน Token, Mapping, Package หรือ Code ล่าสุดหรือไม่ |
ห้ามส่ง API Key, Client Secret, User Token, Password หรือข้อมูลลูกค้าที่ไม่จำเป็นผ่านช่องทางที่ไม่ปลอดภัย หากต้องใช้ข้อมูลประกอบการตรวจสอบ ควร Mask หรือ Redact ข้อมูลสำคัญก่อนทุกครั้ง
Note for Business Team
ระหว่างที่ทีม Developer กำลังทดสอบระบบบน UAT ทีมธุรกิจสามารถสมัครใช้งานแพ็กเกจ Pro Plus เพื่อเข้าไปตั้งค่าระบบต่าง ๆ เช่น ผังบัญชี ช่องทางการเงิน ผู้ใช้งาน สินค้า/บริการ และ Master Data บนระบบ PEAK ควบคู่ไปได้ทันที เพื่อช่วยให้ Go-Live ทำได้เร็วขึ้นเมื่อการทดสอบ API เสร็จสมบูรณ์
