如何使用API​​将SugarCRM中的Contact添加到TargetList / ProspectList?

时间:2012-03-08 23:00:25

标签: php rest sugarcrm

我在PHP中有一个脚本,它使用RestAPI在SugarCRM上自动运行一些东西。

我使用此PHP类来管理RestAPI:
http://github.com/asakusuma/SugarCRM-REST-API-Wrapper-Class/

现在我想将特定联系人链接到ProspectList(目标列表)。我想这必须使用set_relationship调用,但我正在使用的PHPClass没有。

我试过自己写这个函数:

public function set_relationship($module_ids, $module_names, $related_ids, $link_field_names){
    $call_arguments = array(
        'session' => $this->session,
        'module_names' => $module_names,
        'module_ids' => $module_ids,
        'link_field_names' => $link_field_names,
        'related_ids' => array($related_ids)
    );

    $result = $this->rest_request(
        'set_relationship',
        $call_arguments
    );

    return $result;
}

然后这样称呼它:

$c->set_relationship(
    $target_list['id'],
    'ProspectLists',
    $data['id'],
    'Contacts'
);

但它不起作用。有谁知道如何进行REST / Soap调用以将联系人连接到目标列表?

谢谢

2 个答案:

答案 0 :(得分:1)

我可以根据您的信息考虑两个问题。

  1. 模块可能不是public,这是REST / SOAP API所必需的。
  2. 根据documentation
  3. ,参数名称似乎有误

    更新参数的方法:

    public function set_relationship($module_name, $module_id, $link_field_name, $related_ids){
        $call_arguments = array(
            'session' => $this->session,
            'module_name' => $module_name,
            'module_id' => $module_id,
            'link_field_name' => $link_field_name,
            'related_ids' => array($related_ids)
        );
    
        $result = $this->rest_request(
            'set_relationship',
            $call_arguments
        );
    
        return $result;
    }
    

    电话是

    $c->set_relationship(
        'ProspectLists', 
        $target_list['id'],
        'contacts',
        $data['id']    
    );
    

答案 1 :(得分:0)

所以我终于明白了,我已经使用了Kare答案中的功能:

public function set_relationship($module_name, $module_id, $link_field_name, $related_ids){
    $call_arguments = array(
        'session' => $this->session,
        'module_name' => $module_name,
        'module_id' => $module_id,
        'link_field_name' => $link_field_name,
        'related_ids' => array($related_ids)
    );

    $result = $this->rest_request(
        'set_relationship',
        $call_arguments
    );

    return $result;
}

但我不得不以不同的方式打电话:

$c->set_relationship(
    'Contacts',
    $contact_id,

    'prospect_lists',
    $target_list_id
);

我希望这能帮到某人