ProductsCreate EndPoint

Overview

Every single store needs products.  Why else would you create an online store?  This endpoint allows you to create as many 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 new product to have before you create it.

ProductsCreate

This REST API endpoint allows you to create a product for 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://yourdomain.com/DesktopModules/Hotcakes/API/rest/v1/products

HTTP Method

POST

Parameters

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

Returns

If successful, this endpoint will return a ProductDTO 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
  • Hotcakes.CommerceDTO.v1.Shipping

 

string url = "http://YOURDOMAIN.COM";
string key = "YOUR-API-KEY";

Api proxy = new Api(url, key);

// create a new instance of a product
var product = new ProductDTO();

// populate the product object with minimal information
product.ProductName = "Hotcakes Commerce Lunchbox";
product.Sku = "HCC-SWAG-0001";
product.SitePrice = 39.00m;
product.InventoryMode = ProductInventoryModeDTO.AlwayInStock;

// call the API to create the new product
ApiResponse<ProductDTO> response = proxy.ProductsCreate(product, null);
// your domain name
var url = "http://YOURDOMAIN.COM"; 
// the path where the API is
var apiPath = "/DesktopModules/Hotcakes/API/rest/v1/";  
// endpoint as shown in the documentation
var endPoint = "products";  
// get this from the store admin
var apiKey = "YOUR-API-KEY";

$(document).ready(function() {

    // create and populate the product object with minimal information
    var product = {
        "ProductName": "Hotcakes Commerce Lunchbox",
        "Sku": "HCC-SWAG-0001",
        "SitePrice": 39.00,
        "InventoryMode": 100
    };

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

});
{
   "Errors":[

   ],
   "Content":{
      "Bvin":"a5c9f622-9e03-4399-9a89-8f3dce4644e2",
      "Sku":"HCC-SWAG-0001",
      "ProductName":"Hotcakes Commerce Lunchbox",
      "ProductTypeId":"",
      "CustomProperties":[

      ],
      "ListPrice":0,
      "SitePrice":39,
      "SitePriceOverrideText":"",
      "SiteCost":0,
      "MetaKeywords":"",
      "MetaDescription":"",
      "MetaTitle":"",
      "TaxExempt":false,
      "TaxSchedule":-1,
      "ShippingDetails":{
         "IsNonShipping":false,
         "ExtraShipFee":0,
         "Weight":0,
         "Length":0,
         "Width":0,
         "Height":0,
         "ShippingSource":0,
         "ShippingSourceId":"",
         "ShipSeparately":false
      },
      "ShippingMode":0,
      "Status":1,
      "ImageFileSmall":"",
      "ImageFileSmallAlternateText":"",
      "ImageFileMedium":"",
      "ImageFileMediumAlternateText":"",
      "CreationDateUtc":"/Date(1401483008239)/",
      "MinimumQty":1,
      "ShortDescription":"",
      "LongDescription":"",
      "ManufacturerId":"",
      "VendorId":"",
      "GiftWrapAllowed":false,
      "GiftWrapPrice":0,
      "Keywords":"",
      "PreContentColumnId":"",
      "PostContentColumnId":"",
      "UrlSlug":"Hotcakes-Commerce-Lunchbox",
      "InventoryMode":100,
      "IsAvailableForSale":true,
      "Featured":false,
      "AllowReviews":false,
      "Tabs":[

      ],
      "StoreId":1
   }
}
Have more questions? Submit a request

Need More Help?

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