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

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