post
https://app.fracttal.com/api/work_orders_labels/
Este endpoint crea una nueva label (etiqueta) en el catálogo de la empresa del despachador autenticado. La operación es idempotente: si ya existe una label con la misma description (comparación no sensible a mayúsculas/minúsculas), el servicio retorna la label existente sin crear un duplicado y sin generar error.
Parámetros de entrada
Se envían dentro de body:
Requeridos
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
account_code | Texto | Sí | Código del personal con cuenta de despacho activa. Se obtiene del campo code en el endpoint de personal. No puede ser nulo ni vacío. |
description | Texto | Sí | Descripción de la label. Máximo 200 caracteres; se aplica trim. Si ya existe una label con el mismo texto (case-insensitive), se retorna la existente sin crear duplicado. |
Opcionales
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
color | Texto | Opcional | Color en formato hexadecimal (máximo 10 caracteres). Default FFFFFF. |
Parámetros de salida
Respuesta exitosa HTTP 200:
| Parámetro | Tipo | Descripción |
|---|---|---|
success | Booleano | true si la operación fue exitosa. |
message | Texto | Código HTTP de respuesta. |
total | Entero | 1 cuando la label fue creada o ya existía. |
data | JSON | Objeto label. |
Estructura del objeto data:
| Campo | Tipo | Descripción |
|---|---|---|
id | Entero | Identificador único de la label. |
id_company | Entero | Identificador de la empresa propietaria de la label. |
description | Texto | Nombre o descripción de la label. |
color | Texto | Color de la label en formato hexadecimal (sin #). |
enabled | Booleano | true si la label está habilitada. |
Validaciones y errores
400—account_codeodescriptionfaltante, nulo, vacío o solo espacios en blanco; odescriptionsupera 200 caracteres.401— Sin autenticación o cuenta no autorizada como despachador.404—account_codeno existe en personal o no tiene cuenta activa.500— Error interno del sistema.
Diferencia con PUT /api/work_orders_labels/
PUT /api/work_orders_labels/| Aspecto | PUT /api/work_orders_labels/ | POST /api/work_orders_labels/ (este endpoint) |
|---|---|---|
| Función | Asigna una label existente a una OT. | Crea una label en el catálogo de la empresa. |
| Parámetros obligatorios | folio OT + id label + account_code. | description + account_code. |
| Parámetro opcional | — | color (default FFFFFF). |
| Resultado | Label asignada a la OT. | Label creada, o label existente si ya había. |
Ejemplo:
Petición: (POST) https://app.fracttal.com/api/work_orders_labels/
Body (label nueva):
{
"account_code": "USR001",
"description": "Correctivo urgente",
"color": "FF5733"
}Response (label nueva creada):
{
"success": true,
"message": "200",
"total": 1,
"data": {"id": 1004, "id_company": 5, "description": "Correctivo urgente", "color": "FF5733", "enabled": true}
}Response (label ya existía — mismo resultado):
{
"success": true,
"message": "200",
"total": 1,
"data": {"id": 1001, "id_company": 5, "description": "Correctivo urgente", "color": "FF5733", "enabled": true}
}Response (error — description > 200 caracteres):
{
"success": false,
"message": "400",
"total": 0,
"data": [{"ERROR": "description exceeds maximum length of 200 characters"}]
} 200