Intégration Crisp / GUIDE TECHNIQUE
Créer vos identifiants API Crisp : token et website_id
Avant de connecter Crisp à votre logiciel sur mesure, il faut générer un token API et récupérer le plugin_id de votre espace. Nous allons ici privilégier l'identification par plugin, plus exhaustive que celle par website. Ce guide vous explique la procédure complète, de la création à la transmission sécurisée.
LES ÉTAPES
4 étapes pour créer et sécuriser vos identifiants API Crisp
Avant de connecter Crisp à votre logiciel sur mesure, il faut générer les bons identifiants avec les bonnes permissions. Voici les étapes à suivre.
Création d'un plugin dans le Marketplace Crisp
Créez votre application sur le Marketplace Crisp et récupérez vos identifiants d'authentification (Identifier et Key) depuis l'onglet Tokens.
Récupérer le website_id de votre espace Crisp
Dans les paramètres de votre site web Crisp (Settings > Website Settings), le website_id est visible dans l'URL de la page ou dans le widget de code d'intégration. Il est nécessaire pour tous les appels API ciblant vos conversations et contacts.
Sécuriser et transmettre les identifiants
Stockage en variables d'environnement dans le logiciel, jamais dans le code source versionné. Transmission via gestionnaire de mots de passe partagé. Le token Crisp donne accès à toutes les données du compte : à protéger comme un accès administrateur.
Activation du plugin
Une fois vos développements terminés, il est nécessaire d'activer votre plugin pour l'utiliser en production. Cette étape consiste à demander des jetons (tokens) de production à Crisp.
Étape 1 : Création d’un plugin dans le Marketplace Crisp
Connectez-vous ou créez un compte sur le Marketplace Crisp
Rendez-vous sur le portail développeur pour initier la création de votre intégration.
Entrez un nom et une description pour votre plugin
Nous préconisons d’utiliser le nom officiel de votre application pour faciliter l’identification par les utilisateurs.
Copiez l’Identifier et la Key
Le plugin inclut des identifiants distincts pour votre espace de développement et votre application de production. Vous pouvez, à tout moment, copier ces identifiants depuis l’onglet Tokens de votre plugin.
Ces deux valeurs sont nécessaires pour construire le header d’authentification.

Ajouter votre application en tant qu’espace de confiance (Trusted Workspace)
Pour tester votre plugin avant sa publication officielle, vous devez déclarer votre instance Crisp comme application de confiance. Cela permet au plugin de communiquer avec votre espace de travail sans être publié sur le Marketplace.
- Allez dans les Settings de votre compte Marketplace Crisp.
- Localisez la section Trusted Workspace.
- Renseignez votre
website_id(voir la méthode de récupération à l’Étape 2).
Étape 2 : Récupérer le website_id
Le website_id est l’identifiant unique de votre espace Crisp. Il est nécessaire dans
tous les endpoints API qui accèdent à vos conversations et contacts.
Méthode 1 : Via le menu “Mise en place et intégrations”
- Dans les paramètres Crisp, allez dans Paramètres, puis développez la section Espace de travail.
- Cliquez sur le menu Mise en place et intégrations.
- Votre identifiant (
website_id) s’affiche en première position dans les informations de la page.
Méthode 2 : Via l’URL des paramètres
- Dans les paramètres Crisp, allez dans Paramètres, puis développez la section Espace de travail.
- Cliquez sur le menu Configuration avancée.
- L’URL de votre navigateur contient alors votre identifiant unique :
https://app.crisp.chat/settings/website/{website_id}/
Étape 3 : Sécuriser et transmettre les identifiants
Format de l’authentification Crisp
L’API Crisp utilise HTTP Basic Auth avec deux headers spécifiques :
Authorization: Basic base64(identifier:key)
X-Crisp-Tier: plugin
Pour construire le header Authorization :
# Construire la chaîne d'authentification
echo -n "VOTRE_IDENTIFIER:VOTRE_KEY" | base64
# Exemple d'appel curl
curl -X GET https://api.crisp.chat/v1/website/WEBSITE_ID/conversations/1 \
-H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" \
-H "X-Crisp-Tier: plugin"
Stockage en variables d’environnement
# .env.local (jamais versionné dans git)
CRISP_IDENTIFIER=votre_identifier_crisp
CRISP_KEY=votre_key_crisp
CRISP_WEBSITE_ID=votre_website_id
Utilisation dans le code Symfony :
public function __construct(
#[Autowire(env: 'CRISP_IDENTIFIER')] private string $identifier
#[Autowire(env: 'CRISP_KEY')] private string $key
) {
}
$credentials = base64_encode("{$this->identifier}:{$this->key}");
// Headers pour tous les appels API Crisp
$headers = [
'Authorization' => "Basic {$credentials}",
'X-Crisp-Tier' => 'plugin',
];
Transmission des identifiants
Pour transmettre les identifiants lors de l’intégration :
- Utiliser un gestionnaire de mots de passe partagé (Bitwarden, 1Password, Dashlane)
- Créer une note sécurisée avec : l’identifier, la key, le website_id et l’environnement
- Ne jamais envoyer par email, Slack ou messagerie en clair
Étape 4 : Activation du plugin
Une fois vos développements terminés, il est nécessaire d’activer votre plugin pour l’utiliser en production. Cette étape consiste à demander des jetons (tokens) de production à Crisp.
Demander un token de production
- Allez dans l’onglet Tokens de votre plugin.
- Cliquez sur le bouton “Ask a production token”.

Configuration des Scopes (Permissions)
Lors de cette étape, vous devrez définir les scopes (niveaux d’accès) de votre plugin.
- Principe du moindre privilège : Il est fortement conseillé de n’activer que les scopes strictement nécessaires au fonctionnement de votre application. Par exemple, si votre plugin ne fait que lire les informations des contacts, n’activez que le scope read, et non write.
- Modification ultérieure : Vous pouvez modifier ces scopes plus tard, mais sachez qu’une nouvelle vérification de la part de Crisp sera requise.
Installation finale
Une fois le plugin activé par Crisp, rendez-vous dans le tableau de bord de votre espace de travail, recherchez votre application dans le catalogue des plugins et cliquez sur Installer.
Vérifier l’accès
Avant de poursuivre, assurez-vous que votre website_id est bien renseigné dans la section Trusted Workspace des paramètres de votre compte Marketplace.
Avant de lancer les développements, vérifiez que les identifiants fonctionnent avec un appel de test sur votre website :
curl -X GET https://api.crisp.chat/v1/website/VOTRE_WEBSITE_ID \
-H "Authorization: Basic VOTRE_BASE64_CREDENTIALS" \
-H "X-Crisp-Tier: plugin"
La réponse doit retourner les informations de votre site web Crisp (nom, domaine, plan). Une erreur 403 indique un problème d’authentification : vérifiez que le base64 est correct (identifier:key, sans espace, sans retour à la ligne).
Configurer les webhooks Crisp
Si votre intégration utilise des webhooks (enrichissement de contact en temps réel, création de tickets depuis les conversations), configurez l’URL de votre endpoint dans les paramètres Crisp :
Bien qu’il soit possible de configurer les webhooks directement dans les paramètres du plugin (Marketplace), la méthode ci-dessous détaille la configuration manuelle via l’espace de travail.
- Dans les paramètres Crisp, allez dans Paramètres, puis développez la section Espace de travail.
- Cliquez sur le menu Configuration avancée.
- Ajouter un webhook depuis la section Web Hooks
- Nom : Donnez un nom explicite à votre webhook pour l’identifier facilement.
- Ajoutez l’URL de votre endpoint de traitement
- Sélectionnez les événements à recevoir (session:created, message:send, etc.)
SmartBooster développe le handler de webhook avec vérification du secret et traitement asynchrone pour éviter les timeouts Crisp.

Références
Étape 3 : Sécurité
Sécuriser et transmettre votre token
Un token Crisp donne accès à vos données métier. Quelques règles simples évitent les fuites accidentelles et permettent une révocation rapide en cas de problème.
Ne jamais committer le token
Un token dans un dépôt git (même privé) est une fuite de sécurité. Il doit toujours passer par une variable d'environnement dans votre .env local, jamais dans le code source.
Variable d'environnement côté serveur
Sur Clever Cloud (notre infrastructure d'hébergement), les variables d'environnement sont configurées depuis la console et injectées au démarrage de l'application. Elles ne sont jamais exposées côté client.
Comment nous le transmettre
Utilisez un gestionnaire de mots de passe partagé (Bitwarden, 1Password) ou notre formulaire de partage sécurisé. Jamais par email ou par message Slack en clair.
FAQ
Les réponses à vos questions
Et si vous ne trouvez pas ce que vous cherchez, nous serons ravis de vous répondre en direct lors d'un rendez-vous entre humains !
Un token API Crisp donne accès aux données de votre espace (conversations, contacts, base de connaissances et paramètres du site) en fonction des scopes que vous avez sélectionnés. La visibilité est limitée au compte Crisp autorisé, vous permettant de lire, créer ou modifier ces informations selon les permissions accordées.
Oui, vous pouvez cumuler plusieurs tokens de plugins (Marketplace) pour segmenter vos applications, ainsi que des tokens personnels (Website Tokens) générés via les paramètres pour des scripts internes. Cette multiplicité permet de séparer les accès et les permissions (scopes) de manière isolée pour chaque outil connecté à votre espace.
Non. Les tokens API Crisp n'ont pas de date d'expiration par défaut. Il est recommandé de les renouveler régulièrement (trimestriellement) et immédiatement si un incident de sécurité est suspecté. La révocation se fait depuis les paramètres de Crisp ou du plugin en supprimant le token concerné.
Le website_id identifie un espace de travail Crisp (un site web). Il est fixe et ne change pas. Si votre compte Crisp gère plusieurs sites, chaque site a son website_id distinct. Tous les membres du compte qui ont accès à ce site partagent le même website_id.
Pour aller plus loin
Approfondir votre réflexion
Portail client, tableau de bord, synchronisation : découvrez tous les cas d'usages que nous pouvons développer avec l'API Crisp.
Symfony, Vue.js, Clever Cloud : les technologies que nous utilisons pour développer des connecteurs robustes et maintenables.