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-tokendans 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
- Rotation côté SetChat :
POST /api/tenants/:id/widget-identity/s2s-token/rotate - Déployer votre SaaS avec le nouveau jeton.
- Vérifier les émissions de jetons (HTTP 200 + jeton reçu).
- 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.