ProductVolumeDiscountsCreate Endpoint

Overview

Rewarding customers with a discount for buying a large quantity of a product is a no-nonsense way to entice customers to make purchases with you.  This endpoint allows you to create as many volume discounts for products as you need for 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 some kind of idea what attributes that you want your volume discount to have before you create it.

ProductVolumeDiscountsCreate

This REST API endpoint allows you to create a volume discount for a product 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/productvolumediscounts

HTTP Method

POST

Parameters

This method only requires that you pass an instance of the ProductVolumeDiscountDTO object to the endpoint.

Returns

If successful, this endpoint will return a ProductVolumeDiscountDTO object in JSON format.  Otherwise, you will 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.Catalog
  • Hotcakes.CommerceDTO.v1.Client

 

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

Api proxy = new Api(url, key);

// create a new product volume discount object
var discount = new ProductVolumeDiscountDTO()
{
    ProductId = "dfcae0ee-8bcf-4321-8b31-7883b5434285",
    Qty = 10,
    Amount = 10m,
    DiscountType = ProductVolumeDiscountTypeDTO.Percentage
};

// call the API to create the new product volume discount
ApiResponse<ProductVolumeDiscountDTO> response = proxy.ProductVolumeDiscountsCreate(discount);
// 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 = "productvolumediscounts";  
// get this from the store admin
var apiKey = "YOUR-API-KEY";

$(document).ready(function() {

    // create a new product volume discount object
    var discount = {
        "ProductId": "dfcae0ee-8bcf-4321-8b31-7883b5434285",
        "Qty": 20,
        "Amount": 15,
        "DiscountType": 1
    };

    // call the API to create the new product volume discount
    $.ajax({
        dataType: "json",
        url: url + apiPath + endPoint + "?key=" + apiKey,
        data: JSON.stringify(discount),
        type: 'POST',
        success: function (data) {
            // do something
        },
        error: function(jqXHR, textStatus) {
            // do something else
        }
    });

});
{
   "Errors":[

   ],
   "Content":{
      "Bvin":"507d2459-701c-440b-9789-0bd723e6b9ce",
      "StoreId":1,
      "LastUpdated":"\/Date(1402101206656)\/",
      "ProductId":"dfcae0ee-8bcf-4321-8b31-7883b5434285",
      "Qty":10,
      "Amount":10,
      "DiscountType":1
   }
}
Have more questions? Submit a request

Need More Help?

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