Aller au contenu
Aide RestoPlus

Paramétrage

Comment prévenir un outil externe des événements ?

Lire la liste des destinations webhook, en créer une avec un nom pour prévenir un outil externe, la modifier ou la supprimer.

18 étapes · Version texte (Markdown)

Un webhook est un message que RestoPlus envoie tout seul à un outil externe (messagerie d'équipe, outil d'automatisation) quand un événement se produit : un relevé non conforme, une crise ouverte, une commande partie chez le fournisseur… Chaque message est signé avec un secret propre à la destination, pour que le destinataire sache qu'il vient bien de RestoPlus. Cet écran liste les destinations, en crée, les modifie, les désactive, montre le journal des envois et permet de les rejouer. Ce guide n'envoie aucun message : la base de démonstration n'a pas de connexion vers l'extérieur.

Avant de commencer

  • Cet écran est réservé aux administrateurs : le super-administrateur et l'administrateur d'entreprise. Il faut avoir choisi une entreprise : sinon « Choisissez une entreprise ».
  • Sur chaque image, le cadre rouge montre où agir. Le numéro est celui de l'étape.

Ouvrir l'écran

L'écran se trouve dans la page Paramétrage.

  1. Étape 1 : Dans le menu de gauche, cliquez sur Paramétrage, puis sur la carte Webhooks

    #

    Le titre est Webhooks, avec le sous-titre « Envoyer un message signé à un outil externe (messagerie, automatisation) quand un événement se produit. » Sans destination : « Aucune destination. »

    Webhooks (Paramétrage) : menu « Webhooks » pour accéder à l'écran

Lire la liste

  1. Étape 2 : Destination

    #

    Action : Regardez l'en-tête de la liste : Destination, Format, Événements, Dernier envoi, Actif.

    Aussi sur cette image : Format, Événements, Dernier envoi, Actif.

    • À quoi ça sert : Savoir ce que montre chaque colonne.
    Webhooks RestoPlus (Paramétrage) : vue d'ensemble de l'écran pour prévenir un outil externe des événements
    Vue d'ensemble de l'écran pour prévenir un outil externe des événements

Créer une destination

Les écrans de cette partie sont pris sur la base de démonstration, qui ne peut pas joindre un serveur externe : une destination ne peut donc pas y être créée jusqu'au bout. Le paragraphe Après la création décrit la suite d'après le code de l'écran.

  1. Étape 3 : + Nouvelle destination

    #

    Action : Cliquez sur + Nouvelle destination.

    • À quoi ça sert : Ouvrir la fenêtre de création d'une destination.
    Webhooks (Paramétrage) : bouton « + Nouvelle destination » pour ouvrir la fenêtre de création d'une destination
  2. Étape 4 : Regardez la fenêtre Nouvelle destination

    #

    Aussi sur cette image : En-tête d'authentification — valeur, ×.

    Le texte dit : « Une adresse https:// publique. L'adresse et la valeur de l'en-tête ne sont jamais réaffichées. » Créer reste grisé tant qu'il manque le nom ou l'adresse.

    Webhooks (Paramétrage) : fenêtre « Nouvelle destination »
  3. Étape 5 : Nom

    #

    Action : Dans Nom, écrivez le nom de la destination.

    • À quoi ça sert : Reconnaître la destination dans la liste.
    • Obligatoire : Oui.
    • Exemple : Messagerie de l'équipe (essai)
    • Si vous vous trompez : Obligatoire : tant qu'il est vide, Créer reste grisé. 100 caractères au plus.
    Webhooks (Paramétrage) : champ « Nom » pour reconnaître la destination dans la liste
  4. Étape 6 : Active

    #

    Action : Regardez la case Active. Elle est cochée au départ.

    • À quoi ça sert : Suspendre la destination sans la supprimer.
    • Obligatoire : Non.
    • Exemple : Cochée
    • Si vous vous trompez : Décochée, la destination ne reçoit plus rien ; son journal est conservé.
    Webhooks (Paramétrage) : case « Active » pour suspendre la destination sans la supprimer
  5. Étape 7 : Adresse (URL)

    #

    Action : Dans Adresse (URL), écrivez l'adresse de l'outil qui recevra les messages.

    • À quoi ça sert : Dire où envoyer les messages.
    • Obligatoire : Oui, à la création.
    • Exemple : https://hooks.exemple.test/restoplus-essai
    • Si vous vous trompez : Obligatoire à la création : sans adresse, Créer reste grisé. Elle doit être publique et en https. Refus possibles : « L'adresse doit commencer par https:// (http n'est accepté que pour un réseau interne autorisé par l'instance). », « L'adresse n'est pas une URL valide. », « L'adresse doit commencer par https://. », « L'adresse ne doit contenir ni identifiant ni mot de passe. », « L'adresse ne contient pas de nom de serveur. », « Cette adresse pointe vers un réseau interne : refusée. » À la modification, un champ vide garde l'adresse actuelle.
    Webhooks (Paramétrage) : champ « Adresse (URL) » pour dire où envoyer les messages
  6. Étape 8 : Créer

    #

    Action : Avec l'adresse http://localhost/…, cliquez sur Créer.

    • À quoi ça sert : Voir ce que répond le logiciel à une adresse non sûre.
    Webhooks (Paramétrage) : bouton « Créer » pour voir ce que répond le logiciel à une adresse non sûre
  7. Étape 9 : Lisez le message rouge :

    #

    « L'adresse doit commencer par https:// (http n'est accepté que pour un réseau interne autorisé par l'instance). »

    La fenêtre reste ouverte, avec ce que vous avez saisi.

    Webhooks (Paramétrage) : le message rouge
  8. Étape 10 : Remplacez l'adresse par une adresse https:// publique

    #
    Webhooks (Paramétrage) : section « Créer une destination »
  9. Étape 11 : Format du message

    #

    Action : Dans Format du message, choisissez « JSON complet » ou « Texte (messagerie) ».

    • À quoi ça sert : Choisir la forme du message : toutes les données de l'événement (JSON), ou une phrase lisible pour une messagerie.
    • Obligatoire : Non.
    • Exemple : Texte (messagerie)
    • Si vous vous trompez : « JSON complet » est proposé au départ.
    Webhooks (Paramétrage) : champ « Format du message » pour choisir la forme du message
  10. Étape 12 : Champ du texte (ex. text, content)

    #

    Action : Dans Champ du texte (ex. text, content), écrivez le nom du champ qui porte le texte.

    • À quoi ça sert : Dire à l'outil externe où trouver la phrase (selon l'outil : text, content…).
    • Obligatoire : Non.
    • Exemple : text
    • Si vous vous trompez : Ce champ n'existe qu'en format Texte.
    Webhooks (Paramétrage) : champ « Champ du texte (ex. text, content) »
  11. Étape 13 : Gabarit (doit contenir {{texte}})

    #

    Action : Dans Gabarit (doit contenir {{texte}}), écrivez la forme de la phrase.

    • À quoi ça sert : Habiller la phrase avant l'envoi.
    • Obligatoire : Non.
    • Exemple : {{texte}}
    • Si vous vous trompez : Le gabarit doit contenir {{texte}} : « Le gabarit doit contenir {{texte}}. » Le grisé du champ est « {{texte}} ».
    Webhooks (Paramétrage) : champ « Gabarit (doit contenir {{texte}}) » pour habiller la phrase avant l'envoi
  12. Étape 14 : En-tête d'authentification — nom (facultatif)

    #

    Action : Regardez En-tête d'authentification — nom (facultatif) et En-tête d'authentification — valeur.

    • À quoi ça sert : Joindre à chaque message une clé que l'outil externe exige (par exemple un en-tête « Authorization »).
    • Obligatoire : Non.
    • Exemple : Authorization
    • Si vous vous trompez : Le nom est facultatif (le grisé « Authorization » est un exemple). La valeur est un champ masqué, jamais réaffichée : à la modification, vide, elle garde la valeur actuelle. Un nom sans valeur est refusé : « La valeur de l'en-tête est obligatoire. » ; si le nom change à la modification, il faut ressaisir la valeur : « Le nom de l'en-tête a changé : saisissez sa valeur à nouveau (l'ancienne n'est pas reprise). »
    Webhooks (Paramétrage) : champ « En-tête d'authentification — nom (facultatif) » pour créer une destination
  13. Étape 15 : Relevé non conforme

    #

    Action : Dans Événements, cochez les événements à envoyer.

    Aussi sur cette image : Actions correctives en retard, Crise ouverte, Crise clôturée, Commande envoyée au fournisseur, Livraison avec écart, Devis accepté par le client.

    • À quoi ça sert : Choisir ce qui déclenche un message.
    • Obligatoire : Non.
    • Exemple : Relevé non conforme
    • Si vous vous trompez : Sept événements sont proposés, rangés par module. HACCP / PMS : Relevé non conforme, Actions correctives en retard, Crise ouverte, Crise clôturée. Achats : Commande envoyée au fournisseur, Livraison avec écart. Portail clients : Devis accepté par le client. Le titre du bloc donne le nombre d'événements cochés.
    Webhooks (Paramétrage) : champ « Événements » pour choisir ce qui déclenche un message
  14. Étape 16 : Avec une adresse https:// dont le nom de serveur n'existe pas, cliquez sur Créer

    #
    Webhooks (Paramétrage) : bouton « Créer »
  15. Étape 17 : Lisez le message rouge :

    #

    « Adresse introuvable (DNS) : vérifiez le nom d'hôte. »

    Sur une installation reliée à internet, une adresse réelle est acceptée : la destination apparaît alors dans la liste, et une fenêtre affiche son secret (voir plus bas).

    Webhooks (Paramétrage) : le message rouge, section « Créer une destination »

Après la création

Dès qu'une destination est créée, une fenêtre Secret de signature affiche son secret : « Copiez le secret maintenant : il ne sera plus jamais affiché. Perdu, il faudra en générer un nouveau. » Les boutons sont Copier le secret et J'ai copié le secret ; si le navigateur refuse la copie automatique, un message demande de copier à la main. Chaque message porte l'en-tête X-RestoPlus-Signature : un horodatage et une signature HMAC-SHA256 calculée avec ce secret. Sur chaque ligne d'une destination active : Envoyer un test (dépose un message de test : « Message de test déposé pour « … » : il part dans quelques secondes, le journal montre son état. »), Journal (les 50 derniers envois, avec date, événement, statut, réponse, essais, et Rejouer sur un échec ou un abandon, tant que la destination est active), Modifier, Nouveau secret (« L'ancien secret de « … » cessera de valider les messages dès maintenant : le destinataire devra être mis à jour. ») et Désactiver (« « … » ne recevra plus aucun message. Son journal est conservé. »). Ces actions ne sont pas illustrées.

  1. Étape 18 : Annuler

    #

    Action : Cliquez sur Annuler.

    • À quoi ça sert : Fermer la fenêtre sans rien créer.
    Webhooks (Paramétrage) : bouton « Annuler » pour fermer la fenêtre sans rien créer