# Produto Variável

## PUT - Atualizando a variação de um produto

Será necessário o método PUT com os mesmos headers para realizar a atualização da variação, porém o endpoint utilizado é o */variations* seguido do SKU da variação conforme abaixo:

```
https://api.skyhub.com.br/variations/{SKU_VARIACAO}
```

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

#### **Request body:**

```
{
  "variation": {
    "price": 0.0, // Double
    "promotional_price": 0.0, // Double
    "status": "enabled", // String
    "images": [
      "https://foo"
    ],
    "ean": "0000000000000", // String
    "qty": 10, // Integer
    "crossdocking": "3" // String
    "specifications": [
      { // Atributo de categoria - preenchimento livre
          "id": "id do atributo", // String
          "value": "Texto livre" // String
      },
      { // Atributo de categoria - valores pré-determinados
          "id": "id do atributo", // String
          "idValue": "id da opção selecionável" // String
      }
    ]
  }
}
```

{% hint style="danger" %}
O objeto ***product*** deve ser substituído pelo ***variation*** e não pode ser retirado da requisição, caso contrário um erro será retornado na tentativa de atualizar a variação.
{% endhint %}

#### **Example request:**

```
curl --location -g --request PUT 'https://api.skyhub.com.br/variations/{SKU_VARIACAO}' \
--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-raw '{
  "variation": {
    "price": 158,
    "promotional_price": 126.4,
    "status": "enabled",
    "images": [
      "https://images-americanas.b2w.io/produtos/2638788562/imagens/regata-basic-feminina-canelada-branca/2638788562_1_xlarge.jpg"
    ],
    "ean": "0123456789012",
    "qty": "5",
    "crossdocking": "3",
    "weight": 0.100,
    "height": 20,
    "width": 30,
    "length": 20,
    "specifications": [
      {
        "id": "29229",
        "idValue": "49106"
      }
    ]
  }
}'
```

#### **Response esperado:**

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

{% hint style="danger" %}
Para a atualização de **imagens** é necessário atentar-se a **URL** indexada: Para realizar alterações nas imagens de um produto é preciso encaminhar uma **nova URL**, ou seja, <mark style="color:red;">**não é possível reutilizar a URL previamente enviada**</mark>; somente com URLs diferentes a nova imagem será refletida pelo marketplace.&#x20;

\[Ver Comunicado: [Envio de Imagens para o Marketplace](https://desenvolvedores.skyhub.com.br/comunicados/comunicados-2021/envio-de-imagens-para-o-mktp-b2w)]
{% endhint %}

### Como atualizar preço e estoque

Assim como quaisquer atualizações em variações, para alterações nos campos de preço (*price* e *promotional\_price*) e estoque deve ser utilizado o método **PUT** no */variations/{SKU\_VARIACAO}*.&#x20;

{% hint style="info" %}
Deve ser realizado um PUT por variação.
{% endhint %}

A seguir temos exemplos de requisições para as atualizações de preço e estoque para variações:

#### Atualização de preço por variação:

```
curl --location -g --request PUT 'https://api.skyhub.com.br/variations/{SKU_VARIACAO}' \
--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-raw '{
  "variation": {
    "price": 158,
    "promotional_price": 126.4
  }
}'
```

#### Atualização de estoque por variação:

```
curl --location -g --request PUT 'https://api.skyhub.com.br/variations/{SKU_VARIACAO}' \
--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-raw '{
  "variation": {
      "qty": 1
  }
}'
```

#### Atualização de preço, estoque e crossdocking:

```
curl --location -g --request PUT 'https://api.skyhub.com.br/variations/{SKU_VARIACAO}' \
--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-raw '{
  "variation": {
    "qty": 5,
    "price": 158,
    "promotional_price": 126.4,
    "crossdocking": "3"
  }
}'
```

{% hint style="info" %}
Caso deseje realizar alterações no SKU agrupador é possível seguir as orientações da guia Atualização de Produto > [Produto Simples](https://desenvolvedores.skyhub.com.br/produtos/produto-simples#put-atualizando-um-produto-simples).
{% endhint %}
