Especificaciones técnicas
Descripción de la arquitectura
Firma de seguridad entre conexión Helisa y App Externa
Esquema de respuestas
Estructura de envío / WEBSERVICE
- Consulta de cuentas
- Consulta de existencias de un producto
- Consulta estado de cartera de cliente
- Consulta movimiento de inventario
- Inserción de documentos
- Inserción de entrada de mercancía/Gestión de Compras
- Inserción de entrada de mercancia/Inventario
- Inserción de ordenes de compra
- Inserción de pedidos
- Inserción de productos
- Inserción de remisiones
- Inserción y actualización de acreedores
- Inserción y actualización de clientes
- Inserción y actualización de terceros
- Lectura balance general
- Lectura de cartilla de centros de costo
- Lectura de cartilla de productos
- Lectura de cartilla de terceros, clientes y proveedores
- Lectura resumen de documentos
- Lectura saldos de una cuenta por terceros
- Lectura de Listas de precios
- Consulta de cuentas
- Consulta de existencias de un producto
- Consulta estado de cartera de cliente
- Consulta movimiento de inventario
- Inserción de documentos
- Inserción de entrada de mercancía/Gestión de Compras
- Inserción de entrada de mercancia/Inventario
- Inserción de ordenes de compra
- Inserción de pedidos
- Inserción de productos
- Inserción de remisiones
- Inserción y actualización de acreedores
- Inserción y actualización de clientes
- Inserción y actualización de terceros
- Lectura balance general
- Lectura de cartilla de centros de costo
- Lectura de cartilla de productos
- Lectura de cartilla de terceros, clientes y proveedores
- Lectura resumen de documentos
- Lectura saldos de una cuenta por terceros
- Lectura de Listas de precios
Firma de seguridad entre conexión Helisa y App Externa
¿Por qué utilizar una firma de seguridad?
Debido a que el WebService es público y cualquier software se podría conectar y enviar información, es necesario garantizar que el cliente que se conectará tiene permisos para envío e inserción. La firma nos garantizará que es un cliente permitido y además que lo enviado no está corrupto o fue cambiado en el tramo de envío.
¿Qué tipo de firma se va a utilizar?
El firmado de la información se hará por medio de HMAC utilizando la función de hash SHA-256.
¿Cómo se va a utilizar la firma de seguridad?
Para el uso del firmado HMAC se deberá generar una llave a cada cliente del WebService. Cada cliente deberá tener un ID (puede ser el ID de la empresa a la que generará información), y a este ID se le generará la llave. Para el envío de la información el procedimiento, suponiendo qué se tiene la información del ID, la llave, y la información a enviar (JSON):
-
Generar el HMAC del JSON utilizando SHA-256 y la llave.
-
Enviar al WebService el JSON, el ID y la firma (el HMAC generado en (1)). El envío del HMAC, debido a que son bytes, será en base hexagecimal.
-
El WebService buscará la llave generada para el ID, firmará el JSON y comparará las firmas.
-
Si las firmas no son iguales se responderá con error (ver Esquema de respuestas).
-
Si las firmas son iguales se continuará con el proceso de validación e inserción.
En el siguiente enlace encontrarán un archivo comprimido con el ejemplo del firmado de seguridad, este informa que el firmado está creado en JavaScript Firmado de seguridad.