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