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

OBS: 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:

  • A url filtrará pelos pedidos Aprovados:

https://api.skyhub.com.br/orders?filters[statuses][]=payment_received
  • A url filtrará pelos pedidos com Nota Fiscal Emitida

https://api.skyhub.com.br/orders?filters[statuses][]=order_invoiced
  • A url filtrará pelos pedidos com Pagamento Pendente

https://api.skyhub.com.br/orders?filters[statuses][]=book_product
  • A url filtrará pelos pedidos Cancelados

https://api.skyhub.com.br/orders?filters[statuses][]=order_canceled
  • A url filtrará pelos pedidos Entregues ao Cliente

https://api.skyhub.com.br/orders?filters[statuses][]=complete
  • A url filtrará pelos Pedidos Enviado

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

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.

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 é possível verificar que utilizamos o filters[start_date]=15/08/2018, neste caso o retorno será dos pedidos criados do dia 15/08/2018 em diante.

Para filtrar os pedidos apenas do dia 15/08/2018, será necessário utilizando também 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.

Para se certificar a respeito da data, será necessário verificar a informação apresentada no campo "placed_at".

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.

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.

Além dos filtros sitados acima, a Skyhub possui outros tipos de filtros.

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

  • filters[sku]

  • filters[name]

  • filters[status]

  • filters[qty_from]

  • filters[qty_to]