Skip to content

POST /bank-accounts

สร้างบัญชีธนาคาร บัญชีจะถูกเชื่อมโยงกับ Branch ที่เรียกใช้โดยอัตโนมัติ จึงมองเห็นได้จาก Branch ของคุณทันที

Endpoint

http
POST /bank-accounts

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

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

จำเป็น ดูคู่มือการยืนยันตัวตน

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

Request

พารามิเตอร์

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
bankCodestringใช่รหัสที่ถูกต้องจาก GET /banks
bankNumberstringใช่เลขที่บัญชี
nameThstringใช่ชื่อเจ้าของบัญชี (ไทย) ไม่เกิน 255 ตัวอักษร
nameEnstringใช่ชื่อเจ้าของบัญชี (อังกฤษ) ไม่เกิน 255 ตัวอักษร
typestringใช่ประเภทบัญชี — NATURAL หรือ JURISTIC
extraVerifystringไม่ตัวเลือกการตรวจสอบของธนาคาร — ต้องเป็นค่า value ที่ธนาคารนั้นรองรับ (ดู GET /banks)

Request Body

json
{
  "bankCode": "004",
  "bankNumber": "123-4-56789-0",
  "nameTh": "บริษัท ตัวอย่าง จำกัด",
  "nameEn": "EXAMPLE CO., LTD.",
  "type": "JURISTIC"
}

serviceId กำหนดอัตโนมัติ

serviceId ถูกกำหนดจากฝั่งเซิร์ฟเวอร์ตาม API Key ของคุณ — ไม่สามารถกำหนดเองใน Request ได้

Type Definitions

typescript
// Request
interface CreateBankAccountRequest {
  bankCode: string;                    // ต้องเป็นรหัสที่ถูกต้องจาก GET /banks
  bankNumber: string;
  nameTh: string;                      // ไม่เกิน 255 ตัวอักษร
  nameEn: string;                      // ไม่เกิน 255 ตัวอักษร
  type: 'NATURAL' | 'JURISTIC';
  extraVerify?: string;                // ต้องเป็นค่า value ที่ธนาคารรองรับ (ดู 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 POST https://api.easyslip.com/v2/bank-accounts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "bankCode": "004",
    "bankNumber": "123-4-56789-0",
    "nameTh": "บริษัท ตัวอย่าง จำกัด",
    "nameEn": "EXAMPLE CO., LTD.",
    "type": "JURISTIC"
  }'
javascript
const createBankAccount = async (account) => {
  const response = await fetch('https://api.easyslip.com/v2/bank-accounts', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(account)
  });

  const result = await response.json();

  if (!result.success) {
    throw new Error(result.error.message);
  }

  return result.data;
};

// การใช้งาน
const account = await createBankAccount({
  bankCode: '004',
  bankNumber: '123-4-56789-0',
  nameTh: 'บริษัท ตัวอย่าง จำกัด',
  nameEn: 'EXAMPLE CO., LTD.',
  type: 'JURISTIC'
});

console.log('สร้างบัญชีแล้ว:', account.id);
php
function createBankAccount(array $account): array
{
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_URL => 'https://api.easyslip.com/v2/bank-accounts',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_HTTPHEADER => [
            'Authorization: Bearer YOUR_API_KEY',
            'Content-Type: application/json'
        ],
        CURLOPT_POSTFIELDS => json_encode($account)
    ]);

    $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 = createBankAccount([
    'bankCode' => '004',
    'bankNumber' => '123-4-56789-0',
    'nameTh' => 'บริษัท ตัวอย่าง จำกัด',
    'nameEn' => 'EXAMPLE CO., LTD.',
    'type' => 'JURISTIC'
]);

echo "สร้างบัญชีแล้ว: " . $account['id'];
python
import requests

def create_bank_account(account: dict) -> dict:
    response = requests.post(
        'https://api.easyslip.com/v2/bank-accounts',
        headers={
            'Authorization': 'Bearer YOUR_API_KEY',
            'Content-Type': 'application/json'
        },
        json=account
    )

    result = response.json()

    if not result['success']:
        raise Exception(result['error']['message'])

    return result['data']

# การใช้งาน
account = create_bank_account({
    'bankCode': '004',
    'bankNumber': '123-4-56789-0',
    'nameTh': 'บริษัท ตัวอย่าง จำกัด',
    'nameEn': 'EXAMPLE CO., LTD.',
    'type': 'JURISTIC'
})

print('สร้างบัญชีแล้ว:', account['id'])

Response

สำเร็จ (201)

json
{
  "success": true,
  "data": {
    "id": 12345,
    "bankCode": "004",
    "bankNumber": "123-4-56789-0",
    "nameTh": "บริษัท ตัวอย่าง จำกัด",
    "nameEn": "EXAMPLE CO., LTD.",
    "type": "JURISTIC",
    "extraVerify": null,
    "createdAt": "2024-01-15T14:30:00+07:00",
    "updatedAt": "2024-01-15T14:30:00+07:00"
  }
}

Error Responses

Validation Error (400)

json
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "bankNumber: Too small: expected string to have >=1 characters"
  }
}

รหัสธนาคารไม่ถูกต้อง (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"
  }
}

บัญชีซ้ำ (409)

json
{
  "success": false,
  "error": {
    "code": "BANK_ACCOUNT_DUPLICATE",
    "message": "An active account with the same bank code and number already exists"
  }
}

หมายเหตุ

  • บัญชีใหม่จะถูกเชื่อมโยงกับ Branch ที่เรียกใช้โดยอัตโนมัติ — ไม่ต้องเชื่อมโยงแยกอีกเพื่อใช้งานจาก Branch นี้
  • bankCode ต้องเป็นรหัสที่ถูกต้องจาก GET /banks
  • extraVerify เป็นตัวเลือก หากส่งมา ต้องเป็นค่า value ตัวใดตัวหนึ่งที่ธนาคารปลายทางรองรับ มิฉะนั้นจะได้รับ 400 INVALID_EXTRA_VERIFY โดยชุดค่าที่ใช้ได้จะขึ้นกับแต่ละธนาคาร ให้เรียก GET /banks แล้วอ่านตัวเลือก extraVerify ของธนาคารนั้น
  • บัญชีซ้ำหมายถึงบัญชีที่ใช้งานอยู่ซึ่งมี bankCode + bankNumber เดียวกันภายใน Service ของคุณ

Bank Slip Verification API for Thai Banking