Melhores Práticas

Neste tópico será possível verificar as melhores práticas para que possa efetuar a requisição de forma adequada e como se comportar durante erros na API Skyhub.

Monitore a sua aplicação

Você monitora os status HTTP 4XX que a sua aplicação está recebendo?

Caso receba um erro HTTP 4XX, você deve efetuar a requisição novamente e em paralelo analisar o erro, para identificar o motivo do erro, para que efetue a correção.

Uma vez que o efetuado a correção, mas o erro persiste, pedimos que entre em contato, para que possamos analisar.

Você monitora os status HTTP 5XX que a sua aplicação está recebendo?

Uma vez que o erro o retorno do erro é HTTP 5XX, pedimos que efetue uma nova tentativa, pois o mesmo pode se tratar de uma intermitência.

Caso o erro persista, pedimos que entre em contato para que possamos analisar a causa raiz do erro.

Cuidado com o limite de requisições

Tenha cuidado para não ultrapassar os limites de requisições da nossa API. Caso a sua aplicação receba um HTTP 429, ela deve parar de fazer requisições por um tempo até que uma nova janela comece a contar.

Cuidado com datas com um alto volume de vendas, como a blackfriday. Acontece do desenvolvedor colocar mais máquinas para ter uma "integração mais rápida" e ser barrado no nosso limite de requisições.

Atualize apenas o necessário

Alguns recursos da API SkyHub, em especial a de produtos, permite que apenas alguns campos sejam passados na requisição de atualização. Se você deseja atualizar apenas o campo "qty" do produto, você deveria fazer semelhante à requisição abaixo:

curl --request PUT \
--url https://api.skyhub.com.br/products/:sku\
--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 '{"qty":0}'

Como podemos observar na requisição acima, é enviado apenas a atualização do estoque, ou seja, não é enviado a estrutura completa do produto.

Desta forma sua aplicação terá que trafegar menos dados na rede, a API SkyHub terá que processar uma carga menor de dados e terá um desempenho melhor.

Consumo de pedidos

Para consumir pedidos, todo o processo deve ser feito pelo endpoint /queues/orders, mas que Skyhub saiba que o pedido foi integrado.

Embora seja possível listar os pedidos via GET /orders, este endpoint como dito deve ser utilizado apenas para listar e não para consumir.