Skip to main content
O escopo storage envia eventos de arquivos e pastas no armazenamento da conta. Use este webhook para sincronizar criação de pastas, criação de registros de arquivo, upload concluído, renomeação, exclusão e falhas de exclusão.

Visão geral de webhooks

Consulte o contrato base, headers, assinatura e recomendações gerais de entrega.

Eventos disponíveis

EventoQuando é enviado
storage.folder.createdPasta criada.
storage.folder.renamedPasta renomeada.
storage.folder.deletedPasta excluída.
storage.folder.delete_failedExclusão de pasta falhou parcial ou totalmente.
storage.file.createdRegistro de arquivo criado e aguardando upload.
storage.file.uploadedArquivo enviado e armazenado com sucesso.
storage.file.renamedArquivo renomeado.
storage.file.deletedArquivo excluído.
storage.file.delete_failedExclusão de arquivo falhou.
storage.file.created indica que a assinatura de upload foi gerada e o registro está aguardando envio. O arquivo só está disponível após storage.file.uploaded.

Payload de arquivo enviado

{
  "id": "evt_71fdf700-e01b-458c-bdbc-f53607f5d75e",
  "event": "storage.file.uploaded",
  "scope": "storage",
  "created_at": "2026-06-23T12:30:00Z",
  "data": {
    "item": {
      "id": "file_9fcb573b",
      "type": "file",
      "name": "contrato.pdf",
      "parent_id": "folder_a879e42a",
      "extension": "pdf",
      "content_type": "application/pdf",
      "size": 842100,
      "status": "uploaded",
      "uploaded_at": "2026-06-23T12:30:00Z",
      "created_at": "2026-06-23T12:29:30Z",
      "updated_at": "2026-06-23T12:30:00Z"
    }
  }
}

Payload de pasta criada

{
  "id": "evt_17ef15ef-033d-4f68-99c8-4d98dd744ed9",
  "event": "storage.folder.created",
  "scope": "storage",
  "created_at": "2026-06-23T12:28:00Z",
  "data": {
    "item": {
      "id": "folder_a879e42a",
      "type": "folder",
      "name": "Contratos",
      "parent_id": null,
      "created_at": "2026-06-23T12:28:00Z",
      "updated_at": "2026-06-23T12:28:00Z"
    }
  }
}

Campos de data.item

Campos comuns:
CampoTipoDescrição
idstringID do item.
typestringfile ou folder.
namestringNome do item.
parent_idstring ou nullID da pasta pai.
created_atstringData de criação em ISO 8601.
updated_atstringData da última atualização em ISO 8601.
Campos adicionais para arquivos:
CampoTipoDescrição
extensionstringExtensão do arquivo.
content_typestringMIME type do arquivo.
sizeintegerTamanho em bytes.
statusstringStatus do arquivo.
uploaded_atstringData de upload, quando disponível.

Campos extras por evento

EventoCampos extras
storage.folder.renamedold_name, new_name.
storage.file.renamedold_name, new_name.
storage.folder.deletedfiles_count, failed_files_count.
storage.folder.delete_failedfiles_count, failed_files_count.
storage.file.deletedfailed_keys_count.
storage.file.delete_failedfailed_keys_count.

Exemplo de renomeação

{
  "id": "evt_13e3d6a5-3ed6-4453-9b77-42c66d6c8bdf",
  "event": "storage.folder.renamed",
  "scope": "storage",
  "created_at": "2026-06-23T12:31:00Z",
  "data": {
    "item": {
      "id": "folder_a879e42a",
      "type": "folder",
      "name": "Contratos 2026",
      "parent_id": null,
      "created_at": "2026-06-23T12:28:00Z",
      "updated_at": "2026-06-23T12:31:00Z"
    },
    "old_name": "Contratos",
    "new_name": "Contratos 2026"
  }
}

Exemplo de falha de exclusão

{
  "id": "evt_6429e6bc-1360-48a8-aabf-6be125f084b0",
  "event": "storage.folder.delete_failed",
  "scope": "storage",
  "created_at": "2026-06-23T12:40:00Z",
  "data": {
    "item": {
      "id": "folder_a879e42a",
      "type": "folder",
      "name": "Contratos 2026",
      "parent_id": null,
      "created_at": "2026-06-23T12:28:00Z",
      "updated_at": "2026-06-23T12:40:00Z"
    },
    "files_count": 12,
    "failed_files_count": 1
  }
}

Como consumir

  1. Use data.item.id e data.item.type para correlacionar o item.
  2. Trate storage.file.created como estado de preparação de upload.
  3. Trate storage.file.uploaded como confirmação de arquivo disponível.
  4. Em eventos de renomeação, use old_name e new_name.
  5. Em falhas de exclusão, revise os contadores e consulte o painel se precisar de detalhe operacional.
O webhook não inclui link público do arquivo. Use os endpoints ou telas de armazenamento para acessar ou baixar arquivos conforme as permissões da conta.

Relacionado

Visão geral

Contrato base de webhooks.

Armazenamento

Entenda arquivos, pastas e upload.