Layouts simples
Os layouts planos (lista de blocos por tipo de página) e como eles se diferenciam do layout avançado e do editor visual.
Um layout define quais blocos aparecem numa página da vitrine (logo, busca, vitrine de produtos, texto, rodapé...) e em que zona. Esta seção documenta o layout simples: um registro com uma lista plana de blocos guardada como JSON, criado para um tipo de página (homepage, product, category, vendor ou custom). É o modelo mais antigo da plataforma.
Como funciona
- Crie o layout
POST /api/v1/admin/layoutscomnamee, se quiser,page_typee a lista inicial deblocks. - Monte os blocosAdicione, edite, remova e reordene blocos pelas rotas de blocos, ou substitua a lista inteira com
PUT /api/v1/admin/layouts/{id}. - Marque como padrãoUse definir padrão para que seja o layout do tipo de página.
Conceitos-chave
Tipos de página
page_type | Página |
|---|---|
homepage | Página inicial. Valor usado quando você não informa nenhum na criação. |
product | Página de produto. |
category | Página de categoria. |
vendor | Página do vendedor (seller, o lojista de um marketplace). |
custom | Página personalizada. |
Blocos e zonas
Um bloco tem type (o que ele é: logo, search_bar, text_html, recent_products, hero_banner...), position (a zona: header, main_top, main, main_bottom, sidebar_left, sidebar_right ou footer), order (a ordem dentro da zona, a partir de 0), title, config (objeto livre com as opções do bloco) e visible. As ordens são renumeradas em sequência 0, 1, 2 dentro de cada zona sempre que você remove ou reordena blocos.
Layout avançado: onde estão os blocos de verdade
Se você chamar uma destas rotas de bloco com o id de um layout avançado (o id da tela /admin/layouts/{id}/edit do painel), recebe 404 com a explicação e a rota equivalente do layout avançado.
Endpoints
| Método | Caminho | Para que serve | Auth |
|---|---|---|---|
| GET | /api/v1/admin/layouts | Listar layouts | admin |
| POST | /api/v1/admin/layouts | Criar layout | admin |
| GET | /api/v1/admin/layouts/{id} | Consultar layout | admin |
| PUT | /api/v1/admin/layouts/{id} | Alterar layout | admin |
| DELETE | /api/v1/admin/layouts/{id} | Excluir layout | admin |
| POST | /api/v1/admin/layouts/{id}/blocks | Adicionar bloco | admin |
| PUT | /api/v1/admin/layouts/{id}/blocks/{blockId} | Alterar bloco | admin |
| DELETE | /api/v1/admin/layouts/{id}/blocks/{blockId} | Remover bloco | admin |
| POST | /api/v1/admin/layouts/{id}/blocks/reorder | Reordenar blocos | admin |
| POST | /api/v1/admin/layouts/{id}/clone | Duplicar layout | admin |
| POST | /api/v1/admin/layouts/{id}/set-default | Definir padrão | admin |
Erros comuns
- Achar que mudar o layout simples muda a loja. Não muda: veja o aviso acima.
- Usar o id do editor visual (ou de um layout avançado) aqui. Retorna 404 em consultar e nas rotas de bloco; em alterar, excluir, duplicar e definir padrão o erro vem como 500.
- Enviar
blocksnoPUTachando que é parcial. O campoblockssubstitui a lista inteira. PUTsem nenhum campo. Retorna 500no fields to update.- Mandar
idnão numérico. Retorna 400invalid layout id. - Esperar lista vazia como
[]. Quando nada atende ao filtro a lista vem como"layouts": null.