> For the complete documentation index, see [llms.txt](https://desenvolvedores.skyhub.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://desenvolvedores.skyhub.com.br/americanas-fulfillment/faturador/regras-fiscais.md).

# Regra Fiscal

A estrutura da Regra Fiscal seguirá campos pré-definidos de acordo com a necessidade do *seller*.&#x20;

Para a criação, atualização e consulta da Regra Fiscal serão utilizados os headers padronizados na API da Americanas e visualizados a seguir:

#### **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                            |

Ainda, todas as ações descritas neste guia utilizarão a URL base:

```
https://api.skyhub.com.br/taxes/{platform}/data
```

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

## POST - Cadastrando/Atualizando uma Regra Fiscal

A criação/atualização de uma Regra Fiscal via API deverá ser realizada através de um POST, contendo os headers padronizados e descritos acima, para o endpoint:

```
https://api.skyhub.com.br/taxes/b2w/data
```

Uma vez que a Regra Fiscal é aplicada para toda a loja, qualquer POST realizado após a sua criação substitui os dados previamente preenchidos, isto é, após criada a regra, as requisições seguintes contendo o método POST serão consideradas como atualizações e irão sobrescrever as informações anteriormente aplicadas.

#### Request body:

```
{
  "id_crt": 2,
  "tp_calc_sub_cs": "2",
  "tp_calc_icms_destin": "1",
  "difal_states": [
    "SP"
  ],
  "configs": [
    "DESC_COND_BASE_ICMS",
    "DESC_COND_BASE_IPI",
    "DESC_COND_BASE_PIS",
    "DESC_INC_BASE_ICMS",
    "DESC_INC_BASE_IPI",
    "DESC_INC_BASE_PIS",
    "DESC_INC_BASE_SUB",
    "DESPESA_BASE_ICMS",
    "DESPESA_BASE_IPI",
    "DESPESA_BASE_SUB",
    "FRETE_BASE_ICMS",
    "FRETE_BASE_IPI",
    "FRETE_BASE_PIS",
    "FRETE_BASE_SUB",
    "ICMS_BASE_PIS",
    "ICMS_SUB_BASE_PIS",
    "IPI_BASE_ICMS",
    "IPI_BASE_PIS",
    "IPI_BASE_SUB",
    "SEGURO_BASE_ICMS",
    "SEGURO_BASE_IPI",
    "SEGURO_BASE_PIS",
    "SEGURO_BASE_SUB",
    "CALC_DIFAL"
  ]
}
```

#### Atributos da requisição:

{% hint style="info" %}
Caso alguma *config* não seja inclusa na requisição, o atributo automaticamente será acatado pelo marketplace como **não utilizado**/**indisponível** para a loja.
{% endhint %}

<table><thead><tr><th width="252">Atributo</th><th>Descrição</th></tr></thead><tbody><tr><td><em>id_crt</em></td><td>Código CRT do vendedor</td></tr><tr><td><em>calc_sub_cs</em></td><td>Modelo de cálculo da “EC87 / 2015” e Difal - ST - contribuinte</td></tr><tr><td><em>calc_icms_destin</em></td><td>Modelo de cálculo da “EC87 / 2015” e Difal - ST - não contribuinte</td></tr><tr><td><em>difal_states</em></td><td>Lista de estados para aplicação: Tipo de destinatário do cálculo do ICMS</td></tr><tr><td><em>configs</em></td><td>Regras Fiscais (constantes) que quando informadas constarão como SIM no Marketplace</td></tr><tr><td><em>DESC_COND_BASE_ICMS</em></td><td>ICMS - Deduz descontos condicionais</td></tr><tr><td><em>DESC_INC_BASE_ICMS</em></td><td>ICMS - Deduz descontos incondicionais</td></tr><tr><td><em>DESPESA_BASE_ICMS</em></td><td>ICMS - Despesas</td></tr><tr><td><em>FRETE_BASE_ICMS</em></td><td>ICMS - Frete</td></tr><tr><td><em>IPI_BASE_ICMS</em></td><td>ICMS - IPI</td></tr><tr><td><em>SEGURO_BASE_ICMS</em></td><td>ICMS - Seguro</td></tr><tr><td><em>DESC_COND_BASE_SUB</em></td><td>ICMS - ST - Deduz descontos condicionais</td></tr><tr><td><em>DESC_INC_BASE_SUB</em></td><td>ICMS - ST - Deduz descontos incondicionais</td></tr><tr><td><em>DESPESA_BASE_SUB</em></td><td>ICMS - ST - Despesas</td></tr><tr><td><em>FRETE_BASE_SUB</em></td><td>ICMS - ST - Frete</td></tr><tr><td><em>IPI_BASE_SUB</em></td><td>ICMS - ST - IPI</td></tr><tr><td><em>SEGURO_BASE_SUB</em></td><td>ICMS - ST - Seguro</td></tr><tr><td><em>DESC_COND_BASE_IPI</em></td><td>IPI - Deduz descontos condicionais</td></tr><tr><td><em>DESC_INC_BASE_IPI</em></td><td>IPI - Deduz descontos incondicionais</td></tr><tr><td><em>DESPESA_BASE_IPI</em></td><td>IPI - Despesas</td></tr><tr><td><em>FRETE_BASE_IPI</em></td><td>IPI - Frete</td></tr><tr><td><em>SEGURO_BASE_IPI</em></td><td>IPI - Seguro</td></tr><tr><td><em>DESC_COND_BASE_PIS</em></td><td>Pis e Cofins - Deduz descontos condicionais</td></tr><tr><td><em>DESC_INC_BASE_PIS</em></td><td>Pis e Cofins - Deduz descontos incondicionais</td></tr><tr><td><em>DESPESA_BASE_PIS</em></td><td>Pis e Cofins - Despesas</td></tr><tr><td><em>FRETE_BASE_PIS</em></td><td>Pis e Cofins - Frete</td></tr><tr><td><em>ICMS_BASE_PIS</em></td><td>Pis e Cofins - ICMS</td></tr><tr><td><em>ICMS_SUB_BASE_PIS</em></td><td>Pis e Cofins - ICMS - ST</td></tr><tr><td><em>IPI_BASE_PIS</em></td><td>Pis e Cofins - IPI</td></tr><tr><td><em>SEGURO_BASE_PIS</em></td><td>Pis e Cofins - Seguro</td></tr><tr><td><em>CALC_DIFAL</em></td><td>ICMS tipo de cálculo - Destino</td></tr></tbody></table>

#### Example request:

```
curl --location --request POST 'https://api.skyhub.com.br/taxes/b2w/data' \
--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 '{
  "id_crt": 2,
  "tp_calc_sub_cs": "2",
  "tp_calc_icms_destin": "1",
  "difal_states": [
    "BA",
    "SP",
    "RJ"
  ],
  "configs": [
    "DESC_COND_BASE_ICMS",
    "DESC_COND_BASE_IPI",
    "DESC_COND_BASE_PIS",
    "DESC_INC_BASE_ICMS",
    "DESC_INC_BASE_IPI",
    "DESC_INC_BASE_PIS",
    "DESC_INC_BASE_SUB",
    "DESPESA_BASE_ICMS",
    "DESPESA_BASE_IPI",
    "DESPESA_BASE_SUB",
    "FRETE_BASE_ICMS",
    "FRETE_BASE_IPI",
    "FRETE_BASE_PIS",
    "FRETE_BASE_SUB",
    "ICMS_BASE_PIS",
    "ICMS_SUB_BASE_PIS",
    "IPI_BASE_ICMS",
    "IPI_BASE_PIS",
    "IPI_BASE_SUB",
    "SEGURO_BASE_ICMS",
    "SEGURO_BASE_IPI",
    "SEGURO_BASE_PIS",
    "SEGURO_BASE_SUB",
    "CALC_DIFAL"
  ]
}'
```

#### Response esperado:

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

## GET - Consultando a Regra Fiscal

A consulta da Regra Fiscal cadastrada na conta poderá ser realizada através de um GET, utilizando os [headers](#request-headers) padronizados na API, para o endpoint:

```
https://api.skyhub.com.br/taxes/b2w/data
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/taxes/b2w/data' \
--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: O retorno trará informações sobre a regra cadastrada, conforme exemplo abaixo:
{% endhint %}

```
{
    "cnpj_filial": "cnpj_cd_direct",
    "configs": [
        "CALC_DIFAL",
        "DESC_COND_BASE_ICMS",
        "DESC_COND_BASE_PIS",
        "DESC_INC_BASE_ICMS",
        "DESC_INC_BASE_PIS",
        "DESC_INC_BASE_SUB",
        "DESPESA_BASE_ICMS",
        "DESPESA_BASE_IPI",
        "DESPESA_BASE_SUB",
        "FRETE_BASE_ICMS",
        "FRETE_BASE_IPI",
        "FRETE_BASE_PIS",
        "FRETE_BASE_SUB",
        "ICMS_BASE_PIS",
        "ICMS_SUB_BASE_PIS",
        "IPI_BASE_ICMS",
        "IPI_BASE_PIS",
        "IPI_BASE_SUB",
        "SEGURO_BASE_ICMS",
        "SEGURO_BASE_IPI",
        "SEGURO_BASE_PIS",
        "SEGURO_BASE_SUB"
    ],
    "difal_states": [
        "BA",
        "SP",
        "RJ"
    ],
    "id_crt": 2,
    "id_terceiro": CNPJ_da_Loja,
    "tp_calc_icms_destin": "1",
    "tp_calc_sub_cs": "2"
}
```
