Saltar al contenido principal

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 contiene formData (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étodoDescripció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 formData deben coincidir con el formulario de la colección.
  • Asegúrate del permiso de eliminación - deleteICollectionRowByMarkerAndId() necesita el derecho collections.row.delete.

🔗 Documentación Relacionada