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

Catálogo de blocos

Lista os tipos de bloco disponíveis, o esquema de design compartilhado e as predefinições de seção.

Estas três rotas só leem e devolvem o que um editor precisa para montar seus formulários: quais blocos existem e quais opções cada um aceita, quais controles de estilo (design) valem para todos os blocos, e seções prontas para inserir. Os dados são estáticos e idênticos para todas as lojas.

Tipos de bloco

Devolve todos os tipos de bloco agrupados por categoria. Para cada tipo vêm o nome, a descrição e o esquema de settings: as chaves que você pode enviar em config ao criar ou alterar um bloco, com tipo de campo, valor padrão, opções de seleção e grupo no painel. Textos de name, description e label estão em português.

GET/api/v1/admin/advanced-layouts/block-typesAdmin

Listar os tipos de bloco

Requer o privilégio manage_layouts.

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/admin/advanced-layouts/block-types" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Tipos de bloco
json
{
  "block_types": {
    "basic": [
      {
        "type": "heading",
        "name": "Título",
        "description": "Título independente com tag configurável (H1–H6)...",
        "category": "basic",
        "icon": "type",
        "settings": [
          {
            "key": "text",
            "label": "Texto",
            "type": "text",
            "default": "Section title",
            "required": true,
            "translatable": true,
            "group": "content"
          },
          {
            "key": "tag",
            "label": "Tag HTML",
            "type": "select",
            "default": "h2",
            "options": [
              {
                "value": "h1",
                "label": "H1 (título principal da página)"
              }
            ],
            "required": false,
            "group": "settings"
          }
        ],
        "defaults": {}
      }
    ]
  }
}

Campos da resposta

block_typesobject

Mapa categoria para lista de tipos. Categorias: basic, blog, cart, commerce, content, footer, listing, navigation, product_page, products, social e wa.

typestring
Identificador a enviar em block_type.
namestring
Nome de exibição (pt-BR).
descriptionstring
Descrição curta.
categorystring
Categoria do tipo.
iconstring
Nome do ícone no painel.
settingsarray
Campos de config: key, label, type (text, select, color, url...), default, required, translatable, group e, nos seletores, options[] com value e label.
defaultsobject
Valores iniciais sugeridos para config, quando existem.

Erros

StatusQuandoCorpo de exemplo
401Sem token, token inválido ou expirado.{"error":"invalid or expired token"}
403Seu usuário não tem o privilégio manage_layouts.{"error":"insufficient privileges","required":"manage_layouts"}
A resposta é grande

São mais de 250 tipos (a categoria wa sozinha tem 91, para a Loja WhatsApp). Faça cache no cliente: a lista só muda com uma nova versão da plataforma.

Esquema de design

Devolve o esquema único da aba "Design" que vale para todo bloco, linha, coluna e contêiner: fundo, espaçamento, borda, sombra, tipografia, tamanho, efeitos e posição. Cada campo informa se aceita sobrescrita por breakpoint (responsive). O resultado de um formulário montado com esse esquema é o objeto que você grava em design.

GET/api/v1/admin/advanced-layouts/design-schemaAdmin

Esquema da camada de design

Requer o privilégio manage_layouts.

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/admin/advanced-layouts/design-schema" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Esquema
json
{
  "sections": [
    {
      "key": "background",
      "i18n_key": "designEditor.design.background",
      "fields": [
        {
          "key": "type",
          "i18n_key": "designEditor.design.bgType",
          "type": "select",
          "options": [
            {
              "value": "",
              "label": "designEditor.design.bgNone"
            },
            {
              "value": "color",
              "label": "designEditor.design.bgColor"
            }
          ],
          "responsive": true
        },
        {
          "key": "color",
          "i18n_key": "designEditor.design.color",
          "type": "color_alpha",
          "responsive": true
        }
      ]
    }
  ],
  "card_sections": []
}

Campos da resposta

sectionsarray
Seções do esquema (8). Cada uma tem key, i18n_key e fields[], com key, i18n_key, type, options e responsive.
card_sectionsarray
Esquema adicional do card do produto, usado só pelos blocos de grade.

Erros

StatusQuandoCorpo de exemplo
401Sem token, token inválido ou expirado.{"error":"invalid or expired token"}
403Seu usuário não tem o privilégio manage_layouts.{"error":"insufficient privileges","required":"manage_layouts"}
Rótulos são chaves de tradução

i18n_key e os label das opções são chaves do dicionário do painel, não texto pronto. O objeto gravado em design usa as chaves key (por exemplo design.base.background.color).

Predefinições

Devolve oito seções prontas (linhas, colunas e blocos já configurados): hero_banner, banner_slider, two_col_text, three_col_products, sidebar_content, categories_products, vendor_showcase e newsletter_footer. O servidor não aplica a predefinição: seu cliente cria as linhas, colunas e blocos descritos com as rotas de estrutura.

GET/api/v1/admin/advanced-layouts/presetsAdmin

Listar predefinições de seção

Requer o privilégio manage_layouts.

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/admin/advanced-layouts/presets" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Predefinições
json
{
  "presets": [
    {
      "id": "hero_banner",
      "name": "Hero Banner",
      "description": "Full-width hero image with call-to-action",
      "category": "content",
      "icon": "image",
      "rows": [
        {
          "full_width": true,
          "spacing": "none",
          "columns": [
            {
              "width_desktop": 12,
              "width_tablet": 12,
              "width_mobile": 12,
              "blocks": [
                {
                  "block_type": "hero_banner",
                  "name": "Hero Banner",
                  "config": {
                    "cta_link": "/products",
                    "cta_text": "Shop Now",
                    "subtitle": "Discover amazing products",
                    "title": "Welcome"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Campos da resposta

presetsarray
Predefinições. Cada uma: id, name, description (em inglês), category (content, products, layout, social ou commerce), icon e rows[] com full_width, spacing e columns[] (larguras e blocks[] com block_type, name e config).

Erros

StatusQuandoCorpo de exemplo
401Sem token, token inválido ou expirado.{"error":"invalid or expired token"}
403Seu usuário não tem o privilégio manage_layouts.{"error":"insufficient privileges","required":"manage_layouts"}

Veja também

  • Layouts avançados: visão geral
  • Blocos
Anterior
Blocos
Próxima
Biblioteca de blocos
Nesta página
  • Tipos de bloco
  • Exemplo de requisição
  • Resposta
  • Erros
  • Esquema de design
  • Exemplo de requisição
  • Resposta
  • Erros
  • Predefinições
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também