Skip to content

ภาพรวม Partners API

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

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

Base URL

https://api.easyslip.com/b2b

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

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

Headerคำอธิบาย
X-API-KeyPartners API Key (hex 64) — ส่งทุก request
X-Branch-KeyBranch Key (UUID) — ส่งเมื่อ endpoint ต้องระบุสาขา (ดูตาราง Endpoints)
X-TimestampUnix timestamp เป็นวินาที
X-NonceUUID v4 ไม่ซ้ำกันในแต่ละ request
X-SignatureHMAC-SHA256 signature

รายการ Endpoints

MethodEndpointคำอธิบายX-Branch-Key
GET/b2b/branchesดูรายการสาขาทั้งหมดไม่ต้อง
POST/b2b/branchesสร้างสาขาใหม่ไม่ต้อง
GET/b2b/branchดูข้อมูลสาขาต้องส่ง
PATCH/b2b/branchแก้ไขสาขาต้องส่ง
DELETE/b2b/branchลบสาขาต้องส่ง
GET/b2b/branch/quotaตรวจสอบโควตาต้องส่ง
PUT/b2b/branch/quotaกำหนดโควตาต้องส่ง
POST/b2b/branch/quota/adjustปรับโควตาต้องส่ง
POST/b2b/branch/quota/resetรีเซ็ตโควตาที่ใช้ไปต้องส่ง
GET/b2b/branch/bank-accountsดูบัญชีธนาคารที่เชื่อมต่อต้องส่ง
POST/b2b/branch/bank-accountsเชื่อมต่อบัญชีธนาคารต้องส่ง
DELETE/b2b/branch/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