# Produto Variável

O relacionamento/associação entre uma Regra Tributária e uma variação cadastrada pode ser criado e consultado utilizando a URL base visualizada a seguir:

```
https://api.skyhub.com.br/taxes/{platform}/items/{sku}/rule
```

{% hint style="info" %}
O `{platform}` deve ser preenchido como **b2w**.
{% endhint %}

Tanto para a criação/atualização quanto para a consulta das regras associadas, os headers utilizados são aqueles padronizados na API e visualizados logo abaixo:

#### Request headers:

| Key                  | Value                                       |
| -------------------- | ------------------------------------------- |
| X-User-Email         | email\_de\_usuario                          |
| X-Api-Key            | token\_de\_integracao de sua conta SkyHub   |
| X-Accountmanager-Key | token\_account único de cada Plataforma/ERP |
| Accept               | application/json                            |
| Content-Type         | application/json                            |

## POST - Cadastrando/Atualizando o relacionamento de uma regra ao produto variável

A criação (assim como a atualização) do relacionamento de um produto variável a uma regra existente deve ser realizada através de um POST, utilizando os headers padronizados e descritos acima, para o endpoint base:

```
https://api.skyhub.com.br/taxes/b2w/items/{sku_pai}/rule
```

#### Request body:

```
{
    "variation": "{sku_variacao}",
    "configs": [
        "" // Constantes que quando passadas respresentam 'sim' e quando omitidas, representam 'não'
    ],
    "rules": [
        {
            "id": "{ID_da_regra}"
        },
        {
            "id": "{ID_da_regra}"
        }
    ]
}
```

#### Example request:

```
curl --location --request POST 'https://api.skyhub.com.br/taxes/b2w/items/SKU008/rule' \
--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' \
--data '{
    "variation": "00801",
    "configs": [
        "FABRICANTE" // Config para "característica de fabricante"
    ],
    "rules": [
        {
            "id": "1411"
        }
    ]
}'
```

{% hint style="warning" %}
Note que a URL receberá o SKU pai/agrupador e a variação será referida apenas no corpo da requisição (campo `variation`).&#x20;
{% endhint %}

#### Response esperado:

{% hint style="success" %}
204 \[Success] - No content
{% endhint %}

{% hint style="info" %}
Importante reforçar que após uma regra ser associada a um produto, a mesma não poderá ser removida, apenas sobrescrita.&#x20;
{% endhint %}

## GET - Consultando o relacionamento de uma regra ao produto variável

A consulta do relacionamento se dá através de um GET, utilizando os [headers](#request-headers) padronizados na API, para o endpoint base apresentado no início deste guia. Quando se trata de um produto variável, a consulta do relacionamento/associação deverá obrigatoriamente conter o filtro ***variation***, conforme visualizado a seguir:

```
https://api.skyhub.com.br/taxes/b2w/items/{sku_pai}/rule?variation={sku_variacao}
```

{% hint style="danger" %}
Ao se tratar de um produto variável, caso o filtro ***variation*** não seja aplicado, a consulta retornará status <mark style="color:red;">422</mark>.
{% endhint %}

{% hint style="warning" %}
**Importante**: Não serão retornados os dados de todas as variações de um produto, sendo necessário realizar pesquisas individuais para cada uma delas.
{% endhint %}

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/taxes/b2w/items/SKU008/rule?variation=00801' \
--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: Como retorno, será apresentada a listagem das Regras Tributárias associadas à variação consultada:
{% endhint %}

```
{
    "configs": [
        "FABRICANTE"
    ],
    "filial": "cnpj_cd_direct",
    "rules": [
        {
            "id": "1411"
        }
    ],
    "sku": "00801"
}
```
