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 เพื่อล้างค่า หรือไม่ส่งเพื่อคงค่าเดิม ดูหัวข้อ "การแก้ไข extraVerify" ด้านบนสำหรับพฤติกรรมเมื่อเปลี่ยน bankCode
  • คืนค่า 404 BANK_ACCOUNT_NOT_FOUND หากไม่พบบัญชี หรือบัญชีไม่ได้เชื่อมโยงกับ Branch ของคุณ

Bank Slip Verification API for Thai Banking