Saltar al contenido principal

Estructurando tu archivo de definición JSON

Descripción de la información que constituye tu archivo de definición

Para crear tu tabla personalizada en el modelo de datos, será necesario definir su estructura a través de un archivo JSON.

Este archivo JSON debe contener una serie de información. Algunos de estos datos son obligatorios, mientras que otros son opcionales. Además, pueden tener ciertas restricciones, ya sea en cuanto a su tipo o a los valores posibles.

Los parámetros que definen la identidad de tu tabla (nombre de visualización, nombre técnico, entidad, etc.) se pueden especificar directamente, mientras que los parámetros que definen el comportamiento de tu tabla deben estructurarse como matrices de valores.

La siguiente tabla proporciona explicaciones exhaustivas sobre los diferentes parámetros que pueden constituir tu archivo JSON.

Ejemplo de un archivo JSON completo

El siguiente archivo proporciona un ejemplo del formato que debe tener un archivo que contenga todos los parámetros posibles, con los valores esperados.

Ejemplo visual de un archivo de definición JSON

{
"id"("string",
"optional)":" ",
"businessKey""(string)":" ",
"technicalName""(string)":" ",
"userName""(string",
"optional)":" ",
"prettyNameExpression""(string",
"optional)":" ",
"entityName""(string)":" ",
"capabilityDTOs""(Array"[
"Capability"
],
"optional)":[
{
"name""(string)":" 'LookupTable' , 'EventGeneratedTable', 'Interaction' ,
'ProfileData', 'MultipleTargetingAllowed' "
}
],
"defaultFetchingParameters""(Array"[
"FetchingParameters"
],
"optional)":[
{
"keyAttribute""(string",
"optional)":" ",
"ascending""(boolean",
"optional)":,
"sortingKey""(string",
"optional)":" ",
"maxNumberOfRecords""(long",
"optional)":
}
],
"emails""(Array"[
"string"
],
"optional)":"fields""(Array"[
"PropertyWithInfoDTO"
],
"optional)":[
{
"cacheIndexed""(boolean",
"optional)":,
"columnName""(string)":,
"type""(string)":"STRING",
"INTEGER",
"BOOLEAN",
"DATE",
"TIMESTAMP",
"NUMERIC",
"LONG""extended""(boolean",
"optional)":,
"fieldName""(string)":" ",
"indexed""(boolean",
"optional)":,
"objectType""(string)":"SIMPLE",
"required""(boolean",
"optional)":,
"unique""(boolean",
"optional)":,
"userName""(string",
"optional)":" ",
"possibleValues":"(Array"[
"String"
]")":"description""(string",
"optional)":" ",
"valueDisplayer""(ValueDisplayerDTO",
"optional)":,
{
"displayerType":"CivilState",
"PersonTitle",
"Gender",
"Country",
"Language"
},
"typeValidator""(AdvancedTypeValidator",
"optional)":{
"objectType":"EMAIL_ADDRESS",
"SEX",
"COUNTRY",
"LANGUAGE",
"PHONE_NUMBER",
"CIVIL_STATE",
"PERSON_TITLE",
"STRING_LENGTH""minCharacters""(long",
"optional)":,
"maxCharacters""(long",
"optional)"::
}
}
],
"layout""(Layout",
"optional)":{
"details""(Details",
"optional)":{
"sections""(Array"[
"Section"
],
"optional)":[
{
"fields""(Array"[
"string"
],
"optional)":" ",
"name""(string)":" "
}
]

Tipos de campos

Según su tipo, los campos deben cumplir ciertas restricciones:

  • STRING: secuencia de caracteres [a-z, A-Z, 0-9]

    • la longitud máxima para el tipo STRING es de 255 caracteres. Esto se puede modificar con el parámetro "typeValidator" (ver tabla anterior)
  • INTEGER:

    • este tipo está en desuso pero aún se acepta en la definición de una tabla. Se convertirá automáticamente en el tipo LONG
    • no se permiten espacios, puntos ni comas
    • valor máximo: 2147483647
    • valor mínimo: -2147483647
  • LONG:

    • valor máxima: 9223372036854775808
    • valor mínima: -9223372036854775808
    • sin espacios, puntos ni comas
  • BOOLEANO: respetar los siguientes valores "true" o "false"

  • FECHA: cadena de caracteres que cumple con uno de los siguientes formatos:

    • YYYYMMDD
    • YYYY-MM-DD
    • dd/MM/yyyy
  • TIMESTAMP: cadena de caracteres que cumple con uno de los siguientes formatos:

    • YYYYMMDD *
    • YYYY-MM-DD *
    • dd/MM/yyyy *
    • YYYYMMDDhhmmss
    • YYYY-MM-DD hh:mm:ss
    • dd/MM/yyyy HH:mm:ss
    • MM/dd/yyyy hh:mm:ss AM|PM

* si no hay valor para hhmmss, se agregarán los valores 00:00:00

  • NUMÉRICO:

    • el separador debe ser un .
    • sin límite de número de caracteres
Información

Además del tipado general, existe un tipado avanzado para algunos campos, para asegurarse de que su formato coincida con el formato esperado por Actito.

Estos son los tipos "EMAIL_ADDRESS", "SEX", "COUNTRY", "LANGUAGE", "PHONE_NUMBER", "CIVIL_STATE". La sintaxis requerida para estos tipos se detalla en la página "Utiliser les attributs prédéfinis".

Para especificar que un campo de su tabla corresponda a uno de estos tipos, será necesario especificarlo en el parámetro "objectType".