createAccount method
Creates an account Name must be unique. The Account.Name attribute must not contain double quotes (") or colon (:). The Account.AcctNum attribute must not contain a colon (:).
Implementation
Future<Account> createAccount({
required Account account,
String? realmId,
String? authToken,
}) async {
authToken ??= authenticationService.getCachedToken()?.access_token;
realmId ??= authenticationService.getCachedRealmId();
Map<String, String> headers = {
"Authorization": "Bearer ${authToken ?? ""}",
'Content-Type': 'application/json; charset=UTF-8',
'Accept': 'application/json',
};
Map<String, String> params = {
"minorversion": minorVersion.toString()
};
/*
var account = Account(name: name, acctNum:acctNum,
taxCodeRef: taxCodeRef,
accountType: accountType,
accountSubType: accountSubType );
*/
Uri endpoint = Uri.https(
baseUrl, "/v3/company/$realmId/account", params);
//print (endpoint.toString());
var response = await
http.post(endpoint, body: jsonEncode(account.toJson()), headers: headers);
if (response.statusCode == 200) {
//print (jsonDecode(response.body));
return Account.fromJson(jsonDecode(response.body)["Account"]);
}
else {
throw AccountException(statusCode: response.statusCode, message: response.body);
}
}