Esta guía describe la secuencia completa para dejar operativa la sincronización entre Softbase8 y SAGE 200. Los pasos 0–2 (servidor SAGE) son un resumen; el detalle con capturas está en el Manual de instalación del conector. Los pasos 3–5 (Softbase8) se documentan aquí íntegramente.
Los pasos 0, 1 y 2 se realizan en el servidor donde reside SAGE 200, por parte de GironaSoft (o el cliente siguiendo el manual de instalación). Los pasos 3, 4 y 5 se realizan desde Softbase8.
Antes de ejecutar el instalador deben cumplirse estos requisitos en el servidor del cliente:
Ejecutar Installer.exe en el servidor de SAGE 200, configurar la conexión SQL y arrancar la aplicación como administrador. El instalador crea automáticamente el usuario SQL del conector con los permisos mínimos necesarios.
Abrir el conector como administrador, ir al apartado [Autenticación] y crear una entrada indicando un nombre identificativo y la empresa de Sage 200. La API KEY y el API SECRET se generan automáticamente. Anotarlos: son los valores que se introducirán en FACTSYNC en el paso 3.
Desde el módulo FACTSYNC se da de alta una conexión de tipo sage200c y se rellenan los campos de configuración con los datos generados en el paso anterior.
sage200c. Nombre descriptivo (p. ej. SAGE Producción o SAGE — Empresa A si hay más de una).
| Campo | Valor | Notas |
|---|---|---|
SAGE_ENDPOINT |
URL base de la API del conector | Sin barra final. Formato: https://<IP_o_dominio>:8443 |
SAGE_USERNAME |
API KEY del paso 2 | |
SAGE_PASSWORD |
API SECRET del paso 2 | |
SAGE_SECTORS |
Origen de sectores en Sage | sectors (defecto) / tipus_client / colectius |
SAGE_TOKEN |
(gestionado automáticamente) | FACTSYNC lo rellena y renueva solo |
SAGE_EXPIRES |
(gestionado automáticamente) | Marca de tiempo de expiración del token |
grant_type=client_credentials).
Antes de programar nada, conviene comprobar de extremo a extremo que la conexión funciona. La forma más rápida es crear un método de lectura ligero y dispararlo manualmente con Ver original.
currencies GET o sectors GET (tablas pequeñas, sin dependencias).
SAGE_TOKEN de la conexión debe haberse rellenado automáticamente.
SAGE_ENDPOINT (sin barra final, con puerto; p.ej. https://mi-servidor.com:8443), confirmar que el puerto está abierto en el firewall del cliente y que la aplicación del conector está arrancada en el servidor.SAGE_USERNAME (API KEY) y SAGE_PASSWORD (API SECRET). Deben coincidir exactamente con las claves del paso 2, incluyendo mayúsculas/minúsculas.
Una vez validada la conexión, hay que crear el resto de métodos siguiendo el orden de dependencias: las entidades maestras antes que las que las referencian.
Escalona los métodos en minutos distintos para que cada paso termine antes de que arranque el que depende de él. Frecuencias base: clientes cada 6 h, catálogo 1 vez al día (nocturno), exportación de pedidos cada 5 min.
| Orden | Métodos | Frecuencia (cron) | Notas |
|---|---|---|---|
| 1 | Maestros: currencies · payment_methods · sectors · employees · custom_fields · discount_lines · warehouses |
Diaria, escalonados 0 2 * * * … 30 2 * * * |
Sin dependencias |
| 2 | product_families → product_groups → products → product_images → translations |
1 vez/día nocturna: 0 3 * * * / 20 3 * * * / 40 3 * * * / 30 4 * * * / 50 4 * * * |
Respetar el orden. translations depende de products |
| 3 | cleanup_taxonomy |
20 5 * * * (opcional) |
Reconcilia d_items con el campo web. products ya lo ejecuta al final de su import |
| 4 | customers → addresses → contacts |
Cada 6 h: 0 */6 * * * / 15 */6 * * * / 30 */6 * * * |
addresses/contacts dependen de customers |
| 5 | conditions (condiciones especiales de precio) |
0 6 * * * |
Depende de descuentos, productos y clientes |
| 6 | stocks |
*/30 * * * * |
Depende de warehouses+products. Stock casi en tiempo real |
| 7 | external_documents (facturas, albaranes, pedidos) |
*/15 * * * * |
Solo para clientes ya sincronizados; por defecto últimos 5 días |
| 8 | Exportaciones (cola): customers/addresses POST·PUT · orders POST |
*/10 * * * * · orders: */5 * * * * |
Pedidos cada 5 min. Con export_customers:"Y" crea el cliente si falta |
Para cada método, indicar la FRECUENCIA CRON (formato estándar 5 campos) y dejar ACTIVADO=Y. El componente que ejecuta los métodos en su hora es FSYN_cron: debe estar configurado como cron del sistema en el servidor Softbase para disparar las tareas FACTSYNC periódicamente.
Las exportaciones (clientes, direcciones y pedidos de venta) se envían hacia Sage a través de una cola que el conector procesa por lotes cada ~2 minutos. No hay método cron especial para estas: FACTSYNC encola las operaciones y el conector las procesa solo. Se recomienda probar con un registro real antes de dar la integración por finalizada:
customers POST — Alta de cliente en Sageaddresses POST/PUT — Alta/modificación de dirección de clienteorders POST — Alta de pedido de venta en SageAntes de dar la integración por entregada, verificar:
curl o navegador).SAGE_TOKEN y SAGE_EXPIRES rellenados (se renuevan solos tras la primera llamada exitosa).currencies GET o sectors GET ejecutado manualmente importa registros sin errores.ACTIVADO=Y y tienen FRECUENCIA CRON configurada.FSYN_cron) está instalado en el servidor y se ejecuta periódicamente.customers POST, orders POST) se han probado con un registro real y el conector los ha procesado correctamente.