Aujourd'hui, je veux partager avec mes collègues développeurs comment vous pouvez facilement envoyer des requêtes POST à Acumatica ERP. Pour ce faire, vous devez créer un nouveau projet personnalisé WebHooksConfiguration et le publier.
Ensuite, vous devez créer une bibliothèque d'extensions.
Dans le projet "WebHooksConfiguration", vous devez créer une classe qui implémentera l'interface IWebhookHandler. Dans notre cas, il s'agit de la classe TestWebHooks. De plus, nous allons faire un grand exemple de passage d'objets JSON pour les tests. Nous ajouterons donc au préalable la classe ObjectJSON pour désérialiser l'objet et la méthode. Notez également que le modificateur d'accès à la classe doit être "Public". Sinon, dans la capture d'écran SM304000 (WebHooks), ce WebHook ne sera pas disponible.
Le code que vous voyez ci-dessus est contenu dans la GIST ci-dessous.
GIST : https://gist.github.com/yuriycto/059395e4abc43d42078d8237093d416b
Après avoir créé une classe qui implémente l'interface "IWebhookHandler".
Construire le projet
Allez dans Personnalisation -> Fichiers -> Ajouter un nouvel enregistrement -> et sélectionnez le projet qui contient votre classe IWebhookHandler. Enregistrez et cliquez sur Publier le projet actuel.
Ensuite, allez à la page SM304000 (WebHooks).
Dans le champ WebHook Name, entrez un nom. Dans notre cas, je l'ai nommé TestHook.
Dans le sélecteur Implementation Class, sélectionnez votre classe. Ici, vous pouvez voir qu'elle s'appelle WebHooksConfiguration.TestWebHooks. Une fois encore, notez que le modificateur d'accès à la classe doit être Public.
Cliquez ensuite sur Enregistrer. Acumatica va générer l'URL à laquelle vous pourrez accéder.
Allez dans Personnalisation -> Webhooks -> Ajouter un nouvel enregistrement et sélectionnez le WebHook que vous venez de créer. Cochez la case Prédéfini et cliquez sur Publier le projet actuel.
Pour les tests, créez une nouvelle application console et créez la même classe ObjectJSON pour sérialiser l'objet qui sera transmis à Acumatica. Notez ensuite l'URL générée par Acumatica.
Encore une fois, pour votre commodité, j'ai placé le code dans la GIST suivante :
GIST: https://gist.github.com/yuriycto/b1f42b4a116f106aa2e073f2a55e9793
À ce stade, nous allons placer un point d'arrêt dans notre projet "WebHooksConfiguration -> debug -> attach to process and run ConsoleApp1".
Dans l'application console, vous devriez obtenir une réponse OK.
Et c'est tout. C'est aussi simple que possible... tant que vous suivez les étapes que j'ai décrites ci-dessus. J'espère que cet article est clair et qu'il vous facilitera un peu la tâche pour envoyer des requêtes dans Acumatica à l'aide de WebHooks.
Bon codage !