Inicio Blog Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

Yuriy Zaletskyy | 9 de diciembre de 2021

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

Hoy, quiero compartir con mis compañeros desarrolladores cómo puedes enviar fácilmente peticiones POST a Acumatica ERP. Para hacer esto, necesitas crear un nuevo proyecto personalizado WebHooksConfiguration y Publicarlo.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

A continuación, deberá crear una Biblioteca de extensiones.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

En el proyecto "WebHooksConfiguration" necesitas crear una clase que implemente la interfaz IWebhookHandler. En nuestro caso, se trata de la clase TestWebHooks. Además, haremos un gran ejemplo de paso de objetos JSON para hacer pruebas. Así que previamente añadiremos la clase ObjectJSON para deserializar el objeto y el método. Además, ten en cuenta que el modificador de acceso para la clase debe ser "Public". De lo contrario, en la captura de pantalla SM304000 (WebHooks) este WebHook no estará disponible.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

El código que ves arriba está contenido en el GIST de abajo.

GIST: https://gist.github.com/yuriycto/059395e4abc43d42078d8237093d416b

Después de haber creado una clase que implemente la interfaz "IWebhookHandler".

Construir el proyecto

Vaya a customization -> Files -> Add New Record -> y seleccione el proyecto que contiene su clase IWebhookHandler. Guarde y haga clic en Publicar proyecto actual.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

A continuación, vaya a la página SM304000 (WebHooks).

En el campo WebHook Name, introduzca un nombre. En nuestro caso, lo he llamado TestHook.

En el selector Implementation Class seleccione su clase. Aquí, puedes ver que se llama WebHooksConfiguration.TestWebHooks. Una vez más, tenga en cuenta que el modificador de acceso para la clase debe ser Public.

Ahora, haga clic en Guardar. Acumatica generará la URL para que puedas acceder.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

Vaya a personalización -> Webhooks -> Añadir Nuevo registro y seleccione su recién creado WebHook. Marque la casilla Predefinido y haga clic en Publicar proyecto actual.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

Para probar, crea una nueva aplicación de consola y crea la misma clase ObjectJSON para serializar el objeto que será pasado a Acumatica. A continuación, observa la URL generada por Acumatica.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

Una vez más, para su comodidad, he colocado el código para usted en el siguiente GIST:

GIST: https://gist.github.com/yuriycto/b1f42b4a116f106aa2e073f2a55e9793

Ahora en este punto, pondremos un breakpoint en nuestro proyecto "WebHooksConfiguration -> debug -> attach to process and run ConsoleApp1.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

En la aplicación de consola, debería obtener una respuesta OK.

Envíe fácilmente solicitudes POST a Acumatica mediante WebHooks

Y ya está. Tan simple como puede ser... siempre y cuando sigas los pasos que describí anteriormente. Espero que este post sea claro y te facilite un poco más la tarea de publicar solicitudes en Acumatica usando WebHooks.

¡Feliz codificación!

Autor del blog

Yuriy empezó a programar en 2003 utilizando C++ y FoxPro, para pasar después a .Net en 2006. A partir de 2013, ha estado desarrollando activamente aplicaciones utilizando Acumatica xRP Framework, desarrollando soluciones para muchos clientes a lo largo de los años. Tiene un blog personal, acertadamente llamado Blog de Yuriy Zaletskyy, donde ha estado documentando los problemas de programación que se ha encontrado en los últimos seis años, compartiendo sus observaciones y soluciones libremente con otros desarrolladores de Acumatica.

Reciba las actualizaciones del blog en su bandeja de entrada.