put
https://app.fracttal.com/api/work_requests_attachments_files/
Modifica un adjunto ya asociado a una solicitud de trabajo. En un adjunto de tipo Link se puede cambiar la URL y/o el texto visible (label); en un adjunto de tipo Archivo solo se puede cambiar el texto visible.
PUT https://app.fracttal.com/api/work_requests_attachments_files/{id}Parámetros de entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | entero | Sí (en la ruta) | Identificador del adjunto. Se puede consultar aquí. (campo id) También se acepta dentro del body. |
user_code | texto | Sí | Código del recurso humano que realiza la edición. Debe tener una cuenta de usuario activa; con esa cuenta se valida el permiso de edición. |
url | texto | Condicional | Nueva URL del adjunto. Solo aplica a adjuntos de tipo Link. Debe empezar con http:// o https:// y tener máximo 2048 caracteres. |
label | texto | Condicional | Nuevo texto visible del adjunto (Link o Archivo). Máximo 500 caracteres. |
Reglas de la edición
- Debes enviar al menos
urlolabel. Un valor vacío o solo con espacios se considera no enviado.- Si solo envías uno de los dos campos, el otro conserva su valor actual.
- En un adjunto de tipo Archivo no se puede cambiar
url: si la envías, el servicio respondeURL_NOT_APPLICABLE_FOR_FILE_ATTACHMENTS.- No se puede cambiar el tipo de un adjunto (de Link a Archivo o viceversa).
- La solicitud debe estar en estado Abierta (1), En proceso (2) o Resuelta sin OT (4). En cualquier otro estado el servicio responde
REQUEST_NOT_EDITABLE.- El usuario indicado en
user_codenecesita permiso de edición sobre solicitudes de trabajo y acceso a la ubicación de la solicitud.- Un adjunto de otra compañía se trata igual que uno inexistente (
ATTACHMENT_NOT_FOUND).
Parámetros de salida
| Parámetro | Tipo | Descripción |
|---|---|---|
success | booleano | true si la edición se realizó. |
message | texto | ACTION_DONE cuando la operación es exitosa. En caso de error, contiene el código del error. |
total | entero | 1 cuando la operación es exitosa. |
data | objeto | Adjunto actualizado. |
data.id | entero | Identificador del adjunto. |
data.id_company | entero | Compañía a la que pertenece el adjunto. |
data.id_request | entero | Solicitud de trabajo a la que pertenece el adjunto. |
data.id_status | entero | Estado registrado con el adjunto. |
data.path | texto | Archivo: identificador del archivo almacenado. Link: la URL. |
data.description | texto | Texto visible del adjunto (label). |
data.date | texto | Fecha de creación del adjunto. |
data.size | entero | Tamaño en bytes. 0 para adjuntos de tipo Link. |
data.type | entero | Tipo de adjunto: 1 = Archivo, 2 = Link. |
Errores
| Código | Causa |
|---|---|
400 | Validation failed. Invalid fields: falta id o user_code. |
400 | At least one field to update must be provided: url or label: no se envió ni url ni label (o llegaron vacíos). |
400 | URL_NOT_APPLICABLE_FOR_FILE_ATTACHMENTS: se envió url para un adjunto de tipo Archivo. |
400 | UNSUPPORTED_ATTACHMENT_TYPE: el tipo del adjunto no se puede editar con este servicio. |
400 | REQUEST_NOT_EDITABLE: el estado de la solicitud no permite editar adjuntos. |
400 | INVALID_URL: la URL no empieza con http:// o https://. |
400 | URL_TOO_LONG: la URL supera los 2048 caracteres. |
400 | LABEL_TOO_LONG: el label supera los 500 caracteres. |
403 | El usuario de user_code no tiene permiso de edición sobre la solicitud, no tiene acceso a su ubicación o su cuenta está desactivada. |
404 | ATTACHMENT_NOT_FOUND: el adjunto no existe o pertenece a otra compañía. |
404 | El user_code no existe, está inactivo o no tiene una cuenta de usuario asociada. |
401 | INVALID_TOKEN: el token de autenticación no es válido. |
Nota sobre los códigos de errorCuando la operación falla, el código del error llega en el campo
message(por ejemplo"403"o"404") y el detalle endata[0].ERROR. La respuesta HTTP de estos errores es400, sin importar el valor demessage; usamessagepara distinguir la causa.
Ejemplo
Request body
PUT /api/work_requests_attachments_files/102
{
"user_code": "1001",
"url": "https://ejemplo.com/manual-equipo-v2",
"label": "Manual del equipo (versión 2)"
}Response 200
200{
"success": true,
"message": "ACTION_DONE",
"data": {
"id": 102,
"id_company": 188,
"id_request": 4010,
"id_status": 1,
"path": "https://ejemplo.com/manual-equipo-v2",
"description": "Manual del equipo (versión 2)",
"date": "2026-10-06",
"size": 0,
"type": 2
},
"total": 1
}Response — Archivo con url (400)
url (400){
"success": false,
"message": "400",
"total": 0,
"data": [
{ "ERROR": "URL_NOT_APPLICABLE_FOR_FILE_ATTACHMENTS" }
]
}Response — Adjunto no encontrado (404)
404){
"success": false,
"message": "404",
"total": 0,
"data": [
{ "ERROR": "ATTACHMENT_NOT_FOUND" }
]
}Response — Sin permiso de edición (403)
403){
"success": false,
"message": "403",
"total": 0,
"data": [
{ "ERROR": "User does not have permission to edit request 4010" }
]
}OpenAPI definition
{
"openapi": "3.1.0",
"info": {
"title": "Solicitudes de trabajo — adjuntos",
"version": "1-Es"
},
"servers": [
{ "url": "https://app.fracttal.com/api/work_requests_attachments_files" }
],
"security": [{}],
"paths": {
"/{id}": {
"put": {
"summary": "Editar un adjunto de una solicitud de trabajo",
"description": "",
"operationId": "editar-un-adjunto-de-una-solicitud-de-trabajo",
"deprecated": false,
"security": []
}
}
},
"x-readme": {
"headers": [],
"explorer-enabled": false,
"proxy-enabled": true
},
"x-readme-fauxas": true
}