
Open Office Hours temporada 1: sesión 9 - Link Storage a fondo
Qué son los Link Storages y cómo usarlos en MyRapidi
Cuando sincronizas registros entre dos sistemas, algo tiene que recordar qué registro del origen corresponde a qué registro del destino. En Rapidi, ese algo se llama Link Storage. Guarda los pares de claves primarias entre tus sistemas para que las transferencias sepan si deben crear un registro nuevo o actualizar uno existente.
En este artículo verás qué son los Link Storages, cómo configurarlos, cómo se comportan en las transferencias y cómo usar funciones como las claves compuestas, la fórmula LS Lookup y la importación/exportación.
Resumen rápido
Mira la sesión completa
Este artículo se basa en la sesión 9 del programa de formación Open Office Hours de Rapidi. La sesión completa incluye un recorrido en vivo por los Link Storages en MyRapidi, una demo paso a paso de la configuración y ejemplos de cómo se comportan los Link Storages cuando se ejecutan las transferencias.
Diapositivas de la presentación
¿Qué es un Link Storage?
Un Link Storage es una funcionalidad integrada de Rapidi que guarda y recupera pares de claves de los sistemas, es decir, las claves primarias que identifican los registros en cada sistema. Piensa en él como una tabla de búsqueda dinámica que guarda la relación uno a uno entre los registros de toda tu integración.
Por ejemplo, en tu ERP un cliente puede tener un número como C00010. En Salesforce, ese mismo cliente tiene un Account ID como 001Dn00000XYZ. El Link Storage conserva esa correspondencia para que Rapidi siempre sepa que se trata del mismo cliente.
Sin un Link Storage, Rapidi no puede saber si un registro ya existe en el destino. Cada sincronización crearía duplicados en lugar de actualizaciones.
Puedes tener tantos Link Storages como necesites (uno, veinte o cincuenta), según cuántos tipos de objetos y relaciones cubra tu integración.
Cómo crear un Link Storage
Configurar un Link Storage es sencillo. Antes de empezar, asegúrate de que tus conexiones estén configuradas y probadas, y de que ya tengas en mente el diseño de la transferencia.
-
Ve a Link Storages y haz clic en New. Asígnale un código significativo, como «Accounts-DE», y añade una descripción para cada lado. Por ejemplo, «Número de cliente de BC» a la izquierda e «ID de cuenta de Salesforce» a la derecha.
-
Selecciona la conexión de origen. Elige la conexión, luego la tabla (p. ej., Customer Card) y después el campo clave (p. ej., Number). Así le indicas a Rapidi qué campo del sistema de origen debe guardar.
-
Selecciona la conexión de destino. El mismo proceso: elige la conexión, la tabla (p. ej., Account) y el campo clave (p. ej., Account ID).
-
El Link Storage está listo. Permanecerá vacío hasta que una transferencia lo use. En cuanto lo asignes a una transferencia y la ejecutes, las entradas se crearán automáticamente.
Siempre es conexión, tabla y campo, en ambos lados. Esa es la estructura de todo Link Storage.
Usar un Link Storage en una transferencia
Una vez creado, asignas el Link Storage a una transferencia en la sección General. Al editar la transferencia, verás una lista desplegable con todos los Link Storages disponibles. Selecciona el que corresponda al tipo de objeto de esa transferencia.
Hay dos formas de configurar la relación entre los Link Storages y los campos clave:
Opción 1: solo Link Storage (campos clave desactivados)
Es la configuración más habitual y la recomendada. Desactiva la sección de campos clave y deja que la transferencia se base por completo en el Link Storage. Cuando la transferencia se ejecuta, consulta el Link Storage para ver si el registro existe. Si existe, lo actualiza. Si no, crea un registro nuevo y añade la entrada al Link Storage.
Opción 2: campos clave activados junto con el Link Storage
Puedes mantener los campos clave activados y, aun así, tener asignado un Link Storage. En este caso, la transferencia se basa en los campos clave (claves primarias o ID externos) para decidir entre crear y actualizar, pero el Link Storage se sigue rellenando en cada ejecución. Esto es útil cuando quieres que los datos del Link Storage estén disponibles para búsquedas en otras transferencias, pero prefieres usar la coincidencia por campos clave para la lógica de sincronización propiamente dicha.
Nota importante sobre los campos clave: si usas ID externos como campos clave, asegúrate de que sean únicos y de que estén marcados como ID externos en el sistema de destino. De lo contrario, corres el riesgo de crear duplicados.
Qué ocurre cuando se ejecuta la transferencia
Cada vez que se ejecuta una transferencia con Link Storage, obtienes estadísticas del Link Storage en el log. Te muestran exactamente qué ha pasado:
- Get: cuántos registros se buscaron en el Link Storage
- Checked: cuántas entradas se verificaron
- Updated: cuántas entradas existentes se actualizaron
- Added: cuántas entradas nuevas se crearon (registros nuevos sincronizados por primera vez)
- Deleted: cuántas entradas se eliminaron
Por ejemplo, si envías un cliente nuevo que no existía antes, verás «1 added» en las estadísticas del Link Storage. Si vuelves a ejecutar la misma transferencia y no ha cambiado nada, verás «1 updated», porque el cliente se encontró en el Link Storage y se actualizó en el destino.
Usar claves compuestas
Los Link Storages no se limitan a un solo campo clave. Puedes definir varios campos clave en cualquiera de los dos lados, y los valores se guardarán como una combinación separada por un guion.
Por ejemplo, si una tabla usa tanto un Document Type como un Document Number como clave primaria compuesta, puedes añadir ambos campos al Link Storage. El valor guardado tendrá este aspecto: Invoice-10042, donde «Invoice» es el tipo de documento y «10042» es el número de documento.
Si lo necesitas, puedes añadir un tercer o cuarto campo clave. Cuando la transferencia se ejecuta, rellena todas las entradas con todos los campos que hayas definido, siempre separados por guiones.
La fórmula LS Lookup
Una de las funciones más potentes de los Link Storages es la fórmula LS Lookup. Esta fórmula te permite recuperar valores de un Link Storage dentro de las asignaciones de campos de otra transferencia.
Por ejemplo, si estás sincronizando facturas y necesitas buscar el Account ID de Salesforce de un cliente, puedes usar la fórmula LS Lookup para obtenerlo de tu Link Storage de clientes, en lugar de consultar Salesforce directamente. Es más rápido porque consulta tus propios datos del Link Storage en vez de hacer una llamada a la API del sistema de origen o de destino.
La fórmula LS Lookup está documentada en la wiki de Rapidi con la sintaxis completa y ejemplos.
Gestionar las entradas del Link Storage
A nivel de lista, tienes varias opciones para gestionar los datos de tu Link Storage:
- Añadir un valor nuevo manualmente: si necesitas crear un vínculo entre dos registros sin ejecutar una transferencia, puedes añadir entradas directamente.
- Eliminar todas las entradas: vacía todo el Link Storage. Úsalo con precaución: si más adelante necesitas estos vínculos, será difícil recuperarlos.
- Exportar: descarga la lista completa en tu equipo como archivo JSON. Úsalo como copia de seguridad antes de hacer cambios masivos.
- Importar: sube un archivo JSON a un Link Storage. Es útil para migrar vínculos entre servicios o restaurar una copia de seguridad. Todas las entradas del archivo se crean automáticamente.
- Buscar y filtrar: si tienes cientos de entradas, usa el campo de búsqueda de cualquiera de las dos columnas para encontrar un registro concreto por su ID de origen o de destino.
A nivel de entrada, puedes editar o eliminar registros individuales. La edición te permite cambiar los valores clave si el ID de un registro ha cambiado en uno de los sistemas.
Importación y exportación: escenarios habituales
La función de importación/exportación resulta especialmente útil en estas situaciones:
- Copiar vínculos entre servicios: si tienes vínculos en un servicio de Rapidi y los necesitas en otro, expórtalos desde el servicio de origen e impórtalos en el servicio de destino.
- Migración de datos: al pasar a un sistema nuevo, puede que tengas que restablecer los vínculos con los nuevos ID de registro. Exporta el estado actual, actualiza los ID en el archivo e importa la versión actualizada.
- Copia de seguridad antes de hacer cambios: exporta siempre los datos de tu Link Storage antes de hacer modificaciones masivas. Así tendrás un punto al que volver.
El formato del archivo de importación es JSON. Cuando importas en un Link Storage, las entradas se crean automáticamente, tanto si tienes 100 como 300 registros.
Mira todas las sesiones y regístrate en las próximas: rapidionline.com/resources/open-office-hours
Open Office Hours
Cada semana, nuestros especialistas en integración imparten una sesión de formación gratuita de 30 minutos sobre un tema concreto de MyRapidi.
Consulta el calendario completo de la temporada 1: rapidionline.com/product-updates/open-office-hours-season-1
Preguntas frecuentes
¿Qué pasa si ejecuto una transferencia sin un Link Storage asignado?
Si no hay ningún Link Storage asignado y los campos clave también están desactivados, la transferencia no tiene forma de saber si un registro ya existe en el destino. Esto significa que cada ejecución creará registros nuevos en lugar de actualizar los existentes, lo que genera duplicados. Asegúrate siempre de tener configurado un Link Storage o campos clave en tu transferencia antes de ejecutarla.
¿Puedo usar el mismo Link Storage en varias transferencias?
Sí, y es habitual cuando varias transferencias trabajan con la misma relación de objetos. Por ejemplo, si tienes una transferencia que crea clientes y otra que actualiza las direcciones de los clientes, ambas pueden compartir el mismo Link Storage de clientes. El requisito clave es que ambas transferencias hagan referencia a los mismos campos clave de origen y destino con los que se configuró el Link Storage.
He eliminado por accidente todas las entradas de mi Link Storage. ¿Qué hago?
Si tienes un archivo JSON exportado previamente, puedes importarlo para restaurar las entradas. Si no, tendrás que reconstruir los vínculos. Una opción es volver a ejecutar la transferencia, pero ten en cuenta que esto puede crear duplicados en el destino si los registros ya existen allí. Lo más seguro es exportar los datos de tu Link Storage con regularidad como copia de seguridad, sobre todo antes de hacer cualquier cambio.
¿Cómo funcionan las claves compuestas en el Link Storage?
Cuando defines varios campos clave en un lado de un Link Storage, los valores se guardan como una única cadena separada por guiones. Por ejemplo, si usas Document Type y Document Number, una entrada podría ser «Invoice-10042». El orden coincide con el orden en que añadiste los campos. Puedes añadir hasta tres o cuatro campos clave si tu tabla requiere una clave primaria compuesta. La transferencia rellena todos los campos automáticamente cuando se ejecuta.
¿Cuál es la diferencia entre basarse en los campos clave y basarse en el Link Storage?
Cuando te basas en los campos clave, la transferencia usa los valores de los campos clave de origen y destino para hacer coincidir los registros, normalmente una clave primaria o un ID externo. La transferencia consulta directamente el sistema de destino para comprobar si el registro existe. Cuando te basas en el Link Storage (con los campos clave desactivados), la transferencia consulta primero su propia correspondencia guardada. Así se evita una consulta adicional al sistema de destino. Ambos enfoques funcionan, pero en general se recomienda usar solo el Link Storage, porque es más rápido y deja una trazabilidad clara de qué registros están vinculados. También puedes combinar ambos: mantener los campos clave activados para la lógica de coincidencia y, al mismo tiempo, rellenar el Link Storage para usarlo en otras transferencias mediante la fórmula LS Lookup.