ปรับปรุง Logic การจัดการข้อมูล Contact ในเอกสารด้วย contactId
อัปเดตเงื่อนไขการใช้ข้อมูลผู้ติดต่อ (Contact) เมื่อสร้างและแก้ไขเอกสาร
FlowAccount OpenAPI ได้มีการปรับปรุงการใช้งาน contactId ในการสร้างหรืออัปเดตเอกสาร เพื่อรองรับการเปลี่ยนแปลงข้อมูลผู้ติดต่อ (contact) ในรายการเอกสาร โดยมีรายละเอียดดังต่อไปนี้
ผู้ใช้งานสามารถทดสอบได้บน Sandbox
เริ่มมีผลบน Production Environment: 04/02/2026
รายละเอียดการเปลี่ยนแปลง
การปรับปรุงครั้งนี้เป็นการอัปเดตจากฟีเจอร์เดิมที่ประกาศ รองรับการระบุผู้ติดต่อด้วย contactId ในการจัดการเอกสาร โดยปรับปรุง Logic การใช้ข้อมูล contact เมื่อระบุ contactId
1. การใช้งาน
-
เมื่อใส่
contactIdระบบจะดึงข้อมูลผู้ติดต่อของcontactIdนั้นๆ มาใส่ค่าให้ -
สามารถใส่ค่าข้อมูลผู้ติดต่อ เฉพาะเอกสารนั้นๆ ได้โดยไม่กระทบกับการแก้ไขข้อมูลผู้ติดต่อ โดยมีเงื่อนไข ดังนี้
ส ำหรับ
contactNameและcontactCode:- ถ้าใส่ค่า ต้องใส่ค่าให้ถูกต้องตามข้อมูลของ
contactIdนั้นๆ - ถ้าไม่ใส่ค่า ระบบจะดึงค่าจากสมุดรายชื่อมาใส่ให้อัตโนมัติ
สำหรับ field อื่นๆ:
contactAddresscontactTaxIdcontactBranchcontactPersoncontactEmailcontactNumbercontactZipCode
มี Logic ดังนี้:
- ถ้าส่งฟิลด์มา → ใช้ค่าที่ส่งมา (รวมถึงค่าว่าง
"") - ถ้าไม่ส่งฟิลด์มา → ดึงค่าข้อมูลของผู้ติดต่อมาใช้
- ถ้าใส่ค่า ต้องใส่ค่าให้ถูกต้องตามข้อมูลของ
2. ตัวอย่างการทำงาน
สมมติข้อมูลผู้ติดต่อที่มีอยู่ในสมุดรายชื่อ:
contactId: 100
contactName: "บริษัท ABC จำกัด"
contactCode: "ABC001"
contactAddress: "123 ถนนสุขุมวิท"
contactTaxId: "1234567890123"
contactBranch: "สำนักงานใหญ่"
สามารถสร้างรายชื่อได้จากเส้น POST /contacts
ตัวอย่างที่ 1: เเก้ไขบางฟิลด์
{
"contactId": 100,
"contactAddress": "",
"contactTaxId": "9876543210987"
}
ผลลัพธ์:
contactId: 100
contactName: "บริษัท ABC จำกัด" // จากสมุดรายชื่อ (fix)
contactCode: "ABC001" // จากสมุดรายชื่อ (fix)
contactAddress: "" // จาก payload (override เป็นค่าว่าง)
contactTaxId: "9876543210987" // จาก payload (override)
contactBranch: "สำนักงานใหญ่" // จากสมุดรายชื่อ (ไม่ได้ส่งมา)
ตัวอย่างที่ 2: ไม่เเก้ไขฟิลด์ใดเลย
{
"contactId": 100
}
ผลลัพธ์:
contactId: 100
contactName: "บริษัท ABC จำกัด" // จากสมุดรายชื่อ
contactCode: "ABC001" // จากสมุดรายชื่อ
contactAddress: "123 ถนนสุขุมวิท" // จากสมุดรายชื่อ
contactTaxId: "1234567890123" // จากสมุดรายชื่อ
contactBranch: "สำนักงานใหญ่" // จากสมุดรายชื่อ
3. Error Cases
| กรณี | Error Message |
|---|---|
contactId < 0 | ContactId cannot be less than 0 |
contactId ไม่มีในสมุดรายชื่อ | ContactId not found |
contactName หรือ contactCode ไม่ตรงกับในสมุดรายชื่อ | ContactId, ContactName and ContactCode is mismatch |
contactId ไม่ได้เป็นของ companyId นั้น | ContactId does not belong to the current company |