PATCH /bank-accounts/:id
แก้ไขบัญชีธนาคาร เป็นการแก้ไขบางส่วน (partial update) — ส่งเฉพาะฟิลด์ที่ต้องการเปลี่ยน เข้าถึงได้เฉพาะเมื่อบัญชีเชื่อมโยงกับ Branch ที่เรียกใช้ มิฉะนั้นจะได้รับ 404
Endpoint
http
PATCH /bank-accounts/:idURL เต็ม: https://api.easyslip.com/v2/bank-accounts/:id
การยืนยันตัวตน
จำเป็น ดูคู่มือการยืนยันตัวตน
http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonRequest
Path Parameters
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
id | number | ใช่ | id ของบัญชีธนาคาร |
Body Parameters
ทุกฟิลด์เป็นตัวเลือก ส่งเฉพาะฟิลด์ที่ต้องการแก้ไข
| พารามิเตอร์ | ชนิด | คำอธิบาย |
|---|---|---|
bankCode | string | รหัสที่ถูกต้องจาก GET /banks — จะตรวจสอบหากระบุมา |
bankNumber | string | เลขที่บัญชี |
nameTh | string | ชื่อเจ้าของบัญชี (ไทย) ไม่เกิน 255 ตัวอักษร |
nameEn | string | ชื่อเจ้าของบัญชี (อังกฤษ) ไม่เกิน 255 ตัวอักษร |
type | string | ประเภทบัญชี — NATURAL หรือ JURISTIC |
extraVerify | string | null | ตัวเลือกการตรวจสอบของธนาคาร — ส่งค่า value ที่ถูกต้องเพื่อตั้งค่า หรือ null เพื่อล้างค่า ตรวจสอบตามแต่ละธนาคาร (ดู GET /banks) |
Request Body
json
{
"nameEn": "EXAMPLE COMPANY LIMITED",
"extraVerify": "REF-2024"
}Type Definitions
typescript
// Request — ทุกฟิลด์เป็นตัวเลือก
interface UpdateBankAccountRequest {
bankCode?: string; // ตรวจสอบกับรายชื่อธนาคารหากระบุมา
bankNumber?: string;
nameTh?: string; // ไม่เกิน 255 ตัวอักษร
nameEn?: string; // ไม่เกิน 255 ตัวอักษร
type?: 'NATURAL' | 'JURISTIC';
extraVerify?: string | null; // ส่งค่า value ที่ถูกต้องเพื่อตั้งค่า หรือ null เพื่อล้างค่า (ดู GET /banks)
}
// Response
interface BankAccountResponse {
success: true;
data: BankAccount;
}
interface BankAccount {
id: number;
bankCode: string;
bankNumber: string;
nameTh: string;
nameEn: string;
type: 'NATURAL' | 'JURISTIC';
extraVerify: string | null;
createdAt: string; // ISO 8601
updatedAt: string; // ISO 8601
}
// Error Response
interface ErrorResponse {
success: false;
error: {
code: string;
message: string;
};
}ตัวอย่าง
bash
curl -X PATCH https://api.easyslip.com/v2/bank-accounts/12345 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"nameEn": "EXAMPLE COMPANY LIMITED"
}'javascript
const updateBankAccount = async (id, changes) => {
const response = await fetch(`https://api.easyslip.com/v2/bank-accounts/${id}`, {
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify(changes)
});
const result = await response.json();
if (!result.success) {
throw new Error(result.error.message);
}
return result.data;
};
// การใช้งาน
const account = await updateBankAccount(12345, {
nameEn: 'EXAMPLE COMPANY LIMITED'
});php
function updateBankAccount(int $id, array $changes): array
{
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.easyslip.com/v2/bank-accounts/' . $id,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode($changes)
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if (!$result['success']) {
throw new Exception($result['error']['message']);
}
return $result['data'];
}
// การใช้งาน
$account = updateBankAccount(12345, [
'nameEn' => 'EXAMPLE COMPANY LIMITED'
]);python
import requests
def update_bank_account(account_id: int, changes: dict) -> dict:
response = requests.patch(
f'https://api.easyslip.com/v2/bank-accounts/{account_id}',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json=changes
)
result = response.json()
if not result['success']:
raise Exception(result['error']['message'])
return result['data']
# การใช้งาน
account = update_bank_account(12345, {
'nameEn': 'EXAMPLE COMPANY LIMITED'
})Response
สำเร็จ (200)
json
{
"success": true,
"data": {
"id": 12345,
"bankCode": "004",
"bankNumber": "123-4-56789-0",
"nameTh": "บริษัท ตัวอย่าง จำกัด",
"nameEn": "EXAMPLE COMPANY LIMITED",
"type": "JURISTIC",
"extraVerify": "REF-2024",
"createdAt": "2024-01-15T14:30:00+07:00",
"updatedAt": "2024-01-16T09:15:00+07:00"
}
}Error Responses
รหัสธนาคารไม่ถูกต้อง (400)
json
{
"success": false,
"error": {
"code": "INVALID_BANK_CODE",
"message": "The provided bankCode is not supported"
}
}extraVerify ไม่ถูกต้อง (400)
json
{
"success": false,
"error": {
"code": "INVALID_EXTRA_VERIFY",
"message": "The provided extraVerify is not a valid option for this bank"
}
}ไม่พบบัญชีธนาคาร (404)
json
{
"success": false,
"error": {
"code": "BANK_ACCOUNT_NOT_FOUND",
"message": "Bank account not found"
}
}การแก้ไข extraVerify
extraVerify จะถูกตรวจสอบกับตัวเลือกที่ธนาคารปลายทางรองรับ (ค่า value จาก GET /banks) พฤติกรรมขึ้นกับว่าคุณเปลี่ยน bankCode ด้วยหรือไม่
bankCode เดิม (หรือไม่ได้ส่ง bankCode)
| สิ่งที่ส่ง | ผลลัพธ์ |
|---|---|
ค่า extraVerify ที่ถูกต้อง | ตั้งค่า |
extraVerify: null | ล้างค่า |
ไม่ส่ง extraVerify | คงค่าเดิมไว้ |
| ค่าที่ไม่ถูกต้อง | 400 INVALID_EXTRA_VERIFY |
เปลี่ยน bankCode
เมื่อ bankCode เปลี่ยน ระบบจะ re-resolve extraVerify กับธนาคารใหม่:
| ธนาคารใหม่ | สิ่งที่ส่ง | ผลลัพธ์ |
|---|---|---|
| มีตัวเลือก | ค่า extraVerify ที่ถูกต้อง | ตั้งค่า |
| มีตัวเลือก | ไม่ส่ง extraVerify และค่าเดิมใช้กับธนาคารใหม่ไม่ได้ | 400 INVALID_EXTRA_VERIFY — ต้องส่งค่าที่ถูกต้องสำหรับธนาคารใหม่ |
| ไม่มีตัวเลือก | (อะไรก็ตาม) | ล้างค่า (ตั้งเป็น null) |
หมายเหตุ
- เฉพาะฟิลด์ที่ส่งมาเท่านั้นที่จะถูกเปลี่ยน ฟิลด์ที่ไม่ได้ส่งจะคงค่าเดิมไว้
- หากระบุ
bankCodeมา ระบบจะตรวจสอบกับGET /banks extraVerifyรับค่าvalueที่ถูกต้องเพื่อตั้งค่า,nullเพื่อล้างค่า หรือไม่ส่งเพื่อคงค่าเดิม ดูหัวข้อ "การแก้ไข extraVerify" ด้านบนสำหรับพฤติกรรมเมื่อเปลี่ยนbankCode- คืนค่า
404 BANK_ACCOUNT_NOT_FOUNDหากไม่พบบัญชี หรือบัญชีไม่ได้เชื่อมโยงกับ Branch ของคุณ