Как добавить контакт в SugarCRM в TargetList / ProspectList с помощью API? - PullRequest
1 голос
/ 09 марта 2012

У меня есть скрипт на PHP, который автоматически запускает несколько вещей на SugarCRM с помощью RestAPI.

Я использую этот класс PHP для управления RestAPI:
http://github.com/asakusuma/SugarCRM-REST-API-Wrapper-Class/

Теперь я хочу связать определенный контакт с ProspectList (Target List). Я предполагаю, что это должно быть сделано с помощью вызова 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 ]

1 голос
/ 12 марта 2012

Я могу вспомнить две проблемы, основанные на вашей информации.

  1. Модуль не может быть public , что требуется для REST / SOAP API.
  2. Имена аргументов кажутся неправильными согласно документации .

Метод с обновленными аргументами:

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']    
);
0 голосов
/ 13 марта 2012

Итак, я наконец-то понял это, я использовал функцию из ответа Каре:

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;
}

Но мне нужно было сделать вызов по-другому:надеюсь, это кому-нибудь поможет

...