RogersBankDownloader
What
This is a small library to download transaction data for Rogers Bank Credit Cards. To authenticate it currently uses requires the deviceId
and deviceInfo
from a trusted device to skip the 2FA.
How
1) Obtain a deviceId with the matching deviceInfo by logging into the website and having a look at the network tab in the developer tools
2) Call User.load(username: "x", password: "x,", deviceId: "x", deviceInfo: "x")
3) In the completion handler check that the login was successful: if case let .success(user) = $0 {
4) user
now contains the logged in user, which contains the accounts - these already contain info about the current balance, last statement amount, among other information
5) If you want to download the transactions, e.g. call user.accounts[0].downloadActivities(statementNumber: 0)
- if you have more than one account change the index accordingly - the statementNumber
parameter indicates which statement period to download the transactions from, with 0 meaning the current period, 1 the last statement and so on.
Please also check out the complete documentation here.
Usage
The library supports the Swift Package Manger, so simply add a dependency in your Package.swift
:
.package(url: "https://github.com/Nef10/RogersBankDownloader.git", .exact(from: "X.Y.Z")),
Note: as per semantic versioning all versions changes < 1.0.0 can be breaking, so please use .exact
for now
Limitations
Please note that I developed this library for my own needs. As there is no offical API everything was reverse engineered and there may be a lot of bugs.
Pull requests to fix bugs are otherwise enhance the library are very welcome.
Copyright
While my code is licensed under the MIT License, the source repository may include names or other trademarks of Rogers, Rogers Bank or other entities; potential usage restrictions for these elements still apply and are not touched by the software license. Same applies for the API design. I am in no way affilliated with Rogers Bank other than beeing customer.