Apexでコミュニティユーザを作成する方法の備忘録
こんな感じでコミュニティユーザを作成できます。
Account acc = new Account(Name='hoge-account');
insert acc;
Contact con = new Contact(LastName='hoge-contact', AccountId=acc.id);
insert con;
User u1 = new User(
email=email,
profileid = 'Community Profile ID',
UserName = email,
Alias = 'GDS',
TimeZoneSidKey='Asia/Tokyo',
EmailEncodingKey='UTF-8',
LocaleSidKey='ja_JP',
LanguageLocaleKey='ja',
ContactId = con.Id,
PortalRole = 'Manager', // 'Worker', 'Manager', 'Executive'
FirstName = 'FirstName',
LastName = 'LastName');
insert u1;
Customer Community Plusのユーザやパートナーコミュニティユーザの場合はPortalRoleを指定する必要があります。”Worker”, “Manager”, “Executive”の中から適切なロールを選択してください(選択できる値は取引先一つあたりのロール数の設定に依存)
CommunityからはSite.createPortalUserを使います。書き方はデフォルトで作成されるCommunitiesSelfRegControllerを参照。
String profileId = '{customer community profile id}';
String accountId = '{customer community account id}';
User u = new User();
u.Username = userName;
u.Email = email;
u.FirstName = firstName;
u.LastName = lastName;
u.CommunityNickname = communityNickname;
u.ProfileId = profileId;
String userId = Site.createPortalUser(u, accountId, password);
参考URLはこちら↓