ProductPropertiesSetValueForProduct Endpoint

Overview

One of the types you can choose when creating a product property is "Multiple Choice."  This allows for a person updating or adding products to choose from a pre-determined list of choices for the product property.  Using this endpoint allows for you to specify which choice is the default in the product editing view.

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, product properties, and product property choices created so that you can successfully find and update them.

ProductPropertiesSetValueForProduct

This REST API endpoint allows you to update a product to use a specific default value for a product property in the product edit view. 

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/productproperties/[ID]/valuesforproduct/[PRODUCTID]

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

PRODUCTID is the ID of the product, as described in the parameters below.

HTTP Method

GET

Parameters

Parameter Description
Id This is the unique ID of the product property that you wish to use to update the product
ProductId The unique ID of the product associated with this product property.
PropertyValue The value of the product property to save and use as the default option.
ChoiceId The choice associated with this value. (Not currently used.)

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 one of the ID's doesn't exist, the specified value isn't numeric or isn't found, 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 product property to look for
var propertyId = 15;

// specify the product to update 
var productId = "5a85405f-1311-481f-b1e6-64e01c8714e7";

// specify the choice to update
var choiceId = 3;

// the default value for the product to use for the specified product property
var defaultValue = "2";

// call the API to update the product property value for the product
ApiResponse<bool> response = proxy.ProductPropertiesSetValueForProduct(propertyId, productId, defaultValue, choiceId);
// 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 = "productproperties";  
// get this from the store admin
var apiKey = "YOUR-API-KEY";

$(document).ready(function() {

    // specify the product property to look for
    var propertyId = 15;

    // specify the product to update 
    var productId = "5a85405f-1311-481f-b1e6-64e01c8714e7";

    // specify the choice to update
    var choiceId = 3;

    // the default value for the product to use for the specified product property
    var defaultValue = 3;

    // call the API to update the product property value for the product
    $.ajax({
        dataType: "json",
        url: url + apiPath + endPoint + "/" + propertyId + "/valuesforproduct/" + productId + "?key=" + apiKey,
        data: JSON.stringify(defaultValue),
        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.