Páginas do app
Lista, cria, altera e apaga as páginas de conteúdo que o aplicativo mobile da loja exibe, como a página inicial do app.
O aplicativo mobile da loja não tem layout fixo: ele monta suas telas a partir de páginas do app. Cada página tem um slug (o nome na URL), um título, uma posição e a opção de aparecer na página inicial do app. Dentro da página ficam seções (listas de produtos, de categorias, carrossel de banners) que o app desenha de cima para baixo.
Estas quatro rotas administram a página em si. A leitura pública que o app faz fica na API da vitrine e devolve as seções já preenchidas com os produtos e categorias.
Todas as rotas exigem o módulo mobile-pages ligado (sem ele: 403 module_disabled). Ler exige view_content ou manage_content; criar, alterar e apagar exigem manage_content.
Listar páginas
/api/v1/admin/mobile-pagesAdminListar as páginas ativas do app
Devolve as páginas com status A (ativas), ordenadas por position e depois por data de criação, com as seções de cada uma. Páginas desativadas não aparecem na lista, mas continuam acessíveis pelo id. Sem paginação, sem filtros.
Campos da resposta
pages[].iduuidpages[].page_iduuidid, mantida por compatibilidade.pages[].slugstringpages[].statusstringA é ativa.pages[].positionintegerpages[].show_in_homebooleanpages[].storefront_idstringpages[].titlestringpages[].descriptionstringpages[].sectionsarrayposition. Sempre um vetor, vazio quando não há.pages[].sections[].typestringproduct_list, category_list e banner_carousel recebem content.items preenchido pela plataforma na leitura.pages[].sections[].contentobjectproduct_list: product_ids (lista), category_id ou source: "newest", e limit (1 a 50, padrão 10).pages[].sections[].settingsobject{}.Criar uma página
/api/v1/admin/mobile-pagesAdminCriar uma página do app
Cria a página e devolve o registro criado, com sections vazio.
Corpo da requisição
slugstringobrigatórioofertas).statusstringpadrão: AA.positionintegerpadrão: 0show_in_homebooleanpadrão: falsestorefront_idstringPUT não a altera.titlestringdescriptionstringAlterar uma página
/api/v1/admin/mobile-pages/{id}AdminAlterar uma página do app
Grava de uma vez slug, status, position, show_in_home, title e description. Não é parcial: o que você omitir é gravado como vazio, zero ou falso. Envie sempre a página completa (leia, mude o que precisa, reenvie).
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
slugstringobrigatóriostatusstringobrigatórioA ativa). Qualquer letra diferente de A (por exemplo D) tira a página da lista.positionintegerobrigatórioshow_in_homebooleanobrigatóriotitlestringobrigatóriodescriptionstringA resposta é a página completa, no formato da criação, com as sections atuais. Se o id não existir, o corpo é null com status 200.
Apagar uma página
/api/v1/admin/mobile-pages/{id}AdminApagar uma página do app
Remove a página definitivamente. A operação é idempotente: apagar um id que não existe também responde 200.
Parâmetros de caminho
iduuidobrigatórioErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo inválido. | {"error":"invalid json","detail":"..."} |
| 400 | Criação sem slug. | {"error":"failed to create mobile page","detail":"slug required"} |
| 400 | Criação ou alteração rejeitada pelo banco (por exemplo slug repetido). | {"error":"failed to update mobile page","detail":"..."} |
| 401 | Sem token ou token expirado. | {"error":"invalid or expired token"} |
| 403 | Módulo mobile-pages desligado. | {"error":"module_disabled","module":"mobile-pages"} |
| 403 | Sem o privilégio de conteúdo. | {"error":"insufficient privileges","required":"manage_content"} |
| 500 | Falha ao listar ou apagar. | {"error":"failed to delete mobile page","detail":"..."} |
| 503 | Serviço de páginas indisponível. | {"error":"mobile pages unavailable"} |