Skip to content

PATCH /bank-accounts/:id ​

แก้ไขบัญชีธนาคารแบบบางส่วน (partial update) ส่งมาเฉพาะฟิลด์ที่ต้องการเปลี่ยน ใช้ได้เฉพาะบัญชีที่เชื่อมโยงกับ Branch ที่เรียกใช้ ไม่อย่างนั้นจะได้ 404

Endpoint ​

http
PATCH /bank-accounts/:id

URL เต็ม: https://api.easyslip.com/v2/bank-accounts/:id

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

ต้องยืนยันตัวตน ดู คู่มือการยืนยันตัวตน

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Request ​

Path Parameters ​

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
idnumberใช่id ของบัญชีธนาคาร

Body Parameters ​

ทุกฟิลด์ไม่บังคับ ส่งเฉพาะฟิลด์ที่ต้องการแก้ไข

พารามิเตอร์ชนิดคำอธิบาย
bankCodestringรหัสที่ถูกต้องจาก GET /banks ถ้าส่งมาระบบจะตรวจสอบ
bankNumberstringเลขที่บัญชี
nameThstringชื่อเจ้าของบัญชี (ไทย) ไม่เกิน 255 ตัวอักษร
nameEnstringชื่อเจ้าของบัญชี (อังกฤษ) ไม่เกิน 255 ตัวอักษร
typestringประเภทบัญชี: NATURAL หรือ JURISTIC
extraVerifystring | 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 เพื่อล้างค่า หรือไม่ส่งเพื่อคงค่าเดิม กรณีเปลี่ยน bankCode ดูหัวข้อ "การแก้ไข extraVerify" ด้านบน
  • คืน 404 BANK_ACCOUNT_NOT_FOUND เมื่อไม่พบบัญชี หรือบัญชีไม่ได้เชื่อมโยงกับ Branch ของคุณ

Bank Slip Verification API for Thai Banking