Customer API
This API allows create, edit and viewing of the Customer.
Message Structure
Request Message
For POST requests (internal only)
{
"Parameters": {
"CustomerId": "fdc9365c-c838-4cb1-98d2-076390d80edf",
"CustomerName": "Random Customer Name",
"Active": true,
"SFTP": {
"ServerAddress": "169.10.876.1",
"Username": "username",
"Password": "password",
"TlsHostCertificateFingerprint": "sdfdsfsdfds",
"Port": 22,
"Timeout": 60000
},
"Permissions": {
"ParentLevelAttributes": [],
"Reports": [
{
"Allow": [
{
"Type": "FUND_SINCE_INCEPTION",
"Parameters": [],
"Attributes": []
},
{
"Type": "FUND_HORIZON",
"Parameters": [],
"Attributes": []
}
],
"Benchmarks": []
},
{
"Allow": [
{
"Type": "INVESTIMENT_SINCE_INCEPTION",
"Parameters": [],
"Attributes": []
}
],
"Benchmarks": []
}
]
}
},
"Metadata": {}
}
Response Message
The structure below represents the payload of the customer profile object.
{
"RequestId": "",
"StatusCode": 200,
"Errors": null,
"Payload": [
{
"CustomerId": "fdc9365c-c838-4cb1-98d2-076390d80edf",
"CustomerName": "Random Customer Name",
"Active": true,
"SFTP": {
"ServerAddress": "169.10.876.1",
"Username": "username",
"Password": "password",
"TlsHostCertificateFingerprint": "sdfdsfsdfds",
"Port": 22,
"Timeout": 60000
},
"Permissions": {
"ParentLevelAttributes": [],
"Reports": [
{
"Allow": [
{
"Type": "FUND_SINCE_INCEPTION",
"Parameters": [],
"Attributes": []
},
{
"Type": "FUND_HORIZON",
"Parameters": [],
"Attributes": []
}
],
"Benchmarks": []
},
{
"Allow": [
{
"Type": "INVESTIMENT_SINCE_INCEPTION",
"Parameters": [],
"Attributes": []
}
],
"Benchmarks": []
}
]
},
"CreatedOn": "2020-06-25T13:21:51.000Z",
"CreatedBy": "bmc_listener_3",
"LastModOn": null,
"LastModBy": null
}
],
"Stats": {}
}
SFTP parameter details for customer
| Parameter | DataType | Nullable | Description | Default | Notes |
|---|---|---|---|---|---|
| SFTP.Username | string | false | required for establishing SFTP connection | NA | Eg. dh_test_user |
| SFTP.Password | string | false | required for establishing SFTP connection | NA | Eg. password |
| SFTP.ServerAddress | string | false | unique address to specify SFTP server | NA | Eg. 10.223.66.228 |
| SFTP.TlsHostCertificateFingerprint | string | true | required for single sign in | NA | Eg. f0:c4:75:a9:be:75:14:aa:d6:14:e9:84:8d:6b:39:06:c1:98:a3:00 |
| SFTP.Port | integer | true | required to connect SFTP server | 22 | Eg. 22 |
| SFTP.Timeout | integer | true | required to specify time interval to connect with SFTP server | 5 min | Eg. 5min |
Get Customer
Gets the customer's profile which defines their access level each individual benchmark
GET /api/v1/customers/:customerId
On Success: HTTP 200 - OK
Payload: JSON payload (see above)
Create Customer (internal)
Creates a new customer in the API (internal only). Please note , permissions to parameter access will be defined at customer level.
POST /api/v1/customers
On Success: HTTP 200 - OK
Payload: JSON payload (see above)
Update/Deactivate Customer (internal)
Updates the profile or deactivates an existing customer
POST /api/v1/customers/:customerId
On Success: HTTP 200 - OK
Payload: JSON payload (see above)
Note: To deactivate a customer, simply change Active property in request payload to false. If user is inactive then it will have limited permission and it will not be allowed to update , get or access other user details