ภาพรวม 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-Key | B2B Client key hex 64 ตัวอักษร |
X-Timestamp | Unix timestamp เป็นวินาที |
X-Nonce | UUID v4 ไม่ซ้ำกันในแต่ละ request |
X-Signature | HMAC-SHA256 signature |
รายการ Endpoints
| Method | Endpoint | คำอธิบาย |
|---|---|---|
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
| Code | HTTP Status | คำอธิบาย |
|---|---|---|
INVALID_AUTH_HEADERS | 401 | Headers สำหรับยืนยันตัวตนไม่ถูกต้องหรือไม่ครบ |
INVALID_TIMESTAMP | 401 | Timestamp อยู่นอกช่วงที่อนุญาต (±5 นาที) |
DUPLICATE_NONCE | 401 | Nonce นี้ถูกใช้ไปแล้ว |
INVALID_API_KEY | 401 | API key ไม่ถูกต้องหรือถูกปิดใช้งาน |
SERVICE_SUSPENDED | 403 | บริการถูกระงับ |
INVALID_SIGNATURE | 401 | Signature ไม่ตรงกัน |
BRANCH_QUOTA_EXCEEDED | 403 | สาขาใช้โควตาเกินจำนวนที่กำหนด |
รูปแบบ Error Response
json
{
"success": false,
"error": {
"code": "INVALID_SIGNATURE",
"message": "The request signature is invalid"
}
}ขั้นตอนถัดไป
- คู่มือการยืนยันตัวตน — เรียนรู้วิธีลงนาม request
- จัดการสาขา — สร้างและจัดการสาขา
- จัดการโควตา — ตรวจสอบและควบคุมการใช้งาน
- บัญชีธนาคาร — จัดการบัญชีธนาคารที่เชื่อมต่อ