Documentação de Atributos
Visão Geral
Os atributos de produto são utilizados para definir características estruturais dos itens da loja 🧩.
Eles representam propriedades como tamanho, cor, material, voltagem, entre outros, sendo fundamentais para a criação de variações de produtos e organização do catálogo.
No contexto administrativo, os atributos são configurados pelo lojista, que define seus tipos e posteriormente seus valores, permitindo que sejam vinculados aos produtos.
Esses atributos possibilitam que um mesmo produto possua múltiplas variações, oferecendo diferentes opções de escolha para o cliente final.
Além disso, podem possuir comportamentos específicos, como suporte a representações visuais (samples), tornando a navegação mais intuitiva.
Entidades Envolvidas
- Atributo (Attribute) Representa a característica principal do produto (ex.: Cor, Tamanho).
- Valor do Atributo (Attribute Value) Define as opções disponíveis para um atributo (ex.: Preto, Branco, Azul).
- Produto (Product) Os produtos são vinculados aos atributos e seus valores, permitindo a criação de variações.
- Mídia de Valor de Atributo Alguns valores podem possuir imagens associadas, servindo como referência visual (ex.: amostras de cor).
- Atributos são a base para geração de variações de produtos.
- A ordem dos valores pode ser controlada manualmente, impactando diretamente na exibição.
- Alguns atributos podem utilizar samples visuais, melhorando a experiência do usuário.
- A correta estruturação dos atributos contribui para organização do catálogo e usabilidade da loja ⚙️.
Notas e Considerações
Listagem de atributos
/products/attributes
Possibilita visualizar uma lista de atributos cadastrados na loja
Descrição
Endpoint responsável por retornar uma lista de atributos cadastrados na loja 🧩.
Atua em contexto administrativo, permitindo que o lojista visualize os atributos disponíveis no sistema.
Por meio desse endpoint, é possível consultar os atributos cadastrados, facilitando o gerenciamento e a organização das variações de produtos no catálogo.
Dessa forma, o lojista consegue ter uma visão geral dos atributos existentes, auxiliando na manutenção e estruturação das opções de variação dos produtos ⚙️.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {userToken} | Token de autenticação |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| value | Carrega valores associados aos atributos |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| displayName | string | Nome de exibição do atributo |
| name | string | Nome interno do atributo |
| includeSample | bool | Determina se o atributo deve ter uma representação visual |
| valueId | integer | Identificador do valor de atributo associado |
| valueImage | string | Imagem do valor de atributo |
| valueOriginalImage | string | Caminho original da imagem do valor de atributo |
| createdAt | string | Data de cadastro do atributo |
| updatedAt | string | Data da última atualização do atributo |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| id | Identificador do atributo |
| displayName | Nome de exibição do atributo |
| name | Nome interno do atributo |
| createdAt | Data de cadastro do atributo |
| updatedAt | Data da última atualização do atributo |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/attributes \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \✅ Resposta de Sucesso
1{2 "registers": [3 {4 "id": 1,5 "name": "Cor",6 "displayName": "Cor",7 "includeSample": false,8 "sampleAsProductImage": false,9 "values": [],10 "createdAt": "2025-02-25 12:11:52",11 "updatedAt": "2025-02-28 12:11:52"12 },13 ],14 "pagination": {15 "limit": 10,16 "offset": 0,17 "pages": 1,18 "registers": 119 }20}Listagem de todos os atributos
/products/attributes/all
Retorna lista simples de todos os atributos cadastrados da loja
Descrição
Endpoint responsável por retornar uma lista simples de todos os atributos cadastrados 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 dos atributos, facilitando o uso em selects, filtros e controles de atributos dentro do painel.
Essa abordagem torna o carregamento mais leve e eficiente, retornando 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/attributes/all \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \✅ Resposta de Sucesso
1{2 [3 {4 "id": 1,5 "name": "Capacidade",6 "displayName": "",7 "includeSample": false,8 "values": [9 {10 "id": 1,11 "label": "20L",12 "image": null,13 "originalImage": null,14 "color": null,15 "order": 016 },17 {18 "id": 2,19 "label": "32L",20 "image": null,21 "originalImage": null,22 "color": null,23 "order": 124 }25 ],26 "createdAt": "",27 "updatedAt": ""28 }, 29 ]30}Busca detalhes de um atributo
/products/attributes/{attributeId}
Possibilita visualização completa de um atributo de produto
Descrição
Endpoint responsável por retornar os detalhes de um atributo de produto 🧩.
Atua em contexto administrativo, permitindo que o lojista visualize todas as informações relacionadas ao atributo.
Por meio desse endpoint, é possível consultar os dados cadastrados e configurações do atributo, facilitando seu gerenciamento no sistema.
Dessa forma, o lojista consegue analisar, ajustar e gerenciar o atributo conforme desejado, garantindo consistência nas variações e na estrutura 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 |
|---|---|---|---|
| attributeId | integer | Sim | Identificador do atributo que deve ser consultado |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/attributes/{attributeId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \✅ Resposta de Sucesso
1{2 "id": 1,3 "name": "Cor",4 "displayName": "Cor",5 "includeSample": false,6 "sampleAsProductImage": false,7 "values": [8 {9 "id": 1,10 "label": "Azul",11 "image": null,12 "originalImage": null,13 "color": "#0000FF",14 "order": 115 }16 ],17 "createdAt": "2025-02-25 12:11:52",18 "updatedAt": "2025-02-28 12:11:52"19}⚠️ Possíveis erros:
1{2 "status": false,3 "data": {4 "code": 404,5 "errorCode": "UAPPI_STORE_ATTRIBUTE_NOT_FOUND",6 "message": "The requested attribute was not found."7 }8}Cadastro de atributos
/products/attributes
Possibilita cadastrar atributos para produtos da loja
Descrição
Endpoint responsável por permitir que o lojista cadastre atributos para os produtos da loja 🧩.
Atua em contexto administrativo, possibilitando a definição de características que serão utilizadas para estruturar variações de produtos.
Por meio desse endpoint, é possível criar atributos e definir seus tipos, permitindo posteriormente o cadastro de valores associados.
Exemplo:
- Atributo: Tamanho Valores: Pequeno, Médio, Grande
- Atributo: Cor
Esses atributos são utilizados para gerar variações de produtos, oferecendo múltiplas opções de escolha para o cliente final.
Dessa forma, o lojista consegue organizar melhor o catálogo e enriquecer a experiência de compra, permitindo combinações como tamanho e cor dentro de um mesmo produto ⚙️.
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 |
|---|---|---|---|
| name | string | ✅ | Nome interno do atributo |
| displayName | string | ✅ | Nome de exibição do atributo (exemplo: Tamanho, Cor, Peso) |
| includeSample | bool | ✅ | Determina se deve exibir demonstração visual do atributo (por exemplo a cor vermelha) |
Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/products/attributes \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "name": "Cor",6 "displayName": "Cor",7 "includeSample": true8 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "id": 1,3 "name": "Cor",4 "displayName": "Cor",5 "includeSample": true,6 "values": [],7 "createdAt": "",8 "updatedAt": ""9}Atualização de atributos
/products/attributes/{attributeId}
Possibilita atualizar atributos cadastrados na loja
Descrição
Endpoint responsável por permitir que o lojista atualize atributos cadastrados na loja 🧩.
Atua em contexto administrativo, possibilitando a edição das informações e configurações dos atributos existentes.
Por meio desse endpoint, é possível alterar dados já cadastrados, como nome, tipo e demais configurações relacionadas ao atributo.
Dessa forma, o lojista consegue manter os atributos sempre atualizados e alinhados com a estrutura do catálogo, garantindo consistência nas variações e opções disponíveis para os 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 da URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| attributeId | integer | Sim | Identificador do atributo que deve ser atualizado |
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| name | string | ✅ | Nome interno do atributo |
| displayName | string | ✅ | Nome de exibição do atributo (exemplo: Tamanho, Cor, Peso) |
| includeSample | bool | ✅ | Determina se deve exibir demonstração visual do atributo (por exemplo a cor vermelha) |
Exemplo de Requisição
1curl --request PUT \2 --url {{MAIN_URL}}/products/attributes/{attributeId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "name": "Cor",6 "displayName": "Cor",7 "includeSample": true8 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "id": 1,3 "name": "Cor",4 "displayName": "Cor",5 "includeSample": true,6 "values": [],7 "createdAt": "",8 "updatedAt": ""9}⚠️ Possíveis erros:
1{2 "status": false,3 "data": {4 "code": 404,5 "errorCode": "UAPPI_STORE_ATTRIBUTE_NOT_FOUND",6 "message": "The requested attribute was not found."7 }8}Exclusão de atributos
/products/attributes/{attributeId}
Possibilita exclusão de atributos indesejados
Descrição
Endpoint responsável por permitir que o lojista exclua atributos cadastrados na loja 🗑️.
Atua em contexto administrativo, possibilitando a remoção de atributos que não são mais necessários no catálogo.
Por meio desse endpoint, é possível excluir atributos indesejados ou obsoletos, ajudando a manter a organização e consistência das variações de produtos.
Dessa forma, o lojista consegue manter o catálogo limpo e atualizado, evitando atributos que não serão mais utilizados ⚙️.
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 da URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| attributeId | integer | Sim | Identificador do atributo que deve ser excluído |
Exemplo de Requisição
1curl --request DELETE \2 --url {{MAIN_URL}}/ \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \✅ Resposta de Sucesso
HTTP Status: 200 OK
1true⚠️ 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_ATTRIBUTE_NOT_FOUND | 404 | O atributo solicitado não foi encontrado. |
| UAPPI_STORE_ATTRIBUTE_HAS_PRODUCT_LINK | 400 | O atributo possui vínculo com um produto. |