User Management Service

Almost every app requires User Management, at the simplest level Registration and Authentication. The App42 APIs provides a comprehensive User Management solution to handle users both as App42 Users and Social Users. The service contains operations for managing user creation, authentication, state (revoking, locking, expiry etc.), role management, profile management, password policy, etc. Almost everything that one can do is available through the AppHQ console. These users can be also exported in various formats at the click of a button, if required.

User Management service is designed to be orthogonal. Other App42 services can be used independently of this service, they are not connected or dependent. It can also be integrated with existing CRM, LDAP, Active Directory, etc. This module also works in conjunction with App42 Marketing Automation which provides comprehensive actionable analytics on user’s behavior and the ability to take action e.g. Push Notification, In-App Message, Social Post, Email, Survey, Coupon, Lead Generation, NPS (Net Promoter Score) etc. With App42 MA you can track funnels and cohorts, through which action can be taken as campaigns or on demand.

Along with User Management, the library provides APIs for persistent Session Management across Omni-Channel devices that help in maintaining context based sessions across.

Import Statement
  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. require 'App42_Ruby_API'  
Initialize

In order to use the various functions available in a specific API, a developer has to initialize with App42API by passing the apiKey and the secretKey which will become available after the app creation from AppHQ dashboard.

Required Parameters

apiKey - The Application key given when the application was created. secretKey - The secret key corresponding to the application key given when the application was created.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
Build Service

After initialization, the developer will have to call the buildXXXService method on App42API to get the instance of the particular API that you wish to build. For example, to build an instance of UserService, buildUserService() method needs to be called.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. user_service = api.build_user_service  
Create User

This function allows you to create a User session for the specified User.
Note: Username and EmailId should be unique for the App.

Required Parameters

userName - Name of the user for whom the user session is to be created. pwd - Password of the user. emailId - EmailId of the user.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. pwd = "********";  
  3. emailId = "nick@shephertz.com";  
  4. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  5. user_service = api.build_user_service  
  6. user = user_service.create_user(userName, pwd, emailId);   
  7. puts "userName is #{user.userName}";  
  8. puts "email is #{user.email}";  
  9. jsonResponse = user.to_s();   
Create User With Role

This function enables you to create app users along with granting them specific roles.

Required Parameters

userName - Name of the user for whom the user session is to be created. pwd - Password of the user. emailId - EmailId of the user. roleList - List of roles to be assigned to the user.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. pwd = "********";  
  3. emailId = "nick@shephertz.com";  
  4. roleList = Array.new();  
  5. roleList.push("Admin");  
  6. roleList.push("Manager");  
  7. roleList.push("Programmer");  
  8. roleList.push("Tester");          
  9. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  10. user_service = api.build_user_service  
  11. user = user_service.create_user_with_role(userName,pwd,emailId,roleList);   
  12. puts "userName is #{user.userName}";  
  13. puts "email is #{user.email}";  
  14. userRoleList  = user.roleList();  
  15. for roles in userRoleList do  
  16. puts "role is #{roles}";  
  17. end  
  18. jsonResponse = user.to_s();  
Create Or Update User Profile

Required Parameters

user - User for which profile has to be created/updated.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. pwd = "********";  
  3. emailId = "nick@shephertz.com";  
  4. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  5. user_service = api.build_user_service  
  6. user = user_service.createUser(userName, pwd, emailId);  
  7. profileObj = App42::User::User::Profile.new();  
  8. profileObj.officeLandLine = ("+1-1800-111-999");  
  9. profileObj.firstName = "Nick";  
  10. profileObj.dateOfBirth = "03-11-2012";  
  11. profileObj.country = ("USA");  
  12. profileObj.city = ("Houston");  
  13. profileObj.lastName = ("Gill");  
  14. profileObj.mobile = ("+958901234571");  
  15. profileObj.pincode = ("74193");  
  16. profileObj.sex = App42::User::User::UserGender.new.enum("MALE");  
  17. profileObj.homeLandLine = ("+1-1800-877-453");  
  18. profileObj.state = ("Texas");  
  19. user.profile= profileObj;  
  20. userObj = user_service.createOrUpdateProfile(user);  
  21. puts "userName is #{userObj.userName}";  
  22. puts "email is #{userObj.emailId}";  
  23. puts "firstName #{userObj.profile.firstName}";  
  24. jsonResponse = userObj.to_s();   
Authenticate

Authenticate user based on username and password.

Required Parameters

userName - Username that you want to authenticate. pwd - Password that was entered when the user created their profile.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. pwd = "*******";  
  3. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  4. user_service = api.build_user_service  
  5. user = user_service.authenticate(userName, pwd);   
  6. puts "UserName is #{user.userName}";  
  7. jsonResponse = user.to_s();   
Change User Password

Change the password for a user based on their username, only if the old password is valid.

Required Parameters

userName - User whose password has to be changed. oldPwd - Old Password of the user for authentication. newPwd - New Password entered by the user.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. oldPwd = "********";  
  3. newPwd = "*******";  
  4. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  5. user_service = api.build_user_service  
  6. response = user_service.change_user_password(userName, oldPwd, newPwd);   
  7. success = response.is_response_success();  
  8. jsonResponse = response.to_s();   
Assign Roles

Assign Roles to the existing user.

Required Parameters

userName - Name of the user to whom the roles have to be assigned. roleList - List of roles to be assigned to user.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. roleList = Array.new();  
  3. roleList.push("Admin");  
  4. roleList.push("Manager");  
  5. roleList.push("Programmer");  
  6. roleList.push("Tester");  
  7. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  8. user_service = api.build_user_service  
  9. user = userService.assign_roles(userName,roleList);   
  10. puts "userName is #{user.userName}";  
  11. userRoleList = user.roleList();  
  12. for roles in userRoleList do  
  13. puts "role is #{roles}";  
  14. end  
  15. jsonResponse = user.to_s();   
Get User

Get user details based on username.

Required Parameters

userName - Name of the user whose detailes have to be retrieved.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";    
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. user = user_service.get_user(userName);   
  5. puts "userName is #{user.userName}";  
  6. puts "email is #{user.email}";  
  7. puts "firstName #{user.profile.firstName}";  
  8. jsonResponse = user.to_s();  
Get Roles By User

Get the assigned roles based on username.

Required Parameters

userName - Name of the User for whom roles have to be retrieved.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. user = user_service.get_roles_by_user(userName);   
  5. puts "userName is #{user.userName}";  
  6. puts "email is #{user.email}";    
  7. userRoleList = user.roleList();   
  8. puts "firstName is #{user.profile.firstName}";    
  9. jsonResponse = user.to_s();    
Get Users By Role

Get all the Users based on a particular role.

Required Parameters

role - Role based on which Users need to be retrieved.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. role = "Role of the User";  
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. userList = userService.get_users_by_role(role);   
  5. puts "userName is #{user.userName}";  
  6. puts "email is #{user.email}";  
  7. puts "firstName #{user.profile.firstName}";  
  8. userRoleList = user.roleList();   
  9. jsonResponse = user.to_s();    
Get All Users

Gets All users details.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  2. user_service = api.build_user_service  
  3. user_list = user_service.get_all_users();   
  4. for user in user_list do  
  5. puts "userName is #{user.userName}";  
  6. puts "email is #{user.email}";  
  7. end  
  8. jsonResponse = user_list.to_s();  
Get All Users Count

Get the count of all the users.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  2. user_service = api.build_user_service  
  3. response = user_service.get_all_users_count();   
  4. success = response.is_response_success();    
  5. total_records = response.totalRecords();    
  6. jsonResponse = response.to_s();   
Get All Users Paging

Get All users by Paging.

Required Parameters

max - Maximum number of records to be fetched. offset - From where the records are to be fetched.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. max = 1;  
  2. offset = 0 ;  
  3. user_list = Array.new();  
  4. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  5. user_service = api.build_user_service  
  6. user_list = user_service.get_all_users_by_paging(max, offset);   
  7. for user in user_list do  
  8.     puts "userName is #{user.userName}";  
  9.     puts "email is #{user.email}";  
  10. end  
  11. jsonResponse = user_list.to_s();   
Get User By Email ID

Get user details based on Email ID.

Required Parameters

emailId - Email ID of the user whose detail is to be retrieved.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. emailId = "nick@shephertz.com";   
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. user = user_service.get_user_by_email_id(emailId);   
  5. puts "userName is #{user.userName}";  
  6. puts "email is #{user.email}";  
  7. jsonResponse = user.to_s();   
Lock User

Lock the user based on the username. Your app can use this feature to lock a user because of reasons specific to their use case. For example, if payment is not received and the app wants the user to be inactive.

Required Parameters

userName - Username that has to be locked.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. user = user_service.lock_user(userName);   
  5. userName = user.userName();  
  6. jsonResponse = user.to_s();   
Unlock User

Unlock the previously locked user based on the username. Your app can use this feature to lock a user because of reasons specific to their use case. For example, if payment is received and the app wants the user to be active.

Required Parameters

userName - Username that you want to unlock.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. user = user_service.unlock_user(userName);   
  5. userName = user.userName();  
  6. jsonResponse = user.to_s();   
Get Locked Users

Gets All the locked users details.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. user_list = Array.new();  
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. user_list = user_service.get_locked_users();   
  5. for user in user_list do  
  6.   puts "userName is #{user.userName}";  
  7.   puts "email is #{user.email}";  
  8. end  
  9. jsonResponse = user_list.to_s();   
Get Locked Users Count

Gets the count of all the locked users.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  2. user_service = api.build_user_service  
  3. response = user_service.get_locked_users_count();   
  4. success = response.is_response_success();    
  5. total_records = response.totalRecords();    
  6. jsonResponse = response.to_s();   
Get Locked Users Paging

Get all the locked users details by paging.

max - Maximum number of records to be fetched. offset - From where the records are to be fetched.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. max = 1;  
  2. offset = 0;   
  3. user_list = Array.new();  
  4. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  5. user_service = api.build_user_service  
  6. user_list = user_service.get_locked_users_by_paging(max, offset);   
  7. for user in user_list do  
  8.   puts "userName is #{user.userName}";  
  9.   puts "email is #{user.email}";  
  10.   puts "firstName #{user.profile.firstName}";  
  11. end  
  12. jsonResponse = user_list.to_s();   
Get User By Profile Data

Get the list of users based on profile data.

Required Parameters

profileData - Profile Data key/value for which Users need to be retrieved.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";                        
  2. pwd = "********";  
  3. emailId = "nick@shephertz.com";  
  4. profileData = App42::User::User::Profile.new();  
  5. profileData.firstName = "Nick";  
  6. profileData.lastName = "Gill";  
  7. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  8. user_service = api.build_user_service  
  9. user_list = user_service.get_user_by_profile_data(profileData);   
  10. for user in user_list do  
  11.   puts "UserName is #{user.userName}";  
  12.   puts "EmailId is #{user.email}";  
  13. end  
  14. jsonResponse = user_list.to_s();   
Reset User Password

Reset User password and send email with password inside.

Required Parameters

userName - Username for whom password has to be reset.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Revoke Role

Revoke the specified role from the user.

Required Parameters

userName - Username whose role has to be revoked. role - Role that has to be revoked.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. role = "admin";   
  3. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  4. user_service = api.build_user_service  
  5. response = user_service.revoke_role(userName,role);   
  6. success = response.is_response_success();  
  7. jsonResponse = response.to_s();  
Revoke All Roles

Revokes all the roles from the user.

Required Parameters

userName - Name of the user from whom Roles have to be revoked.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. response = user_service.revoke_all_roles(userName);   
  5. success = response.is_response_success();  
  6. jsonResponse = response.to_s();   
Update Email

Updates the User based on username.
Note: Only email can be updated. Username cannot be updated.

Required Parameters

userName - Username whose email ID has to updated. emailId - New email ID for the user to change.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";    
  2. email_id = "nick@shephertz.com";      
  3. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  4. user_service = api.build_user_service  
  5. user = user_service.update_email(userName, email_id);   
  6. puts "userName is #{user.userName}";  
  7. puts "email is #{user.email}";  
  8. jsonResponse = user.to_s();   
Delete User

Delete a particular user based on username.
Note: From this method, you can only soft delete the user. If you want to delete the user permanently, you can do so in two ways 1. Delete from AppHQ console management. 2. Set the “deletePermanent” flag true in otherMetaHeaders. See Delete User Permanent.

Required Parameters

userName - Username that you want to delete.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  3. user_service = api.build_user_service  
  4. response = user_service.delete_user(userName);   
  5. success = response.is_response_success();  
  6. jsonResponse = response.to_s();   
Logout

Invalidate the session of user based on session ID.

Required Parameters

sessionId - SessionID of the user who you want to logout.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Delete User Permanent

Delete a particular user based on username.
Note: This will delete your user permanently.

Required Parameters

userName - Username that you want to delete.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Authenticate With Email

Authenticate user based on Email ID and password.

Required Parameters

emailId - Email ID of the user. pwd - Password that was entered when the user created their profile.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Saving Additional Data along with User

Save additional data of user while creating a new user. One can fetch this saved information back by getting user. See Fetch Additional data of User .

Required Parameters

collectionName - Name of collection under which JSON doc needs to be saved. jsonDoc - Target JSON document to be saved.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Fetch Additional data of User

Fetches additional data of user in JSON format. One can pass query object while fetching desired records of user. Null value of query object will return all records of user in given collection.

Required Parameters

userName - Name of the user whose data is to be retrieved.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Create User With Profile

This function allows you to create a user session for the specified User and add their profile.
Note: Username and Email ID should be unique for the App.

Required Parameters

userName - Name of the user whose user session is to be created. pwd - Password of the user. emailId - Email ID of the user. profile - Add all the values that you want to retain in user profile object.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Get Users By Group

This function allows you to find the list of user data.

Required Parameters

userList - List of user for whom you want to find the data.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Reset User Password With Custom Name

Set your custom name while resetting the user password in email template.
Note: This method works only if you created email template from AppHQ Console.

Required Parameters

userName - Username for whom password has to be reset.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Reset User Password With Email Verification

Send the verification link for resetting the app user password.
Note: This method works Only if you created email template from AppHQ Console.

Required Parameters

userName - Username for whom password has to be reset.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Get Profile With Authenticate

Fetch the user profile along with user authentication.

Required Parameters

userName - Username that you want to authenticate. pwd - Password that was entered when you created the user.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Get Users By Profile Data With Specific Data

Fetch all the list of users who has a specific value in their profile e.g If you want to fetch the list of users whose first name start from “Nick” and last name start from “Gill” using below code snippet.

Required Parameters

profileData - Profile Data key/value for which Users need to be retrieved.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
Exception Handling

The functions available under User API can throw some exceptions in abnormal conditions. For example, If a developer is creating a user with a username which is already in the database, the function will throw the App42Exception (as shown below) with the message as “Bad Request” and the appErrorCode as “2001” and the details as “The request parameters are invalid. Username ‘Nick’ already exists”.

  • create User Api for Android
  • create User Api for Windows
  • create User Api for iOS
  • create User Api for Swift
  • create User Api for Java
  • create User Api for Unity
  • create User Api for JS
  • create User Api for Corona
  • create User Api for Cocos2DX
  • create User Api for .Net
  • create User Api for PHP
  • create User Api for Marmalade
  •  create User Api for Ruby
  •  create User Api for Flash
  1. userName = "Nick";  
  2. pwd = "********";  
  3. emailId = "nick@shephertz.com";  
  4. api = App42RubyAPI::ServiceAPI.new("API_KEY","SECRET_KEY")  
  5. user_service = api.build_user_service  
  6. begin  
  7.     user = user_service.create_user(userName, pwd, emailId);  
  8.     rescue App42Exception => ex  
  9.     appErrorCode = ex.app_error_code;  
  10.     httpErrorCode = ex.http_error_code;  
  11.     if(appErrorCode == 2001)  
  12.         # Handle here for Bad Request (User by the name '<userName>' does not exist.)  
  13.     elsif(appErrorCode  == 2005)  
  14.         # Handle here for Bad Request (The request parameters are invalid. User with emailId '<emailId>' already exists. )  
  15.     elsif(appErrorCode == 1401)  
  16.         # handle here for Client is not authorized  
  17.     else(appErrorCode == 1500)  
  18.         # handle here for Internal Server Error  
  19.     end  
  20.     jsonText = ex.getMessage();   
  21. end   
Error Codes

Functions in User API might throw exceptions with following HTTP and Application Error Codes (along with their descriptions):

1400 - BAD REQUEST - The requested parameters are invalid 1401 - UNAUTHORIZED - Client is not authorized. 1500 - INTERNAL SERVER ERROR - Internal Server Error. Please try again 2000 - NOT FOUND - User by the name '@userName' does not exist. 2001 - BAD REQUEST - The request parameters are invalid. Username '@userName' already exists. 2002 - NOT FOUND - UserName/Password did not match. Authentication Failed. 2003 - BAD REQUEST - Old Password is not matching for user '@userName'. 2004 - NOT FOUND - User with the emailId '@emailId' does not exist. 2005 - BAD REQUEST - The request parameters are invalid. User with emailId '@emailId' already exists. 2006 - NOT FOUND - Users do not exist. 2007 - NOT FOUND - The number of users are less than the specified offset 2008 - NOT FOUND - The number of locked users are less than the specified offset 2009 - NOT FOUND - Users with the role '@role' do not exist. 2010 - NOT FOUND - No role found for the user '@userName'. 2011 - NOT FOUND - Role '@role' for the user '@userName' does not exist. 2012 - NOT FOUND - Roles for the user '@userName' do not exist.