Pular para o conteúdo

O que excluir realmente faz, por recurso

“Excluir” significa coisas diferentes dependendo do que você exclui pela RealityConnect API. Alguns recursos vão para uma lixeira recuperável; a maioria é removida definitivamente. Esta página é a referência recurso por recurso para planejar lógica de limpeza ou de reconciliação de sincronização.


RecursoExclusãoRestauraçãoPurga
Nó de dados (divisão, site, pasta, twin, projeto, Data Bundle, Asset Library etc.)Reversível (vai para a lixeira)PATCH /v1/nodes/{nodeId}/restoreAutomática 30 dias após a exclusão, ou imediata via DELETE /v1/nodes/{nodeId}/hard
POIDefinitivaNão disponívelImediata
ZonaDefinitivaNão disponívelImediata
Box assetDefinitivaNão disponívelImediata
Model asset (RealityPlan)DefinitivaNão disponívelImediata
Modelo da Asset LibraryDefinitiva (bloqueada enquanto algum asset ainda o referenciar)Não disponívelImediata após desbloqueado
Etiqueta da Asset LibraryDefinitivaNão disponívelImediata
GrupoDefinitivaNão disponívelImediata
Membership de grupoDefinitivaNão disponívelImediata
Convite (organização ou nó)Definitiva (revogação)Não disponívelImediata
Anexo de objetoDefinitiva (remove apenas o arquivo armazenado)Não disponívelImediata

Somente nós de dados têm lixeira. Qualquer outro recurso desta tabela desaparece assim que a chamada de exclusão é bem-sucedida, sem nenhuma via de recuperação no servidor.

DELETE /v1/nodes/{nodeId} exclui um nó de forma reversível: ele vai para a lixeira da organização em vez de ser removido. Um nó na lixeira:

  • É listado por GET /v1/trash (paginado, ordenável por deletedAt ou name).
  • Pode ser restaurado com PATCH /v1/nodes/{nodeId}/restore, que pode falhar com 409 StorageLimitExceeded se a restauração fizer a organização ultrapassar sua cota de armazenamento.
  • É removido definitivamente com DELETE /v1/nodes/{nodeId}/hard, ou automaticamente 30 dias após ir para a lixeira.

Tanto a restauração quanto a exclusão definitiva retornam 409 NoNodeRemoved se o nó não estiver atualmente na lixeira, incluindo um id de nó que nunca foi excluído, ou um que já foi excluído definitivamente ou purgado automaticamente.

Excluir definitivamente um nó também remove seus descendentes na lixeira e quaisquer linhas de derivados que envolvam nós desse subárvore. Nós fora do subárvore que porventura derivem de algo dentro dele não são afetados.

DELETE /v1/nodes/{nodeId} pode ser rejeitada com 409 Conflict por três motivos:

CódigoSignificadoContornável com ?force=true?
NodeHasDerivativesO nó tem saídas derivadas (por exemplo, resultados processados) que precisam ser removidas primeiro. A resposta lista em derivatives[] exatamente quais nós estão bloqueando.Não
NodeHasBundleDependantsO Data Bundle do nó tem dependentes.Não
NodeNotInDeletableStateO nó está sendo processado no momento, ou o processamento falhou (isProcessing / isFailed).Sim

force=true (uma string de consulta, exatamente "true" ou "false") só contorna NodeNotInDeletableState. Um nó com derivados ou dependentes de bundle precisa ser resolvido antes: não há como contornar isso. Veja Códigos de Erro para a forma completa da resposta e o tratamento sugerido.

Os modelos da Asset Library têm sua própria versão, mais simples, dessa mesma trava: DELETE /v1/asset-library/{ownerContextId}/models/{libraryModelId} retorna 409 Conflict enquanto algum asset ainda referenciar o modelo. Assim que a última referência desaparece, a exclusão é definitiva e não recuperável, não é uma exclusão reversível como a de um nó.

Nós excluídos de forma reversível na navegação e na busca

Seção intitulada “Nós excluídos de forma reversível na navegação e na busca”

Um nó excluído de forma reversível some imediata e incondicionalmente de GET /v1/nodes/{id}/browse e GET /v1/nodes/search: nenhum dos dois endpoints tem parâmetro para incluir nós na lixeira. A única forma de ver um nó na lixeira é GET /v1/trash; restaurá-lo é o que o torna navegável e pesquisável novamente.

Para saber como funcionam a hierarquia de nós e a busca em si, veja Tipos de Nó e Hierarquia e Pesquisando Objetos de Negócio e Nós.

  • Códigos de Erro para o conjunto completo de códigos de erro nomeados, incluindo todos os referenciados nesta página.
  • O que contextId Aceita para resolver o contextId usado para endereçar POIs, zonas, assets e anexos.