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.

L’ancrage (hook) consiste à lier un évènement webhook à une URL externe, il est donc nécessaire d’utiliser un point d’ancrage ou d’en créer un nouveau pour l'évènement souhaité, qui va envoyer les données que l’on aura défini à toutes les URL s'étant abonnées au point d’ancrage.

Dans le cas où l'évènement n’existe pas encore, il faudra donc l’action que l’on veut utiliser pour déclencher l’envoi vers des URL externes n’a pas d'évènement webhook associé, il faudra le créer.
Cet ajout consiste dans un premier temps à définir les données qui vont être envoyées lorsque cet évènement va être déclenché, puis placer le trigger dans le code existant pour que l'évènement se déclenche au bon endroit dans le code existant pour qu’il renvoie ces données à toutes les URL abonnéesmoment.

Par exemple, le trigger l'évènement 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 va définir les données que l’on souhaite envoyer à chaque fois que le trigger l'évènement sera déclenché.
    Dans notre cas il s’agit de FuncServer_GetWebhookResponseBody_NewOpportunity (à noter que le suffixe du script doit correspondre au nom du triggerde l'évènement). A noter également que ce script est utilisé à la fois pour l’envoi des données via déclenchement de l'évènement, mais également aussi 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 ces données vers les données URL inscrites au bon moment voulu.
    Dans notre cas on s’appuie veut que l'évènement se déclenche lors de la création d’une opportunité, le plus simple est de s’appuyer sur le système de notification par datatracking afin d'être sur que le trigger sûr que l'évènement 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 :

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

    En quelque chose de type

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

...

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