Product variations

    List all the variations on a site

    Request

    • Method: GET
    • Version: v3, this API call supports additional sort and filter mechanisms as well as retrieving only a sub-set of fields

      Note: In order to access the v3 API endpoints please make sure you have enabled the new rendering engine.

    • Server: https://[app key here]-[site_ID here]-apps.worldsecuresystems.com. Take a look at the Authorize your API calls document for more info on how this URL is formed.
      • Note: When building apps always use relative request URLs. Do not use the "full" URL above because you might have problems running your app on a different site as the site_ID parameter will be different.
    • Path: /webresources/api/v3/sites/current/variations
      • Alternatively, use siteID instead of 'current'
    • Authorization header: This should contain the authorization token. Here is how to obtain the token.

    Response

    An array of the first 10 variations; each object has the following properties:

    • id - product ID (number)
    • siteId - site ID (number)
    • productId - corresponding product's id (string)
    • sku - variations' SKU (string)
    • inStock - items in stock (number)
    • onOrder - items on order (number)
    • enabled - variation is enabled(string)

    You can output additional fields to those listed above as default, see the API v3 Discovery APP for additional details.

    Accepts and returns JSON as Content-Type.


    Sample request

    var access_token = BCAPI.Helper.Site.getAccessToken();
    var request = $.ajax({
        url: "/webresources/api/v3/sites/current/variations",
        type: "GET",
        connection: "keep-alive",    
        contentType: "application/json",
        headers: {
            "Authorization": $.cookie('access_token')
        }
    });
    request.done(function (msg) {
        console.log(msg);
    })
    request.fail(function (jqXHR) {
        console.log("Request failed.");
        console.log("Error code: " + jqXHR.status);
        console.log("Error text: " + jqXHR.statusText);
        console.log("Response text: " + jqXHR.responseText);
    })

    Sample response

    {
      "items": [
        {
          "id": 32265,
          "siteId": 246884,
          "productId": 3909346,
          "sku": "X5I0YA888Y-Type1",
          "inStock": 1,
          "onOrder": 0,
          "enabled": true
        },
        {
          "id": 32266,
          "siteId": 246884,
          "productId": 3909346,
          "sku": "X5I0YA888Y-Type2",
          "inStock": 2,
          "onOrder": 0,
          "enabled": true
        }
      ],
      "totalItemsCount": 2,
      "skip": 0,
      "limit": 10
    }

    Get a product's variations

    Request

    • Method: GET
    • Version: v3, this API call supports additional sort and filter mechanisms as well as retrieving only a sub-set of fields

      Note: In order to access the v3 API endpoints please make sure you have enabled the new rendering engine.

    • Server: https://[app key here]-[site_ID here]-apps.worldsecuresystems.com. Take a look at the Authorize your API calls document for more info on how this URL is formed.
      • Note: When building apps always use relative request URLs. Do not use the "full" URL above because you might have problems running your app on a different site as the site_ID parameter will be different.
    • Path: /webresources/api/v3/sites/current/products/[product_ID]/variations
      • Alternatively, use siteID instead of 'current'
    • Authorization header: This should contain the authorization token. Here is how to obtain the token.

    Response

    Displays the details for the variation as a JSON object

    • id - product ID (number)
    • siteId - site ID (number)
    • productId - corresponding product's id (string)
    • sku - variations' SKU (string)
    • inStock - items in stock (number)
    • onOrder - items on order (number)
    • enabled - variation is enabled(string)

    Accepts and returns JSON as Content-Type.


    Sample request

    var access_token = BCAPI.Helper.Site.getAccessToken();
    var request = $.ajax({
        url: "/webresources/api/v3/sites/current/products/3909340/variations",
        type: "GET",
        connection: "keep-alive",    
        contentType: "application/json",
        headers: {
            "Authorization": $.cookie('access_token')
        }
    });
    request.done(function (msg) {
        console.log(msg);
    })
    request.fail(function (jqXHR) {
        console.log("Request failed.");
        console.log("Error code: " + jqXHR.status);
        console.log("Error text: " + jqXHR.statusText);
        console.log("Response text: " + jqXHR.responseText);
    })

    Sample response

    {
      "items": [
        {
          "id": 160947,
          "siteId": 246884,
          "productId": 3909340,
          "sku": "EYE2FQZUGZ-red",
          "inStock": 4,
          "onOrder": 0,
          "enabled": true
        },
        {
          "id": 160948,
          "siteId": 246884,
          "productId": 3909340,
          "sku": "EYE2FQZUGZ-blue",
          "inStock": 2,
          "onOrder": 0,
          "enabled": true
        }
      ],
      "totalItemsCount": 2,
      "skip": 0,
      "limit": 10
    }