Seções do rascunho
Adiciona, remove, reordena e configura seções dentro do rascunho do editor visual.
Estas quatro rotas mexem numa seção por vez no rascunho e devolvem o rascunho inteiro atualizado. Se ainda não existe rascunho para o layout, a rota de adicionar cria um a partir da página publicada; as outras três exigem que ele já exista. Todas exigem o privilégio manage_layouts.
Adicionar seção
/api/v1/admin/editor/draft/{layoutId}/sectionAdminAdiciona uma seção a partir de um modelo
Cria uma seção com a config padrão do modelo (veja Listar modelos de seção) e a insere no contêiner. Se o contêiner não existir no rascunho, ele é criado. Se o layout ainda não tiver rascunho, um é criado a partir da página publicada antes da inserção.
Parâmetros de caminho
layoutIdintegerobrigatórioCorpo da requisição
template_slugstringobrigatórioslug do modelo (hero-banner).container_idstringpadrão: contentid ou position do contêiner de destino.positionintegerpadrão: 00 insere no topo.Exemplo de requisição
A resposta tem o formato descrito em Rascunho e publicação. Os sort_order das seções do contêiner são renumerados de 0 em diante.
Remover seção
/api/v1/admin/editor/draft/{layoutId}/section/{sectionId}AdminRemove uma seção do rascunho
Parâmetros de caminho
layoutIdintegerobrigatóriosectionIdstringobrigatóriosections[].id).Parâmetros de consulta
container_idstringid ou position do contêiner, para procurar só nele. Sem ele, procura em todos.A resposta 200 é o rascunho atualizado.
Reordenar seções
/api/v1/admin/editor/draft/{layoutId}/reorderAdminReordena as seções de um contêiner
A nova ordem é a da lista section_ids. Seções do contêiner que você não listar vão para o fim, em ordem não definida. Um id que não existe no contêiner causa erro. Se o contêiner não existir no rascunho, nada muda e a resposta é 200 mesmo assim.
Parâmetros de caminho
layoutIdintegerobrigatórioCorpo da requisição
container_idstringobrigatórioid ou position do contêiner.section_idsarrayobrigatórioA resposta 200 é o rascunho atualizado.
Configurar seção
/api/v1/admin/editor/draft/{layoutId}/section/{sectionId}/configAdminAltera opções, nome, visibilidade ou CSS de uma seção
Alteração parcial. O config é mesclado: as chaves enviadas são gravadas e as demais ficam como estavam.
Parâmetros de caminho
layoutIdintegerobrigatóriosectionIdstringobrigatórioCorpo da requisição
configobjectschema do modelo).namestringvisiblebooleanfalse oculta a seção (publicada como bloco desativado).custom_cssstringcontainer_idstringid ou position do contêiner, para procurar a seção só nele.A resposta 200 é o rascunho atualizado.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | layoutId que não é inteiro; corpo inválido; template_slug ausente (adicionar); container_id ausente (reordenar) | {"error":"template_slug is required"} ou {"error":"container_id is required"} |
| 401 | Sem token ou token expirado | {"error":"missing authorization header"} |
| 403 | Sem o privilégio manage_layouts | {"error":"insufficient privileges","required":"manage_layouts"} |
| 500 | Modelo inexistente; sem rascunho (remover, reordenar, configurar); seção não encontrada | {"error":"failed to add section","detail":"section template 'x' not found"} ou {"error":"failed to remove section","detail":"section abc not found in draft"} |