# Etiqueta Multi Origem

Através dos processos via API para a emissão de etiquetas é possível aplicar filtros que otimizam as consultas por CD.&#x20;

Neste guia serão apresentados os filtros referentes aos CDs para aplicação junto ao recurso de PLP. Caso deseje validar todo o fluxo de etiquetas via API é possível consultar as seções disponibilizadas a seguir:

{% content-ref url="/pages/SfKRC6OGSZqRvlvYyuOy" %}
[Direct - Processos via API](/etiquetas-americanas-entrega/etiqueta-de-frete-direct/etiqueta-direct-via-api.md)
{% endcontent-ref %}

{% content-ref url="/pages/USimUXui3IDsrX8oMvcP" %}
[Correios - Processos via API](/etiquetas-americanas-entrega/etiqueta-de-frete-correios/etiqueta-correios-via-api.md)
{% endcontent-ref %}

## Etiquetas Multi CD

A partir da aplicação de filtros é possível obter retornos mais específicos para as etiquetas geradas para os pedidos de uma conta. As consultas seguirão utilizando os headers padronizados na API para o endpoint base **`/shipments/b2w/`**.&#x20;

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

Através da URL base e dos headers informados é possível realizar filtros por CD para:

* Etiquetas aptas ao agrupamento;
* Etiquetas agrupadas;
* Pedidos aptos à coleta.

{% hint style="warning" %}
Uma vez que o serviço de PLP para o ambiente de teste conta com etiquetas **previamente disponibilizadas**, podemos simular a aplicação de filtros apenas para o CD **98** (padrão para todas as contas).

Em ambiente de produção, os filtros mencionados a seguir poderão ser aplicados para a consulta de todas as warehouses presentes na conta.
{% endhint %}

{% hint style="info" %}
Nas requisições abaixo, o campo `store_code` deverá ser substituído pelo **código do CD**, definido em sua criação.
{% endhint %}

### Filtrar pedidos aptos ao agrupamento por CD

É possível realizar a listagem de pedidos com etiquetas disponíveis para serem agrupadas. Para esta ação, basta aplicar ao endpoint **`/shipments/b2w/to_group`** o parâmetro **`warehouse_id={store_code}`**, conforme visualizado a seguir:

```
https://api.skyhub.com.br/shipments/b2w/to_group?warehouse_id={store_code}
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/shipments/b2w/to_group?warehouse_id=98' \
--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 body contendo todos os pedidos com etiquetas aptas ao agrupamento que foram gerados para o CD informado no filtro:
{% endhint %}

```
{
    "orders": [
        {
            "code": "260000000002",
            "customer": "Bruno",
            "value": 68.28,
            "shipping": "CORREIOS",
            "warehouse_id": "98"
        },
        {
            "code": "300000000501",
            "customer": "Oswaldo Filho",
            "value": 287.16,
            "shipping": "BY DIRECT",
            "warehouse_id": "98"
        }
        (...)
    ],
    "total": 13
}
```

### Consultar todas as etiquetas para um CD

Ao aplicar o parâmetro **`warehouse_id={store_code}`** na URL base para tratativas de etiquetas é possível realizar a consulta de todas as PLPs disponíveis. Para isso, basta executar um GET contendo os [headers](#request-headers) padronizados na API para o endpoint:

```
https://api.skyhub.com.br/shipments/b2w?warehouse_id={store_code}
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/shipments/b2w?warehouse_id=98' \
--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 body contendo todas as PLPs agrupadas para o CD informado no filtro:
{% endhint %}

```
{
    "plp": [
        {
            "id": 185500609,
            "expiration_date": "",
            "printed": false,
            "type": "DIRECT",
            "orders": [
                {
                    "code": "408000029",
                    "customer": "Nagila Santos",
                    "value": 163.72,
                    "warehouse_id": "98"
                },
                {
                    "code": "408000037",
                    "customer": "Denilson Melo",
                    "value": 729.9,
                    "warehouse_id": "98"
                }
            ]
        },
        {
            "id": 185500571,
            "expiration_date": "",
            "printed": true,
            "type": "DIRECT",
            "orders": [
                {
                    "code": "260000000601",
                    "customer": "Catia Silva",
                    "value": 179.9,
                    "warehouse_id": "98"
                }
            ]
        }
    ],
    "total": 2
}
```

### Consultar aptos à coleta por CD

Através da API é possível listar os pedidos - por warehouse (CD) - que tiveram suas etiquetas agrupadas e impressas e encontram-se disponíveis para a coleta. Para tal, é necessário aplicar o parâmetro **`warehouse_id={store_code}`** para o endpoint **`/shipments/b2w/collectables`**, conforme visualizado a seguir:

```
https://api.skyhub.com.br/shipments/b2w/collectables?requested=false&warehouse_id={store_code}
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/shipments/b2w/collectables?requested=false&warehouse_id=98' \
--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 body contendo todos os pedidos aptos à solicitação de coleta e que foram gerados para o CD selecionado:
{% endhint %}

```
{
    "orders": [
        {
            "code": "200000000601",
            "customer": "Evandro Santos",
            "value": 79.2,
            "warehouse_id": "98"
        }
    ],
    "total": 1
}
```


---

# 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/multi-cd/etiqueta-de-frete-multi-origem.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.
