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