Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

One of the most basic things you probably want to accomplish using the BFS API is to create a new account in BFS for a certain user. In this blog post I will demonstrate how to accomplish this given a few circumstances.

In order to use CreateAccounts you need to provide three inputs:

  • Owner (this is the GUID, unique ID of the Legal Entity who should own the account)
  • AccountTypeKey (this is a unique string value representing a certain account type)
  • BaseCurrencyCode (this tells BFS which currency to use to calculate performance for the account among other things)

Obviously the first problem to solve is getting the unique ID for the Legal Entity. Unique ID's in BFS are called BrickId's. At the time of this writing there is no way to view the BrickId for a LegalEntity in BFS (this is being added shortly) so the only way to do this is via the API method GetPersons.

In my instance of BFS I have a default user with username bnuser and I would like to get the BrickId of this user via GetPersons, see code below.

C# - Get legal entity details using username as input
var client = new BFSServiceReference.bfsapiSoapClient();
var credentials = new BFSServiceReference.Credentials()
{
    UserName = bfsusername, //Username of administrative user in your instance of BFS
    Password = bfspassword, //Password of the administrative user in your instance of BFS
};
var persons = client.GetPersons(new BFSServiceReference.GetPersonRequest()
{
    Credentials = credentials,
    identify = bfsidentifier, //Identifier is a unique token for your instance of BFS  
 
    Args = new BFSServiceReference.GetPersonArgs()
    {
      UserName  = "bnuser",
    },
   
    Fields = new BFSServiceReference.GetPersonFields()
    {
        BrickId = true,
        UserName = true,
        FirstName = true,
        LastName = true,
    },
});
foreach (var c in persons.Result)
{
    Console.WriteLine(c.BrickId + "," + c.FirstName + "," + c.LastName);
}

I now have the BrickId for the user with username "bnuser" and now I need the AccountTypeKey. This I can find within the GUI of BFS by navigating to SystemData->AccountTypes.

The alternative is to get this using the API method GetAccountTypes with the code below.

C# - Get all account types from a BFS instance
//Use the GetAccountTypes method to get all AccountTypes in the BFS instance and write
//the information in the console
var client = new BFSServiceReference.bfsapiSoapClient();
var credentials = new BFSServiceReference.Credentials()
{
    UserName = bfsusername, //Username of administrative user in your instance of BFS
    Password = bfspassword, //Password of the administrative user in your instance of BFS
};
var accounttypes = client.GetAccountTypes(new BFSServiceReference.GetAccountTypeRequest()
{
    Credentials = credentials,
    identify = bfsidentifier, //Identifier is a unique token for your instance of BFS       
    Fields = new BFSServiceReference.GetAccountTypeFields()
    {
        BrickId = true,
        Key = true,
    },
});
foreach (var c in accounttypes.Result)
{
    Console.WriteLine(c.BrickId + "," + c.Key);
}
Result in console
83adad04-02db-4dae-a5da-50b15d5fedbc,CapitalInsuranceAccount
95e3bf07-3f18-4f35-9365-1a8339493e78,HouseAccountingAccount
9c296549-41c9-4aef-bd48-e9602584f098,IPSAccount
2848b95f-8bf4-462e-8db3-2020f049e184,HouseSystemAccount
4d639562-1234-4b05-ba97-f4da03542278,HoldingAccount
20af188c-f6be-4fb7-9ae1-9d579143ea32,InheritedIRAAccount
8364af96-6a26-45a9-8e8e-3a3eaf91029e,FundAccount
bc610399-c33f-4681-a443-8886947692d8,ISKAccount
f2fa06d2-ff2c-4d4a-9a21-cb77157f41c3,CounterpartyAccount
cdc125ed-78c6-41a0-b385-f253144539ed,HouseCustodyAccount

 

 

 

  • No labels