Meetings

การประชุมและสรุปจาก AI

Meetings

การประชุมและนัดหมายของ business — ทั้งที่พิมพ์ลงปฏิทินเอง และที่สร้างจากไฟล์เสียง/บทถอดเสียงแล้วให้ AI สรุปให้

Account key: ทุก request ด้านล่างต้องส่ง X-Business-Id: <business id> เพื่อเลือก business ที่จะทำงานด้วย (ถ้าไม่ส่งจะได้ 400 business_required) business key ไม่สนใจ header นี้ ดูเพิ่มที่ Getting started → API Key ระดับบัญชี

Scopes: view_meeting_all · view_meeting_self

Token ที่ถือแค่ view_meeting_self จะเห็นเฉพาะการประชุมที่ตัวเองเป็นเจ้าของ (ownerUserId) — กติกาเดียวกับที่หน้าเว็บบังคับ

GET /meetings

ค้นหา/ไล่รายการการประชุม เรียงตาม startAt ใหม่สุดก่อน

รายการนี้ ไม่มีเนื้อสรุป มาด้วย — สรุปอยู่ใน object storage และการอ่านมันคือหนึ่งครั้งต่อหนึ่งรายการ ใช้ GET /meetings/{id} เมื่อต้องการอ่านของจริง

ParamTypeNote
limitint1–200, ค่าเริ่มต้น 20
offsetintค่าเริ่มต้น 0
statusscheduled | confirmed | cancelled | completedoptional
kindappointment | recordingrecording = สร้างจากไฟล์เสียง/บทถอดเสียง (กลุ่มที่มีสรุป AI)
aiStatuspending | processing | completed | failedสถานะการวิเคราะห์
meetingTypestringป้ายบนปฏิทินที่ธุรกิจตั้งเอง ("sales", "standup") ตรงตัวเป๊ะ
startFromdateเริ่มช่วง (รวมวันนั้น) — YYYY-MM-DD = 00:00 ตาม tz
startTodateจบช่วง (รวมวันนั้น) — YYYY-MM-DD = 23:59:59.999 ตาม tz
tzIANA zoneโซนที่ใช้ตีความวันที่เปล่า ๆ ค่าเริ่มต้น Asia/Bangkok
hasSummarytrue | falseกรองเฉพาะรายการที่มี/ไม่มีสรุป AI
searchstringsubstring ของหัวข้อ คำอธิบาย และสถานที่ (ไม่ค้นในบทถอดเสียง)
sortDirasc | descค่าเริ่มต้น desc
curl "https://phone.mcloud.co.th/api/v1/meetings?hasSummary=true&limit=5" \
  -H "Authorization: Bearer crk_..." \
  -H "X-Business-Id: <business id>"

ตอบกลับ { items, total, limit, offset } โดยแต่ละ item มี id, title, kind, status, startAt, endAt, durationMs, sentiment, actionItemsTotal, actionItemsDone, aiStatus, hasSummary, hasTranscript, hasAudio

GET /meetings/{id}

การประชุมรายการเดียว พร้อมสรุปที่ AI เขียนไว้

นอกจากฟิลด์เดียวกับในรายการ จะได้เพิ่ม:

FieldTypeNote
attendeesarray{ name, email, role, responseStatus }
summaryobject | nullnull เมื่อการวิเคราะห์ยังไม่เสร็จ ล้มเหลว หรือเป็นนัดหมายเปล่า ๆ ที่ไม่มีไฟล์

ฟิลด์ใน summary เป็น optional ทั้งหมด (ผู้เขียนคือโมเดล): executiveSummary, keyDecisions, actionItems ({ text, owner, dueDate, priority, done }), keyTopics, risks, openQuestions, nextSteps, sentiment, tone, language

การประชุมที่ยังไม่มีสรุปตอบ 200 ไม่ใช่ 404 — "มีอยู่จริงแต่ยังวิเคราะห์ไม่เสร็จ" เป็นคำตอบจริง ดูสาเหตุได้จาก aiStatus และ aiError

curl https://phone.mcloud.co.th/api/v1/meetings/<meeting id> \
  -H "Authorization: Bearer crk_..." \
  -H "X-Business-Id: <business id>"