Saltedge Integration

Aggregate held away financial account data globally



Back to Integrations



Saltedge enables applications to connect with users' bank, credit card, loan, and investment accounts to pull in account details such as balances and transactions.

Setup

To get started, you’ll first need to sign up with Saltedge and get your client_id and client_secret. If you already have a Saltedge account, you can go ahead and sign in to retrieve these values.

Implementation

Once you have Saltedge credentials set up on the Integrations Admin, you can retrieve the Saltedge widget to embed in your app or web page. The Saltedge widget will manage user credential validation, multi-factor authentication, and error handling for each institution that Saltedge supports to ensure that your end-user is able to pull data from the account that the've linked.

1) Create a user in Saltedge for the client_id that was created in Nucleus. This will connect the Hydrogen user to the Saltedge user. This process can also be automated through the Hydrogen Integration Admin settings if you wish to use Saltedge for all clients that you sign up:

POST /integration/v1/user

Sample Request

 
{
    "nucleus_client_id": "<nucleus_client_id>",
    "product": "atom",
    "integration_type": "aggregation",
    "vendor_name": "saltedge"
}

Saltedge requires an email address for the user. We will pull this from the email stored for the client_id in Nucleus. If you are not storing the email then you must add the following to the request above:

"vendor_request":{"email_id":"<email>"}

2) Call the following Hydrogen service to get the widget URL for the client:

GET /integration/v1/widget_link/{nucleus_client_id}?vendor_name=saltedge

Sample Response

 
{
    "widget_url": "https://www.saltedge.com/connect?token=2406cc17544e9df139907737a45dd011bcecfee37aebdd6bc14c1bbf1ddced3d",
    "vendor_name": "saltedge"
}
 

3) Copy the widget_url from the response and use as a web URL in the browser to have the user complete the authentication and connect their accounts.

4) Now we just have to create the aggregation account to store all the data in Nucleus from the response above.

POST /integration/v1/aggregation/account

  
{
     "nucleus_client_id": "<nucleus_client_id>",
     "product": "atom" 
} 
 

5) Once the account is stored, you can pull balances, transactions, and holdings for the account.

GET /integration/v1/aggregation/balance/{aggregation_account_id}

GET /integration/v1/aggregation/transaction/{aggregation_account_id}

GET /integration/v1/aggregation/holding/{aggregation_account_id}