Integrazione di Marketo con gli ERP CRM

Integrazione Marketo con i principali sistemi CRM ed ERP

Mario Pham Connettori Lascia un commento

Nel blog di oggi vorrei presentare un modo per sincronizzare Marketo con i principali CRM e ERP come Dynamics CRM, Salesforce, SugarCRM, Dynamics AX, NAV. I vantaggi dell'integrazione di Marketo e di altri sistemi aziendali sono stati discussi nel nostro precedente blog. Dimostrerò la sincronizzazione utilizzando una vetrina tra due diversi sistemi target (Marketo e Dynamics CRM) con l'uso di semplici istruzioni SQL. A questo scopo userò Connect Bridge e i suoi connettori Marketo e Dynamics CRM.

Perché utilizzare Connect Bridge?

Di solito, per poter comunicare con 2 diversi sistemi target, nel nostro caso un server MS Dynamics CRM e Marketo, lo sviluppatore dovrebbe conoscere le API di ogni sistema target. Questo richiede un po' di studio delle API per capire come funzionano e come scrivere il codice sorgente per poter fare lo stesso processo che dimostreremo più avanti in questo blog.

Con l'uso di Connect Bridge e dei suoi connettori Marketo e CRM, il tempo necessario per capire e per poter implementare con successo la soluzione si riduce notevolmente. La differenza principale è che Connect Bridge permette allo sviluppatore di utilizzare semplici istruzioni SQL per comunicare con ogni sistema target. Questo non è possibile quando si usa l'API del sistema target stesso a causa dei diversi schemi e architetture utilizzate per sviluppare il sistema target. Connect Bridge permette anche la connessione a più sistemi di destinazione allo stesso tempo utilizzando i connettori disponibili. Per ulteriori informazioni su Connect Bridge visita la pagina web.

Di cosa abbiamo bisogno?

In primo luogo avremo bisogno di credenziali per connetterci a MS Dynamics CRM e Marketo. Dato che useremo Connect Bridge, avremo bisogno di un server Connect Bridge funzionante con connettori CRM e Marketo.

Per la nostra dimostrazione, supponiamo che gli account di Marketo e Dynamics CRM siano già stati creati nel server Connect Bridge. Le credenziali utente per ogni sistema di destinazione vengono utilizzate durante la configurazione di ogni account, in modo che l'Connect Bridge sappia quali credenziali utilizzare quando si comunica con il sistema di destinazione (credenziali Dynamics CRM per la comunicazione con Dynamics CRM e credenziali Marketo per la comunicazione con Marketo).

A scopo dimostrativo useremo Visual studio, dove creeremo una semplice applicazione per console che farà la sincronizzazione.

Useremo lo strumento di analisi delle query Connect Bridge per dimostrare le istruzioni SQL e l'output che viene restituito dal server Connect Bridge.

La soluzione

L'applicazione della console

Per prima cosa dobbiamo creare una nuova applicazione per console in cui eseguire la nostra codifica. Andate su File - Nuovo - Progetto e scegliete un'applicazione per console.

applicazione console

Il passo successivo è quello di aggiungere un riferimento di servizio al nostro server Connect Bridge. Cliccare con il tasto destro del mouse su Referenze e aggiungere un riferimento di servizio.

Digitare l'indirizzo dove il server Connect Bridge è in ascolto e digitare il nome dello spazio dei nomi del servizio su "CB".

Dopo aver aggiunto un riferimento al servizio server Connect Bridge, possiamo iniziare a scrivere il nostro codice.
Per prima cosa prepariamo le nostre credenziali e i nomi degli account che verranno utilizzati durante la sincronizzazione per l'autenticazione con il server Connect Bridge.

public static string userName = "administrator";
public static string password = "1234";
stringa statica pubblica CRMAccountNameName = "CRMConnector";
stringa statica pubblica MarketoAccountNameMarketoAccountName = "MarketoConnector";

Nel corpo dell'applicazione principale, scrivere le seguenti righe di codice che si occuperanno di creare una connessione ai sistemi di destinazione e di fare la sincronizzazione.

WsDriverClient MarketoClient = nuovo CB.WsDriverClient("CBWsBasicBinding_IWsDriver");
WsConnection MarketoConnection = MarketoClient.CreateConnection(userName, password, MarketoAccountName, null);

WsDriverClient CRMClient = nuovo CB.WsDriverClient("CBWsBasicBinding_IWsDriver");
WsConnection CRMConnection = CRMClient.CreateConnection(userName, password, CRMAccountName, null);

stringa selectSQL = "select priority, relativeScore, urgency, email, firstName, firstName, lastName from Lead;";

WsResultSet resultMarketoLeadSelect = MarketoClient.Execute(MarketoConnection, new WsStatement() { SqlStatement = selectSQL });

se (risultatoMarketoLeadSelect.IsSuccess)
{
 //processo righe restituite
 foreach (riga var in resultMarketoLeadSelect.Row)
 {
 string insertSql = string.Format("insert into Lead(firstName, lastName, emailaddress1) values ('{0}','{1}','{2}')", row[4], row[5], row[3]);
 var result = CRMClient.Execute(CRMConnection, new WsStatement() { SqlStatement = insertSql });
 }
}

Dopo aver digitato il codice di cui sopra, siamo pronti a fare la sincronizzazione. Per spiegare cosa fa il codice, ci sono 3 parti principali.
La prima parte è il MarketoClient e MarketoConnection. Questo codice si occupa della connessione e dell'esecuzione delle dichiarazioni contro il MarketoConnector e quindi il sistema di destinazione Marketo.
La seconda parte è il CRMClient e il CRMConnection. Questo codice si occupa della connessione e dell'esecuzione delle dichiarazioni contro il CRMConnector e quindi il sistema Microsoft Dynamics CRM.
La terza parte del codice è il processo di sincronizzazione. Creiamo un'istruzione selezionata che viene eseguita utilizzando il Connettore Marketo andare a prendere i dati sui cavi che vogliamo sincronizzare. Poi iteriamo attraverso i dati restituiti ed eseguiamo un'istruzione di inserimento per ogni record per inserire il cavo nel Dynamics CRM. A scopo dimostrativo prendo solo le colonne e-mail, firstName e lastName da Marketo e sincronizzo queste colonne in Dynamics CRM.

La sincronizzazione

Come potete vedere dalle schermate qui sotto, a Marketo abbiamo 10 piste che vogliamo sincronizzare a Dynamics CRM.
Per visualizzare i cavi utilizzando lo strumento Query Analyzer, selezionare la connessione Marketo, inserire la seguente dichiarazione sql ed eseguire la query.
selezionare priorità, relativeScore, urgenza, e-mail, firstName, firstName, lastName da Lead;

Dopo aver controllato i cavi che vogliamo sincronizzare, eseguire l'applicazione per console che abbiamo creato nel capitolo precedente. L'applicazione si occuperà della sincronizzazione.
Dopo aver eseguito l'applicazione della console possiamo verificare se i cavi sono stati sincronizzati utilizzando lo strumento di analisi delle query e l'interfaccia grafica.
Per verificare i risultati con lo strumento analizzatore di query, selezionare la connessione CRM ed eseguire il seguente statement SQL.
selezionare leadid, emailaddress1, firstName, lastName, createdon da Lead order by createdon desc limit 10;

Dalle schermate qui sopra si può vedere che la nostra sincronizzazione ha avuto successo e ora abbiamo dei cavi da Marketo sincronizzati in MS Dynamics CRM.

Sommario

Da questa breve dimostrazione si può vedere quanto velocemente si può accedere ai dati con il minimo sforzo. In questo modo Marketo può essere integrato non solo con i principali CRM e ERP, ma anche con CMS, DMS e e-mail. Il pieno controllo del processo di integrazione spetta ad uno sviluppatore, che decide quali entità e come sincronizzarsi. Lo sviluppatore può utilizzare qualsiasi tipo di linguaggio di codifica e utilizzare ODBC, JDBC o servizi web per comunicare con il server Connect Bridge. Il semplice utilizzo di dichiarazioni SQL su più sistemi target rende il processo di sviluppo più efficiente e veloce rispetto all'utilizzo di API dirette dei sistemi target. Uno sviluppatore esperto può creare vari script di sincronizzazione per diversi sistemi target e sviluppare potenti strumenti di sincronizzazione di sistemi cross target.

Saremo lieti di sentirvi. Contattateci e scoprire come integrare facilmente Marketo nel panorama del sistema della vostra azienda.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *