Banners
Lista os banners ativos da vitrine, filtrados por página, categoria e grupo de usuário do cliente.
Um banner é uma peça de campanha: uma imagem (ou um texto) com título, botão e link, mostrada no carrossel da home ou no topo de uma categoria. O administrador cadastra os banners e decide onde cada um aparece; esta rota devolve os que valem agora para quem está olhando a loja.
/api/v1/storefront/bannersPúblicaListar os banners ativos
Parâmetros de consulta
page_slugstringSlug da página em que o banner vai aparecer (por exemplo
home). Só traz banners sem alvo de página ou com esse slug em target_pages. Sem o parâmetro, não filtra por página.category_idstringId da categoria que o cliente está vendo. Só traz banners sem alvo de categoria ou com esse id em
target_categories. A comparação é por texto: um valor desconhecido apenas deixa de casar com os banners que têm alvo.langstringpadrão: pt-BRIdioma do texto dos banners do tipo texto (
description). Também aceita o cabeçalho Accept-Language.Cabeçalhos
AuthorizationstringBearer <access_token> do cliente. Opcional; libera os banners restritos aos grupos dele.Exemplo de requisição
bash
curl "$BASE_URL/api/v1/storefront/banners?page_slug=home"Resposta
200Banners
json
{
"banners": [
{
"id": "a2170eb9-abd0-4398-9dbb-322c868e2fc5",
"name": "Nova Coleção 2026",
"image_url": "/uploads/banner/nova-colecao.png",
"alt_text": "Nova Coleção 2026",
"position": 0,
"status": "active",
"usergroup_ids": "",
"target_pages": [],
"target_categories": [],
"created_at": "2026-09-06T03:43:55Z",
"overlay_title": "Nova coleção",
"overlay_subtitle": "Até 40% de desconto",
"overlay_button_text": "Ver ofertas",
"overlay_button_url": "/c/colecao-2026",
"overlay_text_color": "#ffffff",
"overlay_button_color": "#16a34a",
"overlay_position": "left",
"type": "G",
"target": "T",
"description": "",
"channels": null,
"devices": null
}
],
"total": 1
}Campos da resposta
bannersarrayBanners válidos agora, em ordem de exibição (
position). [] quando não há nenhum.banners[].iduuidId do banner.
banners[].namestringNome interno do banner.
banners[].image_urlstringImagem principal. Caminho relativo à loja ou URL completa. Vazio em banner de texto.
banners[].mobile_image_urlstringArte própria para telas pequenas. Ausente quando o tema deve recortar
image_url.banners[].link_urlstringDestino do clique na imagem. Ausente quando não há.
banners[].alt_textstringTexto alternativo da imagem.
banners[].positionintegerOrdem de exibição.
banners[].statusstringEstado do banner. Aqui sempre
active.banners[].usergroup_idsstringGrupos de usuários que enxergam o banner. Vazio quando é para todos.
banners[].starts_atstringInício da exibição (RFC 3339). Ausente quando não há.
banners[].ends_atstringFim da exibição (RFC 3339). Ausente quando não há.
banners[].target_pagesarraySlugs de página alvo.
[] quer dizer "todas".banners[].target_categoriesarrayIds de categoria alvo.
[] quer dizer "todas".banners[].created_atstringCriação (RFC 3339).
banners[].overlay_titlestringTítulo sobre a imagem. Ausente quando não há.
banners[].overlay_subtitlestringSubtítulo sobre a imagem. Ausente quando não há.
banners[].overlay_button_textstringTexto do botão. Ausente quando não há.
banners[].overlay_button_urlstringDestino do botão. Ausente quando não há.
banners[].overlay_text_colorstringCor do texto, em hexadecimal (
#ffffff).banners[].overlay_button_colorstringCor do botão, em hexadecimal.
banners[].overlay_positionstringleftcenterrightPosição horizontal do texto sobre a imagem.
banners[].typestringGTG banner gráfico (imagem), T banner de texto (usa description).banners[].targetstringTBT abre o link na mesma janela, B em nova janela. Só vale para G.banners[].descriptionstringCorpo HTML do banner de texto, no idioma pedido. Vazio em banner gráfico.
banners[].channelsarrayCanais em que o banner vale.
null é "todos".banners[].devicesarrayDispositivos em que o banner vale.
null é "todos".totalintegerQuantidade de banners na resposta.
A resposta ainda traz apelidos dos campos principais em cada banner: banner_id (igual a id), banner (igual a name), image_path (igual a image_url) e timestamp (criação em Unix timestamp). Não dependa deles em integrações novas.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 403 | O módulo banners está desligado. | {"error":"module_disabled","module":"banners"} |
| 500 | Falha ao consultar. | {"error":"failed to list banners","detail":"..."} |