---
title: "Modelo de configuraciones | Documentación de Ordering.co"
description: "Guía de la API de Ordering.co sobre modelo de configuraciones: contexto y ejemplos para tu integración."
canonical: https://docs.ordering.co/es/api-reference/guides/configs-model/
---

# Modelo de configuraciones

Las configuraciones almacenan ajustes a nivel de proyecto. Consulta los esquemas específicos de cada operación al leerlas o modificarlas; esta guía explica los conceptos compartidos del comportamiento descrito sin duplicar el modelo completo.

## Operaciones

La Referencia de la API pública contiene estas operaciones de configuración:

| Acción     | Método   | Recurso             |
| ---------- | -------- | ------------------- |
| Enumerar   | `GET`    | `/configs`          |
| Buscar     | `GET`    | `/configs/{config}` |
| Crear      | `POST`   | `/configs`          |
| Actualizar | `PUT`    | `/configs/{config}` |
| Eliminar   | `DELETE` | `/configs/{config}` |

Cada operación define sus propios campos de solicitud, selección parcial de campos, autenticación, respuestas y errores.

## Conceptos compartidos

- `key` identifica el ajuste y su valor debe ser único al crear una configuración.
- `value` almacena el valor configurado. Su representación depende de `type`.
- `options` define las opciones permitidas para los tipos que las requieren.
- `public` y `hidden` contribuyen a la visibilidad de la lista para los solicitantes sin acceso privilegiado.
- `protected` hace que la respuesta descrita devuelva `PROTECT` en lugar del valor almacenado.
- Los metadatos como `name`, `description`, categoría, dependencia, orden e información de soporte pueden orientar la presentación administrativa, pero no están garantizados en la proyección de cada operación.

## Tipos de configuración

Los tipos `1`–`4` forman parte del modelo descrito:

| Tipo | Significado                                                                                       |
| ---- | ------------------------------------------------------------------------------------------------- |
| `1`  | Un valor directo.                                                                                 |
| `2`  | Un valor seleccionado de `options`.                                                               |
| `3`  | Varios valores de opción en la representación heredada delimitada por barras verticales, como \`1 |
| `4`  | Varios valores de opción representados como un arreglo JSON, como `[1, 2, 3]`.                    |

Si la operación admite el tipo `5`, la configuración requiere `image` y no requiere `value`; al procesarse correctamente, la imagen se almacena como valor. Los formatos y límites dependen del esquema de solicitud y de la política de carga.

Para los tipos `2`, `3` y `4`, las solicitudes requieren `options`. Cada opción tiene un `text` y un `value` no vacíos:

```json
[
  {
    "text": "Example option",
    "value": "example"
  }
]
```

## Visibilidad y roles

La enumeración difiere de las lecturas individuales y las mutaciones:

- El listado limita a quienes no son administradores ni servidores a configuraciones públicas y no ocultas, con excepciones para plugins y administradores de negocio.
- Las reglas descritas de acceso para buscar, crear, actualizar y eliminar se limitan al servidor `-1` o al administrador `0`.
- La operación de listado especifica autenticación mediante clave de API o token de acceso, aunque el filtrado para invitados podría estar disponible sin una sesión de usuario. Confirma los requisitos de autenticación de tu proyecto antes de realizar la solicitud.

No interpretes `public=true` como permiso para exponer valores protegidos. Los requisitos dependen de la operación concreta.
