esofitec. CoreDocs

esofitec. CoreDocs

Introducción

Visión general

API a3ERP es un motor que publica vía web (HTTP) el acceso a bases de datos de SQL Server y a operaciones de a3ERP, para que aplicaciones externas (un programa del cliente, otra herramienta, un portal…) puedan consultar y operar sin entrar en a3ERP.

Qué expone#

El motor ofrece dos formas de exponer datos y acciones:

  • Consultas SQL — vistas y procedimientos almacenados sobre cualquier base de datos SQL Server. Sirven para leer datos y para consultas con parámetros. Las resuelve la propia API, al momento.
  • Operaciones personalizadas (custom) — acciones sobre a3ERP (por ejemplo, crear un pedido) que no se pueden hacer con SQL. Estas no las resuelve la API directamente.

Cómo funciona por dentro (y por qué)#

a3ERP solo permite operar a través de su componente a3ERP ActiveX o NAX (el módulo con el que a3ERP deja que otros programas actúen sobre él), y ese componente obliga a usar programas de 32 bits que trabajan en monohilo (una tarea detrás de otra, sin multitasking). Por eso las operaciones sobre a3ERP no las ejecuta la API, sino un programa aparte llamado worker, que atiende las peticiones de una en una a través de una cola.

El resultado es un flujo asíncrono (la respuesta no es inmediata: primero se pide y después se recoge) para las operaciones custom:

App  →  POST /api/custom/...   →  API pone la petición en cola y devuelve un nº de tarea
                                       ↓
                                   El worker coge la tarea, la ejecuta en a3ERP y deja el resultado
                                       ↓
App  →  GET /api/task/{nº}      →  hasta que la respuesta está lista

Las consultas SQL, en cambio, son inmediatas: la API las ejecuta y responde en la misma llamada.

Piezas que se instalan#

Todo vive bajo C:\SIT\Services\Sit_a3ERP_Api, compartiendo un único fichero de configuración:

  • El motor — el sitio que se publica en IIS y atiende las peticiones HTTP.
  • La pantalla de Configuración de la API — para dar de alta usuarios, extremos y permisos sin tocar SQL.
  • Uno o varios workers — solo si hay operaciones custom; cada uno en su propia carpeta bajo C:\SIT\Services\Sit_a3ERP_Api\Dispatchers.

Seguridad en una frase#

Cada usuario hace login y recibe un token temporal ligado a su aplicación; sin token válido no se puede llamar a la API. El detalle está en Seguridad.

Por dónde seguir#

  1. Instalación y puesta en marcha — dejar el motor operativo en IIS.
  2. Usuarios y permisos — dar de alta quién puede acceder y a qué.
  3. Configuración de endpoints — qué datos y operaciones se exponen.
  4. Consumo de la API — cómo la usan las aplicaciones.
  5. Workers y dispatchers — si hay operaciones custom sobre a3ERP.