Skip to main content
PUT
/
v2
/
form-schemas
/
{id_schema}
Actualizar esquema existente
curl --request PUT \
  --url https://api.gotrebol.com/v2/form-schemas/{id_schema} \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "name": "<string>",
  "ui_schema_definition": {
    "ui_order": [
      "junta_directiva",
      "nombre",
      "apellido",
      "notaria"
    ],
    "nombre": {
      "ui_type": "text",
      "ui_label": "Nombre"
    },
    "apellido": {
      "ui_type": "text",
      "ui_label": "Apellido"
    },
    "junta_directiva": {
      "ui_type": "table",
      "ui_label": "Integrantes miembros de la junta directiva",
      "ui_columns": {
        "id_type": {
          "ui_type": "select",
          "ui_label": "ID",
          "ui_items": [
            "RFC",
            "CURP"
          ]
        },
        "id_number": {
          "ui_type": "text",
          "ui_label": "No. de identificación"
        },
        "names": {
          "ui_type": "text",
          "ui_label": "Nombres y Apellidos"
        }
      }
    },
    "notaria": {
      "ui_type": "section",
      "ui_label": "Notaria",
      "ui_order": [
        "nombre",
        "direccion",
        "identidad"
      ],
      "nombre": {
        "ui_type": "text",
        "ui_label": "Nombre"
      },
      "direccion": {
        "ui_type": "text",
        "ui_label": "Direccion"
      },
      "identidad": {
        "ui_type": "section",
        "ui_label": "Identidad",
        "ui_order": [
          "curp",
          "rfc"
        ],
        "curp": {
          "ui_type": "text",
          "ui_label": "CURP"
        },
        "rfc": {
          "ui_type": "text",
          "ui_label": "RFC"
        }
      }
    }
  }
}'
{
"id_schema": "onboarding-form",
"account_id": "acc_1234567890abcdef",
"name": "Formulario de Onboarding",
"ui_schema_definition": {
"ui_order": [
"junta_directiva",
"nombre",
"apellido",
"notaria"
],
"nombre": {
"ui_type": "text",
"ui_label": "Nombre"
},
"apellido": {
"ui_type": "text",
"ui_label": "Apellido"
},
"junta_directiva": {
"ui_type": "table",
"ui_label": "Integrantes miembros de la junta directiva",
"ui_columns": {
"id_type": {
"ui_type": "select",
"ui_label": "ID",
"ui_items": [
"RFC",
"CURP"
]
},
"id_number": {
"ui_type": "text",
"ui_label": "No. de identificación"
},
"names": {
"ui_type": "text",
"ui_label": "Nombres y Apellidos"
}
}
},
"notaria": {
"ui_type": "section",
"ui_label": "Notaria",
"ui_order": [
"nombre",
"direccion",
"identidad"
],
"nombre": {
"ui_type": "text",
"ui_label": "Nombre"
},
"direccion": {
"ui_type": "text",
"ui_label": "Direccion"
},
"identidad": {
"ui_type": "section",
"ui_label": "Identidad",
"ui_order": [
"curp",
"rfc"
],
"curp": {
"ui_type": "text",
"ui_label": "CURP"
},
"rfc": {
"ui_type": "text",
"ui_label": "RFC"
}
}
}
}
}

Authorizations

x-api-key
string
header
required

Path Parameters

id_schema
string
required

Identificador único del esquema

Body

application/json
name
string

Nombre del esquema de formulario

ui_schema_definition
object

Definición de campo de esquema de interfaz de usuario. Esta estructura permite definir formularios dinámicos con campos anidados y diferentes tipos de entrada. El esquema soporta campos simples como texto, números, fechas, y campos complejos como secciones que pueden contener otros campos.

Estructura jerárquica: Los campos pueden anidarse usando el tipo "section", permitiendo crear formularios con múltiples niveles de organización.

Validación automática: El sistema valida automáticamente que todos los campos referenciados en ui_order existan como propiedades en el mismo nivel.

Example:
{
"ui_order": [
"junta_directiva",
"nombre",
"apellido",
"notaria"
],
"nombre": { "ui_type": "text", "ui_label": "Nombre" },
"apellido": { "ui_type": "text", "ui_label": "Apellido" },
"junta_directiva": {
"ui_type": "table",
"ui_label": "Integrantes miembros de la junta directiva",
"ui_columns": {
"id_type": {
"ui_type": "select",
"ui_label": "ID",
"ui_items": ["RFC", "CURP"]
},
"id_number": {
"ui_type": "text",
"ui_label": "No. de identificación"
},
"names": {
"ui_type": "text",
"ui_label": "Nombres y Apellidos"
}
}
},
"notaria": {
"ui_type": "section",
"ui_label": "Notaria",
"ui_order": ["nombre", "direccion", "identidad"],
"nombre": { "ui_type": "text", "ui_label": "Nombre" },
"direccion": {
"ui_type": "text",
"ui_label": "Direccion"
},
"identidad": {
"ui_type": "section",
"ui_label": "Identidad",
"ui_order": ["curp", "rfc"],
"curp": { "ui_type": "text", "ui_label": "CURP" },
"rfc": { "ui_type": "text", "ui_label": "RFC" }
}
}
}

Response

Esquema actualizado exitosamente

Esquema de formulario público para la cuenta

id_schema
string
required

Identificador único del esquema

Example:

"onboarding-form"

account_id
string
required

ID de la cuenta a la que pertenece el esquema

Example:

"acc_1234567890abcdef"

name
string
required

Nombre del esquema de formulario

Example:

"Formulario de Onboarding"

ui_schema_definition
object
required

Definición de campo de esquema de interfaz de usuario. Esta estructura permite definir formularios dinámicos con campos anidados y diferentes tipos de entrada. El esquema soporta campos simples como texto, números, fechas, y campos complejos como secciones que pueden contener otros campos.

Estructura jerárquica: Los campos pueden anidarse usando el tipo "section", permitiendo crear formularios con múltiples niveles de organización.

Validación automática: El sistema valida automáticamente que todos los campos referenciados en ui_order existan como propiedades en el mismo nivel.

Example:
{
"ui_order": [
"junta_directiva",
"nombre",
"apellido",
"notaria"
],
"nombre": { "ui_type": "text", "ui_label": "Nombre" },
"apellido": { "ui_type": "text", "ui_label": "Apellido" },
"junta_directiva": {
"ui_type": "table",
"ui_label": "Integrantes miembros de la junta directiva",
"ui_columns": {
"id_type": {
"ui_type": "select",
"ui_label": "ID",
"ui_items": ["RFC", "CURP"]
},
"id_number": {
"ui_type": "text",
"ui_label": "No. de identificación"
},
"names": {
"ui_type": "text",
"ui_label": "Nombres y Apellidos"
}
}
},
"notaria": {
"ui_type": "section",
"ui_label": "Notaria",
"ui_order": ["nombre", "direccion", "identidad"],
"nombre": { "ui_type": "text", "ui_label": "Nombre" },
"direccion": {
"ui_type": "text",
"ui_label": "Direccion"
},
"identidad": {
"ui_type": "section",
"ui_label": "Identidad",
"ui_order": ["curp", "rfc"],
"curp": { "ui_type": "text", "ui_label": "CURP" },
"rfc": { "ui_type": "text", "ui_label": "RFC" }
}
}
}