Menus e Blog
APIs públicas para navegação e conteúdo editorial (blog / artigos). Menus e blogs devem estar publicados na loja para aparecer na vitrine (source: published).
Menus
Cliente SDK
Resposta normalizada:
Hook com cache
Mega menu
Itenstype: "MEGA_MENU" com megaMenu.enabled: true renderizam colunas + destaque:
INTERNAL_LINK, EXTERNAL_LINK, PRODUCT, COLLECTION, CATEGORY, PAGE, BLOG, BLOG_ARTICLE, MEGA_MENU.
Cada item pode ter children. O mapper para em profundidade 8 e descarta ciclo. menus.get('') e getMenu de um handle ausente devolvem null. O header deve mostrar um fallback, como em Header. Para o link, use resolveMenuItemUrl(item). Não monte a URL na mão a partir de resourceId.
Blog / Artigos
Cliente SDK
bodyHtml. Detalhe inclui corpo completo.
Hook
Contexto de página
Preview/editor query params:usePage devolve o contexto da página atual. O texto passado não escolhe outro contexto. Em um template blog, leia blog e articles. Em um template article, leia article. Fora dessas páginas esses campos não vêm preenchidos.
URLs sugeridas na vitrine:
/blogs/{blogHandle}— listagem/blogs/{blogHandle}/articles/{articleHandle}— artigo
Inspector (schema)
O campomenu é estável e guarda o handle. O campo blog é experimental.
bodyHtml quando a API envia. A listagem usa só o resumo, sem corpo. seoTitle e seoDescription também vêm no objeto quando a API envia. Esta página não garante rota publicada nem SSR.