Editar um anexo de uma solicitação de trabalho

Modifica um anexo já associado a uma solicitação de trabalho. Em um anexo do tipo Link é possível alterar a URL e/ou o texto visível (label); em um anexo do tipo Arquivo só é possível alterar o texto visível.

Add-on

Uso geral — sem add-on específico.

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

Parâmetros de entrada

ParâmetroTipoObrigatórioDescrição
idinteiroSim (na rota)Identificador do anexo. Pode ser consultado aqui. (campo id) Também é aceito dentro do body.
user_codetextoSimCódigo do recurso humano que realiza a edição. Deve ter uma conta de usuário ativa; com essa conta é validada a permissão de edição.
urltextoCondicionalNova URL do anexo. Aplica-se apenas a anexos do tipo Link. Deve começar com http:// ou https:// e ter no máximo 2048 caracteres.
labeltextoCondicionalNovo texto visível do anexo (Link ou Arquivo). Máximo de 500 caracteres.

Regras da edição

  • Você deve enviar pelo menos url ou label. Um valor vazio ou apenas com espaços é considerado como não enviado.
  • Se você enviar apenas um dos dois campos, o outro mantém seu valor atual.
  • Em um anexo do tipo Arquivo não é possível alterar url: se você a enviar, o serviço responde URL_NOT_APPLICABLE_FOR_FILE_ATTACHMENTS.
  • Não é possível alterar o tipo de um anexo (de Link para Arquivo ou vice-versa).
  • A solicitação deve estar no status Aberta (1), Em andamento (2) ou Resolvida sem OS (4). Em qualquer outro status o serviço responde REQUEST_NOT_EDITABLE.
  • O usuário indicado em user_code precisa de permissão de edição sobre solicitações de trabalho e acesso à localização da solicitação.
  • Um anexo de outra empresa é tratado da mesma forma que um inexistente (ATTACHMENT_NOT_FOUND).

Parâmetros de saída

ParâmetroTipoDescrição
successbooleanotrue se a edição foi realizada.
messagetextoACTION_DONE quando a operação é bem-sucedida. Em caso de erro, contém o código do erro.
totalinteiro1 quando a operação é bem-sucedida.
dataobjetoAnexo atualizado.
data.idinteiroIdentificador do anexo.
data.id_companyinteiroEmpresa à qual o anexo pertence.
data.id_requestinteiroSolicitação de trabalho à qual o anexo pertence.
data.id_statusinteiroStatus registrado com o anexo.
data.pathtextoArquivo: identificador do arquivo armazenado. Link: a URL.
data.descriptiontextoTexto visível do anexo (label).
data.datetextoData de criação do anexo.
data.sizeinteiroTamanho em bytes. 0 para anexos do tipo Link.
data.typeinteiroTipo de anexo: 1 = Arquivo, 2 = Link.

Erros

CódigoCausa
400Validation failed. Invalid fields: falta id ou user_code.
400At least one field to update must be provided: url or label: não foi enviado url nem label (ou chegaram vazios).
400URL_NOT_APPLICABLE_FOR_FILE_ATTACHMENTS: foi enviada url para um anexo do tipo Arquivo.
400UNSUPPORTED_ATTACHMENT_TYPE: o tipo do anexo não pode ser editado com este serviço.
400REQUEST_NOT_EDITABLE: o status da solicitação não permite editar anexos.
400INVALID_URL: a URL não começa com http:// ou https://.
400URL_TOO_LONG: a URL excede 2048 caracteres.
400LABEL_TOO_LONG: o label excede 500 caracteres.
403O usuário de user_code não tem permissão de edição sobre a solicitação, não tem acesso à sua localização ou sua conta está desativada.
404ATTACHMENT_NOT_FOUND: o anexo não existe ou pertence a outra empresa.
404O user_code não existe, está inativo ou não possui uma conta de usuário associada.
401INVALID_TOKEN: o token de autenticação não é válido.

Nota sobre os códigos de erro

Quando a operação falha, o código do erro chega no campo message (por exemplo "403" ou "404") e o detalhe em data[0].ERROR. A resposta HTTP desses erros é 400, independentemente do valor de message; use message para distinguir a causa.


Exemplo

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 — Arquivo com url (400)

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

Response — Anexo não encontrado (404)

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

Response — Sem permissão de edição (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": "Solicitações de trabalho — anexos",
    "version": "3-pt"
  },
  "servers": [
    { "url": "https://app.fracttal.com/api/work_requests_attachments_files" }
  ],
  "security": [{}],
  "paths": {
    "/{id}": {
      "put": {
        "summary": "Editar um anexo de uma solicitação de trabalho",
        "description": "",
        "operationId": "editar-um-anexo-de-uma-solicitacao-de-trabalho",
        "deprecated": false,
        "security": []
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": false,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
Path Params
integer
required

Código da solicitação de trabalho (campo id_code).

Language
LoadingLoading…