Listar e consultar banners
Lista os banners com filtros, consulta um banner e lê os canais de exibição disponíveis.
Listar banners
Devolve todos os banners, inclusive os inativos e os de sellers, sem paginação. Use os filtros para separar por canal, dispositivo ou dono.
/api/v1/admin/bannersAdminLista os banners da loja
Rota ligada ao módulo banners: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.
Parâmetros de consulta
searchstringchannelstringsitevenddor_appclient_appdevicestringmobiletabletdesktopvendor_iduuidmarketplace_only.marketplace_onlybooleantrue, 1 ou yes, só banners da loja.Exemplo de requisição (Listar banners)
curl "$BASE_URL/api/v1/admin/banners?channel=site&device=mobile" \
-H "Authorization: Bearer $TOKEN"Resposta (Listar banners)
{
"banners": [
{
"id": "d76f2753-a934-44a7-881f-146aa7438c7b",
"name": "Black Friday 2026",
"image_url": "https://cdn.minhaloja.com.br/banners/bf-2026.png",
"alt_text": "Ofertas de Black Friday",
"position": 0,
"status": "scheduled",
"usergroup_ids": "",
"starts_at": "2026-11-27T00:00:00Z",
"ends_at": "2026-11-30T23:59:59Z",
"target_pages": [],
"target_categories": [],
"created_at": "2026-10-11T21:04:55.045564Z",
"overlay_position": "left",
"type": "G",
"target": "T",
"description": "",
"channels": [
"site"
],
"devices": [
"mobile",
"desktop"
],
"banner_id": "d76f2753-a934-44a7-881f-146aa7438c7b",
"banner": "Black Friday 2026",
"image_path": "https://cdn.minhaloja.com.br/banners/bf-2026.png"
}
],
"total": 1
}Campos da resposta
bannersarrayBanners que atendem ao filtro.
iduuidnamestringimage_urlstringmobile_image_urlstringlink_urlstringalt_textstringpositionintegerstatusstringactive, inactive, scheduled ou hidden.usergroup_idsstringstarts_atstringends_atstringtarget_pagesarraytarget_categoriesarrayvendor_iduuidoverlay_titlestringoverlay_subtitlestringoverlay_button_textstringoverlay_button_urlstringoverlay_text_colorstringoverlay_button_colorstringoverlay_positionstringleftcenterrighttypestringG banner gráfico (imagem) ou T banner de texto.targetstringT abre no mesmo lugar, B abre em nova janela.descriptionstringchannelsarraynull = todos.devicesarraynull = todos.created_atstringtotalintegerErros (Listar banners)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_content","view_content"]} |
| 500 | Falha ao consultar. | {"error":"failed to list banners","detail":"..."} |
Consultar banner
Devolve um banner completo. Com include_descriptions=1 a resposta vira um objeto com o banner e o nome/descrição em cada idioma, útil para montar um editor com abas de idioma.
/api/v1/admin/banners/{id}AdminDevolve um banner pelo id
Rota ligada ao módulo banners: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.
Parâmetros de caminho
iduuidobrigatórioParâmetros de consulta
include_descriptionsstring11, devolve {banner, descriptions} em vez do banner puro.Exemplo de requisição (Consultar banner)
curl "$BASE_URL/api/v1/admin/banners/d76f2753-a934-44a7-881f-146aa7438c7b" \
-H "Authorization: Bearer $TOKEN"Resposta (Consultar banner)
{
"id": "d76f2753-a934-44a7-881f-146aa7438c7b",
"name": "Black Friday 2026",
"image_url": "https://cdn.minhaloja.com.br/banners/bf-2026.png",
"alt_text": "Ofertas de Black Friday",
"position": 0,
"status": "scheduled",
"usergroup_ids": "",
"starts_at": "2026-11-27T00:00:00Z",
"ends_at": "2026-11-30T23:59:59Z",
"target_pages": [],
"target_categories": [],
"created_at": "2026-10-11T21:04:55.045564Z",
"overlay_position": "left",
"type": "G",
"target": "T",
"description": "",
"channels": [
"site"
],
"devices": [
"mobile",
"desktop"
],
"banner_id": "d76f2753-a934-44a7-881f-146aa7438c7b",
"banner": "Black Friday 2026",
"image_path": "https://cdn.minhaloja.com.br/banners/bf-2026.png"
}{
"banner": {
"id": "d76f2753-a934-44a7-881f-146aa7438c7b",
"name": "Black Friday 2026",
"image_url": "https://cdn.minhaloja.com.br/banners/bf-2026.png",
"alt_text": "Ofertas de Black Friday",
"position": 0,
"status": "scheduled",
"usergroup_ids": "",
"starts_at": "2026-11-27T00:00:00Z",
"ends_at": "2026-11-30T23:59:59Z",
"target_pages": [],
"target_categories": [],
"created_at": "2026-10-11T21:04:55.045564Z",
"overlay_position": "left",
"type": "G",
"target": "T",
"description": "",
"channels": [
"site"
],
"devices": [
"mobile",
"desktop"
],
"banner_id": "d76f2753-a934-44a7-881f-146aa7438c7b",
"banner": "Black Friday 2026",
"image_path": "https://cdn.minhaloja.com.br/banners/bf-2026.png"
},
"descriptions": {
"pt-BR": {
"lang_code": "pt-BR",
"name": "Black Friday 2026",
"description": ""
},
"en": {
"lang_code": "en",
"name": "Black Friday 2026",
"description": ""
}
}
}Campos da resposta
iduuidnamestringimage_urlstringmobile_image_urlstringlink_urlstringalt_textstringpositionintegerstatusstringactive, inactive, scheduled ou hidden.usergroup_idsstringstarts_atstringends_atstringtarget_pagesarraytarget_categoriesarrayvendor_iduuidoverlay_titlestringoverlay_subtitlestringoverlay_button_textstringoverlay_button_urlstringoverlay_text_colorstringoverlay_button_colorstringoverlay_positionstringleftcenterrighttypestringG banner gráfico (imagem) ou T banner de texto.targetstringT abre no mesmo lugar, B abre em nova janela.descriptionstringchannelsarraynull = todos.devicesarraynull = todos.created_atstringErros (Consultar banner)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_content","view_content"]} |
| 404 | O id não é um UUID ou não existe banner com ele. | {"error":"banner not found","detail":"id inválido"} |
| 500 | Falha de banco. | {"error":"failed to get banner","detail":"..."} |
Canais de exibição
Um canal é uma superfície digital da plataforma: o site, o app do vendedor, o app do cliente. O formulário de banner lê esta lista para montar as opções, e novos canais entram aqui sem mudar a tela. Use os códigos devolvidos no campo channels ao criar ou alterar um banner.
/api/v1/admin/banners/display-channelsAdminLista os canais em que um banner pode aparecer
Rota ligada ao módulo banners: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.
Exemplo de requisição (Canais de exibição)
curl "$BASE_URL/api/v1/admin/banners/display-channels" \
-H "Authorization: Bearer $TOKEN"Resposta (Canais de exibição)
{
"channels": [
{
"code": "site",
"name": "Site",
"active": true
},
{
"code": "venddor_app",
"name": "Venddor App",
"active": true
},
{
"code": "client_app",
"name": "Client App",
"active": true
}
]
}Campos da resposta
channelsarrayCanais registrados.
codestringchannels.namestringactivebooleanErros (Canais de exibição)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_content","view_content"]} |