documentUpdate

A mutation DocumentUpdate permite atualizar o conteúdo de um document existente.

A atualização substitui o document inteiro pelo value informado, que é validado contra o schema da entidade. A entidade do document é definida na criação e não pode ser alterada. A operação exige que a entidade declare UPDATE em publicOperations.

Enviado, o arquivo substitui o atual; omitido, o atual é mantido. O arquivo só é removido junto com o document.

Parâmetros

ArgumentoTipoObrigatórioDescrição
idStringSimIdentificador do document, em hash, como retornado por documents ou document
valueAnySimO document atualizado, como um objeto JSON. Limitado a 2.000 caracteres
fileUploadNãoArquivo a anexar: jpg, jpeg, png, gif, webp ou pdf, até 5 MB. Substitui o arquivo atual; quando omitido, o atual é mantido

Campos de retorno

Os campos de retorno são os do document atualizado.

CampoTipoDescrição
idStringIdentificador do document, em hash
dataAnyO document atualizado, com os campos públicos projetados
files[DocumentFileNode]Arquivos anexados ao document. Lista vazia quando não há nenhum
files.urlStringURL pública do arquivo
files.createdAtDateTimeData em que o arquivo foi vinculado ao document, em UTC

Exemplo

mutation {
  documentUpdate(
    id: "eyJFbnRpdHkiOiJEb2N1bWVudFZhbHVlIiwiSWQiOjQ1MDF9"
    value: { sku: "ABC-123", cor: "Vermelho", custo: 39.9 }
  ) {
    id
    data
  }
}
Mostrar resposta
{
  "data": {
    "documentUpdate": {
      "id": "eyJFbnRpdHkiOiJEb2N1bWVudFZhbHVlIiwiSWQiOjQ1MDF9",
      "data": {
        "sku": "ABC-123",
        "cor": "Vermelho"
      }
    }
  }
}

Para enviar o arquivo, use o formato de "Enviando um arquivo", na página documentCreate, trocando entityNamepor id.

📘

Ao substituir o arquivo, a URL anterior deixa de funcionar. Use a URL retornada pela mutation.

🚧

Limite de tamanho

O document é limitado a 2.000 caracteres de JSON, verificados antes da validação contra o schema. Documents gravados acima desse limite antes da sua introdução continuam podendo ser lidos e removidos, mas falham nesta mutation com WDC101 enquanto não forem reduzidos.

📘

O externalId do document é imutável: definido apenas na criação pela API Pública, ele nunca é alterado nem anulado por esta mutation, ainda que a atualização substitua o conteúdo por inteiro.

Códigos de erro

CódigoMensagemDescrição
WDC108Arquivo inválidoArquivo recusado antes do envio: vazio, sem extensão, com extensão não aceita ou acima de 5 MB. O motivo vem na extensão detail
WDC101Documento inválidoO document não é um objeto JSON válido, excede 2.000 caracteres ou não atende ao schema da entidade ou o arquivo foi recusado pelo serviço de arquivos (tipo não aceito, conteúdo que não corresponde à extensão ou tamanho acima do máximo
WDC109O serviço de arquivos está indisponívelO armazenamento de arquivos está indisponível. Ocorre apenas em escritas com arquivo; a mesma operação sem arquivo pode ser feita