Products API Queries

product

Retrieves a single product

This query retrieves a product given its Product Code, such as 21NK. A single product can have multiple Variants, and they can all be included in the response if desired.

{
  product(code: "21NK") {
    code
    name {
      ...languages
    }
    unitOfMeasure {
      code
      name {
        ...languages
      }
      namePlural {
        ...languages
      }
    }
    variants {
      ean13
      productColourCode
      productColour {
        name {
          ...languages
        }
      }
      sizeCode
      sizeSequence
    }
  }
}

fragment languages on Translatable {
  nl
  de
  en
}

productVariant

Retrieves a colour/size/assortment variation of the main product

This query retrieves a product variant given its 13-digit (EAN13) barcode. It is the variant that has the specific price and availability information. Information about the overall product (such as Commercial & Quality, Safety information, etc) can also be included in the response if desired.

{
  productVariant(barcode: "8716404039059") {
    ean13
    productCode
    productColour {
      code
      name {
        ...languages
      }
    }
    sizeCode
    sizeSequence
    photos {
      name
      image {
        src
        width
        height
      }
      filesize
      dateModified
    }
    pricing {
      standardPrice
      yourPriceDiscounted
    }
    stock {
      currentStock
      futureStock {
        date
        quantity
      }
    }
    product {
      name {
        ...languages
      }
    }
  }
}

fragment languages on Translatable {
  nl
  de
  en
}

products

Retrieves the entire product collection (paginated), and filtered if desired

This query searches the entire product collection. It is paginated with a maximum of 100 products per result set.

 

Seeing as we currently offer over 1,100 products on our website, this means that at least 12 requests are necessary if you would like to retrieve our entire product collection. This can be controlled using the Skip and Take parameters.

 

For example, the first request would be Skip:0 & Take:100, the second request would be Skip:100 & Take:100, the third request would be Skip:200 & Take:100, and so on. You can use the TotalResults field to determine how many requests are needed.

 

N.B. The pagination works on the main product level. Every product has multiple Variants, so even if you are retrieving 1 product, you will actually retrieve all the variant data as well, and this could be more than 50 different colour/size/assortment combinations.

 

It is possible to filter the results using several criteria, such as returning only the products which are currently in stock. Use the Documentation Explorer to see what the options are.

{
  products(skip: 0, take: 10) {
    totalResults
    numResults
    results {
      code
      name {
        nl
      }
      variants {
        ean13
        productColourCode
        sizeCode
        sizeSequence
        pricing {
          standardPrice
          yourPriceDiscounted
        }
        stock {
          currentStock
          futureStock {
            date
            quantity
          }
        }
      }
    }
  }
}

productCategories

Retrieves the categories used on the website

The category tree is flattened and made available here. The parentId field can be used to reconstruct the tree if desired.

{
  productCategories {
    id
    name {
      nl
      de
      en
    }
    parentId
    sortSequence
    hasChildren
  }
}