PriceGroupsUpdate Endpoint

Overview

It wouldn't be unusual to need to update an existing price group.  This endpoint allows you to update any specific price group in your 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 price groups created so that you can successfully find one to update.

PriceGroupsUpdate

This REST API endpoint allows you to update a price group in your store. This requires that you also have a price group to update, which would mean that you should also call the PriceGroupsFind endpoint to get an existing price group.

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/pricegroups/[BVIN]

BVIN is the price group ID as described in the parameters below.

HTTP Method

POST

Parameters

Parameter Description
bvin This is the unique ID of the price group that you wish to update

Returns

If successful, this endpoint will return a populated PriceGroupDTO object in JSON format.  Otherwise, you should have one or more errors returned.  

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.Client
  • Hotcakes.CommerceDTO.v1.Contacts

 

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

Api proxy = new Api(url, key);

// specify a price group to update
var priceGroupID = "f3aafd58-e17b-49df-8e8e-9f5ae33d3bc4";

// find a price group to update
var priceGroup = proxy.PriceGroupsFind(priceGroupID).Content;

// change the amount to adjust
priceGroup.AdjustmentAmount = 10.5m;

// call the API to save the change(s)
ApiResponse<PriceGroupDTO> response = proxy.PriceGroupsUpdate(priceGroup);
// 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 = "pricegroups";  
// get this from the store admin
var apiKey = "YOUR-API-KEY";

$(document).ready(function() {

    // specify a price group to update
    var priceGroupID = "f3aafd58-e17b-49df-8e8e-9f5ae33d3bc4";

    // get the price group to update
    $.ajax({
        dataType: "json",
        url: url + apiPath + endPoint + "/" + priceGroupID + "?key=" + apiKey,
        type: 'GET',
        success: function (data) {
            UpdatePriceGroup(data.Content);
        },
        error: function (jqXHR, textStatus) {
            // do something
        }
    });

});

function UpdatePriceGroup(priceGroup) {

    // change the amount to adjust
    priceGroup.AdjustmentAmount = 10.5;

    // leave empty to prevent JS errors (it will be updated for you automatically regardless)
    priceGroup.LastUpdated = "";

    // call the API to save the change(s)
    $.ajax({
        dataType: "json",
        url: url + apiPath + endPoint + "/" + priceGroup.Bvin + "?key=" + apiKey,
        data: JSON.stringify(priceGroup),
        type: 'POST',
        success: function (data) {
            // do something
        },
        error: function (jqXHR, textStatus) {
            // do something else
        }
    });
}
{
   "Errors":[

   ],
   "Content":{
      "StoreId":1,
      "Bvin":"f3aafd58-e17b-49df-8e8e-9f5ae33d3bc4",
      "LastUpdated":"/Date(1396393929947)/",
      "Name":"VIP Customers",
      "PricingType":4,
      "AdjustmentAmount":10.5
   }
}
Have more questions? Submit a request

Need More Help?

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