Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Magento Create api user and assign its role programmatically [SOAP]

In magento I want to create soap api user by code .
Also assign its role programmatically .
Will create on event observer .

like image 609
Nikhil_K_R Avatar asked Jun 11 '26 14:06

Nikhil_K_R


1 Answers

Create your role from admin .
Check its ID after successful creation .
Add this code according to your requirements :

$userapi = Mage::getModel('api/user')
    ->setData(array(
    'username' => '[email protected]',
    'firstname' => 'nikhil',
    'lastname' => 'ravindran',
    'email' => '[email protected]',
    'api_key' => 'myp@ssw0rd',
    'api_key_confirmation' => 'myp@ssw0rd',
    'is_active' => 1,
    'user_roles' => '',
    'assigned_user_role' => '',
    'role_name' => '',
    'roles' => array(1) // your created custom role
    ));
$userapi->save();
$userapi->setRoleIds(array(1))  // your created custom role
    ->setRoleUserId($userapi->getUserId())
    ->saveRelations();

Hope it helps someone.

like image 139
Nikhil_K_R Avatar answered Jun 14 '26 12:06

Nikhil_K_R