Code Here :
/*
* ******************************************************************************************************************
* Author : Fazurulla Ganganapalli
* Controller : MarketingBot.js
* Marketing Bot : This controller is rsponsible for integration between Spark to salesforce using Gupshup platform
* Date : 05/13/2017
* History :
*******************************************************************************************************************
*/
//Variable declaration
var access_token = null;
var choiceString = '';
var moreChoiceString = '';
var userName ='';
var listLeadIds = '';
var choiceUniqueNumber;
var firstName ='';
var mainQuery = '';
var lastName='';
var userCECId='';
var contactCenter ='';
var profileName = '';
var tempAppString ='';
var tempSplitGreetString ='';
var permissionSet = '';
var userID_P = '';
var userPermission_P = '';
//Salesforce Oauth 2.0 settings and url's
var url_AccessToken = "https://login.salesforce.com/services/oauth2/token";
var url_getMethodAuth = "https://ap1.salesforce.com/services/data/v20.0/sobjects/Marketing_ChatBot__c/Application__c";
var authParams = "grant_type=password&client_id=3MVG9Y6d_Btp4xp5fHfBCvTWgHlfBKxrEf0lFIt9p71zfTmei0q9P8QxoaRowTIefchOoNdY8syyWOriUKYlV&client_secret=7975635620731036814&redirect_uri=https://localhost:8443/_callback&username=apex_integration@sfdc.com&password=Mardal786*k7Q58cu1ffXZEm0NOEgWi8vIv";
var authHeader = {"Content-Type":"application/x-www-form-urlencoded"};
var leadReopen_Url = "https://ap1.salesforce.com/services/apexrest/marketingActivities";
var url_CompleteApps = "https://ap1.salesforce.com/services/apexrest/marketingChatBotOprions";
var url_Application ="https://ap1.salesforce.com/services/apexrest/marketingChatBot";
//@Method : This method is responsible for handling choice based options
function MessageHandler(context, event) {
var StrMain = event.message;
var splitString = "ngcc,mods,jifflenow,grs,eloqua,cpc";
var splitGreetString ="Hi,hi,Hello,hello,Bot,bot,Chatbot,chatbot,Marketing,marketing,SFDC,Sfdc,sfdc";
if(splitString != "" || splitString != NULL){
var resString = splitString.split(",");
for(var i in resString){
if(resString[i] == StrMain){
tempAppString = resString[i];
context.console.log("tempAppString---->>>>"+tempAppString);
}
}
}
if(splitGreetString != "" || splitGreetString != NULL){
var resString = splitGreetString.split(",");
for(var i in resString){
if(resString[i] == StrMain){
tempSplitGreetString = resString[i];
context.console.log("tempSplitGreetString---->>>>"+tempSplitGreetString);
}
}
}
if(event.message.toLowerCase() == tempSplitGreetString){
context.sendResponse("Hello There- \n"+
"Welcome to Markting Bot- \n"+
"I. Help (This will provide quick help about the issues in an application which we get on daily basis)\n "+
"II. Lead (This would help to Re-Open closed leads) \n "+
"II. Access (We will be able to create new users in SFDC through Spark) \n "
);
}else if(event.message.toLowerCase() == "your from which location"){
context.sendResponse("I am from Bengalore City");
}else if(event.message.toLowerCase() == "fine thanks" || event.message.toLowerCase() == "fine"){
context.sendResponse("Ok. How may i help you today !");
}else if(event.message.toLowerCase() == "what is your name"){
context.sendResponse("My name is Marketing Bot");
}else if(event.message.toLowerCase() == "may i know you name"){
context.sendResponse("My name is Marketing Bot");
}else if(event.message.toLowerCase() == "how are you"){
context.sendResponse("I am doing great thanks..How about you ?");
}else if(event.message.toLowerCase() == "I need some help from you"){
context.sendResponse("Sure. How can I help you today?");
}else if(event.message.toLowerCase() == "how can i start"){
context.sendResponse("Search with any keyword like : help, lead, access");
}else if(event.message.toLowerCase() == "bye"){
context.sendResponse("Bye have a good day !");
}else if(event.message.toLowerCase() == "help"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setApplication);
//*******************************************Applciation Search Start here********************************************************
}else if(event.message.toLowerCase() == "ngcc"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "mods"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "jifflenow"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "grs"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "eloqua"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "cpc"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
//*****************************************Application Search end here**********************************************************
}else if(event.message.toLowerCase() == "lead"){
context.sendResponse(
"Please make a selection - \n"+
"A). Lead Re-Open \n "+
"B). Access Help\n "+
"C). Create New User/Access Provide\n "+
"D). Assign Permission Sets\n "+
"E). SOQL Records\n "
);
}else if(event.message.toLowerCase() == "access"){
context.sendResponse(
"Please make a selection - \n"+
"A). Lead Re-Open \n "+
"B). Access Help\n "+
"C). Create New User\n "+
"D). Assign Permission Sets\n "+
"E). SOQL Records\n "
);
}else{
var StrMain = event.message;
var res = StrMain.split(/,|:|-| /);
for(var i in res){
if(i==0){
choiceString = res[i];
}else if(i==1){
userName = res[i];
}else{
listLeadIds += res[i]+",";
}
}
for(var i in res){
if(i==0){
choiceString = res[i];
}else if(i==1){
firstName = res[i];
}else if(i==2){
lastName = res[i];
}else if(i==3){
userCECId = res[i];
}else if(i==4){
contactCenter = res[i];
}else if(i==5){
profileName = res[i];
}else if(i==6){
permissionSet = res[i];
}
}
var permissionString = event.message;
var permission = permissionString.split(' ');
for(var i in permission){
if(i==0){
choiceString = permission[i];
}else if(i==1){
userID_P = permission[i];
}else{
userPermission_P += permission[i]+",";
}
}
var soqlQuery = event.message;
var soql = soqlQuery.split(' ');
for(var i in soql){
if(i==0){
choiceString = soql[i];
}else{
mainQuery += soql[i]+" ";
}
}
if(choiceString.toLowerCase() == "a"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setNGCC);
}else if(choiceString.toLowerCase() == "b"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setAccessProfile);
}else if(choiceString.toLowerCase() == "c"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setUserCreation);
}else if(choiceString.toLowerCase() == "d"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setUserPermission);
}else if(choiceString.toLowerCase() == "e"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setSOQL);
}else if(event.message.toLowerCase() == StrMain){
choiceUniqueNumber = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setNumbers);
}else{
context.sendResponse("Sorry you have entered an invalid keyword");
}
}
}
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setNGCC(context,event){
if(userName ==''&& listLeadIds ==''){
context.sendResponse(
"Please enter User CECID and list of Lead IDs.Below are the possible ways to follow- \n"+
"I. A,UserID,Single LeadID or List of LeadIDs(Separated with comma) \n"+
"II. A UserID Single LeadID or List of LeadIDs(separated with space)\n"
);
}else{
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet(leadReopen_Url+"?username="+userName+"&LeadId="+listLeadIds,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getNGCC);
}
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getNGCC(context,event){
context.sendResponse(event.getresp);
}
//@Method : Responsible for iterate response and get values from salesforce.com database
function setNumbers(context,event){
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/data/v20.0/sobjects/Marketing_ChatBot__c/Choice_Unique_Number__c/"+choiceUniqueNumber,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getNumbers);
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getNumbers(context,event){
//context.sendResponse(event.getresp);
var contacts = JSON.parse(event.getresp);
var tempStr = '';
var Application__c = contacts.Application__c;
var Entity__c = contacts.Entity__c;
var Issue__c = contacts.Issue__c;
var Solution__c = contacts.Solution__c;
var Description__c = contacts.Description__c;
tempStr += "Application Name :"+Application__c+"\n Entity Name : "+Entity__c+"\n Issue : "+Issue__c+"\n Issue Description :"+Solution__c+"\n Answer Steps : \n"+Description__c+"\n";
context.sendResponse(tempStr);
}
//***************************************************************************************************
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setApplication(context,event){
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet(url_Application,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getApplication);
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getApplication(context,event){
//context.sendResponse(event.getresp);
var contacts = JSON.parse(event.getresp);
var tempStr = '';
for(var i in contacts){
tempStr +="*. "+i+"\n";
}
context.sendResponse("Please make a selection - \n"+tempStr);
}
//***************************************************************************************************
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setHelp(context,event){
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet(url_CompleteApps+'/'+moreChoiceString,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getHelp);
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getHelp(context,event){
var contacts = JSON.parse(event.getresp);
var tempStr = '';
for(var i in contacts){
tempStr +=i+". "+contacts[i]+"\n";
}
context.sendResponse("Please Search with numbers only-\n\n"+tempStr);
}
//***************************************************************************************************
function EventHandler(context, event) {
if(! context.simpledb.botleveldata.numinstance)
context.simpledb.botleveldata.numinstance = 0;
numinstances = parseInt(context.simpledb.botleveldata.numinstance) + 1;
context.simpledb.botleveldata.numinstance = numinstances;
context.sendResponse("Thanks for adding me. You are:" + numinstances);
}
function setAccessProfile(context,event){
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marketingActivitiesUser",{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getAccessProfile);
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getAccessProfile(context,event){
var contacts = JSON.parse(event.getresp);
var tempStr = '';
for(var i in contacts){
tempStr +=i+" - "+contacts[i]+"\n";
}
context.sendResponse("\n"+tempStr);
}
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setUserCreation(context,event){
if(firstName =='' && lastName =='' && userCECId =='' && contactCenter =='' && profileName==''&& permissionSet==''){
context.sendResponse(
"Please provide the below details- \n"+
"I. Option you need to select - C \n"+
"II. First Name\n" +
"III. Last Name\n"+
"IV. User CEC ID\n"+
"V. Marketing Contact Center(Press *B* and copy paste your Contact Center)\n"+
"V. User Profile Name(Press *B* you will get help from SFDC)\n"+
"VI. Permission Set (Press *B* you will get help from SFDC)\n"
);
}else{
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marktingUserCreating?firstName="+firstName+"&lastName="+lastName+"&userId="+userCECId+"&contactCenter="+contactCenter+"&profileName="+profileName+"&permissionSet="+permissionSet,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getUserCreation);
}
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getUserCreation(context,event){
context.sendResponse(event.getresp);
}
function setUserPermission(context,event){
if(userID_P =='' && userPermission_P ==''){
context.sendResponse(
"Please provide the below details- \n"+
"I. Option you need to select as - D \n"+
"II. Provide User CEC ID\n" +
"III. List of Permission Sets\n"
);
}else{
var result= JSON.parse(event.getresp);//setSOQL
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marktingUserCreatingPermissions?userId="+userID_P+"&permissions="+userPermission_P,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getUserPermission);
}
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getUserPermission(context,event){
context.sendResponse(event.getresp);
}
function setSOQL(context,event){
if(userID_P =='' && userPermission_P ==''){
context.sendResponse(
"Please provide the below details- \n"+
"I. Option you need to select as - E \n"+
"II. Write SOQL query "
);
}else{
var result= JSON.parse(event.getresp);//setSOQL
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/data/v20.0/query/?q="+mainQuery,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getSOQL);
}
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getSOQL(context,event){
var contacts = JSON.parse(event.getresp);
context.sendResponse("\n"+event.getresp);
var tempStr = '';
var TotalSize = contacts.totalSize;
var Status = contacts.done;
tempStr +="TotalSize : "+TotalSize+"\n Status : "+Status+"\n";
var recordsList = contacts.records;
//context.sendResponse("\n"+recordsList);
for(var i in recordsList){
if(recordsList[i].Id == ''){}
else
tempStr += "Id :"+recordsList[i].Id+"\n";
if(recordsList[i].Username == ''){}
else
tempStr += "Username :"+recordsList[i].Username+"\n";
if(recordsList[i].FirstName == ''){}
else
tempStr += "FirstName :"+recordsList[i].FirstName+"\n";
tempStr += "LastName :"+recordsList[i].LastName+"\n";
tempStr += "Name :"+recordsList[i].Name+"\n";
tempStr += "Title :"+recordsList[i].Title+"\n";
tempStr += "CompanyName "+recordsList[i].CompanyName+"\n";
tempStr += "Address :"+recordsList[i].Address+"\n";
tempStr += "Email "+recordsList[i].Email+"\n";
tempStr += "Phone :"+recordsList[i].Phone+"\n";
tempStr += "CommunityNickname :"+recordsList[i].CommunityNickname+"\n";
tempStr += "UserRoleId :"+recordsList[i].UserRoleId+"\n";
tempStr += "ProfileId :"+recordsList[i].ProfileId+"\n";
tempStr += "UserPermissionsMarketingUser :"+recordsList[i].UserPermissionsMarketingUser+"\n";
tempStr += "UserPermissionsSupportUser :"+recordsList[i].UserPermissionsSupportUser+"\n";
tempStr += "Marketing_Call_Center__c : "+recordsList[i].Marketing_Call_Center__c+"\n";
}
//context.sendResponse("\n"+tempStr);
}
//######
//Auto generated code from devbox
//######
exports.onMessage = MessageHandler;
exports.onEvent = EventHandler;
exports.onHttpResponse = HttpResponseHandler;
exports.onDbGet = DbGetHandler;
exports.onDbPut = DbPutHandler;
if(typeof LocationHandler == 'function'){exports.onLocation = LocationHandler;}
if(typeof HttpEndpointHandler == 'function'){exports.onHttpEndpoint = HttpEndpointHandler;}
/*
* ******************************************************************************************************************
* Author : Fazurulla Ganganapalli
* Controller : MarketingBot.js
* Marketing Bot : This controller is rsponsible for integration between Spark to salesforce using Gupshup platform
* Date : 05/13/2017
* History :
*******************************************************************************************************************
*/
//Variable declaration
var access_token = null;
var choiceString = '';
var moreChoiceString = '';
var userName ='';
var listLeadIds = '';
var choiceUniqueNumber;
var firstName ='';
var mainQuery = '';
var lastName='';
var userCECId='';
var contactCenter ='';
var profileName = '';
var tempAppString ='';
var tempSplitGreetString ='';
var permissionSet = '';
var userID_P = '';
var userPermission_P = '';
//Salesforce Oauth 2.0 settings and url's
var url_AccessToken = "https://login.salesforce.com/services/oauth2/token";
var url_getMethodAuth = "https://ap1.salesforce.com/services/data/v20.0/sobjects/Marketing_ChatBot__c/Application__c";
var authParams = "grant_type=password&client_id=3MVG9Y6d_Btp4xp5fHfBCvTWgHlfBKxrEf0lFIt9p71zfTmei0q9P8QxoaRowTIefchOoNdY8syyWOriUKYlV&client_secret=7975635620731036814&redirect_uri=https://localhost:8443/_callback&username=apex_integration@sfdc.com&password=Mardal786*k7Q58cu1ffXZEm0NOEgWi8vIv";
var authHeader = {"Content-Type":"application/x-www-form-urlencoded"};
var leadReopen_Url = "https://ap1.salesforce.com/services/apexrest/marketingActivities";
var url_CompleteApps = "https://ap1.salesforce.com/services/apexrest/marketingChatBotOprions";
var url_Application ="https://ap1.salesforce.com/services/apexrest/marketingChatBot";
//@Method : This method is responsible for handling choice based options
function MessageHandler(context, event) {
var StrMain = event.message;
var splitString = "ngcc,mods,jifflenow,grs,eloqua,cpc";
var splitGreetString ="Hi,hi,Hello,hello,Bot,bot,Chatbot,chatbot,Marketing,marketing,SFDC,Sfdc,sfdc";
if(splitString != "" || splitString != NULL){
var resString = splitString.split(",");
for(var i in resString){
if(resString[i] == StrMain){
tempAppString = resString[i];
context.console.log("tempAppString---->>>>"+tempAppString);
}
}
}
if(splitGreetString != "" || splitGreetString != NULL){
var resString = splitGreetString.split(",");
for(var i in resString){
if(resString[i] == StrMain){
tempSplitGreetString = resString[i];
context.console.log("tempSplitGreetString---->>>>"+tempSplitGreetString);
}
}
}
if(event.message.toLowerCase() == tempSplitGreetString){
context.sendResponse("Hello There- \n"+
"Welcome to Markting Bot- \n"+
"I. Help (This will provide quick help about the issues in an application which we get on daily basis)\n "+
"II. Lead (This would help to Re-Open closed leads) \n "+
"II. Access (We will be able to create new users in SFDC through Spark) \n "
);
}else if(event.message.toLowerCase() == "your from which location"){
context.sendResponse("I am from Bengalore City");
}else if(event.message.toLowerCase() == "fine thanks" || event.message.toLowerCase() == "fine"){
context.sendResponse("Ok. How may i help you today !");
}else if(event.message.toLowerCase() == "what is your name"){
context.sendResponse("My name is Marketing Bot");
}else if(event.message.toLowerCase() == "may i know you name"){
context.sendResponse("My name is Marketing Bot");
}else if(event.message.toLowerCase() == "how are you"){
context.sendResponse("I am doing great thanks..How about you ?");
}else if(event.message.toLowerCase() == "I need some help from you"){
context.sendResponse("Sure. How can I help you today?");
}else if(event.message.toLowerCase() == "how can i start"){
context.sendResponse("Search with any keyword like : help, lead, access");
}else if(event.message.toLowerCase() == "bye"){
context.sendResponse("Bye have a good day !");
}else if(event.message.toLowerCase() == "help"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setApplication);
//*******************************************Applciation Search Start here********************************************************
}else if(event.message.toLowerCase() == "ngcc"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "mods"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "jifflenow"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "grs"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "eloqua"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
}else if(event.message.toLowerCase() == "cpc"){
moreChoiceString = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
//*****************************************Application Search end here**********************************************************
}else if(event.message.toLowerCase() == "lead"){
context.sendResponse(
"Please make a selection - \n"+
"A). Lead Re-Open \n "+
"B). Access Help\n "+
"C). Create New User/Access Provide\n "+
"D). Assign Permission Sets\n "+
"E). SOQL Records\n "
);
}else if(event.message.toLowerCase() == "access"){
context.sendResponse(
"Please make a selection - \n"+
"A). Lead Re-Open \n "+
"B). Access Help\n "+
"C). Create New User\n "+
"D). Assign Permission Sets\n "+
"E). SOQL Records\n "
);
}else{
var StrMain = event.message;
var res = StrMain.split(/,|:|-| /);
for(var i in res){
if(i==0){
choiceString = res[i];
}else if(i==1){
userName = res[i];
}else{
listLeadIds += res[i]+",";
}
}
for(var i in res){
if(i==0){
choiceString = res[i];
}else if(i==1){
firstName = res[i];
}else if(i==2){
lastName = res[i];
}else if(i==3){
userCECId = res[i];
}else if(i==4){
contactCenter = res[i];
}else if(i==5){
profileName = res[i];
}else if(i==6){
permissionSet = res[i];
}
}
var permissionString = event.message;
var permission = permissionString.split(' ');
for(var i in permission){
if(i==0){
choiceString = permission[i];
}else if(i==1){
userID_P = permission[i];
}else{
userPermission_P += permission[i]+",";
}
}
var soqlQuery = event.message;
var soql = soqlQuery.split(' ');
for(var i in soql){
if(i==0){
choiceString = soql[i];
}else{
mainQuery += soql[i]+" ";
}
}
if(choiceString.toLowerCase() == "a"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setNGCC);
}else if(choiceString.toLowerCase() == "b"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setAccessProfile);
}else if(choiceString.toLowerCase() == "c"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setUserCreation);
}else if(choiceString.toLowerCase() == "d"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setUserPermission);
}else if(choiceString.toLowerCase() == "e"){
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setSOQL);
}else if(event.message.toLowerCase() == StrMain){
choiceUniqueNumber = event.message;
context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setNumbers);
}else{
context.sendResponse("Sorry you have entered an invalid keyword");
}
}
}
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setNGCC(context,event){
if(userName ==''&& listLeadIds ==''){
context.sendResponse(
"Please enter User CECID and list of Lead IDs.Below are the possible ways to follow- \n"+
"I. A,UserID,Single LeadID or List of LeadIDs(Separated with comma) \n"+
"II. A UserID Single LeadID or List of LeadIDs(separated with space)\n"
);
}else{
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet(leadReopen_Url+"?username="+userName+"&LeadId="+listLeadIds,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getNGCC);
}
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getNGCC(context,event){
context.sendResponse(event.getresp);
}
//@Method : Responsible for iterate response and get values from salesforce.com database
function setNumbers(context,event){
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/data/v20.0/sobjects/Marketing_ChatBot__c/Choice_Unique_Number__c/"+choiceUniqueNumber,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getNumbers);
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getNumbers(context,event){
//context.sendResponse(event.getresp);
var contacts = JSON.parse(event.getresp);
var tempStr = '';
var Application__c = contacts.Application__c;
var Entity__c = contacts.Entity__c;
var Issue__c = contacts.Issue__c;
var Solution__c = contacts.Solution__c;
var Description__c = contacts.Description__c;
tempStr += "Application Name :"+Application__c+"\n Entity Name : "+Entity__c+"\n Issue : "+Issue__c+"\n Issue Description :"+Solution__c+"\n Answer Steps : \n"+Description__c+"\n";
context.sendResponse(tempStr);
}
//***************************************************************************************************
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setApplication(context,event){
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet(url_Application,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getApplication);
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getApplication(context,event){
//context.sendResponse(event.getresp);
var contacts = JSON.parse(event.getresp);
var tempStr = '';
for(var i in contacts){
tempStr +="*. "+i+"\n";
}
context.sendResponse("Please make a selection - \n"+tempStr);
}
//***************************************************************************************************
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setHelp(context,event){
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet(url_CompleteApps+'/'+moreChoiceString,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getHelp);
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getHelp(context,event){
var contacts = JSON.parse(event.getresp);
var tempStr = '';
for(var i in contacts){
tempStr +=i+". "+contacts[i]+"\n";
}
context.sendResponse("Please Search with numbers only-\n\n"+tempStr);
}
//***************************************************************************************************
function EventHandler(context, event) {
if(! context.simpledb.botleveldata.numinstance)
context.simpledb.botleveldata.numinstance = 0;
numinstances = parseInt(context.simpledb.botleveldata.numinstance) + 1;
context.simpledb.botleveldata.numinstance = numinstances;
context.sendResponse("Thanks for adding me. You are:" + numinstances);
}
function setAccessProfile(context,event){
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marketingActivitiesUser",{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getAccessProfile);
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getAccessProfile(context,event){
var contacts = JSON.parse(event.getresp);
var tempStr = '';
for(var i in contacts){
tempStr +=i+" - "+contacts[i]+"\n";
}
context.sendResponse("\n"+tempStr);
}
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setUserCreation(context,event){
if(firstName =='' && lastName =='' && userCECId =='' && contactCenter =='' && profileName==''&& permissionSet==''){
context.sendResponse(
"Please provide the below details- \n"+
"I. Option you need to select - C \n"+
"II. First Name\n" +
"III. Last Name\n"+
"IV. User CEC ID\n"+
"V. Marketing Contact Center(Press *B* and copy paste your Contact Center)\n"+
"V. User Profile Name(Press *B* you will get help from SFDC)\n"+
"VI. Permission Set (Press *B* you will get help from SFDC)\n"
);
}else{
var result= JSON.parse(event.getresp);
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marktingUserCreating?firstName="+firstName+"&lastName="+lastName+"&userId="+userCECId+"&contactCenter="+contactCenter+"&profileName="+profileName+"&permissionSet="+permissionSet,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getUserCreation);
}
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getUserCreation(context,event){
context.sendResponse(event.getresp);
}
function setUserPermission(context,event){
if(userID_P =='' && userPermission_P ==''){
context.sendResponse(
"Please provide the below details- \n"+
"I. Option you need to select as - D \n"+
"II. Provide User CEC ID\n" +
"III. List of Permission Sets\n"
);
}else{
var result= JSON.parse(event.getresp);//setSOQL
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marktingUserCreatingPermissions?userId="+userID_P+"&permissions="+userPermission_P,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getUserPermission);
}
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getUserPermission(context,event){
context.sendResponse(event.getresp);
}
function setSOQL(context,event){
if(userID_P =='' && userPermission_P ==''){
context.sendResponse(
"Please provide the below details- \n"+
"I. Option you need to select as - E \n"+
"II. Write SOQL query "
);
}else{
var result= JSON.parse(event.getresp);//setSOQL
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/data/v20.0/query/?q="+mainQuery,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getSOQL);
}
}
//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getSOQL(context,event){
var contacts = JSON.parse(event.getresp);
context.sendResponse("\n"+event.getresp);
var tempStr = '';
var TotalSize = contacts.totalSize;
var Status = contacts.done;
tempStr +="TotalSize : "+TotalSize+"\n Status : "+Status+"\n";
var recordsList = contacts.records;
//context.sendResponse("\n"+recordsList);
for(var i in recordsList){
if(recordsList[i].Id == ''){}
else
tempStr += "Id :"+recordsList[i].Id+"\n";
if(recordsList[i].Username == ''){}
else
tempStr += "Username :"+recordsList[i].Username+"\n";
if(recordsList[i].FirstName == ''){}
else
tempStr += "FirstName :"+recordsList[i].FirstName+"\n";
tempStr += "LastName :"+recordsList[i].LastName+"\n";
tempStr += "Name :"+recordsList[i].Name+"\n";
tempStr += "Title :"+recordsList[i].Title+"\n";
tempStr += "CompanyName "+recordsList[i].CompanyName+"\n";
tempStr += "Address :"+recordsList[i].Address+"\n";
tempStr += "Email "+recordsList[i].Email+"\n";
tempStr += "Phone :"+recordsList[i].Phone+"\n";
tempStr += "CommunityNickname :"+recordsList[i].CommunityNickname+"\n";
tempStr += "UserRoleId :"+recordsList[i].UserRoleId+"\n";
tempStr += "ProfileId :"+recordsList[i].ProfileId+"\n";
tempStr += "UserPermissionsMarketingUser :"+recordsList[i].UserPermissionsMarketingUser+"\n";
tempStr += "UserPermissionsSupportUser :"+recordsList[i].UserPermissionsSupportUser+"\n";
tempStr += "Marketing_Call_Center__c : "+recordsList[i].Marketing_Call_Center__c+"\n";
}
//context.sendResponse("\n"+tempStr);
}
//######
//Auto generated code from devbox
//######
exports.onMessage = MessageHandler;
exports.onEvent = EventHandler;
exports.onHttpResponse = HttpResponseHandler;
exports.onDbGet = DbGetHandler;
exports.onDbPut = DbPutHandler;
if(typeof LocationHandler == 'function'){exports.onLocation = LocationHandler;}
if(typeof HttpEndpointHandler == 'function'){exports.onHttpEndpoint = HttpEndpointHandler;}

