HappHapp Docs

Webhooks

Recevez les événements de conversations et d'appels d'un client sur votre propre point de terminaison, signés et vérifiables

Recevez en temps réel les événements de conversations et d'appels sur votre propre serveur — Happ envoie du JSON en POST quand quelque chose se produit, pour alimenter des alertes Slack, des recherches CRM, de l'analytique ou des workflows personnalisés.

Connexion

  1. Ouvrez le catalogue Intégrations et cliquez sur Connecter sur Webhook de conversation ou Webhook d'appel.
  2. Dans la fenêtre, saisissez votre URL Webhook — le point de terminaison HTTPS qui reçoit les événements.
  3. Définissez éventuellement un Secret du webhook pour vérifier les requêtes.
  4. Cliquez sur Connecter.

Il n'y a pas de page de webhooks séparée, pas d'options d'abonnement aux événements et pas de journal de livraisons dans l'application — la fenêtre se limite à l'URL + un secret facultatif.

Événements envoyés

WebhookSe déclenche
ConversationÀ chaque message dans une conversation suivie — du client, de l'agent et d'un opérateur
AppelÀ la fin d'un appel — une seule livraison après l'appel avec la durée, les métadonnées et l'URL de l'enregistrement s'il existe

Événement d'appel

Le webhook d'appel envoie un objet JSON plat par appel terminé (pas de result_json imbriqué). Champs principaux :

ChampSignification
event_typeToujours post_call
call_uuidID unique de l'appel — dédupliquez dessus, le même appel peut arriver plusieurs fois
externalNumberNuméro du client, le même que dans l'historique des appels ; null s'il n'y en avait pas (p. ex. appel web)
directioninbound, outbound ou null
summary, callSuccessfulRésumé et verdict de l'IA : success, failure ou unknown
dynamicVariablesLes variables avec lesquelles l'appel a été lancé, renvoyées — passez votre ID de contact CRM ou de commande au lancement et lisez-le ici. Les variables système VA (system__*) sont omises

Schéma complet et exemple : api.happ.tools/reference.

Vérifier les requêtes

Définissez un secret de webhook et chaque livraison porte deux en-têtes :

En-têteValeur
AuthorizationBasic <secret> — votre secret tel quel, pas le base64 de user:password
X-Signaturesha256=<hex> — HMAC-SHA256 du corps brut de la requête, calculé avec votre secret

Vérifiez en recalculant le HMAC-SHA256 sur le corps brut (avant de parser le JSON) et en comparant en temps constant. Si votre plateforme ne donne pas accès au corps brut, vérifiez plutôt l'en-tête Authorization. Sans secret défini, aucun des deux en-têtes n'est envoyé. Même mécanisme que pour les outils de l'agent.

Utilisez uniquement HTTPS, répondez 200 rapidement (traitez en asynchrone) et gérez les livraisons en double de manière idempotente.

Webhooks ou webhooks d'outils

Webhooks d'intégrationWebhooks d'outils
DéclencheurAutomatique sur événementAppelé par l'IA pendant la conversation
SensHapp → votre serveurHapp → votre serveur → réponse → IA
RéponseAccusé HTTP 200JSON utilisé par l'agent
Cas d'usageSupervision, journalisation, alertesRecherches dynamiques, actions

Pour les webhooks que l'IA appelle pendant la conversation, voir Outils.

API : api.happ.tools/reference

Pour aller plus loin

Help me solve it

Happ answers right away and hands over to a manager when needed.

Sur cette page