← Retour Docs

Démarrage rapide client SaaS (exemple : SetAcademy)

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

Étape 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).

Étape 2 — Mappage d'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.
  • Évitez les données sensibles dans metadata.

Étape 3 — Injection du widget et cycle de vie de session

  • À la connexion ou à la restauration de session : récupérer le jeton puis injecter data-visitor-token dans le widget.
  • À la déconnexion ou au changement de compte : réinitialiser la session du widget pour éviter le mélange d'identités.
  • Prévoir un renouvellement de jeton si votre session applicative est longue.

Guide opérationnel — rotation du jeton S2S

  1. Rotation côté SetChat : POST /api/tenants/:id/widget-identity/s2s-token/rotate
  2. Déployer votre SaaS avec le nouveau jeton.
  3. Vérifier les émissions de jetons (HTTP 200 + jeton reçu).
  4. Révoquer les jetons précédents : POST /api/tenants/:id/widget-identity/s2s-token/revoke-previous

Schéma recommandé : rotation → déploiement client → révocation des jetons précédents.