Multiple Products for Zia Skills

This card can be used to display single images for different products. Different actions can be defined for each product image.

AttributeMandatoryDescriptionValues
textYesThe text to be shown above the card 

{

     "text":"Here are some of our products ",

}

titleYes

Title of each product 

{

     "title":"Zylker Furniture",

}

subtitleNoSubtitle of each product 

{

     "subtitle":"Great furniture at affordable prices",

}

elementsYesList of products

{

      "elements": [

{ "id": "Double Bed", "image": "https://zylkerfurniture.com/media/catalog/product/cache/1/thumbnail/1024x576/b58515f018eb873dafa430b6f9ae0c1e/f/r/front_1_.png" }, { "image": "https://images-na.ssl-images-zylkerfurniture.com/images/I/61wuHhZ0ZVL._SX355_.jpg", "id": "Wardrobe" } 

],

}

idYesID for each product

{

      "id": "Double Bed",

}

imageYesURL for each product

{

"image": "https://zylkerfurniture.com/media/catalog/product/cache/1/thumbnail/1024x576/b58515f018eb873dafa430b6f9ae0c1e/f/r/front_1_.png"

}

actionsNoList of links/buttons that can be used to goto a page or trigger an action in the client if required

Learn More

labelYesThe content shown in the link

{

"label": "View more",

}

nameYesUnique name for the button

{

"name": "viewmore",

}

typeYesType of action (URL / client_action)

{

"type": "url",

}

linkYesIn case the type is URL, this is the link that opens when the button is clicked 

{

"link": "https://www.zylkerfurniture.com/doublebed.html"

}

clientaction_nameYesIn case the type is client_action, the function specified in $zoho.salesiq.clientactions client object with this key will be invoked on click. 

{

"clientaction_name": "openBookingForm"

}


 

Use Case:

Context Handler Function:

Copiedresult = Map();
response = Map();
response.put("action", "reply");
response.put("replies",[
   {
      "type":"multiple-product",
      "text":"Here are some of our products",
      "elements":[
         {
            "title":"Double Bed",
            "subtitle":"Made from Rosewood",
            "id":"doublebed",
            "image":"https://www.zylkerfurniture.com/doublebed.png",
            "actions":[
               {
                  "label":"Book",
                  "name":"bookbtn",
                  "type":"url",
                  "link":"https://www.zylkerfurniture.com/doublebed.html"
               }
            ]
         },
         {
            "title":"Wardrobe",
            "subtitle":"Made from Teak Wood",
            "image":"https://www.zylkerfurniture.com/wardrobe.png",
            "actions":[
               {
                  "label":"Book",
                  "name":"bookbtn",
                  "type":"url",
                  "link":"https://www.zylkerfurniture.com/wardrobe.html"
               }
            ]
         }
      ]
   }
]);

prompt = Map(); 
prompt.put("param_name", "reply"); 
prompt.put("data", response); 
result.put("prompt", prompt); 
result.put("todo", "prompt");
return result;<p>

Execution Function:

Copiedresult = Map();
response = Map();
response.put("action", "reply");
response.put("replies", [
   {
      "type":"multiple-product",
      "text":"Here are some of our products",
      "elements":[
         {
            "title":"Double Bed",
            "subtitle":"Made from Rosewood",
            "id":"doublebed",
            "image":"https://www.zylkerfurniture.com/doublebed.png",
            "actions":[
               {
                  "label":"Book",
                  "name":"bookbtn",
                  "type":"url",
                  "link":"https://www.zylkerfurniture.com/doublebed.html"
               }
            ]
         },
         {
            "title":"Wardrobe",
            "subtitle":"Made from Teak Wood",
            "image":"https://www.zylkerfurniture.com/wardrobe.png",
            "actions":[
               {
                  "label":"Book",
                  "name":"bookbtn",
                  "type":"url",
                  "link":"https://www.zylkerfurniture.com/wardrobe.html"
               }
            ]
         }
      ]
   }
]);

result.put("data", response);
return result;