A integração de pedidos poderá ser feita de duas maneiras:
- Utilizando a API de busca de pedidos, por data e status;
- Através de notificação via Webhook.
OBS: Recomendamos que o seller implemente os dois modelos de integração, por padrão via webhook e que tenha uma rotina de atualização pontual, para contingencia, caso alguma notificação não tenha sido entregue corretamente.
Recebendo pedidos criados:
Os pedidos criados (PRE-ORDER), são pedidos que ainda não tiveram o pagamento confirmado pelo marketplace, nesse momento o seller deverá fazer a reserva do estoque apenas. O pedido será atualizado para Pago ou Cancelado em seguida (PAID, CANCELED, IN-PROCESSING).
Referencia da API: Listagem de pedidos.
Recebendo atualizações via WebHook:
Para receber atualização via Webhook, o seller deverá configurar seu endpoint antes. Saiba como fazer clicando aqui.
Exemplo de notificação via webhook:
{
"_id": "string",
"storeId": "string",
"clientId": "string",
"status": "PRE-ORDER",
"paymentStatus": "PRE-ORDER",
"summary": {
"items": 1,
"total": 0,
"totalPriceDiscount": 0,
"totalShippingCost": 0,
"totalShippingDiscount": 0,
"maxShippingTime": 0,
"ordersDiscount": 0,
"_id": "string"
},
"deliveryAddress": {
"receiverName": "string",
"street": "string",
"city": "string",
"complement": "string",
"shortState": "string",
"state": "string",
"number": "string",
"zipcode": "stringst",
"countryCode": "BR",
"neighborhood": "string",
"metadata": {},
"_id": "string"
},
"parentOrderId": "string",
"customer": {
"ref": "string",
"name": "string",
"email": "string",
"phone": {
"countryCode": "string",
"areaCode": "string",
"number": "stringst"
},
"document": "string",
"type": "string",
"metadata": {},
"_id": "string"
},
"items": [
{
"offerId": "string",
"skuId": "string",
"productName": "string",
"productSlug": "string",
"slug": "string",
"name": "string",
"thumbnail": "string",
"quantity": 1,
"sellerName": "string",
"sellerId": "string",
"sellerSkuId": "string",
"warehouseId": "string",
"unitOriginalPrice": 0,
"unitPrice": 0,
"originalPrice": 0,
"priceDiscount": 0,
"price": 0,
"estimatedBusinessDays": 0,
"deliveryMethodName": "string",
"shippingCost": 0,
"shippingDiscount": 0,
"finalShippingCost": 0,
"logisticProviderName": "string",
"attributes": {},
"metadata": {},
"_id": "string"
}
],
"discounts": [
{
"_id": "string"
}
],
"shipments": [
{
"_id": "string"
}
],
"shoppingCart": [
{
"ownerId": "string",
"skuId": "string",
"selectedSellerId": "string",
"storeId": "string",
"name": "string",
"slug": "string",
"productName": "string",
"productSlug": "string",
"qtd": 1,
"metadata": {},
"attributes": [],
"thumbnail": {
"sort": 0,
"ext": "string",
"path": "string"
}
}
],
"tokens": {
"simulation": "string",
"customer": "string",
"shoppingCart": "string"
},
"metadata": {},
"transactionId": "string",
"verifyToken": "string",
"exceptionDetails": "string",
"createdAt": "string",
"updatedAt": "string"
}Faturar pedidos:
Após o pagamento ser confirmado (PAID) e o seller faturar o pedido no seu backoffice, o marketplace deverá ser informado com essa atualização, podendo ser total ou parcial.
Exemplo da requisição:
{
"billing": {
"protocol": "string", // opcional
"accessKey": "string", // chave de acesso da nota fiscal
"number": "string", // numero da nota fiscal
"serial": "string", // serie da nota fiscal
"issueDate": "2019-08-24T14:15:22Z", // data de emissão
"xmlContent": "string" // conteudo do XML da Danfe, em base64
},
// o campo items é opcional caso o seller queira faturar todos itens do pedido
"items": [
{
"id": "string", // SKU do seller
"quantity": 0 // quantidade de itens dentro da nota fiscal
}
]
}Referencia da API: Faturamento de pedidos.
Incluir rastreio:
Após o pedido ser faturado, o marketplace criará uma entrega para essa nota fiscal enviada, a partir desse momento toda atualização sobre o item dessa nota fiscal é feito com a referencia da chave de acesso da nota fiscal criada.
Exemplo da requisição:
{
"sendDate": "2019-08-24T14:15:22Z", // data da postagem
"protocol": "string", // código de rastreio ou instrução
"carrier": "string", // nome da transportadora
"deliveryMethod": "string" // forma de envio, ex.: expresso, sedex, pac
}Referencia da API: Atualização de tracking de um envio.
Informar entrega do pedido:
Finalmente, após o pedido já estar em trânsito (SENT), o seller poderá informar a confirmação de entrega desse pedido.
Referencia da API: Informar entrega de um envio.
STATUS DE PEDIDO
| STATUS | POSSIVEL STATUS | DESCRIÇÃO |
| PRE-ORDER | IN-PROCESSING, PAID, CANCELED | Pedido criado no marketplace, sem confirmação de pagamento nesse status. |
| IN PROCESSING | PAID, CANCELED | Pedido foi enviado para o gateway de pagamento e esta sendo processado ou em analise de risco. |
| PAID | BILLED, CANCELED | Pagamento do pedido foi confirmado. |
| BILLED | SENT | Pedido está totalmente faturado. |
| SENT | DELIVERED | Pedido está totalmente entregue. |
| DELIVERED | - | Pedido está totalmente entregue. |
Fluxo de atualização do pedido:
