Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Les webhook donnent des possibilités d’accès complémentaires aux services web

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

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.

Astuce

Le WebHook est un autre mode d'exposition d’un service web. Tout la mise en oeuvre des services web SOAP ou REST et d’une action de service sont donc requis au préalable.

Paramétrer un WebHook

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

...

...

A partir de la liste des WebHook, il existe plusieurs manières de récupérer le code webhook :

Image Added
  • Par recopie du code figurant dans la colonne “Code WebHook”

  • Par clic sur le bouton “Envoi par mail” qui génère un mail contenant les codes, ainsi qu’un mise en pièce jointe

Image Added
  • Par passage en mode fiche (F4) qui permet de cliquer sur le bouton “Copier dans le presse papier”

    • Attention, le presse papier ne fonctionne pas en mode navigateur

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 “400” ou “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

Exemple de réponse à cet appel sous Postman (démonstration) :

...