Rascunho do tema
Guarda um rascunho do tema, publica-o aplicando tudo de uma vez ou o descarta.
O rascunho permite montar uma alteração grande no seu cliente (por exemplo, um editor visual) e aplicá-la de uma só vez. Há um rascunho por tema: salvar de novo substitui o anterior. O conteúdo é um JSON livre (draft_data), mas só as chaves abaixo são aplicadas na publicação.
Obter rascunho
Devolve o rascunho salvo, ou draft: null quando não há.
/api/v1/admin/theme-builder/themes/{id}/draftAdminObter o rascunho do tema
Requer o privilégio manage_theme.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
Resposta
Campos da resposta
draftobjectO rascunho ou null.
iduuidtheme_iduuiddraft_dataobjectcreated_bystringcreated_atstringupdated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | O id do caminho não é um UUID. | {"error":"invalid id","detail":"id must be a valid UUID"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | Seu usuário não tem o privilégio manage_theme. | {"error":"insufficient privileges","required":"manage_theme"} |
| 500 | Falha de banco de dados ou dado inválido para a coluna. | {"error":"failed to get draft","detail":"..."} |
Salvar rascunho
Grava o rascunho, substituindo o existente. Nada muda na vitrine até a publicação.
/api/v1/admin/theme-builder/themes/{id}/draftAdminSalvar o rascunho do tema
Requer o privilégio manage_theme.
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
draft_dataobjectobrigatóriocreated_bystringExemplo de requisição
Resposta
Campos da resposta
iduuidtheme_iduuiddraft_dataobjectcreated_bystringcreated_atstringupdated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | O id do caminho não é um UUID. | {"error":"invalid id","detail":"id must be a valid UUID"} |
| 400 | Corpo JSON inválido. | {"error":"invalid request body","detail":"unexpected EOF"} |
| 400 | draft_data ausente ou nulo. | {"error":"draft_data is required"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | Seu usuário não tem o privilégio manage_theme. | {"error":"insufficient privileges","required":"manage_theme"} |
| 500 | Falha de banco de dados ou dado inválido para a coluna. | {"error":"failed to save draft","detail":"..."} |
Publicar rascunho
Aplica o rascunho ao tema em uma transação e apaga o rascunho. A verificação de orçamento de desempenho (imagens e scripts) roda antes, como em publicar o tema, com os mesmos parâmetros force e optimize. Devolve o tema atualizado. Sem corpo.
/api/v1/admin/theme-builder/themes/{id}/draft/publishAdminAplicar o rascunho ao tema
Requer o privilégio manage_theme.
Parâmetros de caminho
iduuidobrigatórioParâmetros de consulta
forcebooleantrue ignora o orçamento de desempenho.optimizebooleantrue otimiza as imagens que estouram o limite antes de aplicar.Exemplo de requisição
Resposta
Campos da resposta
iduuidnamestringslugstringdescriptionstringthumbnail_urlstringauthorstringversionstring1.0.0).statusstringR rascunho, A publicado, L ao vivo, D arquivado. Tema "ao vivo" é indicado por is_live.is_livebooleantrue no tema que a vitrine está usando. Só um por loja.global_settings_schemaobject[]key, type, label, default e, conforme o tipo, options, min, max, step, unit, placeholder, info. Tipos: text, textarea, richtext, url, image, color, range, number, checkbox, select, collection, product.global_settings_valuesobjectkey.created_atstringupdated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | O id do caminho não é um UUID. | {"error":"invalid id","detail":"id must be a valid UUID"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | Seu usuário não tem o privilégio manage_theme. | {"error":"insufficient privileges","required":"manage_theme"} |
| 404 | O tema não tem rascunho. | {"error":"no draft found for this theme","detail":"not found: no draft for theme ..."} |
| 422 | Violações de orçamento de desempenho com severidade error. | {"violations":[...]} |
| 500 | Falha de banco de dados ou dado inválido para a coluna. | {"error":"failed to publish draft","detail":"..."} |
Descartar rascunho
Apaga o rascunho sem aplicar nada.
/api/v1/admin/theme-builder/themes/{id}/draftAdminDescartar o rascunho
Requer o privilégio manage_theme.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
Resposta
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | O id do caminho não é um UUID. | {"error":"invalid id","detail":"id must be a valid UUID"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | Seu usuário não tem o privilégio manage_theme. | {"error":"insufficient privileges","required":"manage_theme"} |
| 404 | O tema não tem rascunho. | {"error":"no draft found for this theme","detail":"not found: no draft for theme ..."} |
| 500 | Falha de banco de dados ou dado inválido para a coluna. | {"error":"failed to discard draft","detail":"..."} |