Introducción
El módulo IntegrationCollections almacena datos utilizados para integrar diferentes servicios y sistemas.
Para integrar servicios de terceros, primero necesitas crear y configurar colecciones.
Más información sobre la interfaz de usuario del módulo https://doc.oneentry.cloud/docs/category/integration-collections
🎯 ¿Qué hace este módulo?
El módulo IntegrationCollections te permite leer y gestionar colecciones — tablas estructuradas de registros utilizadas para integrar OneEntry con servicios y sistemas externos. Cada colección está definida por un formulario (su esquema); cada registro (fila) contiene los formData enviados.
Define una colección y su formulario en el panel de administración, luego recupera, crea, actualiza y elimina sus filas desde tu aplicación.
🚀 Guía Rápida
Inicializa el módulo desde defineOneEntry:
const { IntegrationCollections } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Recupera todas las colecciones y lee sus campos:
// Returns an array of collections (langCode defaults to the configured language).
const collections = await IntegrationCollections.getICollections("en_US");
collections.forEach((collection) => {
console.log(collection.id, collection.identifier, collection.formId);
});
✨ Conceptos Clave
Colección vs. Fila
- Colección (
ICollectionEntity) — el contenedor/esquema. Hace referencia a un formulario (formId) y un conjunto de atributos, y lleva información localizada. - Fila (
ICollectionRow) — un único registro dentro de una colección, que contieneformData(un array de{ marker, type, value }), marcas de tiempo y una entidad vinculada opcional (entityType/entityId).
Estructura de la Colección
{
id: 1,
identifier: 'collection1',
formId: 1234,
localizeInfos: { title: 'Admins text' },
attributeSetId: 1234,
selectedAttributeMarkers: 'collection_marker'
}
Estructura de la Fila
{
id: 1,
createdDate: '2025-06-06T19:08:54.616Z',
updatedDate: '2025-06-06T19:08:54.616Z',
collectionId: 1,
formData: [
{ marker: 'name_1', type: 'string', value: 'Value' }
],
entityType: null,
entityId: null,
attributeSetIdentifier: null
}
Creando o actualizando filas
Pasa un objeto de formulario (ICollectionFormObject) con el identificador del formulario y los valores de los campos:
const body = {
formIdentifier: 'collection-form',
formData: [
{ marker: 'collection_marker', type: 'string', value: 'Collection marker' }
]
};
await IntegrationCollections.createICollectionRow('collection1', body);
📋 Lo Que Necesitas Saber
Las colecciones se definen en el panel de administración
Las colecciones y sus formularios se crean y configuran en el panel de administración de OneEntry. El SDK es para leer colecciones y gestionar sus filas (crear / actualizar / eliminar).
Eliminar filas requiere un permiso
deleteICollectionRowByMarkerAndId() requiere el derecho collections.row.delete; sin él, la eliminación falla.
📊 Tabla de Referencia Rápida
| Método | Descripción |
|---|---|
| getICollections() | Obtener todas las colecciones. |
| getICollectionById() | Obtener una única colección por id. |
| getICollectionRowsById() | Obtener todas las filas de una colección por id de colección. |
| getICollectionRowsByMarker() | Obtener todas las filas de una colección por marcador. |
| getICollectionRowByMarkerAndId() | Obtener una única fila por marcador de colección y id de fila. |
| validateICollectionMarker() | Comprobar si existe un marcador de colección. |
| createICollectionRow() | Crear una fila en una colección. |
| updateICollectionRow() | Actualizar una fila en una colección. |
| deleteICollectionRowByMarkerAndId() | Eliminar una fila de colección (requiere el derecho collections.row.delete). |
❓ Preguntas Comunes (FAQ)
¿Dónde se crean las colecciones?
Las colecciones y sus formularios se crean y configuran en el panel de administración de OneEntry. El SDK es para leer colecciones y gestionar sus filas (crear / actualizar / eliminar).
¿Cuál es la diferencia entre una colección y una fila de colección?
Una colección es la definición de la tabla (su esquema de formulario y metadatos). Una fila de colección es un único registro almacenado en esa colección, que lleva sus valores de formData.
🎓 Mejores Prácticas
- Define colecciones en el panel de administración - El SDK lee colecciones y gestiona sus filas, no el esquema.
- Valida los marcadores antes de usarlos - Usa
validateICollectionMarker()para confirmar que existe un marcador de colección. - Ajusta los campos del formulario al esquema - Los marcadores/tipos de
formDatadeben coincidir con el formulario de la colección. - Asegúrate del permiso de eliminación -
deleteICollectionRowByMarkerAndId()necesita el derechocollections.row.delete.
🔗 Documentación Relacionada
- Módulo de Formularios - Comprender las estructuras de formulario utilizadas por las colecciones
- Módulo de Carga de Archivos - Subir archivos y almacenar URLs en filas de colección
- Módulo de Productos - Vincular filas de colección a productos
- Módulo de Páginas - Vincular filas de colección a páginas