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-tokendans 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)
- Rotate côté SetChat:
POST /api/tenants/:id/widget-identity/s2s-token/rotate - Déployer votre SaaS avec le nouveau token.
- Vérifier les mints (HTTP 200 + token reçu).
- Revoke previous:
POST /api/tenants/:id/widget-identity/s2s-token/revoke-previous
Pattern recommandé: rotate → deploy client → revoke previous.