SocialHub.AI

규정 준수 및 동의 API 살다

팀에서 게시한 회원 개인정보 보호/규정 준수 정책을 읽고, 관리되는 v2 REST API를 통해 회원별 동의 여부를 확인하세요. 스토어, 앱, 데이터 웨어하우스 또는 백오피스에서 최신 정책을 가져오고, 버전 기록을 확인하여, 범위가 지정되고 감사된 키를 사용하여 회원이 동의한 정확한 버전을 확인할 수 있습니다.

인증 및 범위

모든 엔드포인트는 Flash API 호스트에 있으며, 서버 측 API 키(베어러)로 인증합니다. 팀 구성은 항상 키에서 파생되며 요청에 포함되지 않습니다. 두 개의 읽기 전용 범위가 액세스 권한을 부여합니다.

  • 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 주소나 사용자 에이전트는 포함되지 않습니다(개인 식별 정보 최소화).

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 키; 다른 팀의 ID로 접속하면 404 오류가 발생합니다. 엔드포인트는 키별로 접속 속도가 제한됩니다.

초안은 절대 유출되지 않습니다

게시/보관된 버전만 제공되며, 작업 진행 중인 초안과 내부 표시는 그대로 유지됩니다.

문구에 따른 동의

각 레코드에는 버전 number과 콘텐츠 해시가 포함되어 있으므로 "v3"은 항상 동일한 단어를 의미합니다.

기본적으로 최소한의 기능만 제공

동의 기록에는 원시 IP 주소/사용자 에이전트 정보가 포함되지 않습니다. 감시 데이터가 아닌 확인 증거만 제공됩니다.

기계 판독 가능 참조: 엔드포인트는 https://flash.socialhub.ai/api/v2/openapi.json(태그 Privacy)의 v2 OpenAPI 사양에 있습니다.

동의 이후: 주제 구독, 전송 시 적용

동의는 법적 관문입니다. 주제 구독은 회원이 원하는 어떤마케팅을 세밀하게 선택하는 것입니다. 포털 개인정보 보호 영역에서 회원은 프로모션, 뉴스레터, 고객 충성도, 제품 발표 등 개별 주제를 끄고 나머지는 유지할 수 있습니다. 이는 옵트아웃 모델(기록 없음 = 구독)이며 서버 측에서 시행됩니다. 모든 캠페인은 주제를 전달하며 전송 게이트는 구성원이 해당 주제를 끄면 통신 정책 빈도 제한 및 조용한 시간과 함께 메시지를 억제합니다. 트랜잭션 메시지는 영향을 받지 않습니다. 회원이 직접 관리합니다. 포털은 소비자 세션 엔드포인트(/api/member/topic-subscriptions)를 통해 이를 읽고 쓰므로 관리 API 키가 관련되지 않습니다.