# Consulta de Estoque

É possível consultar via API o estoque dos itens que estão no CD da Americanas.

{% hint style="warning" %}
Todo o gerenciamento de estoque Fulfillment é realizado pelos times do marketplace responsáveis pelo serviço e as informações via API são apenas consultas dos dados inclusos pelos mesmos. Qualquer dúvida em relação ao estoque encaminhado deverá ser reportada ao marketplace para validação.
{% endhint %}

## GET - Consultando estoque <a href="#get-consultando-relacionamento-de-produto-simples-a-uma-regra" id="get-consultando-relacionamento-de-produto-simples-a-uma-regra"></a>

Para realizar a consulta de estoque dos itens Fulfillment via API é preciso utilizar o método **GET**, preenchendo os headers padronizados, para o endpoint abaixo:&#x20;

```
https://api.skyhub.com.br/fulfillment/b2w/stock
```

#### **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 --request GET 'https://api.skyhub.com.br/fulfillment/b2w/stock' \
--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 resposta para a execução do cURL exemplificado acima haverá um body contendo os **primeiros 100** **SKUs**. A seguir temos uma visualização resumida do retorno:
{% endhint %}

```
{
    "stocks": [
        {
            "sku": "SKU0001F", // SKU parceiro
            "remote_code": "SKU0001F", // SKU parceiro
            "recipient_document": "776570005909", // CNPJ do CD
            "deposit_type": "AG COBERTO EM RECEB.", // Tipo de depósito/restrição em que o produto se encontra dentro do CD 
            "stock": "0", // Quantidade em estoque
            "reserved_stock": "0" // Quantidade de estoque reservado
        },
        {
            "sku": "SKU0001F",
            "remote_code": "SKU0001F",
            "recipient_document": "776570005909",
            "deposit_type": "AG COBERTO NORMAL",
            "stock": "0",
            "reserved_stock": "0"
        },
        (...)
        {
            "sku": "SKU0100F",
            "remote_code": "SKU0100F",
            "recipient_document": "776570005909",
            "deposit_type": "AG COBERTO EM RECEB.",
            "stock": "0",
            "reserved_stock": "0"
        },
        {
            "sku": "SKU0100F",
            "remote_code": "SKU0100F",
            "recipient_document": "776570005909",
            "deposit_type": "AG COBERTO NORMAL",
            "stock": "39",
            "reserved_stock": "0"
        }
    ]
}
```

## Filtros para consulta de estoque Fulfillment

É possível limitar a listagem dos itens retornados em uma consulta ao aplicar filtros às buscas.&#x20;

Através da URL de consulta de estoque Fulfillment e dos [headers](#request-headers) informados no início deste guia é possível aplicar filtros por:

* [Paginação e quantidade de registros na página](#paginacao-da-consulta);
* [SKU](#filtro-de-estoque-por-sku);
* [CNPJ do Centro de Distribuição](#filtro-de-estoque-por-centro-de-distribuicao-cd).

### **Paginação da consulta**

Ao se tratar de uma conta com muitos itens disponíveis para o serviço Fulfillment pode ser necessário realizar a paginação dos resultados para visualização de todos os registros.&#x20;

Através do /*`fulfillment/b2w/stock`* é possível utilizar os parâmetros ***page*** e ***per\_page*** para paginação da consulta de estoque Fulfillment, sendo:

<table><thead><tr><th width="122">Key</th><th>Value</th></tr></thead><tbody><tr><td><strong>page</strong></td><td>Indica o número da página de registros que será retornada. Caso não seja especificado, sempre será retornada a primeira página (valor padrão 0)</td></tr><tr><td><strong>per_page</strong></td><td>Indica a quantidade de registros que serão visualizados na página. O valor padrão é de 100 registros. Caso a conta possua mais de 100 itens faz-se necessário acessar a(s) próxima(s) página(s) para visualização dos demais registros</td></tr></tbody></table>

Os filtros de paginação são aplicados através dos [headers](#request-headers) padrões da API em um GET para o endpoint base /*`fulfillment/b2w/stock`*. A seguir temos um exemplo prático de aplicação dos parâmetros ***page*** e ***per\_page***:

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/fulfillment/b2w/stock?page=5&per_page=3' \
--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 resposta para a execução do cURL exemplificado acima haverá um body contendo o estoque dos **3 registros** presentes na **página 5**:&#x20;
{% endhint %}

```
{
    "stocks": [
        {
            "sku": "SKU0030F",
            "remote_code": "SKU0030F",
            "recipient_document": "776570005909",
            "deposit_type": "AG COBERTO NORMAL",
            "stock": "0",
            "reserved_stock": "0"
        },
        {
            "sku": "SKU0030F",
            "remote_code": "SKU0030F",
            "recipient_document": "776570005909",
            "deposit_type": "AG SEM COBERT. EM RECEB.",
            "stock": "0",
            "reserved_stock": "0"
        },
        {
            "sku": "SKU0030F",
            "remote_code": "SKU0030F",
            "recipient_document": "776570005909",
            "deposit_type": "AG SEM COBERT. NORMAL",
            "stock": "0",
            "reserved_stock": "0"
        }
    ]
}
```

### Filtro de estoque por SKU

Via API há a opção de consultar o estoque para SKUs específicos, sem a necessidade de listar todo o sortimento do Fulfillment. Para tal, basta executar uma requisição contendo o método GET, utilizando os [headers](#request-headers) padronizados, para o endpoint base /*`fulfillment/b2w/stock`*, aplicando como parâmetro o SKU a ser pesquisado:

```
https://api.skyhub.com.br/fulfillment/b2w/stock?sku={SKU}
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/fulfillment/b2w/stock?sku=SKU0150F' \
--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 resposta haverá um response body contendo todo o estoque para o SKU selecionado:
{% endhint %}

```
{
    "stocks": [
        {
            "sku": "SKU0150F",
            "remote_code": "SKU0150F",
            "recipient_document": "776570004848",
            "deposit_type": "AG COBERTO EM RECEB.",
            "stock": "0",
            "reserved_stock": "0"
        },
        {
            "sku": "SKU0150F",
            "remote_code": "SKU0150F",
            "recipient_document": "776570004848",
            "deposit_type": "AG COBERTO NORMAL",
            "stock": "0",
            "reserved_stock": "0"
        },
        {
            "sku": "SKU0150F",
            "remote_code": "SKU0150F",
            "recipient_document": "776570005909",
            "deposit_type": "AG COBERTO EM RECEB.",
            "stock": "0",
            "reserved_stock": "0"
        },
        {
            "sku": "SKU0150F",
            "remote_code": "SKU0150F",
            "recipient_document": "776570005909",
            "deposit_type": "AG COBERTO NORMAL",
            "stock": "0",
            "reserved_stock": "0"
        }
    ]
}
```

### Filtro de estoque por Centro de Distribuição (CD)

Além da consulta por SKU, via API é possível realizar a listagem de todo o sortimento Fulfillment encaminhado, filtrando pelo CNPJ do Centro de Distribuição (CD).&#x20;

Para aplicação do filtro, é necessário executar uma requisição contendo o método GET, utilizando os [headers](#request-headers) padronizados, para o endpoint base /*`fulfillment/b2w/stock`* e aplicando como parâmetro o CNPJ (definido como ***recipient\_document***) a ser consultado:

```
https://api.skyhub.com.br/fulfillment/b2w/stock?recipient_document={CNPJ}
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/fulfillment/b2w/stock?recipient_document=776570004848' \
--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: A consulta trará como retorno os itens e seus estoques para o CNPJ selecionado:
{% endhint %}

```
{
    "stocks": [
        {
            "sku": "SKU0150F",
            "remote_code": "SKU0150F",
            "recipient_document": "776570004848",
            "deposit_type": "AG COBERTO EM RECEB.",
            "stock": "0",
            "reserved_stock": "0"
        },
        {
            "sku": "SKU0150F",
            "remote_code": "SKU0150F",
            "recipient_document": "776570004848",
            "deposit_type": "AG COBERTO NORMAL",
            "stock": "0",
            "reserved_stock": "0"
        }
    ]
}
```


---

# 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/consulta-estoque-fulfillment.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.
