Ошибка SugarCRM SOAP set_relationship между контактами и списками проспектов - PullRequest
2 голосов
/ 17 июня 2010

Я пытаюсь создать связь между списком потенциальных клиентов (целевым списком) и контактом.

Я создаю новый контакт и получаю идентификатор списка потенциальных клиентов, используя все созданные мной классы, которые являются просто обертками для мыла, который API-интерфейс вызывает в сахарах. Но код сводится к этому мыльному вызову:

$this->_sugarsoap->client->__soapCall('set_relationship', array($this->getSessionid(),$relationship));

$ this-> getSessionid () Идентификатор сеанса, а $ отношение - это массив, который содержит это:

array
  0 => string 'ProspectLists' (length=13)
  1 => string '180ab1f5-cf7e-d386-50f8-4c18a790e016' (length=36)
  2 => string 'Contacts' (length=8)
  3 => string '76323942-8cbb-3224-f18a-4c19efa80a1b' (length=36)

После того, как я попробую это, я всегда получаю эту ошибку: (я делаю var_dump возвращенных значений мыльного вызова)

object(stdClass)[5]
  public 'number' => string '20' (length=2)
  public 'name' => string 'Module Does Not Exist' (length=21)
  public 'description' => string 'This module is not available on this server' (length=43)

Это похоже на ошибку sugarcrm, потому что у меня есть модуль контактов, а также модуль списков потенциальных клиентов. Я знаю это наверняка, потому что я добавляю контакт через мыльный вызов, а также получаю идентификатор списка потенциальных клиентов через мыльный вызов.

Я нашел эту ветку на форумах, посвященном сахару, и я попробовал приведенный там код, но все равно получил ту же ошибку.

У кого-нибудь есть решение для этого? Мне действительно нужно связать контакт со списком потенциальных клиентов (целевым списком) с помощью мыльного вызова.

Я использую SugarCRM 5.5.0 (я также пробовал с sugarcrm 5.5.2 и получил ту же ошибку) на сервере Ubuntu, используя mysql.

Спасибо!

EDIT:

Хорошо, я получил эту работу с исправлением из ветки и небольшим исправлением с моей стороны. В массиве, который я передаю функции set_relantionships, мне действительно нужно использовать формат:

 'module1' => 'modnameA',
 'module1_id' => 'modidA',
 'module2' => 'modnameB',
 'module2_id' => 'modidB

Надеюсь, это кому-нибудь поможет:)

1 Ответ

0 голосов
/ 18 июля 2013

Вот код, который поможет вам уверенно:

$relationship = array(
  'session' => $session_id, //session id that comes after login by soap
  'set_relationship_value'=>array(
    'module1' => 'Prospect',  // your module name
    'module1_id' => "$ProspectID", // your first module id
    'module2' => 'Contact', // your second module
    'module2_id' => "$ContactId", // send module id
  )
);

Используйте этот массив. надеюсь, это поможет вам.

...