Contrato Pickup

Atualização de pedido:

Atualização do status "confirm_stock":

O "O2O" possui um fluxo de confirmação do estoque quando é gerado um pedido. Neste fluxo a aprovação do pagamento só ocorre após o Seller ter confirmado o estoque na loja. Para ficar mais claro, o pedido nasce na B2W e é consumido pela Skyhub e a loja consome na fila de integração de pedidos
Posteriormente a B2W irá atualizar o status do pedido para aguardando confirmação de estoque, que é consumido pela Skyhub e a loja por sua vez, consome na fila de integração de pedidos.
Uma vez consumido, a loja deve atualizar para a Skyhub o status de onde ele vai confirmar estoque (confirm_stock) e enviar a atualização para a Skyhub que irá enviar para a B2W.
Segue abaixo um exemplo de como este status é enviado para a SkyHub: Para efetuar a atualização será necessário efetuar o método POST na seguinte endpoint:
1
https://api.skyhub.com.br/orders/{code}/confirm_stock
Copied!
Request Body:
1
{
2
"confirmed": true,
3
"reason": ""
4
}
Copied!
Caso envie false, significa que a loja não possui estoque e o pedido será cancelado.
Example Request:
1
curl -X POST \
2
https://api.skyhub.com.br/orders/{code}/confirm_stock \
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
"confirmed": true,
10
"reason": ""
11
}
Copied!
Request Headers:
Name
Type
Required
Description
Example
accept
String
Required
application/json
application/json
Content-type
String
Required
application/json
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
Código identificador da sua Integração
SUAXACCOUNT

Contrato PICKUP:

Neste contrato, quando o cliente estiver efetuando a compra, ao inserir o CEP em alguma das lojas B2W (Americanas, Submarino ou Shoptime), será apresentado a Warehouse mais próxima do CEP do cliente, para que possa retirar o pedido.

Fluxo de atualização do pedido:

Caso o contrato seja PICKUP, após confirmar estoque (seguindo o fluxo mencionado acima) e a B2W receba essa informação, o pedido será então atualizado para aprovado, que será consumido pela Skyhub e disponibilizado para a loja consumir na fila de integração de pedidos (queues).
Após este passo a loja deve atualizar o pedido para aguardando retirada na loja (process_store) seguindo as informações abaixo.

Atualização do status “process_store”:

Uma vez que o pedido for atualizado, o status deve ser enviado para a Skyhub, que atualizará a B2W. Para efetuar a atualização será necessário efetuar o método POST na seguinte endpoint:
1
https://api.skyhub.com.br/orders/{code}/process_store
Copied!
Request Body:
1
{ "status": "processing_store" }
Copied!
Example Request
1
curl -X POST \
2
https://api.skyhub.com.br/orders/{code}/process_store \
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]'
Copied!
Request Headers
Name
Type
Required
Description
Example
accept
String
Required
application/json
application/json
Content-type
String
Required
application/json
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
Código identificador da sua Integração
SUAXACCOUNT
Após a atualização de "process_store", a Skyhub irá receber e enviar para a B2W que por sua vez vai enviar um e-mail ao cliente final, solicitando a retirada do pedido na loja.

Senha de Retirada (Opcional) - “Pickup_Validations”:

Uma vez que o pedido estiver aguardando retirada na loja, é possível se desejar incluir uma SENHA DE RETIRADA, para isso antes de fazer o faturamento a loja deve incluir uma senha através do Pickup_Validations.
Para efetuar a atualização será necessário efetuar o método POST na seguinte endpoint:
1
https://api.skyhub.com.br/orders/{code}/pickup_validations
Copied!
Request Body:
1
{
2
"password": 1234
3
}
Copied!
Example Request
1
curl -X POST \
2
https://api.skyhub.com.br/orders/{code}/pickup_validations\
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
-data '{
9
"password": 1234
10
}
Copied!

Response:

200 - Success
1
{"message":"Pedido validado com sucesso"}
Copied!
Depois de incluir a senha, é necessário atualizar o pedido para faturado seguindo passo a passo do fluxo mencionado aqui.

Seguindo o fluxo

O próximo passo é Faturar o pedido, e assim que o status for enviado para a Skyhub ele será disponibilizado para a B2W que irá receber o status, e desta forma o pedido será atualizado para entregue. E assim como as atualizações realizadas pelo Marketplace, o Status Entregue será consumido pela Skyhub que disponibilizará o pedido com essa informação na fila de integração de pedidos (queues)
Segue a baixo um exemplo de Json de pedido PICKUP:
1
{
2
"placed_at": "2019-10-24T14:34:34-03:00",
3
"calculation_type": null,
4
"seller_shipping_cost": 0.0,
5
"status": {
6
"type": "DELIVERED",
7
"label": "Completo (entregue) (SkyHub)",
8
"code": "complete"
9
},
10
"shipping_estimate_id": "",
11
"shipped_date": "",
12
"tags": [],
13
"payments": [{
14
"value": 989.1,
15
"transaction_date": "2019-10-24T14:51:00-03:00",
16
"status": null,
17
"sefaz": {
18
"type_integration": "1",
19
"payment_indicator": "1",
20
"name_payment": "Cartão de Débito",
21
"name_card_issuer": "null",
22
"id_payment": "4",
23
"id_card_issuer": "null"
24
},
25
"parcels": 1,
26
"method": "DEBIT_CARD",
27
"description": "No valor de: 989.1",
28
"card_issuer": "null",
29
"autorization_id": "null"
30
}],
31
"import_info": {
32
"ss_name": "Lojas Americanas",
33
"remote_id": "02-5036653662",
34
"remote_code": "1503665366259"
35
},
36
"shipping_cost": 0.0,
37
"estimated_delivery_shift": null,
38
"billing_address": {
39
"street": "Rua Capitão Salomão",
40
"secondary_phone": "79 000000000",
41
"region": "SE",
42
"reference": null,
43
"postcode": "49000000",
44
"phone": "79 000000000",
45
"number": "150",
46
"neighborhood": "Jardim Serra Dourada",
47
"full_name": "Giceli",
48
"detail": "",
49
"country": "BR",
50
"complement": null,
51
"city": "Estancia"
52
},
53
"shipping_method": null,
54
"discount": 109.9,
55
"customer": {
56
"vat_number": "76860543817",
57
"phones": ["79 000000000", "79 000000000"],
58
"name": "Giceli",
59
"gender": "",
60
"email": "[email protected]",
61
"date_of_birth": "1992-08-17"
62
},
63
"total_ordered": 989.1,
64
"shipping_address": {
65
"street": "Rua Capitão Salomão",
66
"secondary_phone": "79 000000000",
67
"region": "SE",
68
"reference": null,
69
"postcode": "49000000",
70
"phone": "79 999282948",
71
"number": "100",
72
"neighborhood": "Jardim Serra Dourada",
73
"full_name": "Giceli",
74
"detail": "",
75
"country": "BR",
76
"complement": null,
77
"city": "Estancia"
78
},
79
"exported_at": "2019-10-24T14:56:22-03:00",
80
"updated_at": "2019-10-24T14:51:26-03:00",
81
"sync_status": "SYNCED",
82
"delivered_date": "2019-10-24T15:18:03-03:00",
83
"items": [{
84
"special_price": 989.1,
85
"shipping_cost": 0.0,
86
"remote_store_id": null,
87
"qty": 1,
88
"product_id": "4283250",
89
"original_price": 1099.0,
90
"name": "MOTO G8 PLAY XT2015 32GB VERMELHO",
91
"id": "4283250",
92
"gift_wrap": null,
93
"detail": null
94
}],
95
"approved_date": "2019-10-24T17:55:37.473000",
96
"channel": "Lojas Americanas",
97
"pick_ups": [{
98
"store_code": "1066",
99
"items": [{
100
"qty": 1,
101
"product_id": "4283250",
102
"id": "4283250"
103
}],
104
"agent": {
105
"vat_number": "76860543817",
106
"name": "Giceli"
107
}
108
}],
109
"invoices": [{
110
"volume_qty": 1,
111
"number": "000011111",
112
"line": "001",
113
"key": "12345678901234567890123456789012345678901234",
114
"issue_date": "2019-10-24T15:18:03-03:00"
115
}],
116
"code": "Lojas Americanas-271271841201",
117
"interest": 0.0,
118
"delivery_contract_type": "PICKUP",
119
"estimated_delivery": "2019-10-24T00:00:00-03:00",
120
"shipping_carrier": "",
121
"shipments": [{
122
"tracks": [{
123
"url": null,
124
"method": null,
125
"code": "Não informado",
126
"carrier": null
127
}],
128
"items": [{
129
"sku": "4283250",
130
"qty": 1
131
}],
132
"code": "Não informado"
133
}, {
134
"tracks": [{
135
"url": null,
136
"method": null,
137
"code": null,
138
"carrier": "SPREADSHEET"
139
}],
140
"items": [{
141
"sku": "4283250",
142
"qty": 1
143
}],
144
"code": "Lojas Americanas-1503665366259"
145
}],
146
"imported_at": "2019-10-24T14:38:31-03:00"
147
148
Copied!
Note que nesse tipo de pedido, deve validar o CONTRATO DE ENVIO que é preenchido no "delivery_contract_type", onde ele será preenchido como pickup_store (clique e retire/Na Loja) ou ship_store (Entrega na Vizinhança/Motoboy). Será verificado por esse campo o tipo de contrato que deve ser levado em consideração no momento do consumo para saber como operar.
Last modified 2d ago