Organizations & Labels
Organizations
GiroPro features several types of organizations. An organization is a company that fulfills a role in the management of the giro administration. GiroPro features 3 different types of organizations, which each represent a different layer in the organization hierarchy.
These types are:
- GiroProvider
- Client
- Label
The Label is the only organization type that’s relevant for integrating GiroPro into an investor platform. If you want to learn more about organizations you can do so here
Labels
A label is the lowest level of organization that fulfills a role in the management of the giro administration. This is generally the organization that carries the brand name of the investment platform. The label encapsulates the ledgers and general information and configurations of an investment platform.
The
labelIdis a necessary parameter for many of the endpoints.
Retrieving the Label
The primary reason we want to retrieve the Label is for the labelSettings property. This property describes how we format decimal point values, specifically the number of digits after te decimal point, for various values in GiroPro.
GET /OrganizationGetById/
In order to retrieve the Label we call the /OrganizationGetById/ endpoint which returns the Label based on the provided organization type and organizationId:
const url = 'https://api.dev.giropro.pengine.com/PENGINE/Aggregator/SubjectAggregator/OrganizationGetById/Label/<labelId>';
const options = {
method: 'GET',
headers: {
accept: 'application/json',
authorization: 'bearer <token>'
}
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));
This endpoint returns a PengineResult containing an InvestorAdministrationAggregatedItem, which looks like this:
{
"success": true,
"httpStatusCode": 200,
"errors": [],
"totalCount": 0,
"items": [
{
"return_type": "InvestorAdministrationAggregatedItem",
"clientId": "05b3bae6-0656-4494-a337-4731aaed1ceb",
"id": "c482eddc-fe2a-4666-86bc-f32c2a4b4d6c",
"name": "GiroPro Demo Label",
"countryCode": "NLD",
"bankAccountId": "1793c036-2ec4-4354-9503-b1a53e5a6c95",
"versionState": "None",
"labelType": "InvestorAdministration",
"labelSettings": {
"labelId": "357a12a1-a12a-12ab-a123-a12a1a1ab357",
"numberOfDecimals": 2, // used for general currency-based values
"numberOfDecimalsForCash": 2, // used for currency-based values involving Cash Ledgers
"numberOfDecimalsForAssetUnit": 4, // used for unit-based values involving Assets
"numberOfDecimalsForAssetPrice": 4, // used exclusively for the market-price of an Asset
"numberOfDecimalsPercentage": 2, // used for percentages
"dateFormat": "YYYY-MM-DD",
"useSequence": true,
"automaticCashReturn": false,
"referenceTypesNeedingApproval": [],
"camt053AllocationWithoutOrder": false,
"overridingAssetDecimalSettingsList": []
},
"administrationParameters": [],
"labelLedgers": [
// list of Ledgers used by the Label
],
"bankAccount": {
// bank account used by the Label
},
"aggregatedCommunicationItems": {
// list of communication items used by the Label
}
}
],
}
Overruling settings
labelSettingsmight be superseded by other properties throughout GiroPro. For example: anAssethas its ownnumberOfDecimalsForAssetUnitandnumberOfDecimalsForAssetPricewhich can differ from those defined in thelabelSettings. You should always use the superseding properties, in this case those of the specificAsset.