Webhooks
Recevoir les événements de publication et de l'Inbox sur votre serveur, Zapier, Make ou n8n, et vérifier leur signature HMAC.
Un webhook envoie une requête POST JSON signée à l'URL de votre choix à chaque
événement : post publié, échec, nouveau message… Les webhooks se gèrent dans
Réglages › Webhooks (rubrique Développeurs), réservé aux Super admins.
Jusqu'à 20 webhooks par espace.
Créer un webhook
Cliquez sur Ajouter un webhook.
Renseignez un Nom (« Zapier », « Slack », « CRM »…) et l'URL (https) de réception.
Cochez les Événements à recevoir et, si besoin, limitez à une Marque (sinon Toutes les marques).
Enregistrez, puis cliquez sur Envoyer un test : Klickbee envoie un exemple
signé avec "test": true et affiche le code de réponse.
Les événements
| Événement | Libellé | Quand |
|---|---|---|
post.published | Post publié | Un post est en ligne. |
post.failed | Échec de publication | Un post a définitivement échoué (après les nouvelles tentatives automatiques). |
post.scheduled | Post planifié | Un post est planifié, ou une nouvelle tentative est programmée. |
post.removed | Post supprimé du réseau | Un post a été retiré du réseau depuis Klickbee. |
message.received | Message privé reçu (Inbox) | Un nouveau message privé arrive dans l'Inbox. |
comment.received | Commentaire reçu (Inbox) | Un nouveau commentaire arrive dans l'Inbox. |
post.published et post.failed sont cochés par défaut.
La requête envoyée
En-têtes :
Content-Type: application/json
User-Agent: Klickbee-Webhooks/1.0
X-Klickbee-Event: post.published
X-Klickbee-Signature: sha256=5d41402abc4b2a76b9719d911017c592…Corps pour un événement de post :
{
"event": "post.published",
"timestamp": "2026-10-12T09:00:03.120Z",
"post": {
"id": "…",
"platform": "LINKEDIN",
"status": "PUBLISHED",
"body": "Notre nouveau guide est en ligne.",
"scheduledAt": "2026-10-12T09:00:00.000Z",
"publishedAt": "2026-10-12T09:00:03.000Z",
"permalink": "https://www.linkedin.com/feed/update/…",
"errorMessage": null,
"brandId": "…",
"contentId": "…"
}
}message.received contient un objet message (conversation, réseau, compte,
expéditeur, texte, pièces jointes, date) et comment.received un objet comment
(auteur, texte, post concerné et son lien, commentaire parent éventuel).
Vérifier la signature
Chaque webhook a un secret de signature (whsec_…), visible avec Secret.
L'en-tête X-Klickbee-Signature vaut sha256= suivi du HMAC-SHA256 du corps
brut de la requête, en hexadécimal, calculé avec ce secret. Recalculez-le avant
de faire confiance au contenu :
import crypto from 'node:crypto';
function isValid(rawBody, signatureHeader, secret) {
const expected =
'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
const a = Buffer.from(expected);
const b = Buffer.from(signatureHeader ?? '');
return a.length === b.length && crypto.timingSafeEqual(a, b);
}Calculez la signature sur le corps tel que reçu, avant JSON.parse. Gardez le
secret côté serveur. Régénérer le secret invalide immédiatement l'ancien :
mettez votre récepteur à jour aussitôt.
Règles de livraison
- URL en
https://uniquement ; les adresses privées ou locales sont refusées. - Votre serveur doit répondre en moins de 5 secondes ; les redirections ne sont pas suivies.
- Chaque événement est envoyé une seule fois, sans nouvel essai si votre serveur ne répond pas. La liste affiche le résultat du dernier envoi (HTTP 200 · …, Injoignable…).
Décochez Actif pour suspendre un webhook sans le supprimer.
API publique
Créer une clé API kbs_, appeler l'API REST de Klickbee Social pour lister vos comptes, créer, planifier et publier des posts, et gérer les erreurs.
Serveur MCP (Claude, ChatGPT)
Connecter Claude, ChatGPT, Claude Code ou Cursor à Klickbee Social pour lister vos comptes, trouver un créneau, créer et planifier des posts en langage naturel.