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

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