Introduction
Le module IntegrationCollections stocke des données utilisées pour intégrer différents services et systèmes.
Pour intégrer des services tiers, vous devez d'abord créer et configurer des collections.
Plus d'informations sur l'interface utilisateur du module https://doc.oneentry.cloud/docs/category/integration-collections
🎯 Que fait ce module ?
Le module IntegrationCollections vous permet de lire et gérer des collections — des tables structurées d'enregistrements utilisées pour intégrer OneEntry avec des services et systèmes externes. Chaque collection est définie par un formulaire (son schéma) ; chaque enregistrement (ligne) contient les formData soumis.
Définissez une collection et son formulaire dans le panneau d'administration, puis récupérez, créez, mettez à jour et supprimez ses lignes depuis votre application.
🚀 Démarrage rapide
Initialisez le module depuis defineOneEntry :
const { IntegrationCollections } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Récupérez toutes les collections et lisez leurs champs :
// 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);
});
✨ Concepts clés
Collection vs. Ligne
- Collection (
ICollectionEntity) — le conteneur/schéma. Elle fait référence à un formulaire (formId) et à un ensemble d'attributs, et contient des informations localisées. - Ligne (
ICollectionRow) — un seul enregistrement à l'intérieur d'une collection, contenantformData(un tableau de{ marker, type, value }), des horodatages, et une entité liée optionnelle (entityType/entityId).
Structure de la collection
{
id: 1,
identifier: 'collection1',
formId: 1234,
localizeInfos: { title: 'Admins text' },
attributeSetId: 1234,
selectedAttributeMarkers: 'collection_marker'
}
Structure de la ligne
{
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
}
Création ou mise à jour de lignes
Passez un objet formulaire (ICollectionFormObject) avec l'identifiant du formulaire et les valeurs des champs :
const body = {
formIdentifier: 'collection-form',
formData: [
{ marker: 'collection_marker', type: 'string', value: 'Collection marker' }
]
};
await IntegrationCollections.createICollectionRow('collection1', body);
📋 Ce que vous devez savoir
Les collections sont définies dans le panneau d'administration
Les collections et leurs formulaires sont créés et configurés dans le panneau d'administration de OneEntry. Le SDK est destiné à lire les collections et gérer leurs lignes (créer / mettre à jour / supprimer).
La suppression de lignes nécessite une autorisation
deleteICollectionRowByMarkerAndId() nécessite le droit collections.row.delete ; sans cela, la suppression échoue.
📊 Tableau de référence rapide
| Méthode | Description |
|---|---|
| getICollections() | Obtenir toutes les collections. |
| getICollectionById() | Obtenir une seule collection par id. |
| getICollectionRowsById() | Obtenir toutes les lignes d'une collection par l'id de la collection. |
| getICollectionRowsByMarker() | Obtenir toutes les lignes d'une collection par marqueur. |
| getICollectionRowByMarkerAndId() | Obtenir une seule ligne par marqueur de collection et id de ligne. |
| validateICollectionMarker() | Vérifier si un marqueur de collection existe. |
| createICollectionRow() | Créer une ligne dans une collection. |
| updateICollectionRow() | Mettre à jour une ligne dans une collection. |
| deleteICollectionRowByMarkerAndId() | Supprimer une ligne de collection (nécessite le droit collections.row.delete). |
❓ Questions fréquentes (FAQ)
Où sont créées les collections ?
Les collections et leurs formulaires sont créés et configurés dans le panneau d'administration de OneEntry. Le SDK est destiné à lire les collections et gérer leurs lignes (créer / mettre à jour / supprimer).
Quelle est la différence entre une collection et une ligne de collection ?
Une collection est la définition de la table (son schéma de formulaire et ses métadonnées). Une ligne de collection est un seul enregistrement stocké dans cette collection, portant ses valeurs formData.
🎓 Meilleures pratiques
- Définir les collections dans le panneau d'administration - Le SDK lit les collections et gère leurs lignes, pas le schéma.
- Valider les marqueurs avant utilisation - Utilisez
validateICollectionMarker()pour confirmer qu'un marqueur de collection existe. - Faire correspondre les champs de formulaire au schéma - Les marqueurs/types de
formDatadoivent correspondre au formulaire de la collection. - Assurer la permission de suppression -
deleteICollectionRowByMarkerAndId()nécessite le droitcollections.row.delete.
🔗 Documentation connexe
- Module Forms - Comprendre les structures de formulaire utilisées par les collections
- Module FileUploading - Télécharger des fichiers et stocker des URL dans les lignes de collection
- Module Products - Lier des lignes de collection à des produits
- Module Pages - Lier des lignes de collection à des pages