# 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"
}
```


---

# 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/americanas-fulfillment/faturador/relacionamento-entre-produto-e-regra/produto-variavel.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.
