Editar un adjunto de una solicitud de trabajo

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.

Add-on

Uso general — sin add-on específico.

PUT https://app.fracttal.com/api/work_requests_attachments_files/{id}

Parámetros de entrada

ParámetroTipoRequeridoDescripción
identeroSí (en la ruta)Identificador del adjunto. Se puede consultar aquí. (campo id) También se acepta dentro del body.
user_codetextoSí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.
urltextoCondicionalNueva URL del adjunto. Solo aplica a adjuntos de tipo Link. Debe empezar con http:// o https:// y tener máximo 2048 caracteres.
labeltextoCondicionalNuevo texto visible del adjunto (Link o Archivo). Máximo 500 caracteres.

Reglas de la edición

  • Debes enviar al menos url o label. 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 responde URL_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_code necesita 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ámetroTipoDescripción
successbooleanotrue si la edición se realizó.
messagetextoACTION_DONE cuando la operación es exitosa. En caso de error, contiene el código del error.
totalentero1 cuando la operación es exitosa.
dataobjetoAdjunto actualizado.
data.identeroIdentificador del adjunto.
data.id_companyenteroCompañía a la que pertenece el adjunto.
data.id_requestenteroSolicitud de trabajo a la que pertenece el adjunto.
data.id_statusenteroEstado registrado con el adjunto.
data.pathtextoArchivo: identificador del archivo almacenado. Link: la URL.
data.descriptiontextoTexto visible del adjunto (label).
data.datetextoFecha de creación del adjunto.
data.sizeenteroTamaño en bytes. 0 para adjuntos de tipo Link.
data.typeenteroTipo de adjunto: 1 = Archivo, 2 = Link.

Errores

CódigoCausa
400Validation failed. Invalid fields: falta id o user_code.
400At least one field to update must be provided: url or label: no se envió ni url ni label (o llegaron vacíos).
400URL_NOT_APPLICABLE_FOR_FILE_ATTACHMENTS: se envió url para un adjunto de tipo Archivo.
400UNSUPPORTED_ATTACHMENT_TYPE: el tipo del adjunto no se puede editar con este servicio.
400REQUEST_NOT_EDITABLE: el estado de la solicitud no permite editar adjuntos.
400INVALID_URL: la URL no empieza con http:// o https://.
400URL_TOO_LONG: la URL supera los 2048 caracteres.
400LABEL_TOO_LONG: el label supera los 500 caracteres.
403El 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.
404ATTACHMENT_NOT_FOUND: el adjunto no existe o pertenece a otra compañía.
404El user_code no existe, está inactivo o no tiene una cuenta de usuario asociada.
401INVALID_TOKEN: el token de autenticación no es válido.

Nota sobre los códigos de error

Cuando la operación falla, el código del error llega en el campo message (por ejemplo "403" o "404") y el detalle en data[0].ERROR. La respuesta HTTP de estos errores es 400, sin importar el valor de message; usa message para 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

{
  "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)

{
  "success": false,
  "message": "400",
  "total": 0,
  "data": [
    { "ERROR": "URL_NOT_APPLICABLE_FOR_FILE_ATTACHMENTS" }
  ]
}

Response — Adjunto no encontrado (404)

{
  "success": false,
  "message": "404",
  "total": 0,
  "data": [
    { "ERROR": "ATTACHMENT_NOT_FOUND" }
  ]
}

Response — Sin permiso de edición (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
}
Path Params
integer
required

Código de la solicitud de trabajo (campo id_code).

Language
LoadingLoading…