Utilizar una plantilla JSON
Actito pone a tu disposición una serie de plantillas de archivos JSON que te permitirán crear las tablas personalizadas más habituales.
Estos archivos pueden utilizarse directamente con sus atributos predefinidos o tras modificarlos para adaptarlos a las necesidades específicas de tus actividades (por ejemplo, modificar el nombre de la tabla o el nombre de un atributo suplementario). Cuando vayas a modificar el archivo, debes respetar las limitaciones explicadas en la página Estructurar tu archivo de definición.
Ejemplos de tablas de datos vinculados
La tabla Hijos
Puedes crear una tabla de tipo hijos. Se trata de una tabla de datos vinculados, que, por tanto, está relacionada con los perfiles y te permite recopilar datos generales que serán útil a largo plazo.
En este caso, esta plantilla te permitirá almacenar información relativa a los hijos de los perfiles de tu base de datos.
En Actito se puede utilizar esa información para los siguientes objetivos:
Utilizar el nombre de los hijos en una personalización.
Definir condiciones en función de la edad de los hijos de un perfil.
Definir condiciones en función de si el perfil tiene o no hijos.
Desencadenar un escenario con motivo del cumpleaños de un hijo.
...
Estos son los atributos predefinidos para este tipo de plantilla:
Nombre y apellidos del hijo
Género del hijo
Fecha de nacimiento del hijo
ID del hijo
ID del padre, vínculo con la tabla de perfiles
Descargar la plantilla de un archivo de definición JSON para la tabla Hijos: Children_ES.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 tabla Apadrinamiento
Puedes crear una tabla de tipo apadrinamiento. Se trata de una tabla de datos vinculados que, por tanto, está relacionada con los perfiles y te permite recopilar datos generales que serán útiles a largo plazo.
En este caso, esta plantilla te permite almacenar información relativa a los nuevos contactos que hayas conseguido a través del apadrinamiento del resto de perfiles existentes.
En Actito se puede utilizar esa información con los siguientes objetivos:
Mencionar el nombre del apadrinado (el contacto nuevo) a través de una personalización en un correo enviado al padrino.
Definir como target los perfiles que te hayan proporcionado el mayor número de contactos para recompensarles (gracias al criterio «Número de» en el módulo de targeting).
...
Los atributos predefinidos en esta plantilla son:
Nombre y apellidos de los apadrinados
Fecha de recomendación
Tipo de relación entre el padrino y el apadrinado
Fecha de conversión, es decir, el momento de activación del nuevo perfil
ID del apadrinado
ID del padrino, vínculo con la tabla de perfiles
Descargar la plantilla de un archivo de definición JSON para la tabla Apadrinamiento: Sponsorship_ES.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}Ejemplo de tabla de tipo repositorio
La tabla Empresa
Puedes crear una tabla de tipo empresa. Se trata de una tabla repositorio que contiene datos de referencia comunes al total o a un grupo de los perfiles.
En este caso, la plantilla te permite recopilar información relacionada con una lista de empresas. Dado que el concepto de empresa es muy amplio, será muy fácil utilizar esta tabla para una finalidad específica de tu actividad, incluso haciendo modificaciones menores si fuera necesario. Una empresa podría ser:
Una tienda: puede estar vinculada tanto a una tabla de perfiles (por ejemplo, tienda de preferencia del perfil) como a una tabla personalizada (por ejemplo, tienda en la que un perfil ha realizado su compra).
Una sucursal: para asociar cada perfil con la sucursal responsable de su región.
La empresa a la que pertenece un contacto B2B.
Un hospital: por ejemplo, el hospital más cercano a la dirección de cada perfil
...
Nota
Ten en cuenta que la cantidad máxima posible para una tabla repositorio es de 250 000 celdas.
Estos son los atributos predefinidos de la plantilla:
Nombre de la empresa
Dirección de la empresa (atributos «calle», «número», «código postal», «ciudad» y «país»)
NIF-IVA
ID de la empresa
Descargar la plantilla de un archivo de definición JSON para la tabla Empresas: Company_ES.json
{ "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}Ejemplo de tabla de tipo interacción
La tabla Evento
Puedes crear una tabla de tipo evento. Es una tabla de interacciones en la que puedes recopilar datos puntuales que se registrarán cuando un perfil interactúe con alguna de tus actividades.
En este caso, esta plantilla te permite almacenar toda la información relativa a la participación de un perfil en un evento. Según tu sector, el concepto de evento podrá representar:
Un concierto
Una gala benéfica
Una conferencia
Una feria
Un viaje
...
Se pueden llevar a cabo adaptaciones mínimas del archivo de definición para adecuarlo a tu propia definición de evento.
En Actito se puede utilizar esa información con los siguientes objetivos:
Puedes utilizar los datos de un evento para personalizar un correo electrónico, por ejemplo, para confirmar la inscripción en el evento, informar de la dirección y el horario, etc.
Puedes condicionar un correo según el perfil haya participado o no en un evento.
Gracias a la capacidad «EventGeneratedTable», se registará un evento en Actito cada vez que se cree una fila, lo que te permitirá desencadenar un escenario cuando un perfil se inscriba a un evento, algunos días después de asistir, etc.
...
Los atributos predefinidos para esta plantilla son:
El momento de comienzo y de finalización del evento
La fecha de inscripción en el evento
El lugar donde tendrá lugar el evento
El nombre del evento
El código de inscripción
El estado de la participación
El tipo de entrada
El precio de la entrada
El ID del evento
El ID del perfil asistente, utilizado como enlace con la tabla de perfiles
Descargar la plantilla de un archivo de definición JSON para la tabla Eventos: Event_ES.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}