# Consultar atributos por categoria

Consultando os atributos por categorias, será possível identificar aqueles que serão obrigatórios a presença no JSON do produto.

## Como funciona?

Haverá atributos com os seguintes tipos:

* <mark style="color:green;">Text</mark>&#x20;
* <mark style="color:green;">Multi-Line Text</mark>&#x20;
* <mark style="color:green;">Number</mark>&#x20;
* <mark style="color:green;">Indexed Text</mark>&#x20;
* <mark style="color:green;">Indexed Multi-Line Text</mark>
* <mark style="color:red;">Combo</mark>&#x20;
* <mark style="color:red;">Radio</mark>&#x20;
* <mark style="color:red;">Checkbox</mark>&#x20;

Atributos em verde são conhecidos como "atributos de preenchimento livre", já os atributos em vermelho vão precisar seguir um padrão já determinado pela Americanas.

Isso significa que ao criar um produto na Americanas, será necessário identificar o tipo do atributo. Sendo um atributo de preenchimento livre, haverá a possibilidade de ser enviado um texto livre no atributo, já os atributos "combo, radio e checkbox", serão preenchidos com valores já pré-determinados pelo Marketplace.

Detalharemos mais na documentação de [**Criação de Produtos**](/produtos/criacao-de-produto.md).<br>

## GET - Consultar atributos por Categoria

```
https://api.skyhub.com.br/categories/{id}/attributes
```

{% hint style="info" %}
Atributos ajudam na filtragem e visibilidade do produto no e-commerce, além de serem essenciais para a integração com o marketplace. Porém, não serão todos os atributos de categorias obrigatórios, será necessário atentar-se ao valor do atributo **required**.
{% endhint %}

{% hint style="warning" %}
A consulta de atributos por categoria retornará um campo chamado "**toSKU**", onde este define se o atributo deve ser enviado no produto ***PAI*** ou na sua ***variação***.\
\
Caso o "**toSKU**" seja <mark style="color:orange;">false</mark>, o atributo deve ser enviado nas especificações do produto pai. Caso <mark style="color:green;">true</mark>, deverá ser enviado nas especificações do produto filho.\
\
Porém, se por acaso o "**toSKU**" seja <mark style="color:green;">true</mark> e o produto se tratar de um produto simples, o atributo deverá ser enviado no "**specifications"** do produto normalmente.
{% endhint %}

#### Request headers:

<table><thead><tr><th>Key</th><th width="398">Value</th></tr></thead><tbody><tr><td>X-User-Email</td><td>email_de_usuario</td></tr><tr><td>X-Api-Key</td><td>token_de_integracao de sua conta SkyHub</td></tr><tr><td>X-Accountmanager-key</td><td>token_account único de cada Plataforma/ERP</td></tr><tr><td>Accept</td><td>application/json</td></tr><tr><td>Content-Type</td><td>application/json</td></tr></tbody></table>

#### **Estrutura de resposta:**

```
[
  {
    "marketplace": "string",
    "id": "string", // id do atributo
    "name": "string",
    "group": "string",
    "groupId": "string",
    "type": "string", // tipo do atributo
    "typeId": "string", 
    "toSKU": "boolean", // define se o atributo deve ser enviado no PAI ou Variação
    "variant": "boolean",
    "binary": "boolean",
    "active": "boolean",
    "required": "boolean",
    "valueData": []
  }
]
```

#### **Example request:**

```
curl --location -g --request GET 'https://api.skyhub.com.br/categories/55/attributes' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
```

#### **Response esperado:**

{% hint style="success" %}
200 \[Success] - OK: Haverá um response body com os atributos da categoria:
{% endhint %}

```
// Atributo de preenchimento Livre

[
  {
    "marketplace": "TALD00776574000660",
    "id": "22066",
    "name": "Cor",
    "group": "Especificações - Caixas e embalagens para delivery",
    "groupId": "15401",
    "type": "Texto",
    "typeId": "1",
    "toSKU": false,
    "variant": false,
    "binary": false,
    "active": true,
    "required": false,
    "valueData": []
  }
]
```

```
// Atributo com valores pré-determinados

[
  {
    "marketplace": "TALD00776574000660",
    "id": "28966",
    "name": "É kit",
    "group": "Especificações - Agro, indústria e comércio",
    "groupId": "19785",
    "type": "Radio",
    "typeId": "6",
    "toSKU": false,
    "variant": false,
    "binary": false,
    "active": true,
    "required": false,
    "valueData": [
      {
        "id": "49068",
        "value": "Sim",
        "descriptionValue": "Sim",
        "name": "Sim",
        "code": "49068",
        "active": true
      },
      {
        "id": "49069",
        "value": "Não",
        "descriptionValue": "Não",
        "name": "Não",
        "code": "49069",
        "active": true
      }
    ]
  }
]
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://desenvolvedores.skyhub.com.br/produtos/categorizacao/consultar-atributos-por-categoria.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
