เชื่อมต่อระบบของคุณกับ Marcomm AI
อ่านสรุปข่าว ข่าวสำคัญ และรายการรออนุมัติจากระบบของคุณเอง แล้วอนุมัติหรือปฏิเสธจากเครื่องมืออนุมัติของคุณ API ใช้งานได้บนแพ็กเกจ Team ขึ้นไป หลังผ่านการตรวจสอบสั้นๆ
เริ่มต้นใช้งาน
- 1ยื่นขอสิทธิ์เข้าถึง
อธิบายระบบของคุณและเลือกข้อมูลที่ต้องการ เราตรวจสอบคำขอทีละรายการ
- 2สร้างคีย์
หลังได้รับอนุมัติ ให้สร้างคีย์ที่ ตั้งค่า, API คีย์จะแสดงเพียงครั้งเดียว จึงควรเก็บไว้ในระบบของคุณ
- 3ส่งคำขอ
ส่งคีย์ในส่วนหัว Authorization แล้วเรียกใช้เอนด์พอยต์ใดก็ได้ด้านล่าง
ตัวอย่างคำขอ
curl https://app.marcomm.works/api/v1/news/digest?days=7 \
-H "Authorization: Bearer mc_live_..."การยืนยันตัวตน
ส่งคีย์เป็นโทเค็น Bearer ในคำขอทุกครั้ง คีย์ส่วนบุคคลทำงานในนามของผู้สร้างคีย์ จึงอ่านรายการอนุมัติและตัดสินใจในนามบุคคลนั้นได้ ส่วนคีย์ของเวิร์กสเปซสร้างโดยผู้ดูแลและอ่านได้อย่างเดียว คีย์ตั้งวันหมดอายุ จำกัด IP แอดเดรส และหมุนเวียนได้ โดยคีย์เดิมจะยังใช้งานได้อีก 24 ชั่วโมงหลังการหมุนเวียน
ขอบเขตสิทธิ์
คีย์แต่ละตัวมีเฉพาะขอบเขตที่คำขอของคุณได้รับอนุมัติ
- news
- สรุปข่าว บทความ และสำนักข่าว
- crisis
- ข่าวสำคัญและเหตุการณ์วิกฤต
- approvals
- รายการรออนุมัติ รวมถึงการอนุมัติหรือปฏิเสธด้วยคีย์ส่วนบุคคล
- content
- การอ่านข่าวประชาสัมพันธ์และบทความบล็อก
เอนด์พอยต์
เส้นทางขึ้นต้นด้วย /api/v1 เอนด์พอยต์สำหรับอ่านใช้ GET และรับพารามิเตอร์ของคำค้น การตอบกลับเป็น JSON รูปแบบ {"data": ...}
| เมธอด | เส้นทาง | ขอบเขต | หน้าที่ |
|---|---|---|---|
| GET | /api/v1/news/digest | news | ปริมาณข่าว ความรู้สึก และสำนักข่าวอันดับต้นในช่วงเวลาที่เลือก |
| GET | /api/v1/news/articles | news | ค้นหาข่าวที่มีการกล่าวถึง |
| GET | /api/v1/news/outlets | news | สำนักข่าวที่รายงานเกี่ยวกับบริษัทของคุณ |
| GET | /api/v1/crisis/incidents | crisis | เหตุการณ์วิกฤตและบทความข่าวสำคัญ |
| GET | /api/v1/approvals | approvals | ข่าวประชาสัมพันธ์และบทความบล็อกที่รอเจ้าของคีย์ และรายการที่เจ้าของคีย์ขอให้อนุมัติ |
| GET | /api/v1/press-releases | content | รายการข่าวประชาสัมพันธ์ |
| GET | /api/v1/press-releases/{id} | content | ข่าวประชาสัมพันธ์หนึ่งฉบับพร้อมย่อหน้านำและเนื้อหา |
| GET | /api/v1/blog-posts | content | รายการบทความบล็อก |
| GET | /api/v1/blog-posts/{id} | content | บทความบล็อกหนึ่งบทความพร้อมเนื้อหา |
| POST | /api/v1/approvals/press-releases/{id} | approvals | อนุมัติหรือปฏิเสธข่าวประชาสัมพันธ์ที่รอเจ้าของคีย์ |
| POST | /api/v1/approvals/blog-posts/{id} | approvals | อนุมัติหรือปฏิเสธบทความบล็อกที่รอเจ้าของคีย์ |
อนุมัติและปฏิเสธ
ส่ง {"decision": "approve"} หรือ {"decision": "reject", "comment": "..."} ไปยังรายการนั้น การปฏิเสธต้องระบุความคิดเห็น การตัดสินใจใช้กฎเดียวกับในแอปและ Slack และบันทึกในชื่อเจ้าของคีย์ หากข้อความมีวลีที่ต้องยืนยัน คุณจะได้รับ 409 confirmation_required พร้อมคำเตือน และส่งคำขอซ้ำได้โดยใส่ "force": true
curl -X POST https://app.marcomm.works/api/v1/approvals/press-releases/<id> \
-H "Authorization: Bearer mc_live_..." \
-H "Content-Type: application/json" \
-d '{"decision":"reject","comment":"Please fix the headline."}'ขีดจำกัดอัตราการเรียก
ขีดจำกัดกำหนดต่อเวิร์กสเปซ ต่อนาทีและต่อวัน (UTC) การตอบกลับมีส่วนหัวตามด้านล่างทุกครั้ง เมื่อเกินขีดจำกัดคุณจะได้รับ 429 พร้อม Retry-After หากต้องการเพิ่มขีดจำกัด ให้ขอเพิ่มได้ที่ ตั้งค่า, API ทีมงานของเราจะตรวจสอบ
- X-RateLimit-Limit
- จำนวนคำขอที่อนุญาตต่อนาที
- X-RateLimit-Remaining
- จำนวนคำขอที่เหลือในนาทีปัจจุบัน
- X-RateLimit-Reset
- เวลาแบบ Unix ที่หน้าต่างนาทีรีเซ็ต
- X-RateLimit-Day-Limit
- จำนวนคำขอที่อนุญาตต่อวัน
- X-RateLimit-Day-Remaining
- จำนวนคำขอที่เหลือของวันนี้
- Retry-After
- จำนวนวินาทีที่ต้องรอก่อนลองใหม่ ใช้เฉพาะ 429
ข้อผิดพลาด
ข้อผิดพลาดจะส่งกลับเป็น JSON รูปแบบ {"error": {"code": ..., "message": ...}}
| รหัส | สถานะ | ความหมาย |
|---|---|---|
| invalid_key | 401 | ไม่มีคีย์ คีย์ผิดรูปแบบ หรือถูกเพิกถอนแล้ว |
| expired | 401 | คีย์หมดอายุแล้ว โปรดสร้างคีย์ใหม่หรือหมุนเวียนคีย์ |
| ip_denied | 403 | คีย์ถูกจำกัดให้ใช้จาก IP แอดเดรสอื่น |
| plan_required | 403 | เวิร์กสเปซไม่ได้อยู่บนแพ็กเกจ Team ขึ้นไป |
| access_required | 403 | เวิร์กสเปซนี้ยังไม่ได้รับอนุมัติให้เข้าถึง API |
| suspended | 403 | การเข้าถึง API ของเวิร์กสเปซนี้ถูกระงับ |
| scope_denied | 403 | คีย์ไม่มีขอบเขตสิทธิ์ที่เอนด์พอยต์นี้ต้องใช้ |
| personal_key_required | 403 | อนุมัติหรือปฏิเสธได้เฉพาะด้วยคีย์ส่วนบุคคล |
| denied | 403 | บทบาทของเจ้าของคีย์ไม่อนุญาตให้ทำเช่นนี้ |
| unknown_endpoint | 404 | ไม่มีเอนด์พอยต์นี้ |
| comment_required | 400 | ต้องระบุเหตุผลในการปฏิเสธ |
| confirmation_required | 409 | คำเตือนต้องได้รับการยืนยัน ส่งซ้ำโดยตั้งค่า force เป็น true |
| rate_limited | 429 | เกินขีดจำกัดต่อนาที |
| daily_limit | 429 | ถึงขีดจำกัดต่อวันแล้ว |
Webhook
การแจ้งเตือน คำขออนุมัติ และสรุปข่าวตอนเช้ายังส่งไปยังระบบของคุณได้ด้วย เพิ่มปลายทางที่ ตั้งค่า, API, Webhook แต่ละคำขอเป็น JSON ที่มีฟิลด์ event (alert, approval หรือ briefing), workspace, title, text, url, data และ sentAt คำขออนุมัติมี data.kind (press_release, blog หรือ event) และ data.id ซึ่งใช้อ่านและตัดสินใจผ่าน API ได้
คำขอแต่ละรายการมีลายเซ็น คำนวณ HMAC-SHA256 ของเนื้อหาคำขอดิบด้วยคีย์ลับสำหรับลายเซ็นของคุณ แล้วเทียบกับส่วนหัว X-Marcomm-Signature ซึ่งอยู่ในรูป sha256=<hex> ปฏิเสธคำขอที่ไม่ตรงกัน
การตรวจสอบ Webhook ใน Node.js
import { createHmac, timingSafeEqual } from 'node:crypto';
export function isFromMarcomm(rawBody: string, signature: string, secret: string) {
const expected = 'sha256=' + createHmac('sha256', secret).update(rawBody).digest('hex');
const a = Buffer.from(expected);
const b = Buffer.from(signature);
return a.length === b.length && timingSafeEqual(a, b);
}คู่มือการเชื่อมต่อ
อนุมัติจากระบบอนุมัติของคุณ
- เพิ่มปลายทาง Webhook แบบทั่วไปและเปิดคำขออนุมัติ
- เมื่อ Webhook อนุมัติมาถึง ให้ตรวจสอบลายเซ็นและอ่าน data.kind กับ data.id
- แสดงคำขอในระบบอนุมัติของคุณ หากต้องการอ่านเนื้อหา ให้เรียก GET press-releases/{id} หรือ blog-posts/{id}
- ส่งการตัดสินใจด้วยคีย์ส่วนบุคคลของผู้ที่ตัดสินใจ กิจกรรมและการส่งอีเมลจะตัดสินในแอปผ่านลิงก์ในข้อความ
ส่งสรุปข่าวเข้าแดชบอร์ดของคุณ
- สร้างคีย์ของเวิร์กสเปซที่มีขอบเขต news และ crisis
- เรียก news/digest ตามกำหนดเวลา เช่น ทุกเช้า
- หากต้องการระบบแจ้งเตือนของคุณเอง ให้เรียก crisis/incidents ถี่ขึ้น และดูส่วนหัว X-RateLimit เพื่อให้อยู่ในขีดจำกัด
การแจ้งเตือนในแชตของคุณ
- สำหรับ Teams และ Google Chat ให้สร้าง URL Webhook ของห้องแล้วเพิ่มเป็นปลายทางที่ ตั้งค่า, API, Webhook
- สำหรับ JANDI, Dooray! และ Chatwork ให้เชื่อมต่อที่ ตั้งค่า, การเชื่อมต่อ
- เลือกว่าแต่ละปลายทางจะรับการแจ้งเตือน คำขออนุมัติ และสรุปข่าวตอนเช้าอย่างใด แล้วส่งข้อความทดสอบ
พร้อมเชื่อมต่อแล้วหรือยัง
เจ้าของหรือผู้ดูแลเวิร์กสเปซยื่นคำขอได้ที่ ตั้งค่า, API คุณจะได้รับแจ้งทางอีเมลและในแอปเมื่อตรวจสอบเสร็จ
เปิดการตั้งค่า API