Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/UDW61/pages/10963779614/Cr+er+un+nouvel+v+nement+Webhook+V6.1) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 4) afficher la version suivante »

L’ancrage (hook) consiste à lier un évènement webhook à une URL externe.

Dans le cas où l'évènement webhook n’existe pas encore, il faudra dans un premier temps définir les données qui vont être envoyées lorsque cet évènement va être déclenché, puis placer l'évènement au bon endroit dans le code existant pour qu’il renvoie ces données à toutes les URL abonnées.

Par exemple, le trigger NewOpportunity, qui se déclenche lorsqu’une nouvelle opportunité est créée, existe déjà en standard, mais si nous avions voulu le recréer, il aurait fallu :

  1. Créer un nouveau script serveur qui contiendra les données que l’on souhaite envoyer à chaque fois que le trigger sera déclenché.
    Dans notre cas il s’agit de FuncServer_GetWebhookResponseBody_NewOpportunity (à noter que le suffixe du script doit correspondre au nom du trigger). A noter que ce script est utilisé à la fois pour l’envoi des données via déclenchement de l'évènement, mais également par le endpoint EPT_WebhookPerformList, il peut donc être nécessaire de prendre en compte ce cas notamment si les données envoyées s’appuient sur un enregistrement précis.

  2. Placer le trigger qui va envoyer les données au bon moment.
    Dans notre cas on s’appuie sur le système de notification par datatracking afin d'être sur que le trigger soit déclenché quelle que soit l’origine de l’insertion en base de donnée. On modifie donc le script SysNotification_Deal_ParseForEach à cet endroit :

    IF( EQUALS( action, "1" ) ) THEN
      actionKey = "insert"
    ENDIF

    En quelque chose de type

    IF( EQUALS( action, "1" ) )THEN
      actionKey = "insert"
      
      // "NewOportunity" webhook event.
      IF( EQUALS( isProject, "1" ) ) THEN
        CALL_SCRIPT( "FuncServer_TriggerWebhookEvent", "NewOpportunity", rowId )
      ENDIF
    ENDIF

Et c’est tout.

N’importe quel service s'étant abonné au trigger NewOpportunity via le endpoint EPT_WebhookSubscribe recevra ensuite les données définies à chaque fois qu’une opportunité sera créée.

  • Aucune étiquette