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

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 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

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
}

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

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
}

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

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
}