Consultar el formato de un campo
GET
/v1/fields/formatPara desarrolladores
Descripción
Devuelve las reglas para definir un campo del catálogo: el JSON Schema de config, los tipos de campo y los patrones predefinidos con los tipos que admite cada uno.
config es un fragmento de JSON Schema que describe qué valor acepta un campo. Consulte este endpoint antes de escribirlo en POST /v1/fields o para leer el que devuelve GET /v1/fields.
Autenticación
Authorizationbearer tokenheaderobligatorio- API key con scope
field:read. Formato:Bearer <API_KEY>. X-Instance-Slugstringheaderobligatorio- Identificador de su instancia. Ver Autenticación.
Request
Sin parámetros.
Response
200 OKDevuelve un objeto con los campos que siguen.
typesarray de stringsiempre presente- Los tipos de campo:
email,phone,text,textarea,number,date,select,multiselect,boolean,urlyaddress. pattern_presetsarray de objetosiempre presente- Los patrones predefinidos que un campo puede nombrar en
x-patternPreset.namestringsiempre presente- El nombre que se escribe en
x-patternPreset, por ejemplorut. patternstringsiempre presente- La expresión regular que el valor debe cumplir completo.
hintstring | null- Un valor de ejemplo, el que el formulario muestra a quien lo completa.
applies_toarray de stringsiempre presente- Los tipos de campo que admiten este patrón.
config_schemaobjectsiempre presente- El JSON Schema de
config. Cada tipo de campo tiene su schema en$defs, con el nombre del tipo (el deselectes$defs.select). Una clave que el schema del tipo no declara se rechaza.
Importante
Un validador de JSON Schema aplicado al envío aceptaría valores que la plataforma rechaza: aquí pattern exige que coincida el valor completo, no solo una parte (ver las notas).
Notas
- El ejemplo está recortado: la respuesta trae todos los patrones predefinidos y el schema de cada tipo.
- El schema usa palabras clave que no son de JSON Schema 2020-12:
formatMinimumyformatMaximumacotan una fecha, con la convención de los validadores que las admiten (por ejemplo,ajv-formats).x-patternPresetes propia de la plataforma: nombra uno de los patrones depattern_presetsen lugar de escribir la expresión.
patternconserva el nombre y el dialecto de JSON Schema (ECMA-262), restringido a la sintaxis que la plataforma, la importación de listas y el navegador leen igual (ver Patrón de validación). Pero se aplica distinto: el valor completo tiene que coincidir, no solo una parte.
Request
curl -X GET "https://cl2api.fidelizador.com/v1/fields/format" \
-H "Authorization: Bearer <API_KEY>" \
-H "X-Instance-Slug: <slug>"
Response
{
"types": [
"email",
"phone",
"text",
"textarea",
"number",
"date",
"select",
"multiselect",
"boolean",
"url",
"address"
],
"pattern_presets": [
{
"name": "email",
"pattern": "^[A-Za-z0-9.!#$%&'*+\\/=?^_`\\{\\|\\}~\\-]+@[A-Za-z0-9.\\-]+\\.[A-Za-z0-9\\-]+$",
"hint": "nombre@dominio.cl",
"applies_to": [
"email",
"text"
]
},
{
"name": "rut",
"pattern": "^[0-9]{1,2}\\.?[0-9]{3}\\.?[0-9]{3}-[0-9kK]$",
"hint": "12.345.678-9",
"applies_to": [
"text"
]
}
],
"config_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:fidelizador:field-config",
"$defs": {
"select": {
"type": "object",
"additionalProperties": false,
"required": [
"oneOf"
],
"properties": {
"oneOf": {
"$ref": "#/$defs/options"
}
}
}
}
}
}