昨日、PHPからSOAPをやってみる(SugarCRMで)-その2:データ読み込みについて書きましたけど、さっき書いたように、同じように、データ登録をやったらうまくいきませんでした。
ということで、今回は、登録がうまくいくSOAPの呼び出し方のほうについて書いてみたいと思います。
■仕様
環境は、昨日や、さっき書いたのと同じ。
以下のリード(Leads)を登録します。
ファーストネーム:Dan
ラストネーム :Aarons
タイトル :CFO
(なお、なんで、こんな名前なのかは、後のほうで書きます)
■ソース
で、ソースなんですけど、こんなかんじ
<?php if(!defined('sugarEntry'))define('sugarEntry', true); require_once('Sugar/include/nusoap/nusoap.php'); //==============================// // SugarCRMのSOAP呼び出し // //==============================// $soapclient = new nusoapclient('http://localhost/Sugar/soap.php'); //==============================// // ログインする // //==============================// $result = $soapclient->call( 'login', array( 'user_auth'=>array( 'user_name'=>'admin', 'password'=>md5('adminのパスワード'), 'version'=>'.01'), 'application_name'=>'12345') ); $session = $result['id']; //==============================// // リード作成 // //==============================// $result = $soapclient->call( 'set_entry', array( 'session'=>$session, 'module_name'=>'Leads', 'name_value_list'=>array( array('name'=>'first_name', 'value'=>'Dan'), array('name'=>'last_name', 'value'=>'Aarons'), array('name'=>'title', 'value'=>'CFO') ) ) ); // 結果表示 print_r($result); //==============================// // 終了 // //==============================// // ログアウト。 $result = $soapclient->call('logout',array('session'=>$session)); ?> |
(上記 < > ¥は、本当は半角)
実際には、< > ¥を半角に置換するほか、
・nusoapclientのhttp://localhost/Sugar/soap.phpを、本当のSugarCRMのsoap.phpのあるところに置き換える。
・adminのパスワードは、本当のadminのパスワードにする
(adminでログインする場合。他のログイン名なら、当然その人のパスワードで)
もやります。
今回は、callで、呼び出しメソッドを指定する方法でやったら。。
うまくいきました。
■サンプルがありました。
SugarCRMをインストールしたフォルダにexamplesというフォルダがあり(moduleなんかと同レベルの位置のフォルダ)。そこにSoapTest.phpっていうサンプルがありました。それを参考にしています。
そこにあった名前ツーかメールアドレスが、さっきのDan Aarons。