POST /bank-accounts
สร้างบัญชีธนาคาร บัญชีจะถูกเชื่อมโยงกับ Branch ที่เรียกใช้โดยอัตโนมัติ จึงมองเห็นได้จาก Branch ของคุณทันที
Endpoint
http
POST /bank-accountsURL เต็ม: https://api.easyslip.com/v2/bank-accounts
การยืนยันตัวตน
จำเป็น ดูคู่มือการยืนยันตัวตน
http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonRequest
พารามิเตอร์
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
bankCode | string | ใช่ | รหัสที่ถูกต้องจาก GET /banks |
bankNumber | string | ใช่ | เลขที่บัญชี |
nameTh | string | ใช่ | ชื่อเจ้าของบัญชี (ไทย) ไม่เกิน 255 ตัวอักษร |
nameEn | string | ใช่ | ชื่อเจ้าของบัญชี (อังกฤษ) ไม่เกิน 255 ตัวอักษร |
type | string | ใช่ | ประเภทบัญชี — NATURAL หรือ JURISTIC |
extraVerify | string | ไม่ | ตัวเลือกการตรวจสอบของธนาคาร — ต้องเป็นค่า 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 /banksextraVerifyเป็นตัวเลือก หากส่งมา ต้องเป็นค่าvalueตัวใดตัวหนึ่งที่ธนาคารปลายทางรองรับ มิฉะนั้นจะได้รับ400 INVALID_EXTRA_VERIFYโดยชุดค่าที่ใช้ได้จะขึ้นกับแต่ละธนาคาร ให้เรียกGET /banksแล้วอ่านตัวเลือกextraVerifyของธนาคารนั้น- บัญชีซ้ำหมายถึงบัญชีที่ใช้งานอยู่ซึ่งมี
bankCode+bankNumberเดียวกันภายใน Service ของคุณ