Uno de los mayores atractivos de la plataforma Acumatica es su API robusta y fácil de usar. Aquí te mostraré cómo puedes extender un punto final de servicio web y añadir entidades personalizadas personalizadas a un objeto. Un cliente nuestro tenía la necesidad de introducir datos fiscales de otro sistema en un documento de ventas al contado.
En algunos casos, la notificación de transacciones desde otro sistema como Lightspeed deben introducirse como documentos de ventas al contado en Acumatica sin recalcularlos. Queríamos evitar discrepancias de valores decimales debidas a recálculos en otro sistema. El objetivo era introducir los tipos impositivos y los importes imponibles de Lightspeed tal cual en Acumatica. El resultado deseado está en la captura de pantalla de abajo y los pasos siguientes le llevará allí.
Hay una sección de detalles de impuestos en el documento de ventas en efectivo, pero no fue expuesta por la API.
Si utiliza Acumatica 2020R2 o posterior, deberá tomar el punto final predeterminado de la versión 20.200.001 y ampliarlo. Dale un nombre y un número de versión al endpoint. Normalmente, hago coincidir el número de versión del que estoy ampliando, como puede ver en el ejemplo siguiente en Endpoint version 20.200.001.
Intento hacer coincidir el número de versión del endpoint con el que estoy ampliando por motivos de coherencia:
Una vez ampliado el endpoint, se va al nivel superior del objeto (Ventas al contado), y se pulsa en INSERTAR, se verá la siguiente pantalla de entrada.
Relleno la información necesaria para crear un objeto de detalle fiscal a nivel de detalle:
A partir de ahí, añado los campos necesarios al objeto de detalles recién definido que ya existe en Acumatica.
Para probar la API ampliada, utilizamos la aplicación Postman que se utiliza en Acumatica's Certificación de integraciones. Usando Postman, confirmo que el objeto TaxDetails funciona como se espera.
Y aquí está el código al que puedes acceder en Github con un enlace al GIST.
GIST: https://gist.github.com/kulvirTAC/669fc94ff72abf7f2364db9df3389791
Como puede ver, se trata de un proceso bastante fácil y sencillo, que resulta muy eficiente utilizando un método de código bajo/sin código que ofrece la plataforma Acumatica para tareas triviales de desarrolladores. Todo lo bueno de una API REST robusta con la flexibilidad de ampliarla con objetos personalizados y extraer campos existentes.
¡Feliz codificación!