# Produto Simples e Variável

## GET - Consultando um produto

{% hint style="info" %}
**Desde Março/2025, o array associations foi retirado do JSON do produto.**&#x20;
{% endhint %}

Para realizar uma consulta na API devemos utilizar o método GET, preenchendo os devidos headers no endpoint abaixo:

```
https://api.skyhub.com.br/products/{SKU}
```

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

#### **Example request:**

```
curl --location -g --request GET 'https://api.skyhub.com.br/products/{SKU}' \
--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 a estrutura do SKU consultado:
{% endhint %}

```
{
    "sku": "SKU do produto",
    "name": "Título",
    "description": "Descrição detalhada",
    "status": "disabled",
    "removed": false, 
    "qty": 5,
    "price": 100.0,
    "promotional_price": 80.0,
    "cost": 49.0,
    "weight": 3.0,
    "height": 1.0,
    "width": 1.0,
    "length": 1.0,
    "condition_type": null,
    "brand": "Marca",
    "ean": "1234567890123",
    "nbm": "11223344",
    "categories": [
        {
            "code": "01",
            "name": "SKYHUB"
        }
    ],
    "images": [
        "https://images-americanas.b2w.io/produtos/2638788562/imagens/regata-basic-feminina-canelada-branca/2638788562_1_xlarge.jpg"
    ],
    "specifications": [
    { 
                "key": "Tamanho",
                "value": "Único"
            },
            { 
                "key": "Crossdocking",
                "value": "3"
            }
    ],
}
```

### Consultando todos os produtos

Além da consulta individual, também é possível listar todos os produtos criados na conta.&#x20;

Para isto, basta utilizar o GET no endpoint */products* sem informar um SKU, conforme abaixo:

```
https://api.skyhub.com.br/products
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/products' \
--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 é semelhante ao da pesquisa anterior, porém serão visualizados todos os SKUs não conectados da conta e abaixo temos um exemplo resumido do retorno esperado:
{% endhint %}

```
{
    "products": [
        {
            "sku": "SKU_01",
            "name": "Título 01",
            "description": "Descrição 01",
            "status": "disabled",
            (...)
        },
        {
            "sku": "SKU_02",
            "name": "Título 02",
            "description": "Descrição 02",
            "status": "enabled",
            (...)
        },
        {
            "sku": "SKU_03",
            "name": "Título 03",
            "description": "Descrição 03",
            "status": "enabled",
            (...)
        }
    ],
    "total": 101,
    "next": "https://api.skyhub.com.br/products?cursor=cXVlcnlUa..........wOw=="
}
```

#### Filtros da consulta

Por padrão, o GET em /products retornará todos os produtos não conectados ao Marketplace.\
\
Para retornar os produtos conectados ao Marketplace, devemos filtrar com o parâmetro type **"/products?filters\[type]=link"**.

Produtos conectados são aqueles que o lojista decide por habilitar a vender. Quando conectado, o produto fica disponível (caso estoque positivo), já desconectado o lojista desabilita o produto para a venda.

### Como paginar a consulta de produtos

A listagem de produtos retornará 25 itens por página. Caso a conta tenha mais que 25 produtos, será necessário fazer a paginação através do **cursor**, que deve ser inserido no endpoint em forma de query string.

#### Como montar a query?

Ao realizar o GET no */products*, ao final da consulta será apresentado o campo **next** que trará como parâmetro o **cursor**, como visualizado a seguir:

```
"total": 101,
"next": "https://api.skyhub.com.br/products?cursor=cXVlcnlUa..........wOw=="
```

Ao localizar o **cursor**, basta inseri-lo no endpoint para que seja possível alcançar a próxima página. Abaixo temos um exemplo de utilização da paginação:

```
curl --location -g --request GET 'https://api.skyhub.com.br/products?cursor=cXVlcnlUa..........wOw=="
}' \
--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'
```

A cada página o cursor será alterado até que chegue na última, quando a requisição retornará sucesso, porém trará um *array* vazio:

```
{
    "products": [],
    "total": 101,
    "next": "https://api.skyhub.com.br/products?cursor=cXVlcnlUa..........swOw=="
}
```

{% content-ref url="/pages/-MG4KvGq5WV\_\_nP8pZK3" %}
[Filtros de Consultas](/produtos/outros-recursos-de-produtos/filtros-produtos.md)
{% endcontent-ref %}


---

# 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/produtos/consulta-produto/produto-simples.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.
