Criação e Atualização de Estoque
Diferente das chamadas criar e consultar CD (Warehouse), onde é necessário gerar o Beader Token, na criação e atualização de estoque de Multi Origem é utilizado como credenciais a X-Api-Key e X-User-Email, que é enviado ao seller na criação da conta.
A baixo será possível verificar como efetuar esses processos.
O CD padrão, cujo o ID sempre será igual a "98", NÃO DEVE seguir o fluxo abaixo. Tanto o estoque quanto o crossdocking desse CD padrão devem ser atualizados através dos atributos dos produtos no endpoint /products, se for um produto simples, ou /variations, caso seja um produto com variações.
O fluxo abaixo de atualização de estoque e crossdocking deve ser seguido apenas para a atualização de CDs (Warehouse) que foram criados pela loja.

Como criar estoque?

Após a criação do CD (Warehouse) é necessário criar o estoque do seu produto que estará vinculado a ele, e para isso primeiro é necessário seguir o processo abaixo:
1
https://api.skyhub.com.br/stores/{store_code}/skus
Copied!
{store_code} = código do CD {code} = sku do produto Request Body:
1
{
2
"sku": {
3
"code": " skudoproduto"
4
"qty": 0,
5
"cross_docking": 0
6
}
7
}
Copied!
Example Request:
1
curl -X POST \
2
https://api.skyhub.com.br/stores/L01/skus \
3
-H 'accept: application/json' \
4
-H 'content-type: application/json' \
5
-H 'x-api-key: SuaApiKey' \
6
-H 'x-accountmanager-key: SUAXACCOUNT' \
7
-H 'x-user-email: [email protected]' \
8
-d '{
9
"sku": {
10
"code": " skudoproduto"
11
"qty": 0,
12
"cross_docking": 0
13
}
14
}'
Copied!
Request Headers:
Name
Type
Required
Description
Example
accept
String
Required
application/json
Content-type
String
Required
application/json
x-user-email
String
Required
E-mail da loja
x-api-key
String
Required
Token da loja
SuaApiKey
x-accountmanager-key
String
Required
identificador da sua Integração
SUAXACCOUNT
Possíveis retornos para o relacionamento entre os produtos:
Código HTTP
Descrição
204
No Content
404
Not found
422
Unprocessable entity

Como atualizar estoque?

Depois de vincular o estoque de um item a algum CD (Warehouse), as próximas atualizações devem seguir conforme o processo abaixo:
1
https://api.skyhub.com.br/stores/{store_code}/skus/{sku}
Copied!
{store_code} = código do CD {sku} = sku do produto
Request Body:
1
{
2
"store_id": " seucodigoCD ",
3
"sku_code": " skudoproduto ",
4
"sku": {
5
"qty": 0,
6
"cross_docking": 0
7
}
8
}
Copied!
Example Request:
1
curl -X PUT \
2
https://api.skyhub.com.br/stores/L01/skus/4278038 \
3
-H 'accept: application/json' \
4
-H 'content-type: application/json' \
5
-H 'x-api-key: SuaApiKey' \
6
-H 'x-accountmanager-key: SUAXACCOUNT' \
7
-H 'x-user-email: [email protected]' \
8
-d '{
9
"store_id": "seucodigoCD",
10
"sku_code": "skudoproduto",
11
"sku": { "qty": 0, "cross_docking": 0 }
12
}'
Copied!
Request Headers:
Name
Type
Required
Description
Example
accept
String
Required
application/json
Content-type
String
Required
application/json
x-user-email
String
Required
E-mail da loja
x-api-key
String
Required
Token da loja
SuaApiKey
x-accountmanager-key
String
Required
identificador da sua Integração
SUAXACCOUNT
Possíveis retornos para o relacionamento entre os produtos:
Código HTTP
Descrição
204
No Content
404
Not found
422
Unprocessable entity

Como criar/atualizar estoque em lote:

Uma vez que a loja possui muitos itens e muitos CDs ((Warehouses), acreditamos que seria inviável criar/atualizar produto a produto.
Neste caso é possível criá-los/atualiza-los em lote (batch). Para que isto, você irá atualizar o warehouse que deseja com quantos SKUs precisar, e para que isso ocorra é necessário utilizar o método POST e o seguinte endpoint:
1
https://api.skyhub.com.br/stores/{store_code}/batch
2
Copied!
Request Body:
1
{
2
"skus": [
3
{
4
"code": "sku-001",
5
"qty": 200,
6
"cross_docking": 3
7
}
8
]
9
}
Copied!
Example Request:
1
curl --location --request POST 'https://api.skyhub.com.br/stores/{store_code}/batch' \
2
--header 'accept: application/json' \
3
--header 'content-type: application/json' \
4
--header 'x-api-key: SuaApiKey' \
5
--header 'x-accountmanager-key: SUAXACCOUNT' \
6
--header 'x-user-email: [email protected]' \
7
--data-raw '{
8
"skus": [
9
{
10
"code": "sku-001",
11
"qty": 200,
12
"cross_docking": 3
13
}
14
]
15
}'
Copied!
Request Headers:
Name
Type
Required
Description
Example
accept
String
Required
application/json
Content-type
String
Required
application/json
x-user-email
String
Required
E-mail da loja
x-api-key
String
Required
Token da loja
SuaApiKey
x-accountmanager-key
String
Required
identificador da sua Integração
SUAXACCOUNT
Response:
207 - Multi-Status
1
{
2
"data": [
3
{
4
"code": "1523-1",
5
"status": 200
6
},
7
{
8
"code": "1523-2",
9
"status": 404,
10
"error": "Não foi possível encontrar a plataforma B2W"
11
},
12
{
13
"code": "1523-3",
14
"status": 404,
15
"error": "Não foi possível encontrar Sku: 1523-3"
16
},
17
{
18
"code": "1523-4",
19
"status": 422,
20
"errors": [
21
{
22
"attribute": "cross_docking",
23
"error_message": "deve ser maior ou igual a 0"
24
},
25
{
26
"attribute": "qty",
27
"error_message": "não é válido"
28
}
29
]
30
},
31
{
32
"code": "1523-5",
33
"status": 500,
34
"error": "Encontramos um erro inesperado, tente novamente mais tarde"
35
}
36
],
37
"metadata": {
38
"failures": 4,
39
"success": 1,
40
"total": 5
41
}
42
}
Copied!
400 - Bad Request
413 - Request entity too large
Last modified 1mo ago