ProductOptionsGenerateAllVariants Endpoint

Overview

Some products need to allow you to change price, inventory, or SKU based upon a choice that a customer makes.  This kind of choice is called a variant.  This endpoint allows you to generate all possible variants for a product in the store.

Requirements

The following pre-requisites will be necessary to accomplish the goals of this article:

  • General understanding of REST and API’s
  • Understanding of C# and/or JavaScript
  • Visual Studio 2012 or newer

Getting Started

You should already have a project open and ready to accept code to allow you to use this REST API endpoint.  You should also have one or more products with one ore more choices created so that you can successfully create variants for the product.

ProductOptionsGenerateAllVariants

This REST API endpoint allows you to generate all possible variants for a product in your store. 

Example URL

This is what the REST endpoint will look like if you are calling it using JavaScript.  See our REST API URL documentation for more information.

http://example.com/DesktopModules/Hotcakes/API/rest/v1/productoptions/0/generateonly/[BVIN]

BVIN is the product ID as described in the parameters below.

HTTP Method

POST

Parameters

Parameter Description
bvin This is the unique ID of the product that you wish to generate variants for.

Returns

If successful, this endpoint will return True in the ApiResponse.Content object.  Otherwise, you should have one or more errors returned.  If you receive a False response with no error, either the product ID doesn't exist, or the REST call was improperly formatted.

Example Code

The following code will allow you to successfully call this endpoint, provided that you have enabled it.

Project References

  • Hotcakes.CommerceDTO

Import Namespaces

  • Hotcakes.CommerceDTO.v1
  • Hotcakes.CommerceDTO.v1.Catalog
  • Hotcakes.CommerceDTO.v1.Client

 

string url = "http://example.com";
string key = "YOUR-API-KEY";

Api proxy = new Api(url, key);

// specify the ID of the product to create variants for
var productId = "06f2347e-ee44-4c54-a530-61f6848f2bea";

// call the API to generate the variants
ApiResponse<bool> response = proxy.ProductOptionsGenerateAllVariants(productId);
// your domain name
var url = "http://example.com"; 
// the path where the API is
var apiPath = "/DesktopModules/Hotcakes/API/rest/v1/";  
// endpoint as shown in the documentation
var endPoint = "productoptions";  
// get this from the store admin
var apiKey = "YOUR-API-KEY";

$(document).ready(function() {

    // specify the ID of the product to create variants for
    var productId = "06f2347e-ee44-4c54-a530-61f6848f2bea";

    // call the API to generate the variants
    $.ajax({
        dataType: "json",
        url: url + apiPath + endPoint + "/0/generateonly/" + productId + "?key=" + apiKey + "&productbvin=" + productId,
        type: 'POST',
        success: function (data) {
            // do something
        },
        error: function (jqXHR, textStatus) {
            // do something else
        }
    });

});
{
   "Errors":[

   ],
   "Content":true
}
Have more questions? Submit a request

Need More Help?

Do you need more assistance with this article? Please review your support options.