Criar e Consultar CD

Nesta seção são apresentadas as orientações para a criação e atualização da warehouse, além de informações sobre a consulta de estoque por CD

Neste guia estão descritas as ações referentes ao Multi CD que dependem da rota rehub (ver seção Solicitar Credenciais). Para as requisições descritas nesta seção serão utilizados os headers disponibilizados a seguir:

Request headers:

Key
Value

Accept

application/json

Content-Type

application/json

X-Accountmanager-Key

token_account único de cada Plataforma/ERP

Authorization

Bearer <token JWT disponibilizado na guia anterior>

POST - Criando uma warehouse (CD)

A criação de um CD será realizada através de um POST para o endpoint a seguir, utilizando os headers para a rota rehub descritos acima:

https://api.skyhub.com.br/rehub/stores

Request body:

{
    "store": {
        "code": "{store_code}", // Código/ID do CD
        "name": "Nome do CD",
        "open_hours": "Horário de funcionamento",
        "phone": "1154664644",
        "address": {
            "street": "Rua/Avenida",
            "number": "Número",
            "detail": "Complemento",
            "neighborhood": "Bairro",
            "city": "Cidade",
            "region": "Estado",
            "post_code": CEP, // Int
            "reference": "Referência"
        },
        "email": "[email protected]",
        "latitude": -23.584195,
        "longitude": -46.635511,
        "max_delivery_distance": 2, // Distância máxima de entrega em km (de 0 a 2)
        "schedules": { // Detalhes sobre o horário de funcionamento (definidos por dias da semana)
            "monday": {
                "start": "09:00",
                "end": "18:00"
            },
            "tuesday": {
                "start": "09:00",
                "end": "18:00"
            },
            "wednesday": {
                "start": "09:00",
                "end": "18:00"
            },
            "thursday": {
                "start": "09:00",
                "end": "18:00"
            },
            "friday": {
                "start": "09:00",
                "end": "18:00"
            },
            "saturday": {
                "start": null,
                "end": null
            },
            "sunday": {
                "start": null,
                "end": null
            }
        },
        "properties": [ // Propriedades do CD
            ""
        ]
    }
}

Atributos da requisição:

É possível definir as características do CD através do array properties. Abaixo temos os possíveis valores a serem adicionados, caso façam parte das propriedades da warehouse:

Atributo
Descrição

EXPEDITION

Incluir caso seja possível realizar a expedição de um pedido através do CD

EXPRESS_DELIVERY

Incluir caso o CD faça entrega expressa

Example request:

curl --location --request POST 'https://api.skyhub.com.br/rehub/stores' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Authorization: Bearer eyJhbGci...........Ckc0PW1g' \
--data-raw '{
    "store": {
        "code": "loja1",
        "name": "Loja Teste 1",
        "open_hours": "Seg-Sex: 09:00 às 20:30, Sáb: 09:00 às 18:00",
        "phone": "(11) 95955-9988",
        "address": {
            "street": "Avenida Paulista",
            "number": "12345",
            "detail": "5º andar",
            "neighborhood": "Bela Vista",
            "city": "São Paulo",
            "region": "SP",
            "post_code": 90000000,
            "reference": "Ao lado do museu"
        },
        "email": "[email protected]",
        "latitude": -23.584195,
        "longitude": -46.635511,
        "max_delivery_distance": 2,
        "schedules": { 
            "monday": {
                "start": "09:00",
                "end": "20:30"
            },
            "tuesday": {
                "start": "09:00",
                "end": "20:30"
            },
            "wednesday": {
                "start": "09:00",
                "end": "20:30"
            },
            "thursday": {
                "start": "09:00",
                "end": "20:30"
            },
            "friday": {
                "start": "09:00",
                "end": "20:30"
            },
            "saturday": {
                "start": "09:00",
                "end": "18:00"
            },
            "sunday": {
                "start": null,
                "end": null
            }
        },
        "properties": [
            "EXPEDITION",
            "EXPRESS_DELIVERY"
        ]
    }
}'

Response esperado:

POST - Definindo o status da warehouse (CD)

Após criar um CD será preciso informar ao marketplace se ele está ativo (active) ou inativo (inactive). Para a definição do status da warehouse (CD) é necessário utilizar o método POST, contendo os headers da rota rehub, para o endpoint a seguir:

https://api.skyhub.com.br/rehub/stores/{store_code}/statuses

O campo store_code deverá ser substituído pelo código do CD, definido em sua criação.

Request body:

{
    "statuses": [
        {
            "platform": "B2W",
            "status": "active" // active = ativa o CD / inactive = inativa o CD
        }
    ]
}

Example Request

curl --location --request POST 'https://api.skyhub.com.br/rehub/stores/loja1/statuses' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Authorization: Bearer eyJhbGci...........Ckc0PW1g' \
--data '{
    "statuses": [
        {
            "platform": "B2W",
            "status": "active"
        }
    ]
}'

Response esperado:

GET - Consultando as warehouses (CDs)

É possível realizar a consulta dos CDs criados via API através de uma requisição contendo o método GET, utilizando os headers descritos no início deste guia, para o endpoint:

https://api.skyhub.com.br/rehub/stores

Example request:

curl --location --request GET 'https://api.skyhub.com.br/rehub/stores' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Authorization: Bearer eyJhbGci...........Ckc0PW1g'

Response esperado:

{
  "stores": [
    {
      "code": "loja1",
      "name": "Loja Teste 1",
      "email": "[email protected]",
      "open_hours": "Seg-Sex: 09:00 às 20:30, Sáb: 09:00 às 18:00",
      "phone": "(11) 95955-9988",
      "latitude": -23.584195,
      "longitude": -46.635511,
      "max_delivery_distance": 2,
      "address": {
        "street": "Avenida Paulista",
        "number": "12345",
        "detail": "5º andar",
        "neighborhood": "Bela Vista",
        "city": "São Paulo",
        "region": "SP",
        "post_code": "90000000",
        "reference": "Ao lado do museu"
      },
      "statuses": [
        {
          "platform": "B2W",
          "status": "active",
          "remote_code": "loja1"
        }
      ],
      "schedules": {
        "monday": {
          "start": "09:00",
          "end": "20:30"
        },
        "tuesday": {
          "start": "09:00",
          "end": "20:30"
        },
        "wednesday": {
          "start": "09:00",
          "end": "20:30"
        },
        "thursday": {
          "start": "09:00",
          "end": "20:30"
        },
        "friday": {
          "start": "09:00",
          "end": "20:30"
        },
        "saturday": {
          "start": "09:00",
          "end": "18:00"
        },
        "sunday": {
          "start": null,
          "end": null
        }
      },
      "properties": [
        "EXPEDITION",
        "EXPRESS_DELIVERY"
      ]
    },
    {
      "code": "loja2",
      "name": "Loja Teste 2",
      "email": "[email protected]",
      "open_hours": "Seg-Sex: 09:00 às 20:30",
      "phone": "11959559999",
      "latitude": -23.584195,
      "longitude": -46.635511,
      "max_delivery_distance": 2,
      "address": {
        "street": "Avenida Paulista",
        "number": "12345",
        "detail": "10º andar",
        "neighborhood": "Bela Vista",
        "city": "Sao Paulo",
        "region": "SP",
        "post_code": "90000000",
        "reference": ""
      },
      "statuses": [],
      "schedules": {
        "monday": {
          "start": "09:00",
          "end": "20:30"
        },
        "tuesday": {
          "start": "09:00",
          "end": "20:30"
        },
        "wednesday": {
          "start": "09:00",
          "end": "20:30"
        },
        "thursday": {
          "start": "09:00",
          "end": "20:30"
        },
        "friday": {
          "start": "09:00",
          "end": "20:30"
        },
        "saturday": {
          "start": null,
          "end": null
        },
        "sunday": {
          "start": null,
          "end": null
        }
      },
      "properties": [
        "EXPEDITION"
      ]
    }
  ],
  "total": 2,
  "next": null
}

Consultando uma warehouse específica

A consulta de warehouses cridas via API também permite a listagem de dados sobre um CD específico.

Para a consulta de um CD específico será utilizado o endpoint /rehub/stores acrescido do código da warehouse, conforme visualizado a seguir:

https://api.skyhub.com.br/rehub/stores/{store_code}

Example request:

curl --location --request GET 'https://api.skyhub.com.br/rehub/stores/loja1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Authorization: Bearer eyJhbGci...........Ckc0PW1g'

Response esperado:

{
    "code": "loja1",
    "name": "Loja Teste 1",
    "email": "[email protected]",
    "open_hours": "Seg-Sex: 09:00 às 20:30, Sáb: 09:00 às 18:00",
    "phone": "(11) 95955-9988",
    "latitude": -23.584195,
    "longitude": -46.635511,
    "max_delivery_distance": 2.0,
    "address": {
        "street": "Avenida Paulista",
        "number": "12345",
        "detail": "5º andar",
        "neighborhood": "Bela Vista",
        "city": "São Paulo",
        "region": "SP",
        "post_code": "90000000",
        "reference": "Ao lado do museu"
    },
    "statuses": [
        {
            "platform": "B2W",
            "status": "active",
            "remote_code": "loja1"
        }
    ],
    "schedules": {
        "monday": {
            "start": "09:00",
            "end": "20:30"
        },
        "tuesday": {
            "start": "09:00",
            "end": "20:30"
        },
        "wednesday": {
            "start": "09:00",
            "end": "20:30"
        },
        "thursday": {
            "start": "09:00",
            "end": "20:30"
        },
        "friday": {
            "start": "09:00",
            "end": "20:30"
        },
        "saturday": {
            "start": "09:00",
            "end": "18:00"
        },
        "sunday": {
            "start": null,
            "end": null
        }
    },
    "properties": [
        "EXPEDITION",
        "EXPRESS_DELIVERY"
    ]
}

PUT - Atualizando uma warehouse (CD)

Uma vez criado o CD é possível realizar alterações em sua estrutura ao executar o método PUT, utilizando os headers padronizados para a rota rehub - para o seguinte endpoint:

https://api.skyhub.com.br/rehub/stores/{store_code}

Request body:

{
    "store": {
        "code": "{store_cedo}",
        "name": "Nome do CD",
        "open_hours": "Horário de Funcionamento",
        "address": {
            "street": "Rua/Avenida",
            "number": "Número"
        },
        "store_status": [
            {
                "platform": "B2W",
                "status": "active",
                "remote_code": "{store_cedo}"
            }
        ]
    }
}

Example request:

curl --location --request PUT 'https://api.skyhub.com.br/rehub/stores/loja1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Authorization: Bearer eyJhbGci...........Ckc0PW1g' \
--data '{
    "store": {
        "code": "loja1",
        "name": "Loja Teste 1 - Atualizada",
        "open_hours": "Seg-Sex: 10:00 às 22:00, Sáb: 10:00 às 17:00, Dom: 10:00 às 14:00",
        "address": {
            "street": "Avenida Paulista",
            "number": "12345"
        },
        "schedules": {
            "monday": {
                "start": "10:00",
                "end": "22:00"
            },
            "tuesday": {
                "start": "10:00",
                "end": "22:00"
            },
            "wednesday": {
                "start": "10:00",
                "end": "22:00"
            },
            "thursday": {
                "start": "10:00",
                "end": "22:00"
            },
            "friday": {
                "start": "10:00",
                "end": "22:00:00"
            },
            "saturday": {
                "start": "10:00",
                "end": "17:00"
            },
            "sunday": {
                "start": "10:00",
                "end": "14:00"
            }
        },
        "store_status": [
            {
                "platform": "B2W",
                "status": "active",
                "remote_code": "lojaL1"
            }
        ]
    }
}'

Response esperado:

Excluindo uma warehouse (CD)

Drawing

GET - Consultando estoque

Ao se tratar do Multi CD, outra ação a ser realizada através da rota rehub é a consulta de estoque.

Consultar estoque por produto

Para o Multi CD, é possível realizar a consulta do estoque para determinado SKU.

Para realizar essa consulta basta efetuar uma requisição contendo o método GET, utilizando os headers descritos no início deste guia, para o endpoint:

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

Example request:

curl --location --request GET 'https://api.skyhub.com.br/rehub/products/2023001/store_stocks' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Authorization: Bearer eyJhbGci...........Ckc0PW1g'

Response esperado:

{
    "store_stocks": [
        {
            "store_code": "loja1",
            "sku_code": "2023001",
            "qty": 30,
            "cross_docking": 0
        },
        {
            "store_code": "loja2",
            "sku_code": "2023001",
            "qty": 5,
            "cross_docking": 0
        }
    ]
}

Consultar estoque do produto por warehouse (CD)

Além da consulta geral de estoque por SKU - que traz o estoque de todas as warehouses para o produto selecionado - também é possível filtrar o produto e o CD a serem visualizados.

Para realizar essa consulta basta efetuar uma requisição contendo o método GET, utilizando os headers descritos no início deste guia, para o endpoint:

https://api.skyhub.com.br/rehub/products/{SKU}/store_stocks?store_code={store_code}

O código do CD será definido a partir da aplicação do parâmetro store_code na consulta.

Example request:

curl --location --request GET 'https://api.skyhub.com.br/rehub/products/2023001/store_stocks?store_code=loja1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Authorization: Bearer eyJhbGci...........Ckc0PW1g'

Response esperado:

{
    "store_stocks": [
        {
            "store_code": "loja1",
            "sku_code": "2023001",
            "qty": 30,
            "cross_docking": 0
        }
    ]
}

Last updated