【问题标题】:Marketo REST API - Smart CampaignMarketo REST API - 智能广告系列
【发布时间】:2017-08-27 20:48:18
【问题描述】:

我可以使用 html 表单和附加的脚本(PHP + Rest API)创建新的 Marketo 潜在客户。它主要是有效的,潜在客户出现在 Marketo。

问题是,我的 Marketo 设置需要将新潜在客户添加到特定的“智能广告系列”中。

在 Marketo 的 Rest API documentation 上,我找到了一个用于将潜在客户添加到列表的端点,但不是用于添加到营销活动的端点。你遇到过这个问题吗?

class UpsertLeads{
    //these are the CIN Marketo credentials
    public $host = "####";//CHANGE ME
    public $clientId = "####";//CHANGE ME
    public $clientSecret = "####";//CHANGE ME
    public $input; //an array of lead records as objects
    public $lookupField; //field used for deduplication
    public $action; //operation type, createOnly, updateOnly, createOrUpdate, createDuplicate

    public function postData(){
        $url = $this->host . "/rest/v1/leads.json?access_token=" . $this->getToken();
        $ch = curl_init($url);
        $requestBody = $this->bodyBuilder();
        //commenting out
        //dont need to output this stuff in production
        //print_r($requestBody);
        curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json','Content-Type: application/json'));
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
        curl_getinfo($ch);
        $response = curl_exec($ch);
        return $response;
    }

    private function getToken(){
        $ch = curl_init($this->host . "/identity/oauth/token?grant_type=client_credentials&client_id=" . $this->clientId . "&client_secret=" . $this->clientSecret);
        curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json',));
        $response = json_decode(curl_exec($ch));
        curl_close($ch);
        $token = $response->access_token;
        return $token;
    }

    private function bodyBuilder(){
        $body = new stdClass();
        if (isset($this->action)){
            $body->action = $this->action;
        }
        if (isset($this->lookupField)){
            $body->lookupField = $this->lookupField;
        }
        $body->input = $this->input;
        $json = json_encode($body);
        return $json;
    }

    private static function csvString($fields){
        $csvString = "";
        $i = 0;
        foreach($fields as $field){
            if ($i > 0){
                $csvString = $csvString . "," . $field;
            }elseif ($i === 0){
                $csvString = $field;
            }
        }
        return $csvString;
    }
}

【问题讨论】:

    标签: php json rest marketo


    【解决方案1】:

    无法通过 API 将您的新潜在客户直接放入智能广告系列
    但是,正如您所指出的,您可以将它们推送到 List,这是成功的一半。从那里,您唯一需要做的就是配置有问题的 Smart Campaign 以从您填充的 ​​List 中获取潜在客户。

    您可以在 Smart CampaignSmart List 选项卡上执行此操作,方法是设置 Added to List 触发器并将其指向您的 List。附上截图。

    这样,新的潜在客户也会立即添加到智能列表中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多