ACQUISTA

Integrazione di CommuniGate Pro Contact Center con SalesForce

Di seguito è riportato un esempio del semplice modulo CG/PL che realizza l'integrazione del Centro di contatto CommuniGate Pro con il sistema SalesForce.

// ================================================== //
//   Contact Center integration with SalesForce CRM   //
//                   Version 2.0.1b                   //
// ================================================== //

function  consultCRM(finalAttempt)          forward;
function  loginCRM()                        forward;
function  getUserCRM(session,qParam)        forward;

var monitorSettings;

function ccSalesForceCRM() {
	return consultCRM(false);
}

///////////////

function consultCRM(finalAttempt) {
	var qParam = EmailUserPart(SIPURItoEmail(RemoteURI())) || "";
	var session = GetAccountPreferences("~" + MyEmail() + "/CRMSession");
	var result;
	if(!IsDictionary(session)) {
		session = loginCRM();
		if(IsDictionary(session) && IsString(session.token_type) && IsString(session.access_token)) {
			ExecuteCLI("UpdateAccountPrefs " + MyEmail() + " {CRMSession=" + session.objectToString() + ";}");
		}
	}
	
	if(!IsDictionary(session)) {return null;}
	
	// we have a dictionary 'session' value
	result = getUserCRM(session,qParam);
	if(IsArray(result)) {
		return result;
	} else {
		if(finalAttempt) {return null;}
		else {
			if(ExecuteCLI("UpdateAccountPrefs " + MyEmail() + " {CRMSession=#NULL#;}") != null) {return null;}
			return consultCRM(true);
		}
	}
}

///////////////

function loginCRM() {
  var username = "user@domain.com";
  var password = "pass";
  var security_token = "user_security_token";
  var consumer_key = "XXXXXXXXXXXXXXXXXXXXX";
  var consumer_secret = "XXXXXXXXXXXXXXXXXX";
	var url = "https://login.salesforce.com/services/oauth2/token";
	var params                    = NewDictionary();
	params.method                 = "POST";
	params.timeout                = 2;
	params.body                   = NewDictionary();
	params.body.grant_type        = "password";
	params.body.client_id         = consumer_key;
	params.body.client_secret     = consumer_secret;
	params.body.username          = username;
	params.body.password          = password + security_token;
	var result = HTTPCall(url,params);
	if(IsDictionary(result) && result.responseCode

Per ulteriori informazioni scrivere a support@communigate.ru