Exportar e importar
Baixa a configuração visual global como arquivo JSON e importa uma configuração exportada.
Use estas rotas para copiar o visual de uma loja para outra, ou para guardar um backup antes de grandes mudanças. Exigem o privilégio manage_theme.
Exportar a configuração
/api/v1/admin/theme/exportAdminBaixa a configuração visual global como JSON
A resposta traz o cabeçalho Content-Disposition: attachment; filename=venddor-theme.json, então um navegador baixa como arquivo. A configuração exportada inclui tudo, inclusive id, logo_url e store_name.
{
"version": "1.0",
"exported_at": "2026-10-11T21:50:07.193971Z",
"config": {
"id": "20299fa2-f761-434f-aa54-811e242f65a3",
"store_name": "Loja de Demonstração Venddor",
"primary_color": "#2563eb",
"font_family": "Inter, sans-serif",
"border_radius": "8px"
}
}Campos da resposta
versionstring1.0.exported_atstringconfigobjectImportar uma configuração
/api/v1/admin/theme/importAdminAplica uma configuração exportada
Guarda a configuração atual no histórico (nota Before importing theme) e grava todos os campos de config. O arquivo precisa ter o campo version. O id do arquivo é ignorado.
Corpo da requisição
versionstringobrigatório1.0). Sem ele a resposta é 400.configobjectobrigatórioExemplo de requisição
curl "$BASE_URL/api/v1/admin/theme/export" -H "Authorization: Bearer $TOKEN" -o venddor-theme.json
curl -X POST "$BASE_URL/api/v1/admin/theme/import" \
-H "Authorization: Bearer $TARGET_TOKEN" \
-H "Content-Type: application/json" \
--data @venddor-theme.jsonA resposta 200 é a configuração resultante, no formato de Ler a configuração.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | JSON inválido; version ausente | {"error":"invalid theme file","detail":"missing version field"} |
| 401 | Sem token ou token expirado | {"error":"missing authorization header"} |
| 403 | Sem o privilégio manage_theme | {"error":"insufficient privileges","required":"manage_theme"} |
| 500 | Cor inválida dentro de config ou outra falha ao gravar | {"error":"failed to import theme","detail":"import theme: color must be a valid hex value like #1a2b3c (primary_color=\"red\")"} |