SocialHub.AI

Cumplimiento y consentimiento API En vivo

Lea la declaración de privacidad y cumplimiento publicada por su equipo y verifique el consentimiento de cada miembro en una versión 2 controlada REST API. Su tienda en línea, aplicación, almacén de datos o sistema administrativo puede obtener la declaración actual, consultar su historial de versiones y confirmar con exactitud a qué versión dio su consentimiento cada miembro, mediante claves auditadas y con alcance definido.

Autenticación y ámbitos

Todos los puntos finales se encuentran en el host Flash API y se autentican con una clave API del servidor (Bearer). El equipo siempre se deriva de la clave; nunca se envía en la solicitud. Dos ámbitos de solo lectura controlan el acceso:

  • privacy:read: la declaración que incluye la versión actual, el historial y una versión específica.
  • consent:read: registros de consentimiento de un miembro (versión, alcances, estado, hora).
# 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"

Lea la declaración.

Solo versiones publicadas y archivadas: los borradores nunca se exponen y el contenido se depura (se eliminan los marcadores de revisión interna) antes de salir de 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)

Verificar consentimiento

Confirme con exactitud la versión y el alcance de la declaración a la que un miembro dio su consentimiento. Los registros son evidencia de solo adición y se conservan incluso después de que un miembro los elimine; el API devuelve la información necesaria para la verificación, sin la dirección IP ni el agente de usuario (minimización de la información de identificación personal).

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": [] }.

Garantías

Inquilino aislado

teamId proviene de la clave API; la identificación de otro equipo se resuelve en 404. Los puntos finales tienen una velocidad limitada por clave.

Los borradores nunca se filtran

Solo se sirven versiones publicadas/archivadas, desinfectadas; los borradores en desarrollo y los marcadores internos permanecen dentro.

Consentimiento sujeto a redacción

Cada registro lleva la versión number y un hash de contenido, por lo que "v3" siempre significa las mismas palabras.

Mínimo por defecto

Los registros de consentimiento omiten la IP/agente de usuario sin procesar; obtienes la evidencia de verificación, no datos de vigilancia.

Referencia legible por máquina: los puntos finales están en la especificación OpenAPI v2 en https://flash.socialhub.ai/api/v2/openapi.json (etiqueta Privacy).

Más allá del consentimiento: suscripciones a temas, aplicadas al enviar.

El consentimiento es la puerta legal; Las suscripciones a temas son la elección más detallada del miembro sobre quémarketing desea. Desde el área de privacidad del portal, un miembro puede desactivar temas individuales (promocionales, boletines informativos, fidelización, anuncios de productos) y conservar el resto. Es un modelo de exclusión voluntaria (sin registro = suscrito) y se aplica en el lado del servidor: cada campaña incluye un tema y la puerta de envío suprime un mensaje cuando el miembro ha desactivado ese tema, junto con el límite de frecuencia de la política de comunicación y las horas de silencio. Los mensajes transaccionales nunca se ven afectados. Los miembros lo gestionan ellos mismos; el portal lo lee y escribe a través de un punto final de sesión del consumidor (/api/member/topic-subscriptions), por lo que no interviene ninguna clave de administrador API.