Notifications
Context¶
InvestSuite offers a standard set of push or in-app notifications.
Below you can find a detailed list of the notifications InvestSuite offers.
How are notifications delivered?¶
Robo Advisor¶
| Standalone application | SDK (add-to-app) | |
|---|---|---|
| Responsible | InvestSuite sends out push notifications | Client is responsible for sending out push notifications |
| Integration pattern | No integrations are needed. | InvestSuite delivers the type of the notification on a message bus (kafka, rabbitMQ...). |
Self Investor¶
| Standalone application | SDK (add-to-app) | |
|---|---|---|
| Responsible | InvestSuite sends out push notifications | Client is responsible for sending out push notifications |
| Integration pattern | No integrations are needed. | InvestSuite delivers the type of the notification on a message bus (kafka, rabbitMQ...). |
Supported notifications¶
Robo Advisor¶
Overview¶
| Notification | ID | Description | Relevant for standalone app | Relevant for SDK |
|---|---|---|---|---|
| Unsigned transaction requiring approval | NEW_UNAUTHORIZED_TRANSACTION |
Sent when a transaction requires the user's approval before it can be executed. | Yes | Yes |
| Policy constraint opportunity | POLICY_CONSTRAINT_VIOLATION |
Sent when an opportunity is found to further optimise the user's portfolio. | Yes | Yes |
| Robo policy constraint violation | ROBO_POLICY_CONSTRAINT_VIOLATION |
Sent when a policy constraint violation is detected on the portfolio. | Yes | Yes |
| Portfolio activated | PORTFOLIO_ACTIVATED |
Account has been created at the side of the broker/custodian. | Yes | Yes (if broker integration) |
| First-time cash received in a portfolio | FIRST_TIME_CASH_RECEIVED |
Sent to the user when a particular portfolio is first funded with cash and that cash is received in that portfolio. (min amount is reached) | Yes | No (in case of instant funding) |
| First-time assets purchased in a portfolio | FIRST_TIME_ASSETS_PURCHASED |
Sent to the user when a portfolio is first invested. | Yes | Yes |
| New cash received which will be invested soon | CASH_RECEIVED |
This is after the portfolio is topped up with more cash. This can be another lump sum, or a monthly investment. | Yes | No (in case of instant funding) |
| Portfolio rebalanced because of newly added cash | ASSETS_PURCHASED |
After cash has been received we will let the user know once his portfolio has been rebalanced with new assets being purchased. | Yes | Yes |
| Assets sold to generate cash for a withdrawal instruction | ASSETS_SOLD |
Sent to users after assets have been sold following a withdrawal instruction to let them know that their portfolio has changed. | Yes | Yes |
| Cash sent to your bank account | CASH_SENT |
Sent following the notification directly above, once that money has been sent by the app to the users bank account. (triggered by events/withdraw endpoint in investsuite api) | Yes | Yes |
| Portfolio allocation change to get portfolio back in line with constraints | REBALANCE_OUT_OF_BOUNDS |
"Out of bounds" rebalance, to keep it in line with constraints (eg: risk profile). | Yes | Yes |
| Free portfolio rebalance | FREE_REBALANCE |
Portfolio was optimised to ensure the user is well positioned for the future. | Yes | Yes |
| Portfolio edits not yet finalised | PORTFOLIO_EDIT_INCOMPLETE |
Sent when the user has made portfolio edits that are not yet finalised. | Yes | Yes |
| Monthly savings reminder | MONTHLY_SAVINGS_REMINDER |
A reminder of the user's planned monthly savings goals. | Yes | Yes |
| Advisory cash received | ADVISORY_CASH_RECEIVED |
New funds have been received in an advisory portfolio. The user should review and approve a proposal. | Yes | Yes |
Example¶
{
"_type":"REBALANCE_OUT_OF_BOUNDS",
"portfolio":{
"id":"{ivs-portfolio-id}",
"name":"{portfolio-name}"
},
"details":{
"id":242,
"userId":"{ivs-user-id}",
"tenant":"{tenant}",
"namespace":"{value}",
"module":"ROBO",
"timestamp":1709716246011
}
}
| Field | Type | Content |
|---|---|---|
| _type | string | type of notification |
| portfolio.id | string | InvestSuite portfolio id |
| portfolio.name | string | Portfolio name as set by user and known in InvestSuite |
| details.id | string | notification id |
| details.userId | string | InvestSuite user id |
| details.tenant | string | fixed value referring to the tenant |
| details.namespace | string | fixed value, can be ignored |
| details.timestamp | timestamp | timestamp when the notification was created |
Self Investor¶
Overview¶
| Notification | ID | Description | Relevant for standalone app | Relevant for SDK |
|---|---|---|---|---|
| Unsigned transaction requiring approval | NEW_UNAUTHORIZED_TRANSACTION |
Sent when a transaction requires the user's approval before it can be executed. | Yes | Yes |
| Cash deposit executed | CASH_DEPOSIT_EXECUTED |
Incoming cash transfer has been processed. | Yes | Yes |
| Cash withdrawal executed | CASH_WITHDRAWAL_EXECUTED |
Outgoing cash transfer has been processed. | Yes | Yes |
| Buy order executed | BUY_ORDER_EXECUTED |
A buy order has been executed. | Yes | Yes |
| Sell order executed | SELL_ORDER_EXECUTED |
A sell order has been executed. | Yes | Yes |
| Order placement failed | ORDER_PLACEMENT_FAILED |
An order placement has failed. | Yes | Yes |
| Order cancellation failed | ORDER_CANCELLATION_FAILED |
An order cancellation has failed. | Yes | Yes |
| Order expired | ORDER_EXPIRED |
An order has expired. | Yes | Yes |
| Order cancelled by user | ORDER_CANCELLED_BY_USER |
An order has been cancelled by the user. | Yes | Yes |
| Order cancelled by broker | ORDER_CANCELLED_BY_BROKER |
An order has been cancelled by the broker. | Yes | Yes |
| Order modified | ORDER_MODIFIED |
An order has been modified. | Yes | Yes |
| Order modification failed | ORDER_MODIFICATION_FAILED |
An order modification has failed. | Yes | Yes |