API Client และ API Key
ภาพรวม
Domain นี้เปิดช่องทางให้ ระบบภายนอกของลูกค้าเรียกใช้ API ของ LINE Management ได้ โดยไม่ต้องเข้าสู่ระบบด้วยบัญชีผู้ใช้ โครงสร้างแบ่งเป็นสองชั้น
api_client— แอปพลิเคชันผู้เรียกในระดับแพลตฟอร์ม ถือ client id และ client secretapi_key— คีย์ที่ผูกแอปพลิเคชันนั้นเข้ากับ LINE OA และองค์กรใดองค์กรหนึ่งโดยเฉพาะ
การกระทำที่เกิดขึ้นผ่านช่องทางนี้จะถูกทำเครื่องหมายไว้เสมอ เช่น audience.api_client_id
และ audience.api_key_id รวมถึง audience_member_log.trigger_type ที่มีค่าเป็น api
ทำให้ตรวจสอบย้อนหลังได้ว่าข้อมูลชุดไหนมาจากระบบภายนอก
โครงสร้างข้อมูลหลัก
api_client
name,description,client_id,client_secretstatusชนิดCommonStatus(ค่าเริ่มต้นactive) และ soft delete ผ่านdeleted_date- index
(client_id, client_secret, status)ออกแบบมาให้รองรับการ authenticate โดยตรง
api_key
titleและkey- ขอบเขตการใช้งาน:
api_client_id,line_oa_idและorganization_idทั้งสามตัวเก็บเป็นคอลัมน์ธรรมดา ไม่ได้ประกาศเป็น FK ใน Prisma - index
(organization_id, line_oa_id, status)รองรับการดึงคีย์ที่ใช้งานอยู่ของแต่ละช่องทาง
ไฟล์ที่เกี่ยวข้อง
prisma/schema.prisma:819— modelApiClientprisma/schema.prisma:837— modelApiKeyprisma/schema.prisma:438— คอลัมน์audience.api_client_idและaudience.api_key_idseed-data/13.api_client.sql,seed-data/14.api_key.sql— ข้อมูลตั้งต้นคู่ mock สำหรับการทดสอบschema-dumps/2026-07-24/schema.sql:864,:903
จุดเชื่อมต่อกับ Service อื่น
- cms-api-go มีโมดูล
api-keyสำหรับออกและเพิกถอนคีย์ให้ลูกค้าแต่ละราย - client-api-go และ cms-api-go ใช้ middleware ตรวจสอบ API key ก่อนอนุญาตให้เรียก endpoint สาธารณะ ตัวอย่างการใช้งานจริงคือระบบ CRM ภายนอกยิงข้อมูลเข้ามาเพื่อเพิ่มสมาชิกเข้ากลุ่มเป้าหมาย
- เชื่อมโยงกับ กลุ่มเป้าหมาย และ ช่องทาง LINE OA