Categorias de Produtos
Visão Geral
As categorias são responsáveis por organizar os produtos dentro da loja, criando uma estrutura hierárquica que facilita a navegação do catálogo 🗂️.
Elas permitem agrupar produtos por tipo, finalidade ou segmento, como por exemplo:
Eletrônicos
- Celulares
- Notebooks
- Móveis
- Iluminação
- Categoria (Category) Representa a estrutura organizacional utilizada para agrupar produtos.
- Produto (Product) Produtos são vinculados às categorias para definir onde serão exibidos no catálogo.
- Filtros (Filters) Filtros podem ser associados a categorias, determinando quais opções de filtragem estarão disponíveis para os produtos daquela categoria.
- Política Comercial (Trade Policy) Algumas configurações de categorias podem variar conforme a política comercial aplicada.
- Categorias podem possuir estrutura hierárquica, formando árvores de categorias.
- Cada categoria pode possuir categorias pai e categorias filhas.
- A organização correta das categorias melhora a navegação e descoberta de produtos dentro da loja.
- Algumas configurações podem variar conforme a política comercial utilizada ⚙️.
Casa e Decoração
No contexto administrativo, o lojista pode criar, atualizar, organizar e remover categorias, garantindo que a estrutura do catálogo reflita corretamente a organização desejada.
As categorias também podem possuir diferentes configurações dependendo da política comercial, permitindo comportamentos específicos conforme a regra aplicada.
Entidades Envolvidas
Notas e Considerações
Listagem de categorias
/products/categories
Permite que o lojista veja uma lista das categorias cadastradas na loja
Descrição
Endpoint responsável por retornar uma lista de categorias cadastradas na loja 📋.
Atua em contexto administrativo, permitindo que o lojista visualize as categorias disponíveis no sistema.
Por meio desse endpoint, é possível consultar as categorias que podem ser configuradas, facilitando o gerenciamento e a organização do catálogo dentro do painel administrativo ⚙️.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {userToken} | Token de autenticação |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| description | Carrega a descrição das categorias |
| bannerGroups | Carrega os grupos de banners vinculados às categorias |
| linkedTradePolicies | Carrega as políticas comerciais associada às categorias |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| code | string |
| name | string | Nome definido à categoria |
|---|---|---|
| directAccess | boolean | Determina se a categoria pode ser acessada diretamente ou se atua apenas para montar a hierarquia |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| id | Identificador da categoria |
| name | Ordenação pelo nome da categoria |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/categories \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "fields": [6 "description",7 "bannerGroups",8 "linkedTradePolicies"9 ]10 }'✅ Resposta de Sucesso
1{2 "registers": [3 {4 "id": 1,5 "parentProductCategoryId": null,6 "code": "categoria-1",7 "name": "Smartphones",8 "productOrdering": "",9 "active": true,10 "directAccess": true,11 "bannerGroups": [],12 "createdAt": "2025-07-25 12:28:03",13 "updatedAt": "2025-07-25 12:28:03",14 "tree": null,15 "filters": [],16 "url": "smartphones",17 "urls": [],18 "linkedTradePolicies": [19 120 ],21 "description": {22 "id": 1,23 "tradePolicyId": 1,24 "name": "Smartphones",25 "shortDescription": "",26 "videoUrl": "",27 "searchDescription": "",28 "description": null,29 "customDescription1": null,30 "customDescription2": null,31 "customDescription3": null,32 "measureTable": null,33 "seoTitle": "Smartphones | TechBrand",34 "seoDescription": null,35 "seoKeywords": "",36 "seoCanonical": "",37 "seoSocialTitle": "Smartphones | TechBrand",38 "seoSocialDescription": null,39 "seoTwitterImageUrl": "",40 "seoGraphImageUrl": "",41 "seoGoogleCategoryId": 0,42 "seoIndexOnGoogle": false,43 "seoGoogleCondition": "",44 "seoGoogleAgeGroup": "",45 "seoGoogleGender": "",46 "seoStructuredData": null,47 "productId": null,48 "productCategoryId": 1,49 "productBrandId": null,50 "productPageId": null51 }52 }53 ],54 "pagination": {55 "limit": 10,56 "offset": 0,57 "pages": 1,58 "registers": 1059 }60}Listagem de categorias por política comercial
/products/categories/trade-policy/{tradePolicyId}
Permite que o lojista veja uma lista das categorias cadastradas na loja
Descrição
Endpoint responsável por retornar uma lista de categorias cadastradas na loja por política comercial 📋.
Atua em contexto administrativo, permitindo que o lojista visualize as categorias disponíveis dentro de uma política comercial específica.
Por meio desse endpoint, é possível consultar as categorias que podem ser configuradas naquela política, facilitando o gerenciamento e a personalização do catálogo conforme as regras da política comercial.
Dessa forma, a listagem respeita as configurações aplicadas à política informada, garantindo que as categorias retornadas reflitam exatamente o comportamento definido para aquele contexto ⚙️.
Parâmetros
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 |
|---|---|---|---|
| tradePolicyId | integer | Sim | Identificador da política comercial associada |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| description | Carrega a descrição das categorias |
| bannerGroups | Carrega os grupos de banners vinculados às categorias |
| linkedTradePolicies | Carrega as políticas comerciais associada às categorias |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| code | string |
| name | string | Nome definido à categoria |
|---|---|---|
| directAccess | boolean | Determina se a categoria pode ser acessada diretamente ou se atua apenas para montar a hierarquia |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| id | Identificador da categoria |
| name | Ordenação pelo nome da categoria |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/categories/trade-policy/{tradePolicyId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "fields": [6 "description",7 "bannerGroups",8 "linkedTradePolicies"9 ]10 }'✅ Resposta de Sucesso
1{2 "registers": [3 {4 "id": 1,5 "parentProductCategoryId": null,6 "code": "categoria-1",7 "name": "Smartphones",8 "productOrdering": "",9 "active": true,10 "directAccess": true,11 "bannerGroups": [],12 "createdAt": "2025-07-25 12:28:03",13 "updatedAt": "2025-07-25 12:28:03",14 "tree": null,15 "filters": [],16 "url": "smartphones",17 "urls": [],18 "linkedTradePolicies": [19 120 ],21 "description": {22 "id": 1,23 "tradePolicyId": 1,24 "name": "Smartphones",25 "shortDescription": "",26 "videoUrl": "",27 "searchDescription": "",28 "description": null,29 "customDescription1": null,30 "customDescription2": null,31 "customDescription3": null,32 "measureTable": null,33 "seoTitle": "Smartphones | TechBrand",34 "seoDescription": null,35 "seoKeywords": "",36 "seoCanonical": "",37 "seoSocialTitle": "Smartphones | TechBrand",38 "seoSocialDescription": null,39 "seoTwitterImageUrl": "",40 "seoGraphImageUrl": "",41 "seoGoogleCategoryId": 0,42 "seoIndexOnGoogle": false,43 "seoGoogleCondition": "",44 "seoGoogleAgeGroup": "",45 "seoGoogleGender": "",46 "seoStructuredData": null,47 "productId": null,48 "productCategoryId": 1,49 "productBrandId": null,50 "productPageId": null51 }52 }53 ],54 "pagination": {55 "limit": 10,56 "offset": 0,57 "pages": 1,58 "registers": 1059 }60}Listagem de todas as categorias
/products/categories/all
Listagem simples de todas as categorias
Descrição
Endpoint responsável por retornar uma lista simples de todas as categorias da loja 📋.
Atua principalmente como suporte para interfaces do painel administrativo, sendo utilizado pelo frontend para popular componentes de seleção.
Por meio desse endpoint, é possível obter uma listagem simplificada das categorias, facilitando o uso em selects, filtros e controles de categorias dentro do painel.
Essa abordagem torna o carregamento mais leve e eficiente, já que retorna apenas as informações essenciais necessárias para a interface ⚡.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {userToken} | Token de autenticação |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/categories/all \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \✅ Resposta de Sucesso
1{2 "1": "musica",3 "2": "tecnologia",4 "3": "roupa",5 "4": "nutrição",6 "5": "smartphone",7 "6": "computadores",8 "7": "processador"9}Busca detalhes de uma categoria
/products/categories/{categoryId}
Possibilita o lojista de ver detalhes de uma categoria
Descrição
Endpoint responsável por retornar os detalhes de uma categoria específica 🔎.
Por meio dele, o lojista pode visualizar todas as informações cadastradas da categoria, incluindo seus dados e configurações atuais.
Esse endpoint também permite analisar e ajustar a estrutura da categoria conforme necessário, garantindo que sua organização e exibição estejam alinhadas à estratégia da loja.
Com isso, o lojista consegue gerenciar e configurar a categoria de forma mais precisa dentro do catálogo 🗂️.
Parâmetros
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 |
|---|---|---|---|
| categoryId | integer | Sim | Identificador da categoria que deve ser buscada |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| tree | Carrega arvore da categoria atual |
| filters | Carrega todos os filtros aplicáveis na categoria |
| linkedUrls | Carrega as políticas comerciais associadas |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/categories/{categoryId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "fields": [6 "tree"7 "filters"8 "linkedUrls"9 ]10 }'✅ Resposta de Sucesso
1{2 "id": 1,3 "parentProductCategoryId": null,4 "code": "categoria-1",5 "name": "smartphones",6 "productOrdering": "",7 "active": true,8 "directAccess": true,9 "bannerGroups": [],10 "createdAt": "2025-07-25 12:28:03",11 "updatedAt": "2025-07-25 12:28:03",12 "tree": {13 "current": null,14 "children": [],15 "sisters": [],16 "parent": []17 },18 "filters": [],19 "url": "smartphone",20 "urls": [],21 "linkedTradePolicies": [22 123 ],24 "description": {25 "id": 1,26 "tradePolicyId": 1,27 "name": "smartphone",28 "shortDescription": "",29 "videoUrl": "",30 "searchDescription": "Encontre Smartphones aqui na TechBrand por excelentes preços e condições. Loja especializada em equipamentos de alta tecnologia.",31 "description": null,32 "customDescription1": null,33 "customDescription2": null,34 "customDescription3": null,35 "measureTable": null,36 "seoTitle": "Compre Smartphones Por Excelentes Preços | TechBrand",37 "seoDescription": null,38 "seoKeywords": "",39 "seoCanonical": "",40 "seoSocialTitle": "Compre Smartphones Por Excelentes Preços | TechBrand",41 "seoSocialDescription": null,42 "seoTwitterImageUrl": "",43 "seoGraphImageUrl": "",44 "seoGoogleCategoryId": 0,45 "seoIndexOnGoogle": false,46 "seoGoogleCondition": "",47 "seoGoogleAgeGroup": "",48 "seoGoogleGender": "",49 "seoStructuredData": null,50 "productId": null,51 "productCategoryId": 2,52 "productBrandId": null,53 "productPageId": null54 }55}⚠️ 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_STORE_CATEGORY_NOT_FOUND | 404 | A categoria solicitada não foi encontrada. |
| UAPPI_STORE_FILTER_NOT_FOUND | 404 | O filtro solicitado não foi encontrado. |
Busca categoria por política comercial
/products/categories/{categoryId}/trade-policy/{tradePolicyId}
Possibilita o lojista de ver detalhes de uma categoria
Descrição
Endpoint responsável por retornar os detalhes de uma categoria específica por política comercial 🔎.Atua em contexto administrativo, sendo utilizado pelo lojista para acessar informações completas da categoria.
Por meio desse endpoint, é possível visualizar todos os dados cadastrados, incluindo configurações e informações complementares.
Também permite consultar relacionamentos vinculados à categoria, facilitando o gerenciamento e a tomada de decisões dentro do painel administrativo.
No contexto de política comercial, a categoria pode apresentar configurações e comportamentos distintos conforme a política aplicada.
Dessa forma, ao realizar a busca considerando uma política comercial específica, a categoria será retornada exatamente conforme configurada para aquela política, respeitando suas regras e particularidades ⚙️.
Parâmetros
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 |
|---|---|---|---|
| categoryId | integer | Sim | Identificador da categoria que deve ser buscada |
| tradePolicyId | integer | Sim | Identificador da política comercial associada |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| tree | Carrega arvore da categoria atual |
| filters | Carrega todos os filtros aplicáveis na categoria |
| linkedUrls | Carrega as políticas comerciais associadas |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/categories/{categoryId}/trade-policy/{tradePolicyId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "fields": [6 "tree"7 "filters"8 "linkedUrls"9 ]10 }'✅ Resposta de Sucesso
1{2 "id": 1,3 "parentProductCategoryId": null,4 "code": "categoria-1",5 "name": "smartphones",6 "productOrdering": "",7 "active": true,8 "directAccess": true,9 "bannerGroups": [],10 "createdAt": "2025-07-25 12:28:03",11 "updatedAt": "2025-07-25 12:28:03",12 "tree": {13 "current": null,14 "children": [],15 "sisters": [],16 "parent": []17 },18 "filters": [],19 "url": "smartphone",20 "urls": [],21 "linkedTradePolicies": [22 123 ],24 "description": {25 "id": 1,26 "tradePolicyId": 1,27 "name": "smartphone",28 "shortDescription": "",29 "videoUrl": "",30 "searchDescription": "Encontre Smartphones aqui na TechBrand por excelentes preços e condições. Loja especializada em equipamentos de alta tecnologia.",31 "description": null,32 "customDescription1": null,33 "customDescription2": null,34 "customDescription3": null,35 "measureTable": null,36 "seoTitle": "Compre Smartphones Por Excelentes Preços | TechBrand",37 "seoDescription": null,38 "seoKeywords": "",39 "seoCanonical": "",40 "seoSocialTitle": "Compre Smartphones Por Excelentes Preços | TechBrand",41 "seoSocialDescription": null,42 "seoTwitterImageUrl": "",43 "seoGraphImageUrl": "",44 "seoGoogleCategoryId": 0,45 "seoIndexOnGoogle": false,46 "seoGoogleCondition": "",47 "seoGoogleAgeGroup": "",48 "seoGoogleGender": "",49 "seoStructuredData": null,50 "productId": null,51 "productCategoryId": 2,52 "productBrandId": null,53 "productPageId": null54 }55}⚠️ 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_STORE_CATEGORY_NOT_FOUND | 404 | A categoria solicitada não foi encontrada. |
| UAPPI_STORE_FILTER_NOT_FOUND | 404 | O filtro solicitado não foi encontrado. |
Cadastro de Categoria
/products/categories
Permite ao lojista cadastrar categorias para loja e organizar seus produtos
Descrição
Endpoint responsável por permitir que o lojista cadastre categorias 🗂️.
As categorias são utilizadas para organizar produtos em grupos relacionados, facilitando a navegação e a descoberta de itens dentro da loja.
Essa estrutura permite criar seções bem definidas no catálogo, ajudando clientes a localizar produtos de forma mais intuitiva.
Além disso, as categorias podem ser utilizadas em menus, filtros e listagens, contribuindo para uma exibição mais coerente e estruturada dos produtos.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| parentProductCategoryId | integer | ❌ | Determina a hierarquia da categoria atual definindo uma categoria pai |
| code | string | ❌ | Código de identificação interno da categoria |
| name | string | ✅ | Nome da nova categoria |
| active | boolean | ✅ | Status de ativação |
| directAccess | boolean | ✅ | Determina se a categoria pode ter acesso direto ou se serve como agrupador |
| tradePolicies | array | ❌ | Lista de políticas comerciais associadas |
| tradePolicies.* | integer | ✅ | Identificador da política comercial |
Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/products/categories \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "parentProductCategoryId": 16 "code": "category-2"7 "name": "smartphones"8 "active": true9 "directAccess": true10 "tradePolicies": [11 1, 2, 312 ]13 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "id": 1,3 "parentProductCategoryId": "1",4 "code": "category-2",5 "name": "smartphones",6 "productOrdering": "",7 "active": true,8 "directAccess": true,9 "bannerGroups": [],10 "createdAt": "",11 "updatedAt": "",12 "tree": null,13 "filters": [],14 "url": "",15 "urls": [],16 "linkedTradePolicies": [],17 "description": null18}⚠️ 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_TRADE_POLICY_ID | 400 | Os ids de política comercial informados não são permitidos. |
| UAPPI_STORE_CATEGORY_NOT_FOUND | 404 | A categoria solicitada não foi encontrada. |
| UAPPI_STORE_SAME_CATEGORY_PARENT_CATEGORY | 400 | A categoria solicitada e a categoria pai não podem ser a mesma. |
| UAPPI_STORE_DUPLICATED_CATEGORY_CODE | 400 | O código da categoria solicitada já está sendo utilizado. |
Atualização de Categoria
/products/categories/{categoryId}
Permite ao lojista atualizar categorias para loja e organizar seus produtos
Descrição
Endpoint responsável por permitir que o lojista atualize categorias da loja 🗂️.
Atua em contexto administrativo, possibilitando a modificação de informações e configurações relacionadas às categorias.
Por meio desse endpoint, é possível editar dados já cadastrados, garantindo que as categorias reflitam corretamente a organização e as regras definidas para o catálogo.
Dessa forma, o lojista consegue manter o catálogo sempre atualizado, ajustando categorias conforme as necessidades do negócio ⚙️.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| parentProductCategoryId | integer | ❌ | Determina a hierarquia da categoria atual definindo uma categoria pai |
| code | string | ❌ | Código de identificação interno da categoria |
| name | string | ✅ | Nome da nova categoria |
| active | boolean | ✅ | Status de ativação |
| directAccess | boolean | ✅ | Determina se a categoria pode ter acesso direto ou se serve como agrupador |
| tradePolicies | array | ❌ | Lista de políticas comerciais associadas |
| tradePolicies.* | integer | ✅ | Identificador da política comercial |
Exemplo de Requisição
1curl --request PUT \2 --url {{MAIN_URL}}/products/categories/{categoryId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "parentProductCategoryId": 16 "code": "category-2"7 "name": "smartphones"8 "active": true9 "directAccess": true10 "tradePolicies": [11 1, 2, 312 ]13 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "id": 1,3 "parentProductCategoryId": "1",4 "code": "category-2",5 "name": "smartphones",6 "productOrdering": "",7 "active": true,8 "directAccess": true,9 "bannerGroups": [],10 "createdAt": "",11 "updatedAt": "",12 "tree": null,13 "filters": [],14 "url": "",15 "urls": [],16 "linkedTradePolicies": [],17 "description": null18}⚠️ 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_TRADE_POLICY_ID | 400 | Os ids de política comercial informados não são permitidos. |
| UAPPI_STORE_CATEGORY_NOT_FOUND | 404 | A categoria solicitada não foi encontrada. |
| UAPPI_STORE_SAME_CATEGORY_PARENT_CATEGORY | 400 | A categoria solicitada e a categoria pai não podem ser a mesma. |
| UAPPI_STORE_DUPLICATED_CATEGORY_CODE | 400 | O código da categoria solicitada já está sendo utilizado. |
Atualização do vínculo entre categoria e produto
/products/categories/link
Permite que o lojista cadastra ou atualize o vínculo entre produtos e categorias
Descrição
Endpoint responsável por permitir que o lojista vincule produtos às categorias da loja 🔗.
Atua em contexto administrativo, possibilitando a associação entre produtos e as categorias do catálogo.
Por meio desse endpoint, é possível estabelecer e gerenciar vínculos entre categorias e produtos, garantindo que os itens sejam exibidos corretamente dentro da estrutura do catálogo.
Isso facilita a organização e navegação dos produtos, tornando a gestão do catálogo mais clara e eficiente no painel administrativo ⚙️.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| links | array | ✅ | Lista de produtos e categorias que devem ser vinculados ou desvinculados |
| links.*.productId | integer | ✅ | Identificador do produto que deve ser vinculado a uma categoria |
| links.*.mainCategoryId | integer | ❌ | Identificador da categoria que deve ser vinculada como a principal do produto |
| links.*.addCategories | array | ❌ | Lista de categorias que devem ser vinculadas a um produto |
| links..addCategories. | integer | ❌ | Identificador da categoria que deve ser vinculado a um produto |
| links.*.removeCategories | array | ❌ | Lista de categorias que devem ser desvinculadas de um produto |
| links..removeCategories. | integer | ❌ | Identificador da categoria que deve ser desvinculada de um produto |
Exemplo de Requisição
1curl --request PUT \2 --url {{MAIN_URL}}/products/categories/link \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "links": [6 {7 "productId": 1,8 "mainCategoryId": 1,9 "addCategories": [10 211 ],12 "removeCategories": [13 ]14 }15 ]16 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "productId": 1,3 "mainCategoryId": 1,4 "addCategories": [5 26 ],7 "removeCategories": []8}Exclusão de categorias
/products/categories/{categoryId}
Possibilita ao lojista excluir uma categoria
Descrição
Endpoint responsável por permitir a exclusão de categorias cadastradas na loja 🗑️.
Atua em contexto administrativo, possibilitando que o lojista remova categorias que não são mais necessárias no catálogo.
Por meio desse endpoint, é possível excluir categorias indesejadas, ajudando a manter a organização e a consistência da estrutura de categorias.
Dessa forma, o lojista consegue manter o catálogo sempre atualizado, evitando categorias obsoletas ou que não serão mais utilizadas ⚙️.
Parâmetros
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 |
|---|---|---|---|
| categoryId | integer | Sim | Identificador da categoria que deve ser removida |
Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/products/categories/{categoryId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": true4}⚠️ 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_STORE_CATEGORY_NOT_FOUND | 404 | A categoria solicitada não foi encontrada. |
| UAPPI_STORE_CATEGORY_DELETE_CHILDREN | 400 | Para excluir a categoria atual é necessário excluir as categorias filhas. |
| UAPPI_STORE_CATEGORY_DELETE_LINKED_PRODUCTS | 400 | Para excluir a categorial atual é necessário excluir os vínculos com produtos. |