ProductsBySlug Endpoint

Overview

Sometimes you just need to find a product to do something unique with it.  This endpoint allows you to find a specific product in your store using the slug portion of the URL.

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 created so that you can successfully find one.

ProductsBySlug

This REST API endpoint allows you to find a product in your store using the slug portion of the URL.  This is the portion of a category URL that follows the last slash.  

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/ANY?key=[YOURKEY]&byslug=[SLUG]

SLUG is the slug portion of the URL as described in the parameters below.

HTTP Method

GET

Parameters

Parameter Description
byslug You should put the slug of the product that you are searching for here. For example, if your URL looks like this, http://mydomain.com/products/sample-product, then your slug is "sample-product".

Returns

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

 

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

Api proxy = new Api(url, key);

// specify the product slug to look for
var slug = "Hotcakes-Commerce-Lunchbox";

// call the API to find the product
ApiResponse<ProductDTO> response = proxy.ProductsBySlug(slug);
// 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() {

    // specify the product slug to look for
    var slug = "Hotcakes-Commerce-Lunchbox";

    // call the API to find all products in the store
    $.ajax({
        dataType: "json",
        url: url + apiPath + endPoint + "/ANY?key=" + apiKey + "&byslug=" + slug,
        type: 'GET',
        success: function (data) {
            // do something
        },
        error: function (jqXHR, textStatus) {
           // do something else
        }
    });

});
{
   "Errors":[

   ],
   "Content":{
      "Bvin":"a0dc0d43-f3bf-458c-a508-1a6cb13f43b5",
      "Sku":"HCC-SWAG-0001",
      "ProductName":"Hotcakes Commerce Lunchbox",
      "ProductTypeId":"",
      "CustomProperties":[
         {
            "DeveloperId":"HCC",
            "Key":"ERPID",
            "Value":"0123456789"
         }
      ],
      "ListPrice":0.0000000000,
      "SitePrice":39.0000000000,
      "SitePriceOverrideText":"",
      "SiteCost":0.0000000000,
      "MetaKeywords":"",
      "MetaDescription":"",
      "MetaTitle":"",
      "TaxExempt":false,
      "TaxSchedule":-1,
      "ShippingDetails":{
         "IsNonShipping":false,
         "ExtraShipFee":0.0000000000,
         "Weight":2.0000000000,
         "Length":10.0000000000,
         "Width":8.0000000000,
         "Height":6.0000000000,
         "ShippingSource":0,
         "ShippingSourceId":"",
         "ShipSeparately":false
      },
      "ShippingMode":0,
      "Status":1,
      "ImageFileSmall":"",
      "ImageFileSmallAlternateText":"",
      "ImageFileMedium":"",
      "ImageFileMediumAlternateText":"",
      "CreationDateUtc":"\/Date(1401510629567)\/",
      "MinimumQty":1,
      "ShortDescription":"",
      "LongDescription":"",
      "ManufacturerId":"",
      "VendorId":"",
      "GiftWrapAllowed":false,
      "GiftWrapPrice":0.0000000000,
      "Keywords":"",
      "PreContentColumnId":"",
      "PostContentColumnId":"",
      "UrlSlug":"Hotcakes-Commerce-Lunchbox",
      "InventoryMode":100,
      "IsAvailableForSale":true,
      "Featured":false,
      "AllowReviews":false,
      "Tabs":[
         {
            "Bvin":"6bf0ded1-b1af-4547-87b1-8ffa54b72c55",
            "TabTitle":"Videos",
            "HtmlData":"\u003cp\u003eHere is what some of our fans have to say.\u003c/p\u003e\u003ciframe width=\"640\" height=\"360\" src=\"//www.youtube.com/embed/jJeSkXPQr64?list=UU4nJrjQn81VRiT8PC9E9oZA\" frameborder=\"0\" allowfullscreen\u003e\u003c/iframe\u003e",
            "SortOrder":0
         },
         {
            "Bvin":"a093ff24-a835-4391-bb2d-a306dfaa9d60",
            "TabTitle":"Photos",
            "HtmlData":"\u003cp\u003eHere are some of our fans using the lunchbox.\u003c/p\u003e\u003ciframe src=\"//www.flickr.com/photos/39131389@N08/6321518895/lightbox/player/\" width=\"75\" height=\"75\" frameborder=\"0\" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen\u003e\u003c/iframe\u003e",
            "SortOrder":0
         }
      ],
      "StoreId":1
   }
}
Have more questions? Submit a request

Need More Help?

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