Skip to content

ภาพรวม B2B API

B2B API ออกแบบมาสำหรับการเชื่อมต่อแบบ machine-to-machine ช่วยให้คุณจัดการสาขา โควตา และบัญชีธนาคารสำหรับบริการ EasySlip ผ่าน API ได้โดยตรง

B2B API ใช้การยืนยันตัวตนด้วย HMAC-SHA256 signature เพื่อความปลอดภัยที่สูงขึ้น ใช้ B2B Client key (hex 64 ตัวอักษร) เป็น X-API-Key สำหรับทุก /b2b/* endpoint จัดการ

Base URL

https://api.easyslip.com/b2b

การยืนยันตัวตน

ทุก request ต้องแนบ HMAC-SHA256 signature headers ดูรายละเอียดที่ คู่มือการยืนยันตัวตน

Headerคำอธิบาย
X-API-KeyB2B Client key hex 64 ตัวอักษร
X-TimestampUnix timestamp เป็นวินาที
X-NonceUUID v4 ไม่ซ้ำกันในแต่ละ request
X-SignatureHMAC-SHA256 signature

รายการ Endpoints

MethodEndpointคำอธิบาย
GET/b2b/branchesดูรายการสาขาทั้งหมด
GET/b2b/branches/:branchIdดูข้อมูลสาขา
POST/b2b/branchesสร้างสาขาใหม่
PATCH/b2b/branches/:branchIdแก้ไขสาขา
DELETE/b2b/branches/:branchIdลบสาขา
GET/b2b/branches/:branchId/quotaตรวจสอบโควตา
PUT/b2b/branches/:branchId/quotaกำหนดโควตา
POST/b2b/branches/:branchId/quota/adjustปรับโควตา
POST/b2b/branches/:branchId/quota/resetรีเซ็ตโควตาที่ใช้ไป
GET/b2b/branches/:branchId/bank-accountsดูบัญชีธนาคารที่เชื่อมต่อ
POST/b2b/branches/:branchId/bank-accountsเชื่อมต่อบัญชีธนาคาร
DELETE/b2b/branches/:branchId/bank-accounts/:bankAccountIdยกเลิกการเชื่อมต่อบัญชีธนาคาร
POST/b2b/bank-accountsสร้างบัญชีธนาคารใหม่

ตัวอย่างเบื้องต้น

ตัวอย่าง signed GET request เพื่อดูรายการสาขาทั้งหมด:

bash
API_KEY="your_api_key"
SECRET_KEY="your_secret_key"
TIMESTAMP=$(date +%s)
NONCE=$(uuidgen | tr '[:upper:]' '[:lower:]')
EMPTY_HASH=$(printf '' | shasum -a 256 | cut -d' ' -f1)

STRING_TO_SIGN="GET\n/b2b/branches\n${TIMESTAMP}\n${NONCE}\n${EMPTY_HASH}"
SIGNATURE=$(printf "${STRING_TO_SIGN}" | openssl dgst -sha256 -hmac "${SECRET_KEY}" | cut -d' ' -f2)

curl -X GET https://api.easyslip.com/b2b/branches \
  -H "X-API-Key: ${API_KEY}" \
  -H "X-Timestamp: ${TIMESTAMP}" \
  -H "X-Nonce: ${NONCE}" \
  -H "X-Signature: ${SIGNATURE}"
javascript
import crypto from 'crypto'

const apiKey = 'your_api_key'
const secretKey = 'your_secret_key'
const timestamp = Math.floor(Date.now() / 1000).toString()
const nonce = crypto.randomUUID()
const bodyHash = crypto.createHash('sha256').update('').digest('hex')

const stringToSign = `GET\n/b2b/branches\n${timestamp}\n${nonce}\n${bodyHash}`
const signature = crypto.createHmac('sha256', secretKey).update(stringToSign).digest('hex')

const response = await fetch('https://api.easyslip.com/b2b/branches', {
    headers: {
        'X-API-Key': apiKey,
        'X-Timestamp': timestamp,
        'X-Nonce': nonce,
        'X-Signature': signature,
    },
})

const result = await response.json()
console.log(result.data)

รหัส Error

CodeHTTP Statusคำอธิบาย
INVALID_AUTH_HEADERS401Headers สำหรับยืนยันตัวตนไม่ถูกต้องหรือไม่ครบ
INVALID_TIMESTAMP401Timestamp อยู่นอกช่วงที่อนุญาต (±5 นาที)
DUPLICATE_NONCE401Nonce นี้ถูกใช้ไปแล้ว
INVALID_API_KEY401API key ไม่ถูกต้องหรือถูกปิดใช้งาน
SERVICE_SUSPENDED403บริการถูกระงับ
INVALID_SIGNATURE401Signature ไม่ตรงกัน
BRANCH_QUOTA_EXCEEDED403สาขาใช้โควตาเกินจำนวนที่กำหนด

รูปแบบ Error Response

json
{
    "success": false,
    "error": {
        "code": "INVALID_SIGNATURE",
        "message": "The request signature is invalid"
    }
}

ขั้นตอนถัดไป

Bank Slip Verification API for Thai Banking