Restaurar e excluir
Restaura a loja a partir de um backup (opcionalmente com as mídias) ou exclui um backup e o arquivo dele.
A restauração substitui o banco da loja pelo conteúdo do backup. Tudo que foi gravado depois do backup (pedidos, clientes, edições) deixa de existir. Use somente em recuperação de desastre e, de preferência, depois de criar um backup novo do estado atual. Ambas as rotas exigem manage_backups ou manage_settings.
Restaurar
A restauração é assíncrona. A plataforma carrega o backup em um banco temporário, valida, e só então troca pelo banco da loja. Enquanto isso a loja fica em manutenção e as páginas públicas respondem 503.
/api/v1/admin/backups/{id}/restoreAdminRestaura a loja a partir de um backup
Parâmetros de caminho
iduuidobrigatórioId do backup.
Corpo da requisição
restore_mediabooleanpadrão: falsetrue também restaura o pacote de mídias. Padrão: só o banco. Corpo ausente ou inválido equivale a false.Exemplo de requisição
bash
curl -X POST "$BASE_URL/api/v1/admin/backups/d216291a-0c77-4eec-9c1e-8ffe034b2474/restore" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"restore_media": false}'Resposta
202Restauração iniciada
json
{
"id": "d216291a-0c77-4eec-9c1e-8ffe034b2474",
"status": "restoring"
}Campos da resposta
iduuidId do backup em restauração.
statusstringErros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_backups","manage_settings"]} |
| 404 | Backup não existe. | {"error":"backup not found"} |
| 410 | O arquivo saiu do disco (apagado pela retenção ou removido por fora). | {"error":"backup file is no longer available","detail":"..."} |
| 500 | Backup em estado que não permite restaurar (só completed e restored restauram), ou falha ao iniciar. | {"error":"failed to initiate restore","detail":"backup is not in a restorable state (status=F)"} |
Excluir
/api/v1/admin/backups/{id}AdminExclui o registro e os arquivos de um backup
Parâmetros de caminho
iduuidobrigatórioId do backup.
Exemplo de requisição
bash
curl -X DELETE "$BASE_URL/api/v1/admin/backups/d216291a-0c77-4eec-9c1e-8ffe034b2474" \
-H "Authorization: Bearer $TOKEN"Resposta
204Excluído, sem corpo
http
HTTP/1.1 204 No ContentErros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_backups","manage_settings"]} |
| 500 | Backup em andamento (running ou restoring), ou não existe (mensagem backup not found no detail), ou id inválido. | {"error":"failed to delete backup","detail":"cannot delete a backup that is currently U"} |