Documentação de Banners
Visão Geral
O grupo de banners é responsável por organizar e estruturar a exibição de banners na loja 🖼️.
Ele funciona como um agrupador lógico que reúne múltiplos banners dentro de um mesmo contexto de exibição, permitindo que campanhas, destaques e comunicações visuais sejam gerenciados de forma mais organizada.
Cada grupo pode possuir configurações próprias, como títulos, descrições, dimensões recomendadas para imagens em desktop e mobile e um tipo de entidade (type), garantindo consistência visual e organizacional entre os banners que pertencem ao mesmo conjunto.
Além disso, os grupos podem ser vinculados a localizações específicas da loja, permitindo que diferentes conjuntos de banners sejam exibidos em áreas distintas da interface, conforme a estratégia de comunicação.
Tipo do Grupo (type)
O campo type define a qual tipo de entidade os banners do grupo podem se relacionar. Os valores aceitos são:
| Tipo | Descrição |
|---|---|
category | Categoria de produto |
brand | Marca |
page | Pagina institucional |
product | Produto |
showcase | Vitrine |
type, cada banner individual pode ser vinculado diretamente a uma entidade desse tipo atraves dos campos productCategoryId, productBrandId, productPageId, productId ou templateShowcaseId.Entidades Relacionadas
Banners
Os banners representam os elementos visuais exibidos ao cliente final, geralmente compostos por imagens promocionais ou institucionais.
Eles são vinculados a um grupo de banners, que determina o contexto em que serão exibidos na loja.
Cada banner pode possuir configurações como imagem para desktop e mobile, titulo, link de destino e regras de exibicao, alem de vinculos diretos com entidades da loja (categorias, marcas, produtos, paginas e vitrines), permitindo criar comunicacoes visuais adaptadas para diferentes campanhas, dispositivos e contextos.
Relacionamentos de Banner
Os relacionamentos sao gerenciados no nivel do banner individual (nao do grupo). Cada banner pode ser vinculado a entidades especificas da loja atraves do endpoint de vinculo ou diretamente pelos campos de entidade no cadastro/atualizacao do banner.
Localização
Os grupos de banners podem estar vinculados a uma localização específica.
As localizações são gerenciadas pelo frontend e permitem retornar um conjunto de entidades (incluindo grupos de banners) com base no local informado, determinando onde os banners devem ser exibidos na interface da loja.
Para mais informações sobre localizações, clique [aqui]({{ MAIN_URL }}/).
Listagem de grupos de banners
/template/banner-groups/
Retorna lista paginada de grupos de banners
Descrição
Endpoint responsável por listar todos os grupos de banners cadastrados 📑.
A resposta retorna as informações dos grupos disponíveis na loja, permitindo visualização e controle administrativo.
Esse endpoint é útil para gestão, conferência e organização dos grupos de banners, facilitando a manutenção da estrutura de exibição.
Pode ser utilizado em telas administrativas ou integrações que necessitem consultar os grupos existentes no sistema.
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| relationships | Carrega todas as entidades relacionadas ao grupo de banner (categoria, marca, vitrine, produto e página) |
| banners | Carrega todos os banners associados ao grupo |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| name | string | nome do grupo de banner |
| code | string | código de identificação do grupo |
| bannerGroupId | integer | Identificador do grupo |
| locationId | string | identificador da localização do banner |
| salesChannelId | integer | identificador do canal de venda a que o grupo pertence |
| bannerItemName | string | filtra grupos pelo nome dos banners associados |
| linkType | string | tipo do vínculo |
| active | boolean | status de ativação do grupo |
| type | string | tipo de entidade do grupo (category, brand, page, product, showcase) |
| productCategoryId | integer | filtra grupos com banners vinculados à categoria informada |
| productBrandId | integer | filtra grupos com banners vinculados à marca informada |
| productPageId | integer | filtra grupos com banners vinculados à página informada |
| productId | integer | filtra grupos com banners vinculados ao produto informado |
| templateShowcaseId | integer | filtra grupos com banners vinculados à vitrine informada |
| createdAt | string | data de cadastro do grupo |
| updatedAt | string | data de última atualização do grupo |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| bannerGroupId | Identificador do grupo de banner |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/template/banner-groups/ \3 --header "Authorization: Bearer userToken" \✅ Resposta de Sucesso
1{2 {3 "id": 1,4 "salesChannelId": 1,5 "code": "main-banner",6 "locationId": null,7 "type": null,8 "name": "Banner Principal",9 "title": "Banner Principal",10 "description": "banner teste",11 "desktopWidth": "1366",12 "desktopHeight": "360",13 "mobileWidth": "360",14 "mobileHeight": "360",15 "createdAt": "2025-08-14 13:42:05",16 "updatedAt": "",17 "additionalParameter": [],18 "banners": [],19 "products": [],20 "brands": [],21 "categories": [],22 "showcases": [],23 "pages": []24 }25}Listagem de todos os grupos de banners
/template/banner-groups/all
Listagem de todos os grupos de banners
Descrição
Este endpoint é responsável por listar todos os grupos de banners cadastrados 📋.
A resposta retorna apenas o ID e o nome de cada grupo, mantendo a estrutura simples e leve.
É geralmente utilizado pelo frontend para preencher selects e controlar a seleção de grupos de banners, sem necessidade de carregar detalhes completos.
Ideal para cenários onde é preciso consultar rapidamente os grupos disponíveis, garantindo melhor performance na interface 🚀.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/template/banner-groups/all \3 --header "Authorization: Bearer userToken" \✅ Resposta de Sucesso
1{2 "1": "Banner Principal",3 "2": "Banner Home Promocional",4 "3": "Banner Home institucional",5 "4": "Banner Página Promocional"6}Detalhes de um grupo de banners
/template/banner-groups/{bannerGroupsId}
Busca detalhes de um grupo de banners da loja
Descrição
Endpoint responsável por buscar um grupo de banners específico e retornar seus detalhes e configurações 🔎.
Essas informações permitem gerenciar e auditar a configuração do grupo com maior precisão, garantindo consistência na exibição dos banners na loja.
Parâmetros de Query
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros da URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| bannerGroupsId | integer | Sim | ID único do grupo de banners |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/template/banner-groups/{bannerGroupsId} \3 --header "Authorization: Bearer userToken" \✅ Resposta de Sucesso
1{2 "id": 1,3 "salesChannelId": 1,4 "code": "main-banner",5 "locationId": null,6 "name": "Banner Principal",7 "title": "Banner Principal",8 "description": "Este é o banner principal da minha loja",9 "desktopWidth": "1366",10 "desktopHeight": "360",11 "mobileWidth": "360",12 "mobileHeight": "360",13 "createdAt": "2025-08-14 13:42:05",14 "updatedAt": "",15 "additionalParameter": [],16 "banners": [],17 "products": [],18 "brands": [],19 "categories": [],20 "showcases": [],21 "pages": []22}⚠️ Erro retornado:
1{2 "status": false,3 "data": {4 "code": 404,5 "errorCode": "UAPPI_STORE_BANNER_GROUP_NOT_FOUND",6 "message": "The requested banner group was not found."7 }8}Cadastra um grupo de banners
/template/banner-groups
Cadastra um grupo de banners
Descrição
Este endpoint é responsável por permitir que o lojista crie grupos de banners 🗂️, facilitando a organização e configuração dos banners da loja.
No momento do cadastro, é possível informar o ID da localização à qual o grupo será vinculado.
A localização define onde os banners deverão ser exibidos, ficando o frontend responsável por gerenciar quais grupos aparecem em cada área da plataforma.
É importante destacar que a localização informada será válida apenas se for do tipo banner, garantindo que o grupo seja associado corretamente ao contexto de exibição apropriado ✅.
Veja mais sobre localização aqui
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | O body definirá o item que será cadastrado |
Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
salesChannelId | string | ✅ | Define o canal de venda onde o grupo será criado |
code | boolean | ✅ | Codigo do grupo do banner (max 255 caracteres) |
locationId | string | ❌ | Id da localização onde o banner será associado (max 50 caracteres) |
name | array | ✅ | Nome do grupo que esta sendo criado (max 255 e min 6 caracteres) |
title | integer | ❌ | Titulo do banner que está endo criado (max 255 caracteres) |
description | boolean | ❌ | Descrição do grupo de banner |
type | string | ❌ | Tipo de entidade que os banners do grupo podem referenciar (category, brand, page, product, showcase) |
desktopWidth | integer | ✅ | Tamanho da largura da imagem desktop |
desktopHeight | integer | ✅ | Tamanho da altura da imagem desktop |
mobileWidth | integer | ❌ | Tamanho da largura da imagem mobile |
mobileHeight | integer | ❌ | Tamanho da altura da imagem mobile |
additionalParameter | array | ❌ | Lista de parametros adicionais para complementar o banner com textos, títulos e descrições |
additionalParameter.* | string | ❌ | Texto adicional ao banner |
Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/template/banner-groups \3 --header "Authorization: Bearer userToken" \4 --data '{5 "salesChannelId": 1,6 "code": "home-banners",7 "location": "HOME_BANNER",8 "name": "Grupo de banners da Home",9 "title": "Periféricos de PC e muito mais",10 "description": "Os melhores periféricos de computador você encontra aqui, desde mouse, teclado, headset, microfones, cameras, mousepad e muito mais.",11 "desktopWidth": 1920,12 "desktopHeight": 600,13 "mobileWidth": 375,14 "mobileHeight": 66715 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "id": 1,3 "salesChannelId": 1,4 "code": "banner-menu",5 "locationId": "MENU_JOVANA_BANNER",6 "type": null,7 "name": "Banners da home",8 "title": "Banners da home",9 "description": "Banners",10 "desktopWidth": "2560",11 "desktopHeight": "1080",12 "mobileWidth": "50",13 "mobileHeight": "50",14 "createdAt": "2026-02-26 19:21:17",15 "updatedAt": "",16 "additionalParameter": [],17 "banners": []18}⚠️ Possíveis erros:
Atenção: a seguir estão destacados os principais erros que podem ocorrer neste endpoint.
Os cenários descritos representam os erros mais relevantes do contexto atual, servindo como referência para entendimento e tratamento das falhas.
| Código Interno | Código Http | Descrição |
|---|---|---|
| UAPPI_CORE_INVALID_SALES_CHANNEL_ID | 400 | Os ids de canal de venda solicitados não são permitidos. |
| UAPPI_STORE_TEMPLATE_LOCATION_NOT_FOUND | 404 | A localização solicitada não foi encontrada. |
| UAPPI_STORE_DUPLICATED_BANNER_GROUP_CODE | 400 | O código do grupo de banner requisitado já está sendo utilizado. |
Atualização de um grupo de banners
/template/banner-groups/{bannerGroupId}
Atualização de um grupo de banners
Descrição
Este endpoint é responsável por permitir que o lojista atualize um grupo de banners ✏️.
Por meio dele, é possível editar informações já cadastradas, como nome, descrição, configurações de exibição e demais atributos do grupo.
Essa funcionalidade garante maior flexibilidade na organização dos banners, permitindo ajustes conforme campanhas, épocas do ano ou mudanças estratégicas.
Dessa forma, o lojista mantém os grupos atualizados e alinhados à comunicação da loja 🚀.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | definições para atualizações |
Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros da URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| bannerGroupId | integer | Sim | Id do grupo de banners |
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
salesChannelId | string | ✅ | Define o canal de venda onde o grupo será criado |
code | boolean | ✅ | Codigo do grupo do banner (max 255 caracteres) |
locationId | string | ❌ | Id da localização onde o banner será associado (max 50 caracteres) |
name | array | ✅ | Nome do grupo que esta sendo criado (max 255 e min 6 caracteres) |
title | integer | ❌ | Titulo do banner que está endo criado (max 255 caracteres) |
description | boolean | ❌ | Descrição do grupo de banner |
type | string | ❌ | Tipo de entidade que os banners do grupo podem referenciar (category, brand, page, product, showcase) |
desktopWidth | integer | ✅ | Tamanho da largura da imagem desktop |
desktopHeight | integer | ✅ | Tamanho da altura da imagem desktop |
mobileWidth | integer | ❌ | Tamanho da largura da imagem mobile |
mobileHeight | integer | ❌ | Tamanho da altura da imagem mobile |
additionalParameter | array | ❌ | Lista de parametros adicionais para complementar o banner com textos, títulos e descrições |
additionalParameter.* | string | ❌ | Texto adicional ao banner |
Exemplo de Requisição
1curl --request PUT \2 --url {{MAIN_URL}}/template/banner-groups/{bannerGroupId} \3 --header "Authorization: Bearer userToken" \4 --data '{5 "salesChannelId": 1,6 "code": "home-banners",7 "location": "HOME_BANNER",8 "name": "Grupo de banners da Home",9 "title": "Periféricos de PC e muito mais",10 "description": "Os melhores periféricos de computador você encontra aqui, desde mouse, teclado, headset, microfones, cameras, mousepad e muito mais.",11 "desktopWidth": 1920,12 "desktopHeight": 600,13 "mobileWidth": 375,14 "mobileHeight": 66715 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "id": 1,3 "salesChannelId": 1,4 "code": "banner-home-3216",5 "locationId": "MENU_BANNER",6 "type": null,7 "name": "Banners da home 1",8 "title": "Banners da home",9 "description": "Banners da home",10 "desktopWidth": "2560",11 "desktopHeight": "1080",12 "mobileWidth": "100",13 "mobileHeight": "100",14 "createdAt": "2026-02-26 19:21:17",15 "updatedAt": "",16 "additionalParameter": [],17 "banners": []18}⚠️ Possíveis erros:
Atenção: a seguir estão destacados os principais erros que podem ocorrer neste endpoint.
Os cenários descritos representam os erros mais relevantes do contexto atual, servindo como referência para entendimento e tratamento das falhas.
| Código Interno | Código Http | Descrição |
|---|---|---|
| UAPPI_CORE_INVALID_SALES_CHANNEL_ID | 400 | Os ids de canal de venda solicitados não são permitidos. |
| UAPPI_STORE_BANNER_GROUP_NOT_FOUND | 404 | O grupo de banner solicitado não foi encontrado. |
| UAPPI_STORE_TEMPLATE_LOCATION_NOT_FOUND | 404 | A localização solicitada não foi encontrada. |
| UAPPI_STORE_DUPLICATED_BANNER_GROUP_CODE | 400 | O código do grupo de banner requisitado já está sendo utilizado. |
Vinculo de banners
/template/banner-groups/relationship
Vinculo de banners individuais a outras entidades
Descricao
Este endpoint e responsavel por criar vinculos entre banners individuais e outras entidades da loja.
Os banners devem ser identificados por seus respectivos IDs, sendo necessario informar o vinculo como true ou false, conforme a associacao desejada.
Tambem e obrigatorio definir o tipo de entidade, garantindo que o vinculo seja aplicado corretamente ao contexto configurado.
Esse recurso permite personalizar a exibicao de banners de forma estrategica, associando-os a areas ou conteudos especificos da plataforma.
Entidades que podem ser vinculadas a banners:
- Produto
- Categoria
- Marca
- Pagina
- Vitrine
Parametros
Headers Obrigatorios
| Header | Valor | Descricao |
|---|---|---|
Content-Type | application/json | Tipo de conteudo |
Authorization | Bearer {userToken} | Token de autenticacao |
Parametros do Corpo
| Parametro | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
templateBannerIds | object | Sim | Mapa de banners que devem ser vinculados/desvinculados no formato { "id": true/false } |
templateBannerIds.* | boolean | Sim | Determina se deve ocorrer vinculo (true) ou desvinculo (false) para o banner com o ID informado |
type | string | Sim | Tipo de entidade para o vinculo (product, brand, category, page, showcase) |
templateShowcaseId | integer | Obrigatorio se type = showcase | ID da vitrine |
productId | integer | Obrigatorio se type = product | ID do produto |
brandId | integer | Obrigatorio se type = brand | ID da marca |
categoryId | integer | Obrigatorio se type = category | ID da categoria |
pageId | integer | Obrigatorio se type = page | ID da pagina |
Exemplo de Requisicao
1curl --request PUT \2 --url {{MAIN_URL}}/template/banner-groups/relationship \3 --header "Authorization: Bearer userToken" \4 --data '{5 "templateBannerIds": {6 "10": true,7 "11": true,8 "12": false9 },10 "type": "category",11 "categoryId": 512 }'Resposta de Sucesso
HTTP Status: 200 OK
1[2 {3 "id": 1,4 "templateBannerItemId": 10,5 "productCategoryId": 5,6 "productBrandId": null,7 "productId": null,8 "productPageId": null,9 "templateShowcaseId": null,10 "type": "category",11 "active": true,12 "createdAt": "2026-09-02 12:21:49"13 },14 {15 "id": 2,16 "templateBannerItemId": 11,17 "productCategoryId": 5,18 "productBrandId": null,19 "productId": null,20 "productPageId": null,21 "templateShowcaseId": null,22 "type": "category",23 "active": true,24 "createdAt": "2026-09-02 14:16:56"25 }26]Possiveis erros:
Atencao: a seguir estao destacados os principais erros que podem ocorrer neste endpoint.
| Codigo Interno | Codigo Http | Descricao |
|---|---|---|
| UAPPI_STORE_BANNER_NOT_FOUND | 404 | O banner solicitado nao foi encontrado. |
| UAPPI_STORE_CATEGORY_NOT_FOUND | 404 | A categoria solicitada nao foi encontrada. |
| UAPPI_STORE_BRAND_NOT_FOUND | 404 | A marca solicitada nao foi encontrada. |
| UAPPI_STORE_PRODUCT_NOT_FOUND | 404 | O produto solicitado nao foi encontrado. |
| UAPPI_STORE_SHOWCASE_NOT_FOUND | 404 | A vitrine solicitada nao foi encontrada. |
| UAPPI_STORE_PAGE_NOT_FOUND | 404 | A pagina solicitada nao foi encontrada. |
Excluir um grupo de banner
Endpoint
/template/banner-groups/{bannerGroupId}
Exclui um grupo de banner.
Descrição
Este endpoint é responsável por excluir um grupo de banners, identificado pelo ID informado na URL da API. Após a exclusão, o grupo não ficará mais disponível para consultas ou associações na plataforma.
Parâmetros da URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| bannerGroupId | integer | Sim | ID único do grupo de banner |
Exemplo de Requisição
1curl --request DELETE \2 --url {{MAIN_URL}}/template/banner-groups/{bannerGroupId} \3 --header "Authorization: Bearer userToken" \✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": true4}⚠️ Erro retornado:
1{2 "status": false,3 "data": {4 "code": 404,5 "errorCode": "UAPPI_STORE_BANNER_GROUP_NOT_FOUND",6 "message": "The requested banner group was not found."7 }8}