We have three ways that clients can use Hydrogen to calculate rewards when Hydrogen does not act as the program manager - i.e. when the client has an existing card or banking BIN that Hydrogen did not set up for them.
When we serve as the Program Manager, we pull daily transactional data from the processor and do the data mapping. If we are not the Program Manager, you will be responsible for uploading the transactions daily.
Option 1 (Preferred): CSV Bulk Upload
In this option, you can upload a CSV of accounts and transactions with only a few fields on the Hydrogen portal, and our data engine will do the rest of the mapping on the backend. If you take advantage of this option, you will not need any API development. This allows a non-technical person on your team to use the Rewards product, and also is recommended for data that is only required to be updated once a day.
Please contact your Customer Success Manager to receive the sample CSV upload file.
Option 2a: API - Single Call
Step 1: If you have existing users that have opted into the rewards, you can provide us with a CSV and we can upload them into the database. When a new user signs up on your app every day going forward, you can create them in the Nucleus API using the following steps:
1a. Create a Client with a unique username
and secondary_id
for your internal identifier.
1b. Create an Account assigned to the Client in 1a.
1c. Create a Portfolio assigned to the Account in 1b. This will hold the balances and transactions.
1d. OPTIONAL Create a Card assigned to the Portfolio with the mask
and expiry
of the card. This will be used for tracking card-linked merchant funded rewards only.
All methods above also support a PUT when you need to update the data.
Step 2: Each completed and settled transaction should be added by POST /portfolio_transaction with the data fields mapped. This includes the portfolio_id
, transaction_code_id
, description
, amount
, date
, mcc
(if available), and the is_cleansed
field must be posted as FALSE.
If you are using any rewards that require a balance check, you can POST /portfolio_asset_size with the minimum fields of portfolio_id
, date
, cash_flow
and asset_size_available
provided.
Step 3: You will need to make a daily PUT /portfolio_transaction/{id} to update any transactions that change status
and any reversals by the merchant. The same PUT can be done on any call above.
Option 2b: API - Bulk Call
All calls in 2a can also be done in bulk 100 at a time using our Bulk POST and PUT.
Option 3: Custom ETL
If you do not have the engineering available to perform any of the data mapping and upload options 1 or 2, we also have an option to ingest raw transactional files and do this for you. Please contact us if interested in this method, minimum applies.