Utiliser un template JSON

Introduction

ACTITO met à votre disposition des templates de fichiers JSON vous permettant de créer directement des tables de données personnalisées correspondant à des utilisations fréquentes.

Ces templates peuvent être utilisés dans l'état pour créer des tables avec leurs attributs prédéfinis.

Pour créer une table basée sur un template, cliquez sur "Créer un table" dans l'app "Gérer les structures de tables". Choisissez votre template et cliquez sur "Suivant".

images/download/attachments/615293105/image2022-4-15_15-36-59.png

Définissez les paramètres de votre table :

  • Choisissez le nom de votre table (par défaut, cela prend le nom du template) and l'entité sur laquelle elle sera stockée.

  • Pour les templates de tables de Données liées ou d'Interactions, vous devez relier votre table personnalisée à une base de données de profils.

    • Après avoir sélectionné votre DB, vous pouvez choisir la Clé de profil. Il s'agit du lien entre votre nouvelle table personnalisée et la DB de profils.

    • Par défaut, il s'agit du profileId technique, mais vous pouvez choisir n'importe attribut clé de votre DB.

Cliquez sur Créer pour finaliser votre table.

images/download/attachments/615293105/image2022-4-15_15-52-3.png

Les templates peuvent aussi être utilisés comme exemples, à modifier pour s'adapter aux besoins propres à votre activité.

Pour toute modification, trouvez le fichier JSON pertinent ci-dessous et ajoutez, retirez ou mettez à jour les champs selon votre cas d'usage. Veillez à respecter les contraintes expliquées sur la page "Structurer votre fichier de définition JSON".

Vous pouvez télécharger le fichier JSON de n'importe quelle table existante en cliquant sur "Plus", puis "Télécharger la définition de la table".

Cependant, certains champs techniques sont automatiquement créés par Actito, tels que l'id, le moment de création ou de mise à jour,... ces champs ne peuvent pas être inclus quand chargez un nouveau fichier.

Pour cette raison, il est plus simple d'utiliser les fichiers fournis ci-dessous plutôt que télécharger la définition de la table existante.

Templates de table de type Interaction

Les tables de type Interaction permettent de recueillir des données ponctuelles qui sont enregistrées lorsqu'un profil interagit avec votre activité.

La table "Evénement"

Vous avez la possibilité de créer une table "Evénement", pour conserver toutes les informations relatives à la participation d'un profil à un événement. Selon votre activité, la notion d'événement peut prendre de nombreuses définitions :

  • Un concert

  • Un gala de charité

  • Une conférence

  • Un salon

  • Un voyage

  • ...

Des adaptations minimes du fichier de définition peuvent vous permettre de répondre à votre propre définition d'un événement

Dans ACTITO, vous pourrez utiliser ces informations pour :

  • Vous pouvez faire référence aux données de l'événement dans la personnalisation d'un e-mail, par exemple pour confirmer une inscription à l'événement, donner les coordonnées et l'horaire de l'événement, ...

  • Vous pouvez conditionner un e-mail selon qu'un profil ait participé ou non à l'événement

  • Grâce à la capacité "EventGeneratedTable", un événement sera enregistré dans ACTITO à chaque création de ligne, ce qui permettra de déclencher un scénario dès qu'un profil s'inscrit à un événement, ou quelques jours après qu'il ait assisté à un événement, ...

  • ...

Les attributs prédéfinis pour le template "Evénement" sont :

  • Le moment de début et le moment de fin de l'événement

  • La date d'inscription à l'événement

  • Le lieu de déroulement de l'événement

  • Le nom de l'événement

  • Le code d'inscription

  • Le statut de la participation

  • Le type de ticket

  • Le prix du ticket

  • L'identifiant de l'événement

  • L'identifiant du profil assistant à l'événement, qui permet de faire le lien avec la table de profil. Il peut s'agit du profileId ou de n'importe clé de votre DB.

Téléchargez le template de fichier de définition JSON pour une table "Evénement" : Event_FR.json

Event_FR.json
{
"userName": "Événement",
"technicalName": "Event",
"businessKey": "EventId",
"autoGeneratedBusinessKey": false,
"description": null,
"creationTimeColumn": null,
"entityName": "entityName",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "Interaction"
},
{
"name": "EventGeneratedTable"
}
],
"defaultFetchingParameters": [],
"links": [
{
"objectType": "PROFILE_LINK",
"linkName": "Event participation",
"constraintType": "onDeleteCascade",
"sourceFieldName": "profileId",
"targetFieldName": "profileId",
"targetedEntityName": "entityName",
"targetedProfileTableName": "tableName"
}
],
"tableEventDefinitions": [
{
"technicalName": "create",
"userName": "Nouveau",
"tableEventConditionDefinitions": [
{
"updatedProperties": [],
"type": "CREATE",
"beforePredicate": null,
"afterPredicate": null
}
]
},
{
"technicalName": "update",
"userName": "Mise à jour",
"tableEventConditionDefinitions": [
{
"updatedProperties": [
"Participated"
],
"type": "UPDATE",
"beforePredicate": {
"type": "S",
"names": [
"profileId"
],
"operator": [
"U",
"isKnown"
]
},
"afterPredicate": {
"type": "S",
"names": [
"profileId"
],
"operator": [
"U",
"isKnown"
]
}
}
]
}
],
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "startMoment",
"columnName": "startMoment",
"userName": "Moment de départ",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "TIMESTAMP",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "endMoment",
"columnName": "endMoment",
"userName": "Moment de fin",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "TIMESTAMP",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "subscriptionDate",
"columnName": "subscriptionDate",
"userName": "Date d'inscription",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "EventPlace",
"columnName": "EventPlace",
"userName": "Lieu",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "EventName",
"columnName": "EventName",
"userName": "Nom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "SubscriptionCode",
"columnName": "SubscriptionCode",
"userName": "Code",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "LONG",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "status",
"columnName": "status",
"userName": "Statut",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": null,
"type": "STRING",
"possibleValues": [
"Subscribe",
"Paid",
"Participated",
"DidNotParticipated",
"Cancelled"],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 20
}
},
{
"objectType": "SIMPLE",
"fieldName": "ticketType",
"columnName": "ticketType",
"userName": "Type",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 20
}
},
{
"objectType": "SIMPLE",
"fieldName": "price",
"columnName": "price",
"userName": "Prix",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "",
"type": "INTEGER",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "EventId",
"columnName": "EventId",
"userName": "Id de l'événement",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "",
"type": "LONG",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "profileId",
"columnName": "profileId",
"userName": "Id du profil",
"required": true,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": null,
"type": "LONG",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
},
"entityId": 11
}

La table "Commandes simples"

Vous avez la possibilité de créer une table "Commande".

Il s'agit d'une table de type Interaction, qui permet de recueillir des données ponctuelles qui sont enregistrées lorsqu'un profil interagit avec votre marque.

Dans ce cas, ce template vous permettra de conserver toutes les informations relatives à un achat, une commande. Selon votre activité, la notion de commande peut correspondre à diverses définitions :

  • Un achat

  • Une commande (Biens, Catalogue, Tickets, etc.)

  • ...

Des adaptations minimes du fichier de définition peuvent vous permettre de répondre à votre propre définition d'une commande.

Le template est catégorisé comme commandes "simples" car il stocke toutes les références de produit en une fois, sans donner le détail pour chaque article.

Des modèles plus complexes sont possibles, en reliant une table "Commandes" avec un table "Lignes de commandes".

Pour utiliser ces modèles plus riches, référez-vous en templates Multi-tables, ou envisagez un modèle de données sur mesure avec votre personne de contact Actito.

Dans ACTITO, vous pourrez utiliser ces informations pour :

  • Faire référence aux données de la commande dans la personnalisation d'un e-mail, par exemple dans un email de confirmation de celle-ci.

  • Conditionner un e-mail selon les commandes réalisées par un profil.

  • Grâce à la capacité "EventGeneratedTable", un événement sera enregistré dans ACTITO à chaque création de ligne, ce qui permettra de déclencher un scénario dès qu'un profil passe une commande ou quelques jours après.

  • La création de segmentations basée sur les données des commandes réalisées : actifs/inactifs, montant dépensé,…

  • Le ciblage de vos profils selon les informations de leurs commandes. Ex : en fonction de la date d'achat ou du montant dépensé.

Les attributs prédéfinis pour le template "Commande" sont :

  • L'identifiant de la commande

  • La date de la commande

  • La référence des produits commandés

  • La quantité de produits commandés

  • Le prix des produits

  • Le montant total de la commande

  • Le montant total de la commande lié à des articles

  • Le montant total de la commande hors articles. Exemple : les frais d'envoi

  • Le nombre de produits inclus dans la commande

  • Le nombre total de produits différents inclus dans la commande

  • La référence de la commande

  • La méthode de paiement

  • Le code coupon

  • La devise

  • Le type de livraison

  • Le statut de la livraison de la commande

  • L'id du magasin

  • Les points de fidélité liés à la commande

  • L'identifiant du profil qui a réalisé la commande afin de faire le lien avec la table de profil. Il peut s'agit du profileId ou de n'importe clé de votre DB.

Téléchargez le template de fichier de définition JSON pour une table "Commandes simples" : simpleOrdersFR.json

simpleOrdersFR.json
{
"userName": "Commandes simples",
"technicalName": "simpleOrders",
"businessKey": "orderID",
"autoGeneratedBusinessKey": false,
"description": null,
"creationTimeColumn": "orderDate",
"entityName": "{{entityName}}",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "Interaction"
},
{
"name": "EventGeneratedTable"
}
],
"defaultFetchingParameters": [],
"links": [
{
"objectType": "PROFILE_LINK",
"linkName": "profile-orders",
"constraintType": "onDeleteCascade",
"sourceFieldName": "{{profileKeyAttribute}}",
"targetFieldName": "{{profileKeyAttribute}}",
"targetedEntityName": "{{entityName}}",
"targetedProfileTableName": "{{tableName}}"
}
],
"tableEventDefinitions": [
{
"technicalName": "create",
"userName": "Nouvelle commande",
"tableEventConditionDefinitions": [
{
"updatedProperties": [],
"type": "CREATE",
"beforePredicate": null,
"afterPredicate": null
}
]
}
],
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "date",
"columnName": "date",
"userName": "Date",
"required": false,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "Date de la commande",
"type": "TIMESTAMP",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "productName",
"columnName": "productName",
"userName": "Nom du produit",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "Le nom du produit commandé",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "productDescription",
"columnName": "productDescription",
"userName": "Description du produit",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La description du produit commandé",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "totalAmount",
"columnName": "totalAmount",
"userName": "Montant total",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Montant total de la commande",
"type": "NUMBER",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "productUnitPrice",
"columnName": "productUnitPrice",
"userName": "Product Unit Price",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Total amount of the order",
"type": "NUMBER",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "productQuantity",
"columnName": "productQuantity",
"userName": "Quantité d'articles",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Quantité des articles commandés",
"type": "LONG",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "paymentMethod",
"columnName": "paymentMethod",
"userName": "Méthode de paiement",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La méthode de paiement utilisée pour régler la commande",
"type": "STRING",
"possibleValues": null,
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "currency",
"columnName": "currency",
"userName": "Devise",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "Devise de la Commandes.",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "shippingMode",
"columnName": "shippingMode",
"userName": "Méthode d'expédition",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La méthode d'expédition de la commande.",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "shippingAmount",
"columnName": "shippingAmount",
"userName": "Montant d'expédition",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le montant de la méthode d'expédition",
"type": "NUMBER",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "status",
"columnName": "status",
"userName": "Statut",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "Le statut de la commande.",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "storeName",
"columnName": "storeName",
"userName": "Nom du magasin",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "Le nom du magasin où la commande a été placée",
"type": "String",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "orderID",
"columnName": "orderID",
"userName": "ID commande",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "L'identifiant de la commande",
"type": "String",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "{{profileKeyAttribute}}",
"columnName": "{{profileKeyAttribute}}",
"userName": "{{profileKeyAttribute}}",
"required": true,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "The reconciliation key with the profile table.",
"type": "{{profileKeyAttributeDataType}}",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
}
}

Templates de tables de type Données liées

Les tables de type Données liées sont donc relatives à un profil et permettent de recueillir des informations générales et s'inscrivant dans la durée.

La table "Coupons"

Vous avez la possibilité de créer une table "Coupon", qui vous permettra de conserver les informations relatives aux coupons dont disposent vos profils.

Dans ACTITO, les utilisations de ces informations sont multiples :

  • Personnalisation des emails avec les coupons d'un profil

  • Ciblage des profils en tenant compte de la date d'expiration de leurs coupons

  • ...

Les attributs prédéfinis pour le template "Coupon" sont :

  • L'identifiant du coupon

  • La date de début de validité

  • La date de fin de validité

  • Le statut du coupon (utilisé ou non)

  • Commentaire

  • User id du bénéficiaire du coupon, qui fait le lien avec la table de profil. Il peut s'agit du profileId ou de n'importe clé de votre DB.

Téléchargez le template de fichier de définition JSON pour une table "Coupons" : voucherFR.json

voucherFR.json
{
"userName": "Coupon",
"technicalName": "voucher",
"businessKey": "voucherID",
"autoGeneratedBusinessKey": false,
"description": null,
"creationTimeColumn": null,
"entityName": "{{entityName}}",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "ProfileData"
},
{
"name": "EventGeneratedTable"
}
],
"defaultFetchingParameters": [],
"links": [
{
"objectType": "PROFILE_LINK",
"linkName": "voucher",
"constraintType": "onDeleteCascade",
"sourceFieldName": "{{profileKeyAttribute}}",
"targetFieldName": "{{profileKeyAttribute}}",
"targetedEntityName": "{{entityName}}",
"targetedProfileTableName": "{{tableName}}"
}
],
"tableEventDefinitions": [
{
"technicalName": "create",
"userName": "Nouveau coupon",
"tableEventConditionDefinitions": [
{
"updatedProperties": [],
"type": "CREATE",
"beforePredicate": null,
"afterPredicate": null
}
]
}
],
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "ValidityStartDate",
"columnName": "ValidityStartDate",
"userName": "Date de début de validité",
"required": false,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "La date de validité du coupon",
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "comment",
"columnName": "comment",
"userName": "Commentaire",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Un commentaire sur le coupon",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "validityEndDate",
"columnName": "validityEndDate",
"userName": "Date de fin de validité",
"required": false,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "La date de fin de validité du coupon",
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "burnedVoucher",
"columnName": "burnedVoucher",
"userName": "Coupon consommé",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Définit si le coupon a été consommé",
"type": "BOOLEAN",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "voucherID",
"columnName": "voucherID",
"userName": "ID coupon",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "L'identifiant unique du coupon",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "{{profileKeyAttribute}}",
"columnName": "{{profileKeyAttribute}}",
"userName": "{{profileKeyAttribute}}",
"required": true,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": null,
"type": "{{typeOfProfileKeyAttribute}}",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
}
}

La table "Fidélité"

Vous avez la possibilité de créer une table "Fidélité", qui vous permettra de conserver les informations relatives aux comptes de fidélité de vos profils.

Dans ACTITO, les utilisations de ces informations sont multiples :

  • Mentionner le nombre de points de fidélité, via une personnalisation, dans un email.

  • Segmenter la table de profils en fonction du statut de leur compte de fidélité

  • Cibler les profils lorsque leur compte (ou points) de fidélité arrive(nt) à expiration

  • ...

Les attributs prédéfinis pour le template "Fidélité" sont :

  • L'identifiant de la carte de fidélité

  • Le type de compte de fidélité

  • La date de création du compte

  • La date de fin de validité

  • La date de renouvellement du compte de fidélité

  • Le nombre de points de fidélité

  • Le nombre de points manquants pour atteindre le palier suivant

  • L'identifiant du propriétaire de la carte, qui fait le lien avec la table de profil. Il peut s'agit du profileId ou de n'importe clé de votre DB.

Téléchargez le template de fichier de définition JSON pour une table "Fidélité : loyaltyAccountFR.json

loyaltyAccountFR.json
{
"userName": "Compte de fidélité",
"technicalName": "loyaltyAccount",
"businessKey": "LoyaltyAccountId",
"autoGeneratedBusinessKey": false,
"description": null,
"creationTimeColumn": null,
"entityName": "{{entityName}}",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "ProfileData"
},
{
"name": "EventGeneratedTable"
}
],
"defaultFetchingParameters": [],
"links": [
{
"objectType": "PROFILE_LINK",
"linkName": "loyaltyAccount",
"constraintType": "onDeleteCascade",
"sourceFieldName": "profileReference",
"targetFieldName": "{{profileKeyAttribute}}",
"targetedEntityName": "{{entityName}}",
"targetedProfileTableName": "{{tableName}}"
}
],
"tableEventDefinitions": [
{
"technicalName": "create",
"userName": "Nouvelle carte de fidélité",
"tableEventConditionDefinitions": [
{
"updatedProperties": [],
"type": "CREATE",
"beforePredicate": null,
"afterPredicate": null
}
]
}
],
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "LoyaltyAccountCreationDate",
"columnName": "LoyaltyAccountCreationDate",
"userName": "Date de création",
"required": true,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "La date de création du compte",
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "LoyaltyAccountType",
"columnName": "LoyaltyAccountType",
"userName": "Type",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "Le type de compte de fidélité",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "LoyaltyAccountEndDate",
"columnName": "LoyaltyAccountEndDate",
"userName": "Date de fin",
"required": false,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "La date de fin du compte de fidélité",
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "LoyaltyAccountRenewal",
"columnName": "LoyaltyAccountRenewal",
"userName": "Renouvellement",
"required": false,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "Date de renouvellement du compte de fidélité",
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "Balance",
"columnName": "Balance",
"userName": "Solde",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le solde du compte de fidélité.",
"type": "LONG",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "UptoNextStatus",
"columnName": "UptoNextStatus",
"userName": "Points status suivant",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le nombre de points manquants pour atteindre le status suivant.",
"type": "LONG",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "LoyaltyAccountId",
"columnName": "LoyaltyAccountId",
"userName": "ID compte fidélité",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "L'identifiant du compte de fidélité",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "{{profileKeyAttribute}}",
"columnName": "{{profileKeyAttribute}}",
"userName": "{{profileKeyAttribute}}",
"required": true,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": null,
"type": "{{typeOfProfileKeyAttribute}}",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
}
}

La table "Enfants"

Vous avez la possibilité de créer une table "Enfants", pour conserver les informations relatives aux enfants de chacun de vos profils.

Dans ACTITO, les utilisations de ces informations sont multiples :

  • Faire appel au prénom d'un enfant dans une personnalisation.

  • Conditionner un e-mail en fonction de l'âge de l'enfant du profil visé.

  • Conditionner un e-mail selon que le profil visé ait une fille ou un garçon

  • Déclencher un scénario pour l'anniversaire d'un enfant.

  • ...

Les attributs prédéfinis pour le template "Enfants" sont :

  • le nom de famille et le prénom de l'enfant

  • le genre de l'enfant

  • la date de naissance de l'enfant

  • l'identifiant de l'enfant

  • l'identifiant du parent, qui fait le lien avec la table de profil. Il peut s'agit du profileId ou de n'importe clé de votre DB.

Téléchargez le template de fichier de définition JSON pour une table "Enfants" : Children_FR.json

Children_FR.json
{
"userName": "Enfants",
"technicalName": "children",
"businessKey": "childId",
"autoGeneratedBusinessKey": false,
"description": "",
"creationTimeColumn": null,
"entityName": "entityName",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "ProfileData"
}
],
"defaultFetchingParameters": [],
"links": [
{
"objectType": "PROFILE_LINK",
"linkName": "profileLink",
"sourceFieldName": "profileId",
"targetFieldName": "profileId",
"constraintType": "onDeleteCascade",
"targetedEntityName": "entityName",
"skipIntegrityCheck": null,
"targetedProfileTableName": "tableName"
}
],
"tableEventDefinitions": [],
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "lastName",
"columnName": "lastName",
"userName": "Nom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
 
{
"objectType": "SIMPLE",
"fieldName": "firstName",
"columnName": "firstName",
"userName": "Prénom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "gender",
"columnName": "gender",
"userName": "Genre",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "SEX"
}
},
{
"objectType": "SIMPLE",
"fieldName": "birthdate",
"columnName": "birthdate",
"userName": "Anniversaire",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "childId",
"columnName": "childId",
"userName": "Id de l'enfant",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 100
}
},
{
"objectType": "SIMPLE",
"fieldName": "profileId",
"columnName": "profileId",
"userName": "Id du parent",
"required": true,
"unique": false,
"extended": true,
"indexed": true,
"cacheIndexed": false,
"description": null,
"type": "LONG",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
},
"entityId": 11
}

La table "Parrainage"

Vous avez la possibilité de créer une table "Parrainage". Il s'agit d'une table de type Données liées, qui est donc relative à un profil et permet de recueillir des informations générales et s'inscrivant dans la durée.

Dans ce cas, ce template de table vous permettra de conserver les informations relatives aux nouveaux contacts que vous avez acquis grâce au parrainage du profil existant.

Dans ACTITO, vous pourrez utiliser ces informations pour :

  • Faire référence au nom du filleul (via une personnalisation) dans un e-mail destiné au parrain

  • Cibler vos profils qui ont rapporté le plus de nouveaux contacts pour les récompenser (grâce au critère "Nombre de" dans le module de ciblage)

  • ...

Les attributs prédéfinis pour le template "Parrainage" sont :

  • Le nom de famille et le prénom du filleul

  • La date de la recommandation

  • Le type de relation entre le parrain et le nouveau contact

  • La date de conversion, qui correspond au moment d'activation du filleul

  • L'identifiant du parrainage

  • L'identifiant du parrain, qui fait le lien avec la table de profil. Il peut s'agit du profileId ou de n'importe clé de votre DB.

Téléchargez le template de fichier de définition JSON pour une table "Parrainage" : Sponsorship_FR.json

Sponsorship_FR.json
{
"userName": "Parrainage",
"technicalName": "sponsorship",
"businessKey": "sponsorshipId",
"autoGeneratedBusinessKey": false,
"description": "",
"creationTimeColumn": null,
"entityName": "entityName",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "ProfileData"
}
],
"defaultFetchingParameters": [],
"links": [
{
"objectType": "PROFILE_LINK",
"linkName": "profileLink",
"sourceFieldName": "profileId",
"targetFieldName": "profileId",
"constraintType": "onDeleteCascade",
"targetedEntityName": "entityName",
"skipIntegrityCheck": null,
"targetedProfileTableName": "tableName"
}
],
"tableEventDefinitions": [],
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "lastName",
"columnName": "lastName",
"userName": "Nom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "firstName",
"columnName": "firstName",
"userName": "Prénom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "date",
"columnName": "date",
"userName": "Date",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "relationType",
"columnName": "relationType",
"userName": "Type de relation",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "conversionDate",
"columnName": "conversionDate",
"userName": "Date de conversion",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "DATE",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "sponsorshipId",
"columnName": "sponsorshipId",
"userName": "Id",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 100
}
},
{
"objectType": "SIMPLE",
"fieldName": "profileId",
"columnName": "profileId",
"userName": "Id du parrain",
"required": true,
"unique": false,
"extended": true,
"indexed": true,
"cacheIndexed": false,
"description": null,
"type": "LONG",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
},
"entityId": 11
}

Exemple de table de type Référentiel

Les tables de type référentiel contiennent des données de référence communes à tous ou une partie des profils.

Elles ne sont donc pas directement liées à une table de profils, mais peuvent être référencées par une table de profils ou une autre table personnalisée.

La table "Catalogue Abonnement"

Vous avez la possibilité de créer une table "Catalogue Abonnement", qui vous permettra de conserver les informations liées à une liste d'abonnements issus de votre catalogue. La notion d'abonnement étant très large, l'usage de ce template sera facilement adaptable à une utilisation propre à votre activité, si besoin grâce à des modifications mineures.

Les attributs prédéfinis pour le template "Catalogue Abonnement" sont :

  • La référence de l'abonnement

  • Le label de l'abonnement

  • La description de l'abonnement

  • L'url de l'abonneemnt

  • L'url de l'image

  • La marque

  • Le prix

  • La devise

  • Le type d'abonnnement et sa catégorie

  • La disponibilité

  • La périodicité

  • L'identifiant de l'abonnement

Téléchargez le template de fichier de définition JSON pour une table "Catalogue Abonnement" : subscriptionCatalogFR.json

subscriptionCatalogFR.json
{
"userName": "Catalogue d'abonnement",
"technicalName": "subscriptionCatalog",
"businessKey": "subscriptionID",
"autoGeneratedBusinessKey": false,
"description": null,
"creationTimeColumn": null,
"entityName": "{{entityName}}",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "Repository"
}
],
"defaultFetchingParameters": [],
"links": null,
"tableEventDefinitions": null,
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "name",
"columnName": "name",
"userName": "Nom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "Le nom de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "description",
"columnName": "description",
"userName": "Description",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "La description de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "URL",
"columnName": "URL",
"userName": "URL",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le lien de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 2048
}
},
{
"objectType": "SIMPLE",
"fieldName": "imageURL",
"columnName": "imageURL",
"userName": "URL image",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le lien de l'image de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 2048
}
},
{
"objectType": "SIMPLE",
"fieldName": "brand",
"columnName": "brand",
"userName": "Marque",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La marque de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "price",
"columnName": "price",
"userName": "Prix",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le prix de l'abonnement",
"type": "NUMBER",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "priceCurrency",
"columnName": "priceCurrency",
"userName": "Prix devise",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "La devise du prix de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "category",
"columnName": "category",
"userName": "Categorie",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La catégorie de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "type",
"columnName": "type",
"userName": "Type",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La type d'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "periodicity",
"columnName": "periodicity",
"userName": "Periodicité",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La périodicité de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "availability",
"columnName": "availability",
"userName": "Disponibilité",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La disponibilité de l'abonnement",
"type": "BOOLEAN",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "subscriptionID",
"columnName": "subscriptionID",
"userName": "ID abonnement",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "L'identifiant unique de l'abonnement",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
}
}

La table "Produit"

Vous avez la possibilité de créer une table "Produit", qui vous permettra de conserver les informations liées à une liste de produits. La notion de produit étant très large, l'usage de ce template sera facilement adaptable à une utilisation propre à votre activité, si besoin grâce à des modifications mineures.

Les attributs prédéfinis pour le template "Produit" sont :

  • L'ID du produit

  • Le label du produit

  • La description du produit

  • L'url du produit

  • L'url de l'image

  • La marque

  • Le prix

  • La devise

  • La disponibilité du produit

  • La catégorie du produit

  • La sous-catégorie du produit

  • La version du produit (couleur, taille)

  • L'identifiant du produit

Téléchargez le template de fichier de définition JSON pour une table "Entreprise" : productCatalogFR.json

productCatalogFR.json
{
"userName": "Catalogue produit",
"technicalName": "productCatalog",
"businessKey": "SKU",
"autoGeneratedBusinessKey": false,
"description": null,
"creationTimeColumn": null,
"entityName": "{{entityName}}",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "Repository"
}
],
"defaultFetchingParameters": [],
"links": null,
"tableEventDefinitions": null,
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "name",
"columnName": "name",
"userName": "Nom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "Le nom du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "description",
"columnName": "description",
"userName": "Description",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "La description du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "URL",
"columnName": "URL",
"userName": "URL",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le lien du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 2048
}
},
{
"objectType": "SIMPLE",
"fieldName": "imageURL",
"columnName": "imageURL",
"userName": "URL image",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le lien de l'image du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 2048
}
},
{
"objectType": "SIMPLE",
"fieldName": "brand",
"columnName": "brand",
"userName": "Marque",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La marque du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "price",
"columnName": "price",
"userName": "Prix",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le prix du produit",
"type": "NUMBER",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "priceCurrency",
"columnName": "priceCurrency",
"userName": "Prix devise",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "La devise du prix du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "categoryLevel1",
"columnName": "categoryLevel1",
"userName": "Catégorie niveau 1",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La catégorie primaire du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "categoryLevel2",
"columnName": "categoryLevel2",
"userName": "Catégorie niveau 2",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La catégorie secondaire du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "color",
"columnName": "color",
"userName": "Couleur",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La couleur du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": null
},
{
"objectType": "SIMPLE",
"fieldName": "size",
"columnName": "size",
"userName": "Taille",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La taille du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "SKU",
"columnName": "SKU",
"userName": "SKU",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "L'identifiant unique du produit",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
}
}

La table "Magasins"

Vous avez la possibilité de créer une table "Magasin", qui vous permettra de conserver les informations liées à une liste de points de vente.

Un magasin : il peut aussi bien être lié à une table de profil (par exemple, magasin préféré du profil) ou à une table personnalisée (par exemple, magasin où a été effectué un achat)

Les attributs prédéfinis pour le template "Magasin" sont :

  • L'ID du magasin

  • Le nom du magasin

  • L'adresse du magasin (attributs 'rue', 'numéro', 'code postal', 'ville', 'pays')

  • Les données de contact (attributs 'adresse email, 'numéro de téléphone')

  • L'identifiant du magasin

  • La personne responsable du magasin

Téléchargez le template de fichier de définition JSON pour une table "Magasins" : storesFR.json

storesFR.json
{
"userName": "Magasins",
"technicalName": "stores",
"businessKey": "storeID",
"autoGeneratedBusinessKey": false,
"description": null,
"creationTimeColumn": null,
"entityName": "{{entityName}}",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "Repository"
}
],
"defaultFetchingParameters": [],
"links": null,
"tableEventDefinitions": null,
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "name",
"columnName": "name",
"userName": "Nom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le nom du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "type",
"columnName": "type",
"userName": "Type",
"required": false,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": true,
"description": "Le type de magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "status",
"columnName": "status",
"userName": "Statut",
"required": false,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": true,
"description": "Le statut du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "mode",
"columnName": "mode",
"userName": "Mode",
"required": false,
"unique": false,
"extended": false,
"indexed": true,
"cacheIndexed": true,
"description": "Le mode du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "addressStreet",
"columnName": "addressStreet",
"userName": "Adresse rue",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "La rue de l'adresse du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "addressStreetNumer",
"columnName": "addressStreetNumber",
"userName": "Adresse numéro",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le numéro de maison du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "addressPostalCode",
"columnName": "addressPostalCode",
"userName": "Adresse Code Postal",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le code postal du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "addressCity",
"columnName": "addressCity",
"userName": "Adresse ville",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "La ville du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "addressCountry",
"columnName": "addressCountry",
"userName": "Adresse pays",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": "Le pays du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": {
"displayerType":"Country"
},
"typeValidator": {
"objectType" : "COUNTRY"
}
},
{
"objectType": "SIMPLE",
"fieldName": "addressStreetAdditionalInfo",
"columnName": "addressStreetAdditionalInfo",
"userName": "Adresse informations additionnelles",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Informations additionnelles à propos de l'adresse du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "contactFirstname",
"columnName": "contactFirstname",
"userName": "Contact prénom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le prénom du contact",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "contactLastname",
"columnName": "contactLastname",
"userName": "Contact nom de famille",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le nom de famille du contact",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
},
{
"objectType": "SIMPLE",
"fieldName": "phoneNumber",
"columnName": "phoneNumber",
"userName": "Numéro de téléphone",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "Le numéro de téléphone du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": {
"displayerType":"PhoneNumber"
},
"typeValidator": {
"objectType" : "PHONE_NUMBER"
}
},
{
"objectType": "SIMPLE",
"fieldName": "contactEmailAddress",
"columnName": "contactEmailAddress",
"userName": "Contact adresse e-mail",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": "L'adresse e-mail du contact",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType" : "EMAIL_ADDRESS"
}
},
{
"objectType": "SIMPLE",
"fieldName": "storeID",
"columnName": "storeID",
"userName": "ID magasin",
"required": true,
"unique": true,
"extended": false,
"indexed": true,
"cacheIndexed": false,
"description": "L'identifiant du magasin",
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 256
}
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
}
}

La table "Entreprise"

Vous avez la possibilité de créer une table "Entreprise", qui vous permettra de conserver les informations liées à une liste d'entreprises. La notion d'entreprise étant très large, l'usage de ce template sera facilement adaptable à une utilisation propre à votre activité, si besoin grâce à des modifications mineures. L'entreprise peut tout autant faire référence à :

  • Un magasin : il peut aussi bien être lié à une table de profil (par exemple, magasin préféré du profil) ou à une table personnalisée (par exemple, magasin où a été effectué un achat)

  • Une filiale : ceci permet d'associer chaque profil à la filiale responsable de sa région

  • L'entreprise à laquelle un contact B2B appartient

  • Un hôpital : par exemple, renseigner l'hôpital le plus proche de l'adresse de chaque profil

  • ...

Les attributs prédéfinis pour le template "Entreprise" sont :

  • Le nom de l'entreprise

  • L'adresse de l'entreprise (attributs "rue", "numéro", "code postal", "ville" et "pays")

  • Le numéro de TVA

  • L'identifiant de l'entreprise

Téléchargez le template de fichier de définition JSON pour une table "Entreprise" : Company_FR.json

Company_FR
{
"userName": "Entreprise",
"technicalName": "Company",
"businessKey": "companyId",
"autoGeneratedBusinessKey": null,
"description": "null",
"creationTimeColumn": null,
"entityName": "entityName",
"prettyNameExpression": null,
"layout": {
"list": null,
"details": null
},
"emails": [],
"capabilityDTOs": [
{
"name": "LookupTable"
}
],
"defaultFetchingParameters": [],
"links": [ ],
"tableEventDefinitions": [],
"fields": [
{
"objectType": "SIMPLE",
"fieldName": "name",
"columnName": "name",
"userName": "Nom",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": true,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "street",
"columnName": "street",
"userName": "Rue",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 100
}
},
{
"objectType": "SIMPLE",
"fieldName": "number",
"columnName": "number",
"userName": "Numero",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 10
}
},
{
"objectType": "SIMPLE",
"fieldName": "postalcode",
"columnName": "postalcode",
"userName": "Code postal",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 20
}
},
{
"objectType": "SIMPLE",
"fieldName": "locality",
"columnName": "locality",
"userName": "Ville",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 50
}
},
{
"objectType": "SIMPLE",
"fieldName": "country",
"columnName": "country",
"userName": "Pays",
"required": false,
"unique": false,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": {
"displayerType": "Country"
},
"typeValidator": {
"objectType": "COUNTRY"
}
},
{
"objectType": "SIMPLE",
"fieldName": "vat",
"columnName": "vat",
"userName": "Numero TVA",
"required": false,
"unique": true,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 15
}
},
{
"objectType": "SIMPLE",
"fieldName": "companyId",
"columnName": "companyId",
"userName": "Id",
"required": true,
"unique": true,
"extended": false,
"indexed": false,
"cacheIndexed": false,
"description": null,
"type": "STRING",
"possibleValues": [],
"valueDisplayer": null,
"typeValidator": {
"objectType": "STRING_LENGTH",
"minCharacters": 0,
"maxCharacters": 10
}
}
],
"rowCleaning": {
"cleanPredicate": null,
"fifoLimit": null,
"softLimit": false,
"hardLimit": false
},
"entityId": 11
}