Queues - Fila de Integração

No inicio a integração de pedidos era realizada através do EndPoint de orders, onde era necessário realizar um GET e confirmar a integração de pedido utilizando o seguinte request.

http://api.skyhub.com.br/orders/idPEDIDO/exported

A Skyhub visando garantir a integridade de sua Api e constantemente evoluir desenvolveu a Queues (Fila de integração de pedidos), o propósito desta é disponibilizar as alterações de status que acontecem no pedido, basta à integração consumir no endpoint da queues para obter as atualizações de seus pedidos, abaixo endpoint:

http://api.skyhub.com.br/queues/orders

Disponibilizamos os pedidos na queues nas seguintes situações/status:

Code: book_product
Label: Pagamento Pendente (SkyHub)

Code: order_canceled
Label: Cancelado (SkyHub)

Code: payment_received
Label: Aprovado (SkyHub)

Disponibilizamos também situações/Status abaixo somente para parceiros que utilizam o método B2W Entrega.

Code: order_shipped
Label: Pedido Enviado (SkyHub)

Code: Complete
Label: Completo (entregue) (SkyHub)

Code é o campo que recebe o código do status do pedido na API

Label é o campo que recebe o nome do status do pedido na API.

Como consumir a queues?

Para consumir a queues, a integração deve realizar um GET no seguinte endpoint:

https://api.skyhub.com.br/queues/orders

A consulta da queues retornará apenas um pedido de cada vez, sendo necessário consumir e deletar até o momento em que não listar novos pedidos para serem integrados.

Melhores práticas de integração da queues.

É importante que você tenha em mente que a API Skyhub possui o limite de 500 requisições por minuto, sendo que para orders são 9 Request por Segundo. Uma solução para consumir a queues de forma eficiente é criar uma rotina de 15 em 15 minutos para realizar a consulta.

Exemplo de consumo da queues.







Porque deletar o pedido da queues?

A integração precisa deletar o pedido que foi consumido em até 5 minutos, caso contrario o pedido será enfileirado na integração novamente, sendo necessário um novo consumo desse pedido, e não é isso que queremos! Por esse motivo é necessário à ação de deletar o pedido da queues, dessa forma a Skyhub entende que a integração conseguiu salvar o pedido em sua plataforma/ERP.

Como deletar o pedido da queues

Request : https://api.skyhub.com.br/queues/orders/{code}

Exemplo de delete da queues



Após as ações acima, é possível verificar se ocorreu o consumo dos pedidos no painel da Skyhub, visível para o seller e via API para integração, abaixo segue o exemplo de consulta no painel da Skyhub:

Exemplo de pedido não consumido da queues no painel Skyhub = NÃO ENVIADO



Exemplo de pedido consumido queues no painel Skyhub = ENVIADO



Exemplo de como consultar via API se o pedido foi consumido ou não da queues:

Realize um GET via API no pedido, no seguinte endpoint:

https://api.skyhub.com.br/orders/numeroPedido



O Campo sync_status informa se o pedido foi consumido ou não.