Integração e Status de Pedidos

O que são os status dos pedidos?

Os status dos pedidos representam os pontos pelos quais os pedidos passam, desde o momento da compra até a entrega ao cliente.

Quais os status dos pedidos cadastrados na Skyhub?

Code

Label

Type

Descrição

book_product

NEW - Pagamento Pendente (SkyHub)

NEW

NEW é o status que o pedido recebe quando gerado no marketplace.

payment_received

Aprovado (SkyHub)

APPROVED

Approved é o status que o pedido recebe quando o pagamento é aprovado (confirmado).

order_canceled

Cancelado (SkyHub)

CANCELED

Canceled é o status que o pedido recebe quando o mesmo foi cancelado, seja porque o cliente desistiu da compra ou o lojista não tem mais o estoque para atender ao pedido.

order_shipped

Pedido Enviado (SkyHub)

SHIPPED

Shipped é o Status que o pedido recebe quando o lojista envia os dados de NFe e Código de Rastreio.

complete

Completo (entregue) (SkyHub)

DELIVERED

Delivery é o status que o pedido recebe quando foi entregue ao cliente.

shipment_exception

Exceção de Entrega (SkyHub)

SHIPMENT_EXCEPTION

Shipment_exception é o status que o pedido recebe quando por algum motivo a entrega não foi realizada.

order_invoiced

Pagamento Faturado (SkyHub)

INVOICED

Status utilizado para o envio dos dados da NFe

Observação: Caso o cliente efetue o pagamento e o lojista não tiver mais o estoque, o lojista pode decidir se vai ou não atender aquele pedido, caso deseje atender o mesmo deve incluir estoque para o item do pedido.

É possível consultar os status via API?

Sim, para consultar os status é necessário fazer um GET /statuses. Para deixar mais claro segue exemplo de como fazer a request.

POST https://api.skyhub.com.br/statuses

O que constitui o status do pedido?

O status do pedido possui 3 campos na API:

Campo

Descrição

Code

É o código do status utilizado para a atualização do pedido.

Label

Nomenclatura do status Skyhub

Type

Status do seller que se adéqua com o status Skyhub

Dentro da Skyhub, menu: Skyhub > Status dos Pedidos

  • O Campo Code é a coluna #

  • O Campo Label é a coluna Status

  • O Campo Type é a coluna Tipo

Veja abaixo:

Atualização de pedido

No momento em que o pedido é realizado as primeiras atualizações de status de pedido são provindas do marketplace, esses status são:

  • Pagamento Pendente

  • Pagamento Aprovado

  • Cancelado

Observação: O cancelado virá do Marketplace caso o cliente desista da compra ou em casos similares.

Status que são de responsabilidade da loja enviar para o Marketplace.

  • Entregue à transportadora

  • Entregue ao cliente

  • Cancelado

Observação: O lojista poderá cancelar o pedido quando não conseguir fazer o atendimento do mesmo.

Os status podem ser verificados no portal da Skyhub seguindo o caminho no menu lateral:

Skyhub > Status dos Pedidos

A Skyhub realiza um De Para entre a coluna status com a coluna tipo.

Exemplo: Status: Pagamento Pendente (Skyhub) é do Tipo: Pagamento Pendente

Essa função existe porque é possível criar status de pedidos dentro da Skyhub, caso você crie os seus status de pedidos é importante você dizer para a Skyhub qual o significado de cada status que você criou.

Observação: A Skyhub já cria os status necessários para a sua integração de pedidos, porém caso haja necessidade você pode criar novos status.

Como alterar o status dos pedidos?

O endpoint utilizado para a atualização do status dos pedidos muda de acordo com o status que você deseja atualizar, veja os exemplos.

Atualizar status para faturado (INVOICED)

Após o Marketplace confirmar que o pedido teve o pagamento confirmado o lojista precisa emitir a nota fiscal eletrônica (NFE), abaixo segue exemplo da requisição:

POST https://api.skyhub.com.br/orders/{code}/invoice

Observação: O campo key precisa conter os 44 dígitos da NFE.

Como atualizar um pedido para enviado (Entregue a Transportadora)?

Para atualizar o pedido será sempre necessário utilizar o Endpoint:

POST https://api.skyhub.com.br/orders/{code}/shipments

Como alterar pedido para entregue?

Para alterar o pedido será sempre necessário utilizar o Endpoint:

POST http://api.skyhub.com.br/orders/{code}/delivery

Como cancelar um pedido

Para cancelar o pedido será sempre necessário utilizar o Endpoint:

POST https://api.skyhub.com.br/orders/{code}/cancel

Como atualizar o pedido para exceção de entrega

Para atualizar o pedido para exceção de entrega é necessário utilizar o Endpoint:

POST http://api.skyhub.com.br/orders/{order-id}/shipment_exception

Criando/aprovando pedidos teste

Para contas de desenvolvimento/homologação é possível criar e aprovar pedidos.

Essas operações não estão disponíveis em contas em produção.

1 - Criar pedido teste (status NEW)

curl --request POST \
--url https://api.skyhub.com.br/orders \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-User-Email: seu@email.com' \
--header 'X-Api-Key: YOUR API KEY HERE' \
--header 'X-Accountmanager-Key: token_account' \
--data '{"order": {"channel": "Marketplace","status": "book_product","items": [{"id": "teste002-azul","qty": 1}],"customer": {"name": "Nome do comprador","email": "comprador@exemplo.com.br","date_of_birth": "1995-01-01","gender": "male","vat_number": "12312312309","phones": ["8899999999"]},"billing_address": {"street": "Rua de teste","number": 1234,"detail": "Ponto de referência teste","neighborhood": "Bairro teste","city": "Cidade de teste","region": "UF","country": "BR","postcode": "90000000"},"shipping_address": {"street": "Rua de teste","number": 1234,"detail": "Ponto de referência teste","neighborhood": "Bairro teste","city": "Cidade de teste","region": "UF","country": "BR","postcode": "90000000"},"shipping_method": "Transportadora","estimated_delivery": "2015-01-10","shipping_cost": 5.0,"interest": 0.0}}'

2 - Aprovar pedido teste (status APPROVED)

curl --request POST \
--url https://api.skyhub.com.br/orders/Marketplace-000000001/approval \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-User-Email: seu@email.com' \
--header 'X-Api-Key: YOUR API KEY HERE' \
--header 'X-Accountmanager-Key: token_account' \
--data '{"status":"payment_received"}'

Para aprovação, atentar para o código gerado para o pedido criado e substituir na url do exemplo.

É obrigatório consumir todos os pedidos da fila de integração (Queues) com status NEW, pra que os produtos sejam empenhados em seus estoques.

Porque é obrigatório?

Para não ter divergência de estoque Disponível X estoque Empenhado

Se não consumir os pedidos o que pode acontecer? Podemos vender produtos sem estoque, uma vez que o empenho não existe na plataforma receberemos o estoque como Estoque Disponível, consequentemente disponibilizaremos o estoque errado para o Marketplace.

Vale Lembrar:

  • As plataformas que não se adequarem a essa regra de negócios podem arcar com prejuízo do seller.

  • Para a Skyhub, deve ser enviado apenas o estoque disponível.