我在Marketo中有匿名潜在客户,我需要通过REST API将它们与已知的潜在客户合并。
我正在尝试下面的代码
public function postData() {
$url = $this->host . "/rest/v1/leads/" . $this->id ."/merge.json?access_token=" . $this->getToken() . "&leadIds=" . $this::csvString($this->leadIds);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 120,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/json",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
}
它正在使用{"requestId":"1af7#fgfdhgfdgfgdfg","success":false,"errors":[{"code":"1004","message":"Lead '231325' not found"}]}
进行回复,但我可以在Marketo中看到ID 231325 的潜在客户。
您能否建议我如何将匿名潜在客户与已知潜在客户的REST合并?
由于
答案 0 :(得分:0)
不幸的是,你不能这样做,或者不能以直截了当的方式做到这一点 文档中Merge functionality的说明并未像Merge Endpoint reference那样清楚地说明,但是" 将两个或多个已知的潜在客户记录合并到一个领先记录"。因此,即使您在系统中看到这些访客的MarketoIds,API也无法在潜在客户表中找到它们。
但是,根据您的确切目标和设置,您可以使用Associate Web Activity功能解决您的问题,因为它" 关联已知 Marketo潜在客户记录到 munchkin cookie 及其相关的网络活动历史记录"。 Associate Endpoint需要访问者_mkto_trk
Cookie的值(样本格式:id:287-GTJ-838%26token:_mch-marketo.com-1396310362214-46169
)。
话虽如此,您的curl
看起来像这样:
$url = $host . '/rest/v1/leads/' . $leadId . '/associate.json?cookie=' . $cookie . '&access_token=' . $token;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
]);
$response = curl_exec($curl);
curl_close($curl);
您可以使用$_COOKIE['_mkto_trk']
获取Cookie的值。