2

見込み客リスト (ターゲット リスト) と連絡先の間に関係を作成しようとしています。

新しい連絡先を作成し、作成したすべてのクラスを使用して見込み客リストの ID を取得します。これらのクラスは、sugar が提供する SOAP API 呼び出しの単なるラッパーです。しかし、コードは次のソープ コールに要約されます。

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

$this->getSessionid() はセッション ID で、$relationship はこれを保持する配列です。

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)

これを試した後、常に次のエラーが発生します: (soap 呼び出しの戻り値の 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 のバグのようです。ソープ コールを介して連絡先を追加し、ソープ コールを介して見込み客リストの ID も取得するため、これは事実です。

シュガー フォーラムでこのスレッドを見つけて、そこにあるコードを試してみましたが、それでも同じエラーが発生しました。

誰にもこれに対する解決策がありますか?ソープ コールを介してコンタクトをプロスペクト リスト (ターゲット リスト) に関連付ける必要があります。

mysqlを使用してubuntuサーバーでSugarCRM 5.5.0を使用しています(sugarcrm 5.5.2でも試しましたが、同じエラーが発生しました)。

ありがとう!

編集:

わかりました、スレッドからの修正と私の部分での少しの修正でこれが機能しました。set_relantionships 関数に渡す配列では、次の形式を使用する必要があります。

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

これが誰かを助けることを願っています:)

4

1 に答える 1

0

これがあなたを確実にするのに役立つコードです:

$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
  )
);

この配列を使用します。これがお役に立てば幸いです。

于 2013-07-18T07:38:11.837 に答える