# 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**](https://desenvolvedores.skyhub.com.br/produtos/criacao-de-produto).<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
      }
    ]
  }
]
```
