Skip to content

เปรียบเทียบเวอร์ชัน

EasySlip มี API 2 เวอร์ชัน คู่มือนี้จะช่วยให้คุณเลือกเวอร์ชันที่เหมาะสมกับความต้องการ

เปรียบเทียบอย่างรวดเร็ว

ฟีเจอร์API v1API v2
สถานะเสถียรล่าสุด
Base URL/v1/v2
ตรวจสอบสลิปธนาคารใช่ใช่
TrueMoney Walletใช่ใช่
สร้าง QR Codeใช่ไม่
จับคู่บัญชีไม่ใช่
ตรวจสอบจำนวนเงินไม่ใช่
หลาย Branchไม่ใช่
จัดการบัญชีธนาคารไม่ใช่
รูปแบบ ResponseLegacyมาตรฐาน

API v2 (แนะนำ)

Base URL: https://api.easyslip.com/v2

ข้อดี

  1. รูปแบบ Response มาตรฐาน

    • โครงสร้าง success, data, error ที่สม่ำเสมอ
    • Error Code ที่ชัดเจนพร้อมข้อความอธิบาย
  2. จับคู่บัญชี

    • จับคู่บัญชีผู้รับกับบัญชีธนาคารที่ลงทะเบียน
    • การจับคู่ชื่อแบบ fuzzy
    • รองรับ PromptPay และบัญชีร้านค้า
  3. ตรวจสอบจำนวนเงิน

    • ตรวจสอบว่าจำนวนเงินที่คาดหวังตรงกับสลิป
    • ป้องกันการจ่ายน้อยหรือมากเกินไป
  4. รองรับหลาย Branch

    • สร้าง API Key หลายตัวต่อแอปพลิเคชัน
    • ติดตามโควต้าต่อ Branch
    • IP Restrictions ที่ต่างกันต่อ Branch
  5. Error Handling ที่ดีขึ้น

    • Error Response ที่มีโครงสร้าง
    • Error Code เฉพาะเจาะจงสำหรับการ Debug

Endpoints

EndpointMethodคำอธิบาย
/verify/bankPOSTตรวจสอบสลิปธนาคาร
/verify/truewalletPOSTตรวจสอบสลิป TrueMoney Wallet
/infoGETดูข้อมูลแอปพลิเคชัน
/healthGETตรวจสอบสถานะ
/banksGETรายชื่อธนาคารที่รองรับ
/bank-accountsGET/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

ข้อดี

  1. รองรับ TrueMoney Wallet

    • ตรวจสอบการโอน TrueMoney Wallet
    • อ่าน QR Code และ OCR
  2. สร้าง QR Code

    • สร้าง PromptPay QR Code
    • รองรับ K-Shop, Mae Manee, Tungngern
  3. เสถียรและผ่านการทดสอบ

    • ใช้งานจริงมานาน
    • มีเอกสารครบถ้วน

Endpoints

EndpointMethodคำอธิบาย
/verifyGETตรวจสอบด้วย Payload
/verifyPOSTตรวจสอบด้วยรูปภาพ/URL/Base64
/verify/truewalletPOSTตรวจสอบ TrueMoney
/meGETดูข้อมูลแอปพลิเคชัน
/qr/generatePOSTสร้าง 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 v1Endpoint v2หมายเหตุ
GET /verify?payload=XPOST /verify/bankเปลี่ยนเป็น POST พร้อม JSON body
POST /verify (รูปภาพ)POST /verify/bankEndpoint เดียวกัน ใช้ multipart
GET /meGET /infoเปลี่ยนชื่อ และ Response ละเอียดขึ้น
POST /verify/truewalletPOST /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

Bank Slip Verification API for Thai Banking