Filtro de Pedidos e Produtos

A API Skyhub oferece a funcionalidade para que pedidos e produtos sejam filtrados de acordo com o status que ela se encontra.

Filtro de Pedidos por Status

Por exemplo, ao efetuar o GET através da endpoint:

https://api.skyhub.com.br/orders/, o resultado são todos os pedidos, não importando se eles estão aprovados, enviados, cancelado, entregues, etc.

Ao utilizar o filtro, podemos buscar o status desejados.

Para filtrar os pedidos por status é necessário saber quais status sua loja possui na Skyhub.

É possível verificar os status dos pedidos através do seguinte caminho dentro da Skyhub portal seguindo o caminho:

Menu lateral > Skyhub > status de pedidos

Exemplo abaixo:

OBS: Os status utilizados para fazer o filtro é o campo: code

Veja também como consultar os status via API através da Endpoint:

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

Os status utilizados para fazer o filtro é o campo: code.

Como Filtrar Pedidos por Status?

Para filtrar devemos utilizar o método GET e as seguintes Headers:

X-User-Email: SEU_EMAIL_CADASTRO_NA_SKYHUB

X-Api-Key: SUA_API_KEY

X-Accountmanger: SEU_X_ACCOUNTMANAGER-KEY

Accept: application/json

Content-Type: application/json

Endpoint: https://api.skyhub.com.br/orders?filters[statuses][]={code}, por exemplo:

Utilizando os status padrão da Skyhub, as endpoints seriam:

https://api.skyhub.com.br/orders?filters[statuses][]=payment_received

• A url filtrará pelos pedidos Aprovados

https://api.skyhub.com.br/orders?filters[statuses][]=order_invoiced

• A url filtrará pelos pedidos com Nota Fiscal Emitida

https://api.skyhub.com.br/orders?filters[statuses][]=book_product

• A url filtrará pelos pedidos com Pagamento Pendente.

https://api.skyhub.com.br/orders?filters[statuses][]=order_canceled

• A url filtrará pelos pedidos Cancelados.

https://api.skyhub.com.br/orders?filters[statuses][]=complete

• A url filtrará pelos pedidos Entregues ao Cliente.

https://api.skyhub.com.br/orders?filters[statuses][]=order_shipped

• A url filtrará pelos Pedidos Enviado

Segue exemplo abaixo:

No caso da sua loja possuir muitos pedidos por status, é possível filtrar por paginação utilizando o “page” e “per_page”

• Page: indica o número da página de registros que será retornada. Caso não seja especificado, a primeira página será retornada (valor padrão 1).

• Per_page: indica a quantidade de registros a serem retornados. Em ambos recursos (produtos e pedidos), per_page possui 100 como valor padrão e valor limite (valor máximo).

Por exemplo:

https://api.skyhub.com.br/orders?filters[statuses][]=payment_received&page=1&per_page=1

Com a Endpoint acima foi pesquisado pedidos com status aprovado na primeira página e apenas 1 pedido, conforme print:

Mas atenção, a forma de filtros por status NÃO deve ser usada em hipótese alguma para o consumo de pedidos. Para tal, sempre utilize a fila de pedidos.

Para saber mais sobre, clique aqui(colocar url do guia da Queues).

Como filtrar pedidos por data:

Para filtrar pedidos por data, será necessário utilizar o:

filters[start_date]=DD/MM/AAAA

Por exemplo:

https://api.skyhub.com.br/orders?filters[start_date]=15/08/2018


No exemplo acima é possivel verificar que utilizamos o filters[start_date]=15/08/2018, neste caso o retorno será dos pedidos criados a partir do dia 15/08/2018.

Para filtrar os pedidos apenas do dia 15/08/2018, será necessário utilizando tambem o filters[end_date]=DD/MM/AAAA.

Por exemplo:

https://api.skyhub.com.br/orders?filters[start_date]=15/08/2018&filters[end_date]=15/08/2018


Se observarmos os retornos dos 2 prints acima, podemos verificar que o numero de pedidos que retornam são divergentes, pois o 1 exemplo retorna pedidos a partir do dia 15 e no 2 exemplo apenas pedidos do dia 15.

O filtro por data será sempre pela data de criação do pedido e nunca pela data de atualização

Filtro de produtos por status

Na Api da Skyhub, além da filtragem de pedidos por status, temos a possibilidade de filtrar produtos por status.

Sim é possível filtrar produtos por status na API da Skyhub!!!

Quais seriam os status dos produtos?

Enabled – Ativo

Disabled – Inativo

Como efetuar o filtro de produtos por status?

Para filtrar um produto por status, é necessário utilizar as seguintes Headers:

X-User-Email: SEU_EMAIL_CADASTRO_NA_SKYHUB

X-Api-Key: SUA_API_KEY

X-Accountmanger: SEU_X_ACCOUNTMANAGER-KEY

Accept: application/json

Content-Type: application/json

Endpoint: https://api.skyhub.com.br/products?filters[status]={enabled ou disabled}

Segue abaixo o exemplo de uma request:

Resultado:

Assim como em pedidos, é possível filtrar por status, pagina e quantidade:

Por exemplo:

https://api.skyhub.com.br/products?page=1&per_page=1&filters[status]=enabled

Como podemos observar no exemplo acima, foi filtrado o produto com o status “enabled”, trazendo a página 1 e somente 1 produto.

Outros filtros possíveis na API Skyhub

Basicamente todos os filtros de produtos estão na funcionalidade de filters:

• filters[sku]

• filters[name]

• filters[status]

• filters[qty_from]

• filters[qty_to]