A Dart null-safe wrapper to be able to use the Investec OpenAPI from your Dart/Flutter projects
Investec developer documentation
Currently and Active WIP and has not been submitted to pub.dev yet.
import 'package:http/http.dart' as http;
import 'investec_open_api/investec_open_api.dart';
final httpClient = http.Client();
final api = InvestecOpenAPI(
clientId: 'YOUR_CLIENT_ID',
secret: 'YOUR_SECRET',
httpClient: httpClient,
);
This returns a list of your accounts as well as some meta data
Sample API Response
{
"data": {
"accounts": [
{
"accountId": "123",
"accountNumber": "112233",
"accountName": "John Smith",
"referenceName": "Mr J Smith",
"productName": "Private Bank Account"
}
]
},
"links": {
"self": "mock-url"
},
"meta": {
"totalPages": 1
}
}
Sample resulting dart class
const accounts = AccountsEntity(
data: AccountsData(
accounts: [
AccountEntity(
accountId: '123',
accountNumber: '112233',
accountName: 'John Smith',
referenceName: 'Mr J Smith',
productName: 'Private Bank Account',
)
],
),
links: AccountsLinks(
self: 'mock-url',
),
meta: AccountsMeta(
totalPages: 1,
),
);
Returns teh account balance details for a provided account number.
Sample API Response
{
"data": {
"accountId": "account-number",
"currentBalance": 1234.65,
"availableBalance": 9876.00,
"currency": "ZAR"
},
"links": {
"self": "mock-url"
},
"meta": {
"totalPages": 1
}
}
Sample resulting dart class
const accountBalanceFixture = AccountBalanceModel(
data: AccountBalanceDataModel(
accountId: 'account-number',
currentBalance: 1234.65,
availableBalance: 9876.00,
currency: 'ZAR',
),
links: AccountsLinks(
self: 'mock-url',
),
meta: AccountsMeta(
totalPages: 1,
),
);
Hope you find this useful! Please give a star and feel free to contribute or log issues and feature requests!
And if you want to say thanks, then go ahead: