Webhooks
Webhooks
La page Webhooks (/admin/webhooks) configure les intégrations événementielles sortantes : à chaque événement téléphonique (appel créé, utilisateur créé…), MaxiPBX appelle une URL externe ou un plugin de service.
Sous-titre : « {count} intégrations · {client} » (ou « Aucun client »).
Prérequis
Un client (tenant) doit être sélectionné. Sinon : « Sélectionnez un client ». Le bouton Ajouter un webhook est désactivé sans client.
Liste des webhooks
Chaque ligne affiche : icône, nom, badge du service (ex. http), badges des événements (les 4 premiers, puis « +N »), et trois actions : Journaux, Modifier, Supprimer.
- État vide : « Aucun webhook configuré ».
- Erreur : « Impossible de charger les webhooks : {erreur} ».
Créer / modifier un webhook
La boîte de dialogue comporte deux onglets : Simple et Expert.
Onglet Simple
| Champ | Type | Obligatoire | Valeur par défaut | Détails |
|---|---|---|---|---|
| Nom | Texte | Oui | — | Identifie le webhook. |
| Service | Texte + liste de suggestions | Oui | http |
Service de livraison. La liste provient des plugins installés ; http est toujours proposé. |
| Événements | Zone de texte | Oui | — | Un événement par ligne (ou séparés par des virgules). Ex. call_created, user_created. Les noms valides dépendent du service ; ils sont validés côté serveur. |
Les champs suivants n'apparaissent que pour le service http :
| Champ | Type | Obligatoire | Valeur par défaut | Détails |
|---|---|---|---|---|
| URL cible | Texte | Oui (http) | — | URL appelée. Vide pour un webhook HTTP → « URL cible requise pour un webhook HTTP. ». |
| Méthode | Liste | — | POST |
Choix : POST, PUT, GET, DELETE, HEAD. |
| Type de contenu | Texte | Non | application/json |
En-tête Content-Type. |
| Vérifier le certificat | Liste | — | Oui | « Oui », « Non », ou « Chemin CA personnalisé ». |
| Chemin du certificat CA | Texte (chasse fixe) | Conditionnel | — | Visible si « Chemin CA personnalisé ». Vide → « Indique le chemin du certificat CA personnalisé. ». |
| Corps personnalisé | Zone de texte (chasse fixe) | Non | — | Modèle de corps de requête. |
Onglet Expert
| Champ | Type | Obligatoire | Valeur par défaut | Détails |
|---|---|---|---|---|
| Limiter à un utilisateur | Liste | Non | Tous les utilisateurs | Ne déclenche que pour les événements d'un utilisateur précis. |
| Limiter à une instance | Texte (chasse fixe) | Non | — | UUID d'instance MaxiPBX (optionnel). |
| Tags | Paires clé/valeur | Non | — | Servent ensuite au filtrage des événements. Boutons « Ajouter un tag » / « Retirer le tag ». |
| Paramètres avancés | Paires clé/valeur | Non | — | Pour les services autres que HTTP uniquement. Valeurs : texte, nombre, true/false, ou objet/tableau JSON simple. |
Aide : « Pour un service autre que HTTP, ajoutez les paramètres attendus par le plugin installé. » La zone des paramètres avancés est grisée quand le service est
http.
Validation et enregistrement
- Tags invalides ou dupliqués → « Tags invalides ou dupliqués. ».
- Paramètre avancé invalide ou dupliqué → « Paramètre avancé invalide ou dupliqué ».
- JSON avancé invalide → « Configuration avancée invalide ».
Succès : « Webhook enregistré ». Le bouton Annuler ferme sans valider.
Journaux
Le bouton Journaux d'une ligne ouvre « Journaux · {nom} » et liste les dernières exécutions :
- Événement (ou « Événement inconnu »).
- Statut : badge « success » (vert) ou échec (rouge), avec le statut brut (ou « Statut inconnu »).
- Horodatage de démarrage et compteur de tentatives.
États : « Chargement… », « Aucun journal récent », « Impossible de charger les journaux : {erreur} ».
Supprimer un webhook
Confirmation :
- Titre : « Supprimer {nom} ? »
- Description : « Cette intégration ne recevra plus les événements. »
Succès : « Webhook supprimé ».
État du service événements (administrateurs système)
Une section État du service événements est réservée aux administrateurs système : « Surveillance et réglage debug global réservés aux administrateurs système. » (Elle est masquée pour les autres profils.)
- À gauche : badges d'état des composants (« OK » en vert, échec en rouge, sinon « inconnu »). Si rien : « Aucun état disponible ».
- À droite : interrupteur Mode debug — « À activer seulement pendant un diagnostic court. ». Changement → « Réglage debug mis à jour ».
Le mode debug est global : à n'activer que ponctuellement pour diagnostiquer un problème de livraison.
Cette page fait partie du hub Communications.