Filtros de Consultas

A API oferece a possibilidade de informar a query para filtrar a listagem de produtos

Para aplicar filtros por produtos com queries específicas é necessário utilizar a URL base disponibilizada a seguir:

http://api.skyhub.com.br/products

Request headers:

KeyValue

X-User-Email

email_de_usuario

X-Api-Key

token_de_integracao de sua conta SkyHub

X-Accountmanager-Key

token_account único de cada Plataforma/ERP

Accept

application/json

Content-Type

application/json

Através da URL e dos headers informados é possível realizar os filtros por:

  • Status;

  • Nome;

  • Quantidade em estoque;

  • Campos específicos no retorno.

Como filtrar por status

É possível realizar a listagem de produtos através de seus status, onde deverá ser informada a query ?filters[status]= no endpoint /products, referenciando o status a ser consultado, conforme exemplo a seguir:

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

Ao informar o parâmetro ?filters[status]=enabled serão retornados todos os produtos ativos (enabled); caso selecione o parâmetro ?filters[status]=disabled serão retornados os produtos inativos (disabled).

Example request:

Segue um exemplo de requisição para listagem de produtos com status disabled:

curl --location -g --request GET 'https://api.skyhub.com.br/products?filters[status]=disabled' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Response esperado:

200 [Success] - OK: No retorno para a consulta acima serão visualizados todos os SKUs da conta que possuírem o status disabled como vemos a seguir:

{
    "products": [
        {
            "sku": "SKU_01",
            "name": "Título 01",
            "description": "Descrição 01",
            "status": "disabled",
            (...)
        }
    ],
    "total": 1,
    "next": "https://api.skyhub.com.br/products?cursor=cXVlcnlUa..........wOw=="
}

Como filtrar por nome

Para realizar a listagem de produtos através de um nome específico deverá ser informada a query ?filters[name]= no endpoint /products, referenciando o nome a ser consultado, conforme exemplo a seguir:

https://api.skyhub.com.br/products?filters[name]={nome_do_item}

Example request:

Segue um exemplo de requisição para listagem de SKUs com o termo "produto" no título:

curl --location -g --request GET 'https://api.skyhub.com.br/products?filters[name]=produto' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Response esperado:

200 [Success] - OK: No retorno para a consulta acima serão visualizados todos os SKUs da conta que possuírem no campo name a string "produto" como vemos a seguir:

{
    "products": [
        {
            "sku": "SKU_01",
            "name": "Produto teste",
            "description": "Descrição 01",
            "status": "enabled",
          (...)
        },
        {
            "sku": "SKU_02",
            "name": "PRODUTO SIMPLES",
            "description": "Descrição 02",
            "status": "enabled",
          (...)
        },
        {
            "sku": "SKU_03",
            "name": "PRODUTO SIMPLES ESPECIAL",
            "description": "Descrição 03",
            "status": "enabled",
          (...)
        }
    (...)
    ],
    "total": 43,
    "next": "https://api.skyhub.com.br/products?cursor=cXVlcnlUaGVu...........wOw=="
}

Como filtrar por quantidade em estoque

O filtro por quantidade (qty) permite a consulta de produtos com determinados estoques, sendo:

Consulta de produtos com quantidade em estoque maior ou igual ao valor especificado

Para realizar a listagem de produtos cujo estoque seja maior ou igual a um valor definido na busca deverá ser informada a query ?filters[qty_from]= no endpoint /products, referenciando a quantidade desejada, conforme exemplo a seguir:

https://api.skyhub.com.br/products?filters[qty_from]={qty}

Example request:

Segue um exemplo de requisição para listagem de produtos com estoque maior ou igual a 50 unidades:

curl --location -g --request GET 'https://api.skyhub.com.br/products?filters[qty_from]=50' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Response esperado:

200 [Success] - OK: No retorno para a consulta acima serão visualizados todos os SKUs da conta que possuírem o valor maior ou igual a 50 unidades no campo qty, como vemos a seguir:

{
    "products": [
        {
            "sku": "SKU_01",
            "name": "Título 01",
            "description": "Descrição 01",
            "status": "enabled",
            "qty": 10000,
            (...)
        },
        {
            "sku": "SKU_02",
            "name": "Título 02",
            "description": "Descrição 02",
            "status": "enabled",
            "qty": 100,
            (...)
        },
        {
            "sku": "SKU_03",
            "name": "Título 03",
            "description": "Descrição 03",
            "status": "enabled",
            "qty": 400,
            (...)
        }
    (...)
    ],
    "total": 15,
    "next": "https://api.skyhub.com.br/products?cursor=cXVlcnlUa............swOw=="

Consulta de produtos com quantidade em estoque menor ou igual ao valor especificado

Para realizar a listagem de produtos cujo estoque seja menor ou igual a um valor definido na busca deverá ser informada a query ?filters[qty_to]= no endpoint /products referenciando a quantidade desejada, conforme exemplo a seguir:

https://api.skyhub.com.br/products?filters[qty_to]={qty}

Example request:

Segue um exemplo de requisição para listagem de produtos com estoque menor ou igual a 50 unidades:

curl --location -g --request GET 'https://api.skyhub.com.br/products?filters[qty_to]=50' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Response esperado:

200 [Success] - OK: No retorno para a consulta acima serão visualizados todos os SKUs da conta que possuírem o valor menor ou igual a 50 unidades para o campo qty, como vemos a seguir:

{
    "products": [
        {
            "sku": "SKU_01",
            "name": "Título 01",
            "description": "Descrição 01",
            "status": "disabled",
            "qty": 5,
            (...)
        },
        {
            "sku": "SKU_02",
            "name": "Título 02",
            "description": "Descrição 03",
            "status": "enabled",
            "qty": 3,
            (...)
        },
        {
            "sku": "SKU_03",
            "name": "Título 03",
            "description": "Descrição 03",
            "status": "enabled",
            "qty": 49,
            (...)
        }
    (...)
    ],
    "total": 86,
    "next": "https://api.skyhub.com.br/products?cursor=cXVlcnlUaG...........swOw=="
}

É possível combinar os parâmetros filters[qty_from] e filters[qty_to] para listar produtos cujos estoques se encontram dentro de uma faixa específica, por exemplo:

  • Desejo consultar apenas os SKUs que possuem estoque entre 5 e 10 unidades: Para isso basta adicionar ao GET no endpoint /products o filtro ?filters[qty_from]=5&filters[qty_to]=10;

  • Desejo consultar apenas os produtos que possuem 5 unidades em estoque: Para essa listagem basta incluir na pesquisa o ?filters[qty_from]=5&filters[qty_to]=5.

Como consultar campos específicos

Na estrutura de um produto são definidos diversos campos, como SKU, imagens, EAN, entre outros.

Através da API é possível restringir a consulta para que o retorno mostre apenas determinados atributos. Para isto, deverá ser informada a query ?only[]= no endpoint /products referenciando o atributo que deseja visualizar, conforme descrito a seguir:

https://api.skyhub.com.br/products?only[]={atributo}

Example request:

Segue um exemplo de requisição para listagem de todos os produtos, filtrando no retorno apenas os campos SKU, imagem e custo:

curl --location -g --request GET 'https://api.skyhub.com.br/products?only[]=sku&only[]=images&only[]=cost' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Response esperado:

200 [Success] - OK: No retorno para a consulta acima serão visualizados os campos sku, images e cost de todos os produtos da conta, como vemos a seguir:

{
    "products": [
        {
            "sku": "SKU_01",
            "cost": 1374.45,
            "images": [
                "https://images-americanas.b2w.io/produtos/1234567890/imagens/camiseta-branca-tam-un/1234567890_1_xlarge.jpg"
            ]
        },
        {
            "sku": "SKU_02",
            "cost": 49.0,
            "images": [
                "https://images-americanas.b2w.io/produtos/1122334455/imagens/camiseta-preta/1122334455_1_xlarge.jpg"
            ]
        },
        {
            "sku": "SKU_03",
            "cost": 49.0,
            "images": [
                "https://images-americanas.b2w.io/produtos/0123456789/imagens/livro-para-colorir/0123456789_1_xlarge.jpg"
            ]
        }
    (...)
    ],
    "total": 101,
    "next": "https://api.skyhub.com.br/products?only[]=sku&only[]=images&only[]=cost&cursor=cXVlcnlUa........swOw=="

Last updated