Les webhook donnent des possibilités d’accès complémentaires aux services web
Astuce |
---|
Le WebHook est un autre mode d'exposition d’un service web. Tout la mise en œuvre des services web SOAP ou REST et d’une action de service sont donc requis au préalable. |
Les services web ont pour caractéristiques principales :
une exposition via une URL unique, qui identifie facilement le service web appelé
une exposition identique à tous les appelants potentiels
la totalité des fonctionnalités sont accessibles
les fonctionnalités sont exploitées par une URL courte et un message long
le traitement métier peut être complexe et un peu long, avec des volumes de données importantes
l’objectif principal est de faire un pont entre applications
Le webhook a une approche différente :
une exposition via plusieurs URL, avec un masquage du service web appelé
une exposition de préférence différenciée par appelant
des fonctionnalités réduites sont accessibles
les fonctionnalités sont exploitées par une URL longue avec paramètres et un aucun message
le traitement métier doit être rapide et simple, synchrone, avec peu de volume de données
l’objectif principal est de faire un lien d’accroche d’informations
Remarque |
---|
Aucune authentification n’est requise pour un WebHook, car le principe est de permettre facilement à un appelant de transmettre une information |
Le webhook doit donc en principe permettre à une application externe de transmettre des informations, dans le sens “d’un fil d’informations continu synchrone” de l’appelant vers l’appelé, quitte à ce que cela déclenche un appel en retour vers l’appelant pour demander plus d’informations de manière asynchrone et sécurisé.
Paramétrer un WebHook (appelé)
Info |
---|
Il faut au préalable avoir créé le service web que l’on souhaite appeler, en mode SOAP ou REST, et de préférence avoir vérifié qu’il est opérationnel avant de l’appeler en mode WebHook |
A partir du zoom des actions de service web (Harmony / Disponible depuis le Runtime Harmony 408
Consultez la page suivante Paramétrage SW WebHook pour plus d’informations, notamment sur les pré-requis.
(1) CODE WEBHOOK
L’appelant doit nécessairement connaître le code webhook (clé chaîne de caractères) à appeler.
Ce code est indiqué dans le paramétrage des WebHook, via le zoom dédié, accessible depuis le zoom des actions de services (Harmony : Paramétrage / Actions des services ou ERP : Administration / Paramètres / Action des services) , une fois placé sur la ligne du service web pour lequel on souhaite créer un WebHook, cliquez sur en cliquant sur le bouton “Appel du zoom webhook”
Le zoom des WebHook présente la liste des WebHooks avec les informations suivantes:
Code WebHook : c’est une clé (chaîne de caractères) qui peut être saisie ou générée lors de la création. C’est l'élément indispensable pour l’appelant et la constitution de l’URL à appeler
Active / Inactif : permet d’inactiver un WebHook
Action : code de l’action de service web, en lien avec le zoom des actions de service web. L’existence du service web est donc un pré-requis.
Paramètres HMP : non utilisé en standard. Permet de donner des paramètres supplémentaires au traitement appelé
Code Appelant : code permettant de distinguer l’appelant, lorsque plusieurs WebHook exposent le même service web
Lors de la création, le code WebHook peut être saisi ou généré par le bouton “Créer un webhook”. Cette clé ne sera plus modifiable par la suite
...
Il n’y a pas d’autre paramétrage spécifique au webHook, hormis d’éventuelles particularités requises par le service métier appelé.
...
A partir de la liste des WebHook, il existe plusieurs manières de récupérer le code webhook :
| |
|
Exemple : MONWEBHOOKACADEMY123456789012363F53
(2) URL WEBHOOK
L’URL d’un WebHook est constituée de 3 parties : URL de base de type REST + '/' + Code webhook + ‘?' + Paramètres du webhook selon le service appelé
Et est donc construite ainsi:
[TypeDeConnexion]://[Serveur]:[Port]/[ServiceWebHook]/[MonCodeWebHook]?[Parametres cle1=valeur&cle2=valeur2]
La section ServiceWebHook étant sous la forme : base commune de l'URL + '/api/v1/WebHook'
La section MonCodeWebHook étant le code webhook récupéré précédemment
La section Parametres étant la liste des paramètres envoyés au webhook sous la forme de paramètres Http : cle=valeur ou cle1=valeur1&cle2=valeur2
Voici un exemple d’appel d’un webhook qui reçoit 2 paramètres : dos et refreshCustomer
Exemple sur un poste local :
http://localhost:8080/DhsDivaltoServiceDivaApiRest/api/v1/Webhook/MONWEBHOOKACADEMY123456789012363F53?dos=998&refreshCustomer=C0000001
Exemple en Divalto cloud :
https://api.divaltocloud.com/123456/TEST1/api/v1/WebHook/MONWEBHOOKACADEMY123456789012363F53?dos=998&refreshCustomer=C0000001
Remarque |
---|
La réponse à un webhook se limite en général à un “200” ou “0” pour indiquer que “le message est bien parvenu”, avec un message complémentaire indiquant soit la réussite ou la raison de l'échec. Un webhook n’a pas pour vocation a retourner des informations |