Campos Custom con JSON Schema
Introducción
La función de Campos Custom permite a los usuarios definir campos personalizados dentro de un objeto JSON, utilizando JSON Schema como herramienta de validación. Esta función está diseñada para admitir propiedades de tipo string, integer, number y boolean, con ciertas validaciones específicas.
Uso básico
Para definir campos personalizados utilizando JSON Schema, sigue el siguiente formato:
{
"type": "object",
"required": ["<nombre_del_campo>"],
"properties": {
"<nombre_del_campo>": {
"type": "<tipo_del_campo>"
}
}
}
Ejemplo:
{
"type": "object",
"required": ["nombre"],
"properties": {
"nombre": {
"type": "string"
},
"edad": {
"type": "integer"
},
"activo": {
"type": "boolean"
}
}
}
Especificaciones soportadas
La función de Campos Custom actualmente admite las siguientes especificaciones de JSON Schema:
-
Tipo de datos compatibles:
- string
- integer: soporta únicamente números enteros.
- number: soporta números enteros y racionales (con decimales).
- boolean
-
Validaciones admitidas:
required
: Para indicar que un campo es obligatorio, espera una lista de los nombre de dichos campos.maxLength
: Para limitar la longitud máxima de una cadena.maximum
: Para definir un valor máximo para propiedades de tipo número.enum
: Para delimitar qué textos son válidos en el campo String; se muestra como un selector de opciones.
Ejemplos de uso
Campo obligatorio
{
"type": "object",
"required": ["nombre"],
"properties": {
"nombre": {
"type": "string"
}
}
}
Campo de cadena con longitud máxima
{
"type": "object",
"required": [],
"properties": {
"descripcion": {
"type": "string",
"maxLength": 100
}
}
}
Campo de selección simple
{
"type": "object",
"required": [],
"properties": {
"día": {
"type": "string",
"enum": ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes"]
}
}
}
Campo numérico con valor máximo
{
"type": "object",
"required": [],
"properties": {
"edad": {
"type": "integer",
"maximum": 45
}
}
}
¿Cómo se configura?
Para configurar estos campos deberás dirigirte al perfil de la Compañía desde la cuenta -1 y agregar el JSON Schema en el campo de Custom Field.
Limitaciones
- Solo se admiten las validaciones mencionadas anteriormente.
- No se admiten tipos de datos adicionales más allá de los especificados.