// accountID = 3241967000000998225;
////////////////////////////////////////////
products = zoho.crm.searchRecords("Products","((Account_ID:equals:" + accountID + ")and(Product_Active:equals:true))");
classifications_list = List();
classifications_vs_catergories = Map();
catergories_vs_issueType = Map();
issueType_vs_recIds = Map();
///////////////////////////////////////////////////////////
for each pro in products
{
productName = pro.get("Product_Name").getPrefix("-");
if(productName == null)
{
finalProductName = pro.get("Product_Name").trim();
}
else
{
finalProductName = productName.trim();
}
info finalProductName;
queryMap = Map();
queryMap.put("select_query","select Products, Classification, Problem_Category, Issue_Type, Required_Info_Type, Instructions, Multi_Option_Question, Output_Message, Output_Action, KB_Article from ChatBot_Actions where Products like '%" + finalProductName + "%'");
response = invokeurl
[
url :"https://www.zohoapis.com/crm/v4/coql"
type :POST
parameters:queryMap.toString()
connection:"zoho_crm"
];
// info response;
//////////////////////////////////////////////////////////
if(!isNull(response))
{
data = response.get("data");
for each val in data
{
products_list = val.get("Products").toList();
if(products_list.contains(finalProductName))
{
classification = val.get("Classification");
ProblemCategory = val.get("Problem_Category");
IssueType = ifnull(val.get("Issue_Type"),"Empty");
recId = val.get("id");
///////////////////////////////////////////////
if(!classifications_list.contains(classification))
{
classifications_list.add(classification);
}
////////////////////////////Classificaiton VS Categories/////////////////////////////
if(classifications_vs_catergories.containKey(classification))
{
categories_list = classifications_vs_catergories.get(classification);
if(!categories_list.contains(ProblemCategory))
{
categories_list.add(ProblemCategory);
classifications_vs_catergories.put(classification,categories_list);
}
}
else
{
categories_list = List();
categories_list.add(ProblemCategory);
classifications_vs_catergories.put(classification,categories_list);
}
//////////////////////////////////////////////////////////////////////////////
////////////////////////////Categories VS Issue Types//////////////////////////
keyCombination_issueType = classification + "/" + ProblemCategory;
if(catergories_vs_issueType.containKey(keyCombination_issueType))
{
issueType_list = catergories_vs_issueType.get(keyCombination_issueType);
if(!issueType_list.contains(IssueType))
{
issueType_list.add(IssueType);
catergories_vs_issueType.put(keyCombination_issueType,issueType_list);
}
}
else
{
issueType_list = List();
issueType_list.add(IssueType);
catergories_vs_issueType.put(keyCombination_issueType,issueType_list);
}
keyCombination = classification + "/" + ProblemCategory + "/" + IssueType;
issueType_vs_recIds.put(keyCombination,recId);
}
}
}
}
returnMap = Map();
returnMap.put("classifications",classifications_list);
returnMap.put("classificationsVsCategories",classifications_vs_catergories);
returnMap.put("catergoriesVsIssueTypes",catergories_vs_issueType);
returnMap.put("issueTypeVsrequireInfo",issueType_vs_recIds);
return returnMap;
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter