Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

API customer.create и установка confirmed для e-mail адреса
 
Uruselfei
Member
 
Avatar
Total Posts:  74
Joined:  2009-01-08
Tallinn, Estonia
 

использую АПИ http://www.magentocommerce.com/api/soap/customer/customer.create.html для создания нового пользователя.

всё хорошо, но e-mail остается не подтвержденным. можно ли как-то через АПИ поставить флажок, что адрес проверен, чтобы людям не надо было по-новой проходить процедуру подтверждения?
адреса уже подтверждены, т.к. пользователи переносятся с действующего магазина.

кусок кода для наглядности:

$new_id $client_to->call($session_to,'customer.create',array(array(
        
'email' => $customer['email']
        
'firstname' => $customer['firstname']
        
'lastname' => $customer['lastname']
        
'password_hash' => $customer['password_hash']
        
'website_id' => 5
        
'store_id' => $store_id
        
'group_id' => 1
        
'dob' => $customer['dob']
        
'gender' => $customer['gender']
        
'created_at' => $customer['created_at'],
        
'confirmation' => TRUE
        
)));

вот как раз ‘confirmation’ => TRUE и не имеет никакого действия

 
Magento Community Magento Community
Magento Community
Magento Community
 
mcdky
Sr. Member
 
Avatar
Total Posts:  140
Joined:  2011-09-29
 

Я не знаю как с API (не уверен, что вам это поможет), но если не через API то это делается так

$customer->setConfirmation(null);
попробуйте по аналогии, вместо true написать false или null, потому что скорее всего confirmation означает “подтверждать или нет email для этого пользователя” (но я не уверен).

Неуверенности прибавляет тот факт, что здесь http://www.magentocommerce.com/api/soap/customer/customer.create.html нет поля confirmation

 
Magento Community Magento Community
Magento Community
Magento Community
 
Uruselfei
Member
 
Avatar
Total Posts:  74
Joined:  2009-01-08
Tallinn, Estonia
 

да, поля confirmation нет, но с API иногда удается записать такие поля, которых вроде нет в описании, а в реальности есть.

как вариант, мне может подойти и прямой SQL update в базе (это всё равно одноразовое действие), только я пока не могу обнаружить где эта информация хранится.

 
Magento Community Magento Community
Magento Community
Magento Community
 
mcdky
Sr. Member
 
Avatar
Total Posts:  140
Joined:  2011-09-29
 

А не получится просто отключить “подтверждение” на один раз при импорте?
В базе статус хранится в customer_entity_varchar.
attribute_id можно найти в таблице eav_attribute, для entity_type_id = 1 (customer), у атрибута код confirmation. Опять же, если один раз. Можете использовать что-то вроде этого после импорта:

DELETE 
FROM customer_entity_varchar 
WHERE attribute_id 
= (
   
SELECT attribute_id 
   FROM eav_attribute 
   WHERE attribute_code 
'confirmation' AND entity_type_id 1
)
Лучше забекапить базу предварительно.
 
Magento Community Magento Community
Magento Community
Magento Community
 
Uruselfei
Member
 
Avatar
Total Posts:  74
Joined:  2009-01-08
Tallinn, Estonia
 

да, бекап наше всё! smile

отключить подтверждение при импорте - пробовал. на тестовом сервере всё прошло “на ура”. а как стал пробовать реальный сервер - там это не срабатывает почему-то.

попробую ваш метод, спасибо!

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top