SOAP APIを使用して、現在ログインしている顧客の電子メールアドレスを取得することは可能ですか?
CustomerIDはありません。
これは、ExpressionEngineのインストールから呼び出します。
/code/core/Mage/Customer/Model/Customer/Api.phpのこの変更により、現在ログインしている顧客とそのすべての情報が返されます。PHP 5.2.14のインストールにSOAPがインストールされていないため、現在テストできません。
public function info($customerId, $attributes = null)
{
// if we didn't pass a $customerId
if (!$customerId) {
// get current customer session
$custsess = Mage::getSingleton('customer/session');
// if the customer is logged in
if($custsess->isLoggedIn() == true) {
// get their ID to load below
$customerId = $custsess->getId();
unset($custsess);
}
}
$customer = Mage::getModel('customer/customer')->load($customerId);
if (!$customer->getId()) {
$this->_fault('not_exists');
}
if (!is_null($attributes) && !is_array($attributes)) {
$attributes = array($attributes);
}
$result = array();
foreach ($this->_mapAttributes as $attributeAlias=>$attributeCode) {
$result[$attributeAlias] = $customer->getData($attributeCode);
}
foreach ($this->getAllowedAttributes($customer, $attributes) as $attributeCode=>$attribute) {
$result[$attributeCode] = $customer->getData($attributeCode);
}
return $result;
}