SocialHub.AI

การปฏิบัติตามข้อกำหนดและความยินยอม API สด

อ่านคำชี้แจงความเป็นส่วนตัว/การปฏิบัติตามข้อกำหนดที่เผยแพร่ของทีมของคุณ และตรวจสอบความยินยอมต่อสมาชิกผ่าน v2 REST API ที่ได้รับการควบคุม หน้าร้าน แอป คลังข้อมูล หรือแบ็คออฟฟิศของคุณสามารถดึงข้อมูลใบแจ้งยอดปัจจุบัน เดินประวัติเวอร์ชัน และยืนยันได้อย่างแน่ชัดว่าสมาชิกตกลงในเวอร์ชันใด — ด้วยคีย์ที่กำหนดขอบเขตและได้รับการตรวจสอบแล้ว

การตรวจสอบสิทธิ์และขอบเขต

ปลายทางทั้งหมดอยู่บนโฮสต์ Flash API และตรวจสอบสิทธิ์ด้วยคีย์ API ฝั่งเซิร์ฟเวอร์ (Bearer) ทีมงานจะถูกสร้างขึ้นจากคีย์เสมอ — ไม่ได้ถูกส่งมาในคำขอ ขอบเขตการอ่านอย่างเดียวสองขอบเขตจะควบคุมการเข้าถึง:

  • privacy:read — ข้อความ: เวอร์ชันปัจจุบัน ประวัติ และเวอร์ชันเฉพาะ
  • consent:read — บันทึกความยินยอมของสมาชิก (เวอร์ชัน ขอบเขต สถานะ เวลา)
# Every call uses a server-side API key (Bearer). teamId is derived from the key,
# never sent in the request. Two read scopes:
#   privacy:read  → the statement (current / history / a version)
#   consent:read  → a member's consent records
curl https://flash.socialhub.ai/api/v2/privacy/current \
  -H "Authorization: Bearer fl_live_your_key_here"

อ่านแถลงการณ์

เวอร์ชันที่เผยแพร่และเก็บถาวรเท่านั้น — ฉบับร่างจะไม่ถูกเปิดเผย และเนื้อหาจะถูกฆ่าเชื้อ (ถอดเครื่องหมายตรวจสอบภายในออก) ก่อนที่จะออกจาก API

GET https://flash.socialhub.ai/api/v2/privacy/current          # scope: privacy:read

# 200 — the current published statement (sanitized), or { "data": null } if none published.
{
  "data": {
    "id": "pol_…",
    "version": "v3",
    "versionSeq": 3,
    "status": "published",
    "locale": "en",
    "changeType": "material",
    "changeSummary": "Updated data-retention section",
    "effectiveAt": "2026-02-01T00:00:00.000Z",
    "contentHash": "…sha256…",
    "content": { "sections": [ { "key": "intro", "title": "…", "body": "…" } ] }
  }
}
GET https://flash.socialhub.ai/api/v2/privacy/policies         # scope: privacy:read

# 200 — version history, newest first (metadata only; published & archived — never drafts).
{
  "data": [
    { "id": "pol_3", "version": "v3", "versionSeq": 3, "status": "published",
      "changeType": "material", "effectiveAt": "2026-02-01T00:00:00.000Z", "contentHash": "…" },
    { "id": "pol_2", "version": "v2", "versionSeq": 2, "status": "archived",
      "changeType": "minor", "effectiveAt": "2026-01-01T00:00:00.000Z", "contentHash": "…" }
  ],
  "total": 2
}

GET https://flash.socialhub.ai/api/v2/privacy/policies/{id}    # one version, full sanitized content (404 for a draft id)

ยืนยันความยินยอม

ยืนยันให้แน่ชัดว่าสมาชิกได้ให้ความยินยอมต่อข้อความเวอร์ชันและขอบเขตใด บันทึกเป็นหลักฐานที่เพิ่มได้เท่านั้นและยังคงอยู่แม้สมาชิกจะลบออก API จะส่งคืนสิ่งที่คุณต้องการตรวจสอบ โดยไม่มีที่อยู่ IP หรือ user-agent ดิบ (การลดข้อมูลส่วนบุคคล)

GET https://flash.socialhub.ai/api/v2/members/{id}/consents   # scope: consent:read

# 200 — the member's consent records, newest first. The evidence to VERIFY consent:
# which statement version + scopes, the method, status and time. No raw IP / user-agent.
{
  "data": [
    {
      "id": "con_…",
      "scopes": ["privacy_policy", "marketing_email"],
      "method": "register",
      "status": "active",                 // active | legacy_unverified | withdrawn
      "policyVersion": "v3",
      "policyVersionSeq": 3,
      "policyContentHash": "…sha256…",
      "consentedAt": "2026-02-02T10:30:00.000Z"
    }
  ]
}
# A member of another team (or unknown) → 404. No consents yet → { "data": [] }.

การค้ำประกัน

ผู้เช่าแยกออกจากกัน

teamId มาจากคีย์ API รหัสของทีมอื่นแก้ไขเป็น 404 จุดสิ้นสุดมีการจำกัดอัตราต่อคีย์

ร่างเอกสารจะไม่รั่วไหล

แสดงเฉพาะเวอร์ชันที่เผยแพร่/เก็บถาวรแล้วเท่านั้น โดยมีการตรวจสอบความถูกต้องแล้ว ร่างงานที่อยู่ระหว่างดำเนินการและเครื่องหมายภายในจะยังคงอยู่ภายใน

ความยินยอมผูกพันกับถ้อยคำ

แต่ละบันทึกจะมีหมายเลขเวอร์ชันและแฮชของเนื้อหา ดังนั้น "v3" จึงหมายถึงคำเดียวกันเสมอ

น้อยที่สุดตามค่าเริ่มต้น

บันทึกคำยินยอมจะละเว้น IP ดิบ / user-agent — คุณจะได้รับหลักฐานการยืนยัน ไม่ใช่ข้อมูลการเฝ้าระวัง

ข้อมูลอ้างอิงที่เครื่องอ่านได้: จุดสิ้นสุดอยู่ในข้อมูลจำเพาะ v2 OpenAPI ที่ https://flash.socialhub.ai/api/v2/openapi.json (แท็ก Privacy)

นอกเหนือจากการยินยอม: การสมัครรับข้อมูลหัวข้อ บังคับใช้เมื่อส่ง

ความยินยอมเป็นประตูทางกฎหมาย การสมัครรับข้อมูลหัวข้อเป็นทางเลือกโดยละเอียดของสมาชิกในการทำการตลาดแบบใดที่พวกเขาต้องการ จากพื้นที่ความเป็นส่วนตัวของพอร์ทัล สมาชิกสามารถปิดแต่ละหัวข้อได้ — การส่งเสริมการขาย จดหมายข่าว ความภักดี ประกาศเกี่ยวกับผลิตภัณฑ์ — ในขณะที่ยังคงรักษาส่วนที่เหลือไว้ เป็นรูปแบบการยกเลิก (ไม่มีบันทึก = สมัครรับข้อมูล) และมีการบังคับใช้ฝั่งเซิร์ฟเวอร์: ทุกแคมเปญมีหัวข้อ และประตูการส่งจะระงับข้อความเมื่อสมาชิกปิดหัวข้อนั้น - ควบคู่ไปกับความถี่สูงสุดของนโยบายการสื่อสารและเวลาปิดเสียง ข้อความธุรกรรมจะไม่ได้รับผลกระทบ สมาชิกจัดการเอง พอร์ทัลอ่านและเขียนบนจุดสิ้นสุดเซสชันผู้บริโภค (/api/member/topic-subscriptions) ดังนั้นจึงไม่มีคีย์ผู้ดูแลระบบ API เกี่ยวข้อง