Skip to main content

คลังข้อความ (Rich/Template/Quick Reply)

ภาพรวม

Domain นี้มี 3 ตาราง คือ rich_message (เนื้อหาข้อความที่ใช้ส่งในแคมเปญและการตอบกลับอัตโนมัติ รองรับทั้ง text, image, tappable image, flex message), template_message (ข้อความสำเร็จรูปที่สร้าง จาก showcase template) และ quick_reply (ชุดปุ่มตอบกลับด่วนที่แนบไปกับข้อความได้)

ตาราง rich_message

ColumnTypeNullableDefaultคำอธิบาย
idSERIAL (INTEGER)NOnextval(...)รหัสอ้างอิงหลักของข้อความ
titleTEXTNO-ชื่อข้อความสำหรับใช้อ้างอิงในระบบ
contentJSONBNO-เนื้อหาข้อความในรูปแบบ JSON ตามชนิดที่ระบุใน type
line_oa_idINTEGERNO-รหัส LINE OA เจ้าของข้อความ (FK ไป line_oa.id)
type"RichMessageType"NO-ชนิดข้อความ: text, image, tappable_image, flex_message
quick_reply_idUUIDYES-รหัสชุด quick reply ที่แนบกับข้อความนี้ (อ้างถึง quick_reply.id)
status"CommonStatus"NO-สถานะของข้อความ (active, inactive, draft, ...)
created_dateTIMESTAMPTZ(3)NOnow()วันเวลาที่สร้างรายการ
created_byINTEGERNO0รหัสผู้ใช้ที่สร้างรายการ
updated_dateTIMESTAMPTZ(3)YES-วันเวลาที่แก้ไขล่าสุด (อัปเดตอัตโนมัติ)
updated_byINTEGERYES0รหัสผู้ใช้ที่แก้ไขล่าสุด
deleted_dateTIMESTAMPTZ(3)YES-วันเวลาที่ลบแบบ soft delete

ตาราง template_message

ColumnTypeNullableDefaultคำอธิบาย
idUUIDNOgen_random_uuid()รหัสอ้างอิงหลักของ template message
organization_idINTEGERNO0รหัสองค์กรเจ้าของข้อมูล
line_oa_idINTEGERNO-รหัส LINE OA เจ้าของ template (FK ไป line_oa.id)
titleTEXTNO-ชื่อ template message
template_message_showcase_idINTEGERNO-รหัส showcase template ต้นแบบที่ใช้สร้างรายการนี้
line_template_messageJSONBYES-โครงสร้างข้อความรูปแบบ LINE Messaging API ที่พร้อมส่ง
form_template_messageJSONBYES-ข้อมูลฟอร์มที่ผู้ใช้กรอกในหน้าจอแก้ไข ใช้ประกอบขึ้นเป็น line_template_message
status"CommonStatus"NOactiveสถานะของ template
created_dateTIMESTAMPTZ(3)NOnow()วันเวลาที่สร้างรายการ
created_byINTEGERNO0รหัสผู้ใช้ที่สร้างรายการ
updated_dateTIMESTAMPTZ(3)YES-วันเวลาที่แก้ไขล่าสุด (อัปเดตอัตโนมัติ)
updated_byINTEGERYES0รหัสผู้ใช้ที่แก้ไขล่าสุด
deleted_dateTIMESTAMPTZ(3)YES-วันเวลาที่ลบแบบ soft delete

ตาราง quick_reply

ColumnTypeNullableDefaultคำอธิบาย
idUUIDNOgen_random_uuid()รหัสอ้างอิงหลักของชุด quick reply
line_oa_idBIGINTNO-รหัส LINE OA เจ้าของชุด quick reply
organization_idBIGINTNO-รหัสองค์กรเจ้าของข้อมูล
nameTEXTNO-ชื่อชุด quick reply
itemsJSONBNO[]รายการปุ่ม quick reply (label และ action ของแต่ละปุ่ม)
statusTEXTNO'active'สถานะการใช้งานของชุด quick reply
created_dateTIMESTAMPTZ(3)NOnow()วันเวลาที่สร้างรายการ
created_byBIGINTNO0รหัสผู้ใช้ที่สร้างรายการ
updated_dateTIMESTAMPTZ(3)YES-วันเวลาที่แก้ไขล่าสุด (อัปเดตอัตโนมัติ)
updated_byBIGINTYES-รหัสผู้ใช้ที่แก้ไขล่าสุด
deleted_dateTIMESTAMPTZ(3)YES-วันเวลาที่ลบแบบ soft delete

หมายเหตุ

  • rich_message.line_oa_id และ template_message.line_oa_id เป็น FK ไปยัง line_oa.id
  • rich_message ถูกอ้างอิงโดย campaign.rich_message_id และ auto_response.rich_message_id
  • rich_message.quick_reply_id เก็บเป็น UUID และมี index รองรับ แต่ไม่ได้ประกาศเป็น FK constraint ใน schema (ชี้ไปที่ quick_reply.id เชิงตรรกะ)
  • Index สำคัญ: rich_message มี index บน line_oa_id และ quick_reply_id; template_message มี index บน (line_oa_id, template_message_showcase_id, status) และ created_date; quick_reply มี index บน (line_oa_id, status) และ created_date
  • quick_reply ใช้ BIGINT สำหรับคอลัมน์ id อ้างอิง (line_oa_id, organization_id, created_by, updated_by) ต่างจากอีก 2 ตารางที่ใช้ INTEGER