2011-10-28 12 views
0

私はAPI呼び出しで顧客リストを取得しようとしています&お客様の詳細のリストを取得していますが、顧客に関連付けられているすべての属性が返されていますが、customer name,employee_id,emailのみを取得します。 magento api wikiで私はcustomer.listが2つの引数セット(array filters & filter list)を受け入れることができることを発見しました。誰かが私に違いを教えてくれるのでしょうか?以下のコードを使用してcustomer_idのみを取得しようとしました。& firstname、var_dump();顧客情報はどのようにして取得したいのですか? ありがとうございます。Magento ::余分な情報をフィルタリングする方法は?

<?php 
    $proxy = new SoapClient('http://www.localhost/magento/index.php/api/soap/?wsdl'); 
    $sessionId = $proxy->login('test', '123456'); 
    // Get new customer info 
    $filters=array('employee_id'=>array('eq'=>'234567')); 
    $filter_list=array('customer_id','email','firstname'); 
    $results= $proxy->call($sessionId, 'customer.list',array($filters),array($filter_list)); 
    var_dump($results); 

    ?> 

答えて

0

フィルタは、特定の属性に一致する顧客レコードのみを取得するためのものです。

あなたは、いくつかのオプションがあります。

  1. は、必要な値を取得するための新しいAPIエンドポイントを追加します。
  2. コアCustomer wsdlをハックし、不要な属性を削除します。
  3. API呼び出しの後、各配列を通過し、不要な値を設定解除します。カスタムエンドポイント

    まあの追加


基本的には、次のガイドを行うにはそのハードではないコアAPIを拡張する新しいモジュールを作成する必要があり、詳細

http://www.magentocommerce.com/wiki/doc/webservices-api/custom-apiでそれをカバー

+0

私は現在、オプション3を使用しています。新しいエンドポイントを追加するともう少し拡張できますか?私は可能な限りのオーバーヘッドでデータを取得しようとしているので、必要な属性だけを取得するとこのオーバーヘッドが減少すると考えられます。ありがとうございました! –

+0

詳細が追加されました。 UpVotesは歓迎します;) –

+0

カスタムAPIを作成した後、私はこのエラーが出ています。このエラーを修正する方法を教えてください。** SoapFault exception:[102]お客様は存在しません。 #1 D:\ wamp \ www \ test.php(6):SoapClient - > __ call( 'call'、Array)私のカスタムモジュールに以下のファイルを/ etcの下に追加しました。このファイルには以下のファイルが含まれています:www/test.php(6):SoapClient-> call( '01f9c6b8498d290 ...'、 'customer.info'、Array)#2 {main} ** –

関連する問題