Skip to content

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:

TipoDescrição
categoryCategoria de produto
brandMarca
pagePagina institucional
productProduto
showcaseVitrine
Quando o grupo possui um 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

GET /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

HeaderValorDescrição
AuthorizationBearer {token}Token de autenticação

Campos Disponíveis (fields)

CampoDescrição
relationshipsCarrega todas as entidades relacionadas ao grupo de banner (categoria, marca, vitrine, produto e página)
bannersCarrega todos os banners associados ao grupo

Campos de Condição Disponíveis

CampoTipoDescrição
namestringnome do grupo de banner
codestringcódigo de identificação do grupo
bannerGroupIdintegerIdentificador do grupo
locationIdstringidentificador da localização do banner
salesChannelIdintegeridentificador do canal de venda a que o grupo pertence
bannerItemNamestringfiltra grupos pelo nome dos banners associados
linkTypestringtipo do vínculo
activebooleanstatus de ativação do grupo
typestringtipo de entidade do grupo (category, brand, page, product, showcase)
productCategoryIdintegerfiltra grupos com banners vinculados à categoria informada
productBrandIdintegerfiltra grupos com banners vinculados à marca informada
productPageIdintegerfiltra grupos com banners vinculados à página informada
productIdintegerfiltra grupos com banners vinculados ao produto informado
templateShowcaseIdintegerfiltra grupos com banners vinculados à vitrine informada
createdAtstringdata de cadastro do grupo
updatedAtstringdata de última atualização do grupo

Campos de Ordenação Disponíveis

CampoDescrição
bannerGroupIdIdentificador 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

GET /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

HeaderValorDescrição
AuthorizationBearer {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

GET /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

HeaderValorDescrição
AuthorizationBearer {userToken}Token de autenticação

Parâmetros da URL

ParâmetroTipoObrigatórioDescrição
bannerGroupsIdintegerSimID ú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

POST /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

HeaderValorDescrição
Content-Typeapplication/jsonO body definirá o item que será cadastrado
AuthorizationBearer {userToken}Token de autenticação

Parâmetros do Corpo

ParâmetroTipoObrigatórioDescrição
salesChannelIdstring✅Define o canal de venda onde o grupo será criado
codeboolean✅Codigo do grupo do banner (max 255 caracteres)
locationIdstring❌Id da localização onde o banner será associado (max 50 caracteres)
namearray✅Nome do grupo que esta sendo criado (max 255 e min 6 caracteres)
titleinteger❌Titulo do banner que está endo criado (max 255 caracteres)
descriptionboolean❌Descrição do grupo de banner
typestring❌Tipo de entidade que os banners do grupo podem referenciar (category, brand, page, product, showcase)
desktopWidthinteger✅Tamanho da largura da imagem desktop
desktopHeightinteger✅Tamanho da altura da imagem desktop
mobileWidthinteger❌Tamanho da largura da imagem mobile
mobileHeightinteger❌Tamanho da altura da imagem mobile
additionalParameterarray❌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": 667
15 }'

✅ 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 InternoCódigo HttpDescrição
UAPPI_CORE_INVALID_SALES_CHANNEL_ID400Os ids de canal de venda solicitados não são permitidos.
UAPPI_STORE_TEMPLATE_LOCATION_NOT_FOUND404A localização solicitada não foi encontrada.
UAPPI_STORE_DUPLICATED_BANNER_GROUP_CODE400O código do grupo de banner requisitado já está sendo utilizado.

Atualização de um grupo de banners

PUT /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

HeaderValorDescrição
Content-Typeapplication/jsondefinições para atualizações
AuthorizationBearer {userToken}Token de autenticação

Parâmetros da URL

ParâmetroTipoObrigatórioDescrição
bannerGroupIdintegerSimId do grupo de banners

Parâmetros do Corpo

ParâmetroTipoObrigatórioDescrição
salesChannelIdstring✅Define o canal de venda onde o grupo será criado
codeboolean✅Codigo do grupo do banner (max 255 caracteres)
locationIdstring❌Id da localização onde o banner será associado (max 50 caracteres)
namearray✅Nome do grupo que esta sendo criado (max 255 e min 6 caracteres)
titleinteger❌Titulo do banner que está endo criado (max 255 caracteres)
descriptionboolean❌Descrição do grupo de banner
typestring❌Tipo de entidade que os banners do grupo podem referenciar (category, brand, page, product, showcase)
desktopWidthinteger✅Tamanho da largura da imagem desktop
desktopHeightinteger✅Tamanho da altura da imagem desktop
mobileWidthinteger❌Tamanho da largura da imagem mobile
mobileHeightinteger❌Tamanho da altura da imagem mobile
additionalParameterarray❌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": 667
15 }'

✅ 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 InternoCódigo HttpDescrição
UAPPI_CORE_INVALID_SALES_CHANNEL_ID400Os ids de canal de venda solicitados não são permitidos.
UAPPI_STORE_BANNER_GROUP_NOT_FOUND404O grupo de banner solicitado não foi encontrado.
UAPPI_STORE_TEMPLATE_LOCATION_NOT_FOUND404A localização solicitada não foi encontrada.
UAPPI_STORE_DUPLICATED_BANNER_GROUP_CODE400O código do grupo de banner requisitado já está sendo utilizado.

Vinculo de banners

PUT /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

HeaderValorDescricao
Content-Typeapplication/jsonTipo de conteudo
AuthorizationBearer {userToken}Token de autenticacao

Parametros do Corpo

ParametroTipoObrigatorioDescricao
templateBannerIdsobjectSimMapa de banners que devem ser vinculados/desvinculados no formato { "id": true/false }
templateBannerIds.*booleanSimDetermina se deve ocorrer vinculo (true) ou desvinculo (false) para o banner com o ID informado
typestringSimTipo de entidade para o vinculo (product, brand, category, page, showcase)
templateShowcaseIdintegerObrigatorio se type = showcaseID da vitrine
productIdintegerObrigatorio se type = productID do produto
brandIdintegerObrigatorio se type = brandID da marca
categoryIdintegerObrigatorio se type = categoryID da categoria
pageIdintegerObrigatorio se type = pageID 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": false
9 },
10 "type": "category",
11 "categoryId": 5
12 }'

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 InternoCodigo HttpDescricao
UAPPI_STORE_BANNER_NOT_FOUND404O banner solicitado nao foi encontrado.
UAPPI_STORE_CATEGORY_NOT_FOUND404A categoria solicitada nao foi encontrada.
UAPPI_STORE_BRAND_NOT_FOUND404A marca solicitada nao foi encontrada.
UAPPI_STORE_PRODUCT_NOT_FOUND404O produto solicitado nao foi encontrado.
UAPPI_STORE_SHOWCASE_NOT_FOUND404A vitrine solicitada nao foi encontrada.
UAPPI_STORE_PAGE_NOT_FOUND404A pagina solicitada nao foi encontrada.

Excluir um grupo de banner

Endpoint

DELETE /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âmetroTipoObrigatórioDescrição
bannerGroupIdintegerSimID ú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": true
4}

⚠️ 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}

Uappi é a melhor opção para o crescimento da sua loja!

;