เปรียบเทียบเวอร์ชัน
EasySlip มี API 2 เวอร์ชัน คู่มือนี้จะช่วยให้คุณเลือกเวอร์ชันที่เหมาะสมกับความต้องการ
เปรียบเทียบอย่างรวดเร็ว
| ฟีเจอร์ | API v1 | API v2 |
|---|---|---|
| สถานะ | เสถียร | ล่าสุด |
| Base URL | /v1 | /v2 |
| ตรวจสอบสลิปธนาคาร | ใช่ | ใช่ |
| TrueMoney Wallet | ใช่ | ใช่ |
| สร้าง QR Code | ใช่ | ไม่ |
| จับคู่บัญชี | ไม่ | ใช่ |
| ตรวจสอบจำนวนเงิน | ไม่ | ใช่ |
| หลาย Branch | ไม่ | ใช่ |
| จัดการบัญชีธนาคาร | ไม่ | ใช่ |
| รูปแบบ Response | Legacy | มาตรฐาน |
API v2 (แนะนำ)
Base URL: https://api.easyslip.com/v2
ข้อดี
รูปแบบ Response มาตรฐาน
- โครงสร้าง
success,data,errorที่สม่ำเสมอ - Error Code ที่ชัดเจนพร้อมข้อความอธิบาย
- โครงสร้าง
จับคู่บัญชี
- จับคู่บัญชีผู้รับกับบัญชีธนาคารที่ลงทะเบียน
- การจับคู่ชื่อแบบ fuzzy
- รองรับ PromptPay และบัญชีร้านค้า
ตรวจสอบจำนวนเงิน
- ตรวจสอบว่าจำนวนเงินที่คาดหวังตรงกับสลิป
- ป้องกันการจ่ายน้อยหรือมากเกินไป
รองรับหลาย Branch
- สร้าง API Key หลายตัวต่อแอปพลิเคชัน
- ติดตามโควต้าต่อ Branch
- IP Restrictions ที่ต่างกันต่อ Branch
Error Handling ที่ดีขึ้น
- Error Response ที่มีโครงสร้าง
- Error Code เฉพาะเจาะจงสำหรับการ Debug
Endpoints
| Endpoint | Method | คำอธิบาย |
|---|---|---|
/verify/bank | POST | ตรวจสอบสลิปธนาคาร |
/verify/truewallet | POST | ตรวจสอบสลิป TrueMoney Wallet |
/info | GET | ดูข้อมูลแอปพลิเคชัน |
/health | GET | ตรวจสอบสถานะ |
/banks | GET | รายชื่อธนาคารที่รองรับ |
/bank-accounts | GET/POST/PATCH | จัดการบัญชีธนาคาร |
ตัวอย่าง Request
bash
curl -X POST https://api.easyslip.com/v2/verify/bank \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payload": "QR_PAYLOAD",
"matchAccount": true,
"matchAmount": 1000,
"checkDuplicate": true
}'ตัวอย่าง Response
json
{
"success": true,
"data": {
"isDuplicate": false,
"matchedAccount": {
"bank": {
"nameTh": "กสิกรไทย",
"code": "004"
},
"nameTh": "บริษัท ตัวอย่าง จำกัด"
},
"amountInOrder": 1000,
"amountInSlip": 1000,
"isAmountMatched": true,
"rawSlip": { ... }
},
"message": "Bank slip verified successfully"
}API v1 (Legacy)
Base URL: https://api.easyslip.com/v1
ข้อดี
รองรับ TrueMoney Wallet
- ตรวจสอบการโอน TrueMoney Wallet
- อ่าน QR Code และ OCR
สร้าง QR Code
- สร้าง PromptPay QR Code
- รองรับ K-Shop, Mae Manee, Tungngern
เสถียรและผ่านการทดสอบ
- ใช้งานจริงมานาน
- มีเอกสารครบถ้วน
Endpoints
| Endpoint | Method | คำอธิบาย |
|---|---|---|
/verify | GET | ตรวจสอบด้วย Payload |
/verify | POST | ตรวจสอบด้วยรูปภาพ/URL/Base64 |
/verify/truewallet | POST | ตรวจสอบ TrueMoney |
/me | GET | ดูข้อมูลแอปพลิเคชัน |
/qr/generate | POST | สร้าง QR Code |
ตัวอย่าง Request
bash
curl -X GET "https://api.easyslip.com/v1/verify?payload=QR_PAYLOAD" \
-H "Authorization: Bearer YOUR_API_KEY"ตัวอย่าง Response
json
{
"status": 200,
"data": {
"payload": "00000000...",
"transRef": "68370160657749I376388B35",
"date": "2024-01-15T14:30:00+07:00",
"amount": {
"amount": 1000
},
"sender": { ... },
"receiver": { ... }
}
}คู่มือการย้าย: v1 ไป v2
การเปลี่ยนแปลงรูปแบบ Response
Response ของ v1:
json
{
"status": 200,
"data": { ... }
}Response ของ v2:
json
{
"success": true,
"data": { ... },
"message": "Success message"
}การเปลี่ยนแปลงการจัดการ Error
Error ของ v1:
json
{
"status": 400,
"message": "invalid_payload"
}Error ของ v2:
json
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Payload must not exceed 128 characters"
}
}การเปลี่ยนแปลง Endpoint
| Endpoint v1 | Endpoint v2 | หมายเหตุ |
|---|---|---|
GET /verify?payload=X | POST /verify/bank | เปลี่ยนเป็น POST พร้อม JSON body |
POST /verify (รูปภาพ) | POST /verify/bank | Endpoint เดียวกัน ใช้ multipart |
GET /me | GET /info | เปลี่ยนชื่อ และ Response ละเอียดขึ้น |
POST /verify/truewallet | POST /verify/truewallet | มีทั้งสองเวอร์ชัน โดย v2 เพิ่ม input แบบ Base64/URL และการจับคู่บัญชี |
POST /qr/generate | - | ไม่มีใน v2 |
ตัวอย่างการย้ายโค้ด
โค้ด v1:
javascript
const response = await fetch(
`https://api.easyslip.com/v1/verify?payload=${payload}`,
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const { status, data, message } = await response.json();
if (status === 200) {
console.log('สำเร็จ:', data);
} else {
console.error('ข้อผิดพลาด:', message);
}โค้ด v2:
javascript
const response = await fetch(
'https://api.easyslip.com/v2/verify/bank',
{
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ payload })
}
);
const result = await response.json();
if (result.success) {
console.log('สำเร็จ:', result.data);
} else {
console.error('ข้อผิดพลาด:', result.error.code, result.error.message);
}เมื่อไหร่ควรใช้เวอร์ชันไหน
ใช้ API v2 เมื่อ:
- เริ่มโปรเจกต์ใหม่
- ต้องการฟีเจอร์จับคู่บัญชี
- ต้องการตรวจสอบจำนวนเงิน
- ต้องการ Error Handling มาตรฐาน
- ต้องการติดตามโควต้าหลาย Branch
ใช้ API v1 เมื่อ:
- ต้องการสร้าง QR Code (
/qr/generate— มีเฉพาะ v1) - ดูแลโปรเจกต์เดิมที่ใช้ v1
- ยังไม่พร้อมย้ายไป v2
สรุป
สำหรับการเชื่อมต่อใหม่ เราแนะนำ API v2 เพราะมีฟีเจอร์ที่ดีกว่า Error Handling ที่ดีกว่า และรูปแบบ Response ที่เป็นมาตรฐาน โดย v2 ครอบคลุมทั้งการตรวจสอบสลิปธนาคารและ TrueMoney Wallet, การจับคู่บัญชี, การตรวจสอบจำนวนเงิน, การรองรับหลาย Branch และการจัดการบัญชีธนาคาร ส่วน API v1 ยังคงพร้อมใช้งานหลัก ๆ สำหรับการสร้าง QR Code ที่ยังไม่มีใน v2