I am trying to bulkify a callout where I want to pass the recordtype in my loop but I get:
Error: Variable does not exist: RecordType
If I try public RecordType personAccountRecordType I get public not allowed on locals
Below is my code
RecordType personAccountRecordType = [SELECT Id FROM RecordType WHERE Name = 'Person Account' and SObjectType = 'Account'][0].RecordType;
List<Account> persAccount = new List<Account>();
for(integer x=0; x<guestsClass.size();x++){
Account acc = new Account(lastname=guestsClass[0].lastName, RecordType = personAccountRecordType);
persAccount.add(acc);
}
insert persAccount;
Update:
Http http = new Http();
HttpRequest request = new HttpRequest();
//Catch is not needed since soql's cant be empty in this case
os = [SELECT Url__c, ApiKey__c, agencyUid__c FROM Orbirental_Service__c LIMIT 1];
request.setEndpoint(os[0].Url__c +'v1/guests?agencyUid='+os[0].agencyUid__c);
request.setMethod('GET');
request.setHeader('X-ORBIRENTAL-APIKEY', os[0].ApiKey__c);
HttpResponse response = http.send(request);
if (response.getStatusCode() == 200) {
System.debug(response.getBody());
List<or_guestsJSON> guestsClass = or_guestsJSON.parse(response.getBody());
System.debug(guestsClass);
System.debug('guestsClass[0].lastName '+guestsClass[0].lastName);
Id personAccountRecordType = [SELECT Id FROM RecordType WHERE Name = 'Person Account' and SObjectType = 'Account'][0].Id;
List<Account> persAccount = new List<Account>();
for(integer x=0; x<guestsClass.size();x++){
Account acc = new Account(name=guestsClass[0].lastName, RecordTypeId = personAccountRecordType);
persAccount.add(acc);
}
insert persAccount;
system.debug('persoon '+persAccount);
}
ERROR:INVALID_CROSS_REFERENCE_KEY, Record Type ID: this ID value isn't valid for the user: 0000000000000: [RecordTypeId]