VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Editor visual da vitrine

Como o editor visual monta páginas da vitrine com seções prontas, rascunho e publicação, e o mapa das rotas.

O editor visual é a forma de montar a vitrine por seções: blocos prontos (banner, produtos em destaque, texto, newsletter...) que você coloca em contêineres da página, reordena e configura. A API trabalha sempre sobre um rascunho: nada aparece para o cliente até você publicar. Esta seção mostra como ler a página atual, editar o rascunho e publicar. Todas as rotas exigem token de administrador com o privilégio manage_layouts.

Pontos-chave
  • O editor usa o layout avançado da vitrine. O layoutId das rotas é o inteiro devolvido por GET /editor/layout/{pageType} (campo layout_id), não um id de layout simples.
  • Há um rascunho por layout, compartilhado por todos os administradores. Dois editores salvando ao mesmo tempo sobrescrevem um ao outro.
  • As rotas de seção criam o rascunho sozinhas a partir da página publicada, se ele ainda não existir.
  • Publicar reconstrói o conteúdo publicado e apaga o rascunho. Não há desfazer pela API.
  • Seção ocultada (visible: false) é publicada como bloco desativado, não é apagada.

Como funciona

Página publicada→Rascunho→Publicado
  1. Leia a página atual
    GET /api/v1/admin/editor/layout/{pageType} devolve os contêineres e seções publicados, o layout_id e se já existe rascunho (has_draft).
  2. Escolha seções
    GET /api/v1/admin/editor/templates lista as seções prontas, com os campos configuráveis de cada uma.
  3. Edite o rascunho
    Adicione, remova, reordene e configure seções (rotas de seções), ou grave o rascunho inteiro de uma vez (rota de rascunho).
  4. Publique ou descarte
    POST .../publish torna o rascunho a página real. DELETE .../draft/{layoutId} joga o rascunho fora.

Conceitos-chave

Página, contêiner e seção

Uma página tem contêineres (áreas como top_panel, header, content, footer), e cada contêiner tem seções em ordem. Uma seção é uma instância de um modelo de seção (template_slug, por exemplo hero-banner), com sua config (as opções preenchidas) e visible.

O pageType é um "dispatch"

O parâmetro pageType de GET /editor/layout/{pageType} é o nome interno da página: index.index (inicial), products.view (produto), categories.view (categoria), checkout.cart (carrinho), blog.view, search.view, vendors.view e assim por diante. O servidor ecoa o valor que você mandou em page_type, e um valor desconhecido cai no layout da página inicial em vez de dar erro. O apelido homepage também funciona.

Publicar escreve na página padrão do layout

O rascunho é guardado por layout, não por página, e a publicação grava os contêineres na página padrão do layout (a página "catch-all"). Se você leu a página products.view e publicou o rascunho, o conteúdo vai para a página padrão do layout, não para a página de produto. Em lojas cujo layout tem páginas separadas por tipo, confirme na vitrine o efeito antes de publicar e prefira as rotas de advanced-layouts para editar uma página específica.

Identificadores

ItemFormato
layoutIdInteiro (por exemplo 166).
containers[].idTexto. Na página publicada é um número em texto ("14434"); em contêineres criados pelo rascunho é o nome da posição (content). Todas as rotas aceitam o id ou o position do contêiner.
sections[].idTexto: número em texto nas seções publicadas, UUID nas seções criadas no rascunho.
Rascunho idUUID.

Endpoints

MétodoCaminhoPara que serveAuth
GET/api/v1/admin/editor/templatesListar modelos de seçãoadmin
GET/api/v1/admin/editor/layout/{pageType}Ler a página publicadaadmin
GET/api/v1/admin/editor/draft/{layoutId}Ler o rascunhoadmin
POST/api/v1/admin/editor/draft/{layoutId}Gravar o rascunhoadmin
POST/api/v1/admin/editor/draft/{layoutId}/publishPublicar o rascunhoadmin
DELETE/api/v1/admin/editor/draft/{layoutId}Descartar o rascunhoadmin
POST/api/v1/admin/editor/draft/{layoutId}/sectionAdicionar seçãoadmin
DELETE/api/v1/admin/editor/draft/{layoutId}/section/{sectionId}Remover seçãoadmin
PUT/api/v1/admin/editor/draft/{layoutId}/reorderReordenar seçõesadmin
PUT/api/v1/admin/editor/draft/{layoutId}/section/{sectionId}/configConfigurar seçãoadmin

Erros comuns

  • Publicar sem rascunho. Retorna 500 (no draft exists for layout N). Confira has_draft antes.
  • Esquecer o position ao adicionar seção. O valor padrão é 0: a seção entra no topo do contêiner, não no fim.
  • Gravar o rascunho com lista de contêineres incompleta e publicar. Contêineres que não estão no rascunho são apagados da página publicada (se o rascunho tiver ao menos um contêiner).
  • Achar que a edição é por usuário. O rascunho é único por layout: releia antes de gravar.
  • Usar section_ids incompleto no reordenar. Seções que você não listar vão para o fim; id desconhecido gera 500.
  • Mandar só a opção alterada em config esperando substituir tudo. Aqui o config é mesclado chave a chave, diferente dos layouts simples.

Próximos passos

Ler página e modelos
Ponto de partida de qualquer edição.
Rascunho e publicação
Gravar, publicar e descartar.
Seções
Adicionar, remover, reordenar e configurar.
Anterior
Blocos da seção
Próxima
Modelos e página publicada
Nesta página
  • Como funciona
  • Conceitos-chave
  • Página, contêiner e seção
  • O pageType é um "dispatch"
  • Publicar escreve na página padrão do layout
  • Identificadores
  • Endpoints
  • Erros comuns
  • Próximos passos