← Retour Docs

Quickstart client SaaS (exemple: SetAcademy)

Connecter un utilisateur authentifié de votre SaaS à SetChat en backend-to-backend, sans dépendre du CORS navigateur.

Etape 1 - Pré-requis et variables

Côté SaaS, exposez une route backend authentifiée (ex: GET /api/setchat/visitor-token) qui appelle l'API SetChat S2S et retourne { token, expiresIn }.

Variables minimales à configurer sur votre backend:

SETCHAT_API_URL=https://api.setchat.co
SETCHAT_MINT_PATH=/api/widget/visitor-token
SETCHAT_SITE_API_KEY=site_xxx
SETCHAT_SERVER_TOKEN=********
SETCHAT_PROVIDER=your-saas
SETCHAT_TIMEOUT_MS=5000
  • SETCHAT_SITE_API_KEY = clé du site SetChat ciblé.
  • SETCHAT_SERVER_TOKEN = token S2S (rotation possible côté SetChat).
  • SETCHAT_PROVIDER = identifiant logique de votre produit (ex: setacademy).

Etape 2 - Mapping identité et appel S2S

Envoyez un payload stable et cohérent côté backend:

{
  "siteApiKey": "site_xxx",
  "externalUserId": "usr_123",
  "email": "user@client.com",
  "name": "Jane Doe",
  "provider": "your-saas",
  "metadata": {
    "role": "admin",
    "plan": "business",
    "tenantSlug": "acme"
  }
}
  • externalUserId doit être stable entre sessions.
  • email doit représenter l'utilisateur authentifié courant.
  • Evitez les données sensibles dans metadata.

Etape 3 - Injection widget et cycle de vie session

  • Au login / restore session: récupérer le token puis injecter data-visitor-token dans le widget.
  • Au logout ou switch de compte: réinitialiser la session widget pour éviter le mélange d'identités.
  • Prévoir un refresh de token si votre session applicative est longue.

Runbook ops (rotation token S2S)

  1. Rotate côté SetChat: POST /api/tenants/:id/widget-identity/s2s-token/rotate
  2. Déployer votre SaaS avec le nouveau token.
  3. Vérifier les mints (HTTP 200 + token reçu).
  4. Revoke previous: POST /api/tenants/:id/widget-identity/s2s-token/revoke-previous

Pattern recommandé: rotate → deploy client → revoke previous.