CatalogRoleCreate Endpoint

Overview

If you want to make products exclusively appear to any person or groups of people, then you will want to create at least one catalog role.  This endpoint allows you to create as many catalog roles 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 catalog role to have before you create it.

CatalogRoleCreate

This REST API endpoint allows you to create a catalog role 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/catalogroles

HTTP Method

POST

Parameters

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

Returns

If successful, this endpoint will return a CatalogRoleDTO 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://YOURDOMAIN.COM";
string key = "YOUR-API-KEY";

Api proxy = new Api(url, key);

// specify the product id to assign a role to
var productId = new Guid("5d520070-17e5-4587-bddb-9935bc584b6c");

// specify the name of the role in the CMS to assign this product to
var roleName = "Registered Users";

// create a new instance of a catalog role
var catalogRole = new CatalogRoleDTO
{
    ReferenceId = productId,
    RoleName = roleName,
    RoleType = CatalogRoleTypeDTO.ProductRole
};
            
// call the API to create the new catalog role
ApiResponse<CatalogRoleDTO> response = proxy.CatalogRoleCreate(catalogRole);
// 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 = "catalogroles";  
// get this from the store admin
var apiKey = "YOUR-API-KEY";

$(document).ready(function() {

    // specify the product id to assign a role to
    var productId = "5d520070-17e5-4587-bddb-9935bc584b6c";

    // specify the name of the role in the CMS to assign this product to
    var roleName = "Registered Users";

    // create a new instance of a catalog role
    var catalogRole = {
        "ReferenceId": productId,
        "RoleName": roleName,
        "RoleType": 0 // product role
    };

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

});
{
   "Errors":[

   ],
   "Content":{
      "CatalogRoleId":5,
      "RoleName":"Registered Users",
      "ReferenceId":"5d520070-17e5-4587-bddb-9935bc584b6c",
      "RoleType":0
   }
}
Have more questions? Submit a request

Need More Help?

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