Marketo与CRMs ERPs的整合。

Marketo与主要的CRM和ERP系统集成

Mario Pham 连接器 留下评论

在今天的博客中,我想介绍一种方式如何 将Marketo与主要的CRM和ERP同步。 喜欢 Dynamics CRM、Salesforce、SugarCRM、Dynamics AX、NAV。.在我们之前的博客中已经讨论过整合Marketo和其他业务系统的好处。我将使用简单的SQL语句在两个不同的目标系统(Marketo和Dynamics CRM)之间展示同步。为此,我将使用 Connect Bridge 及其Marketo和Dynamics CRM连接器。

为什么要使用Connect Bridge?

通常,为了能够与2个不同的目标系统进行通信,在我们的例子中,MS Dynamics CRM服务器和Marketo,开发人员需要了解每个目标系统的API。这就需要对API进行一些研究,以了解它们是如何工作的,以及如何编写源代码,以便能够完成我们将在这篇博客中演示的相同过程。

通过使用Connect Bridge及其Marketo和CRM连接器,了解并能够成功实施解决方案所需的时间大大缩短。主要的区别在于,Connect Bridge允许开发人员使用简单的SQL语句与每个目标系统进行通信。这在使用目标系统本身的API时是不可能的,因为开发目标系统所用的模式和架构不同。Connect Bridge还可以通过使用可用的连接器同时连接到多个目标系统。有关Connect Bridge的更多信息 浏览网页.

我们需要什么?

首先,我们需要凭证来连接MS Dynamics CRM和Marketo。由于我们将使用Connect Bridge,我们将需要一个运行中的Connect Bridge服务器与CRM和Marketo连接器。

在我们的演示中,我们假设Marketo和Dynamics CRM的账户已经在Connect Bridge服务器中创建。在设置每个账户的过程中,都会使用每个目标系统的用户凭证,这样Connect Bridge就知道与目标系统通信时应该使用什么凭证(Dynamics CRM凭证用于与Dynamics CRM通信,Marketo凭证用于与Marketo通信)。

为了演示的目的,我们将使用Visual studio,在这里我们创建一个简单的控制台应用程序,以实现同步。

下面我们用Connect Bridge查询分析工具来演示SQL语句以及Connect Bridge服务器返回的输出。

解决办法

控制台应用程序

首先,我们需要创建新的控制台应用程序,在那里我们做我们的编码。进入文件--新建--项目,选择一个控制台应用程序。

控制台应用程序

下一步就是给我们的Connect Bridge服务器添加服务引用。右键点击References,添加服务引用。

键入Connect Bridge服务器监听的地址,并将服务命名空间的名称键入 "CB"。

在添加了对Connect Bridge服务器服务的引用后,我们就可以开始编写代码了。
首先,我们准备好我们的凭证和账户名,这些凭证和账户名将在同步期间用于与Connect Bridge服务器进行身份验证。

public static string userName = "administrator"。
public static string password = "1234"。
public static string CRMAccountName = "CRMConnector"。
public static string MarketoAccountName = "MarketoConnector"。

在主应用程序的主体中,写下以下几行代码,负责创建与目标系统的连接,并进行同步。

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

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

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

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

if (resultMarketoLeadSelect.IsSuccess)
{
 //处理返回的行
 foreach (var row 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 });
 }
}

输入上面的代码后,我们就可以进行同步了。解释一下这段代码的作用,主要有3个部分。
第一部分是MarketoClient和MarketoConnection。这段代码负责MarketoConnector和Marketo目标系统的连接和语句的执行。
第二部分是CRMClient和CRMConnection。这段代码负责连接和执行针对CRMConnector的语句,因此Microsoft Dynamics CRM系统。
代码的第三部分是同步过程。我们创建一个select语句,使用Marketo Connector执行,去获取我们想要同步的潜在客户的数据。然后我们对返回的数据进行迭代,并对每条记录执行插入语句,将潜在客户插入到Dynamics CRM中。在演示中,我只从Marketo中获取电子邮件、名字和姓氏列,并将这些列同步到Dynamics CRM中。

同步化

从下面的截图中可以看到,在Marketo中,我们有10个潜在客户要同步到Dynamics CRM。
要使用查询分析工具显示潜在客户,选择Marketo连接,输入以下sql语句并执行查询。
从Lead中选择优先级、相对得分、紧迫性、电子邮件、名字、姓氏。

检查完我们要同步的线索后,运行我们在上一章创建的控制台应用程序。该应用程序将负责同步工作。
在执行控制台应用程序后,我们可以使用查询分析工具和GUI也检查线索是否同步。
要使用查询分析工具检查结果,选择CRM连接并运行以下SQL语句。
select leadid, emailaddress1, firstName, lastName, createdon from Lead order by createdon desc limit 10;

从上面的截图可以看出,我们的同步成功了,现在我们已经将Marketo的潜在客户同步到了MS Dynamics CRM中。

概要

从这个简短的演示中,你可以看到如何以最小的努力快速获取数据。这样一来,Marketo不仅可以与以下系统集成 主要的客户关系管理和企业资源规划系统,但也与CMS,DMS和电子邮件。.开发者可以完全控制集成过程,他们决定哪些实体和如何同步。开发者可以使用任何一种编码语言,使用ODBC、JDBC或Web服务与Connect Bridge服务器进行通信。跨越多个目标系统的SQL语句的简单使用,使得开发过程比直接使用目标系统的API更加高效和快速。熟练的开发人员可以为不同的目标系统创建各种同步脚本,开发强大的跨目标系统同步工具。

我们将很高兴听到你的声音。 联系我们 并了解如何轻松地将Marketo集成到您公司的系统环境中。

发表评论

电子邮件地址不会被公开。