atrium-ruby 2.2.2 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -2
- data/docs/Institution.md +2 -0
- data/docs/InstitutionsApi.md +8 -0
- data/docs/MembersApi.md +50 -2
- data/docs/Statement.md +16 -0
- data/docs/StatementsResponseBody.md +9 -0
- data/lib/atrium-ruby.rb +2 -0
- data/lib/atrium-ruby/api/institutions_api.rb +12 -0
- data/lib/atrium-ruby/api/members_api.rb +69 -0
- data/lib/atrium-ruby/models/institution.rb +19 -1
- data/lib/atrium-ruby/models/statement.rb +260 -0
- data/lib/atrium-ruby/models/statements_response_body.rb +190 -0
- data/lib/atrium-ruby/version.rb +1 -1
- data/spec/api/institutions_api_spec.rb +4 -0
- data/spec/api/members_api_spec.rb +16 -0
- data/spec/models/institution_spec.rb +12 -0
- data/spec/models/statement_spec.rb +84 -0
- data/spec/models/statements_response_body_spec.rb +42 -0
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5eee3cbbb158bb70e26633ece1cc4e3ad83228b6
|
4
|
+
data.tar.gz: f4a7a46b52217ad773d932050dd2c181c71878de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfb3b86c3bcde2086514bd1750b4685d35f27028fbf9bca8c5800785ed1df6cca54584f0856c635bbe286b29f71d41f6e3eed3da2cf3d4bc2713b5dc5147928c
|
7
|
+
data.tar.gz: be5cc89c16eca5352e03fddb2e5cfb4ffa3ab8ef797c9acaffb639ce4c6e693dfa0a0db01bb886373c0dcbbbbfc56ecba7908c9ec27fcb0d241e530b36276baf
|
data/README.md
CHANGED
@@ -17,12 +17,12 @@ gem build atrium-ruby.gemspec
|
|
17
17
|
Then either install the gem locally:
|
18
18
|
|
19
19
|
```shell
|
20
|
-
gem install ./atrium-ruby-2.
|
20
|
+
gem install ./atrium-ruby-2.3.0.gem
|
21
21
|
```
|
22
22
|
|
23
23
|
Finally add this to the Gemfile:
|
24
24
|
|
25
|
-
gem 'atrium-ruby', '~> 2.
|
25
|
+
gem 'atrium-ruby', '~> 2.3.0'
|
26
26
|
|
27
27
|
### Install from Git
|
28
28
|
|
@@ -90,6 +90,7 @@ Class | Method | HTTP request | Description
|
|
90
90
|
*Atrium::MembersApi* | [**list_member_accounts**](docs/MembersApi.md#list_member_accounts) | **GET** /users/{user_guid}/members/{member_guid}/accounts | List member accounts
|
91
91
|
*Atrium::MembersApi* | [**list_member_credentials**](docs/MembersApi.md#list_member_credentials) | **GET** /users/{user_guid}/members/{member_guid}/credentials | List member credentials
|
92
92
|
*Atrium::MembersApi* | [**list_member_mfa_challenges**](docs/MembersApi.md#list_member_mfa_challenges) | **GET** /users/{user_guid}/members/{member_guid}/challenges | List member MFA challenges
|
93
|
+
*Atrium::MembersApi* | [**list_member_statements**](docs/MembersApi.md#list_member_statements) | **GET** /users/{user_guid}/members/{member_guid}/statements | List member statements
|
93
94
|
*Atrium::MembersApi* | [**list_member_transactions**](docs/MembersApi.md#list_member_transactions) | **GET** /users/{user_guid}/members/{member_guid}/transactions | List member transactions
|
94
95
|
*Atrium::MembersApi* | [**list_members**](docs/MembersApi.md#list_members) | **GET** /users/{user_guid}/members | List members
|
95
96
|
*Atrium::MembersApi* | [**read_member**](docs/MembersApi.md#read_member) | **GET** /users/{user_guid}/members/{member_guid} | Read member
|
@@ -149,6 +150,8 @@ Class | Method | HTTP request | Description
|
|
149
150
|
- [Atrium::Merchant](docs/Merchant.md)
|
150
151
|
- [Atrium::MerchantResponseBody](docs/MerchantResponseBody.md)
|
151
152
|
- [Atrium::Pagination](docs/Pagination.md)
|
153
|
+
- [Atrium::Statement](docs/Statement.md)
|
154
|
+
- [Atrium::StatementsResponseBody](docs/StatementsResponseBody.md)
|
152
155
|
- [Atrium::Transaction](docs/Transaction.md)
|
153
156
|
- [Atrium::TransactionCleanseAndCategorizeRequest](docs/TransactionCleanseAndCategorizeRequest.md)
|
154
157
|
- [Atrium::TransactionCleanseAndCategorizeResponse](docs/TransactionCleanseAndCategorizeResponse.md)
|
data/docs/Institution.md
CHANGED
@@ -8,7 +8,9 @@ Name | Type | Description | Notes
|
|
8
8
|
**name** | **String** | | [optional]
|
9
9
|
**small_logo_url** | **String** | | [optional]
|
10
10
|
**supports_account_identification** | **BOOLEAN** | | [optional]
|
11
|
+
**supports_account_statement** | **BOOLEAN** | | [optional]
|
11
12
|
**supports_account_verification** | **BOOLEAN** | | [optional]
|
13
|
+
**supports_transaction_history** | **BOOLEAN** | | [optional]
|
12
14
|
**url** | **String** | | [optional]
|
13
15
|
|
14
16
|
|
data/docs/InstitutionsApi.md
CHANGED
@@ -25,6 +25,10 @@ opts = {
|
|
25
25
|
name: name_example, # String | This will list only institutions in which the appended string appears.
|
26
26
|
page: 1, # Integer | Specify current page.
|
27
27
|
records_per_page: 12, # Integer | Specify records per page.
|
28
|
+
supports_account_identification: true, # BOOLEAN | Filter only institutions which support account identification.
|
29
|
+
supports_account_statement: true, # BOOLEAN | Filter only institutions which support account statements.
|
30
|
+
supports_account_verification: true, # BOOLEAN | Filter only institutions which support account verification.
|
31
|
+
supports_transaction_history: true # BOOLEAN | Filter only institutions which support extended transaction history.
|
28
32
|
}
|
29
33
|
|
30
34
|
begin
|
@@ -43,6 +47,10 @@ Name | Type | Description | Notes
|
|
43
47
|
**name** | **String**| This will list only institutions in which the appended string appears. | [optional]
|
44
48
|
**page** | **Integer**| Specify current page. | [optional]
|
45
49
|
**records_per_page** | **Integer**| Specify records per page. | [optional]
|
50
|
+
**supports_account_identification** | **BOOLEAN**| Filter only institutions which support account identification. | [optional]
|
51
|
+
**supports_account_statement** | **BOOLEAN**| Filter only institutions which support account statements. | [optional]
|
52
|
+
**supports_account_verification** | **BOOLEAN**| Filter only institutions which support account verification. | [optional]
|
53
|
+
**supports_transaction_history** | **BOOLEAN**| Filter only institutions which support extended transaction history. | [optional]
|
46
54
|
|
47
55
|
### Return type
|
48
56
|
|
data/docs/MembersApi.md
CHANGED
@@ -8,6 +8,7 @@ Method | HTTP request | Description
|
|
8
8
|
[**list_member_accounts**](MembersApi.md#list_member_accounts) | **GET** /users/{user_guid}/members/{member_guid}/accounts | List member accounts
|
9
9
|
[**list_member_credentials**](MembersApi.md#list_member_credentials) | **GET** /users/{user_guid}/members/{member_guid}/credentials | List member credentials
|
10
10
|
[**list_member_mfa_challenges**](MembersApi.md#list_member_mfa_challenges) | **GET** /users/{user_guid}/members/{member_guid}/challenges | List member MFA challenges
|
11
|
+
[**list_member_statements**](MembersApi.md#list_member_statements) | **GET** /users/{user_guid}/members/{member_guid}/statements | List member statements
|
11
12
|
[**list_member_transactions**](MembersApi.md#list_member_transactions) | **GET** /users/{user_guid}/members/{member_guid}/transactions | List member transactions
|
12
13
|
[**list_members**](MembersApi.md#list_members) | **GET** /users/{user_guid}/members | List members
|
13
14
|
[**read_member**](MembersApi.md#read_member) | **GET** /users/{user_guid}/members/{member_guid} | Read member
|
@@ -17,7 +18,7 @@ Method | HTTP request | Description
|
|
17
18
|
|
18
19
|
|
19
20
|
# **aggregate_member**
|
20
|
-
> MemberResponseBody aggregate_member(member_guid, user_guid)
|
21
|
+
> MemberResponseBody aggregate_member(member_guid, user_guid, opts)
|
21
22
|
|
22
23
|
Aggregate member
|
23
24
|
|
@@ -32,10 +33,13 @@ client = Atrium::AtriumClient.new("YOUR_API_KEY", "YOUR_CLIENT_ID")
|
|
32
33
|
|
33
34
|
member_guid = "MBR-123" # String | The unique identifier for a `member`.
|
34
35
|
user_guid = "USR-123" # String | The unique identifier for a `user`.
|
36
|
+
opts = {
|
37
|
+
type: "history" # String | An optional parameter which determines the type of aggregation to be peformed. Possible values are `statement` and `history`.
|
38
|
+
}
|
35
39
|
|
36
40
|
begin
|
37
41
|
#Aggregate member
|
38
|
-
response = client.members.aggregate_member(member_guid, user_guid)
|
42
|
+
response = client.members.aggregate_member(member_guid, user_guid, opts)
|
39
43
|
p response
|
40
44
|
rescue Atrium::ApiError => e
|
41
45
|
puts "Exception when calling MembersApi->aggregate_member: #{e}"
|
@@ -48,6 +52,7 @@ Name | Type | Description | Notes
|
|
48
52
|
------------- | ------------- | ------------- | -------------
|
49
53
|
**member_guid** | **String**| The unique identifier for a `member`. |
|
50
54
|
**user_guid** | **String**| The unique identifier for a `user`. |
|
55
|
+
**type** | **String**| An optional parameter which determines the type of aggregation to be peformed. Possible values are `statement` and `history`. | [optional]
|
51
56
|
|
52
57
|
### Return type
|
53
58
|
|
@@ -243,6 +248,49 @@ Name | Type | Description | Notes
|
|
243
248
|
|
244
249
|
[**ChallengesResponseBody**](ChallengesResponseBody.md)
|
245
250
|
|
251
|
+
# **list_member_statements**
|
252
|
+
> StatementsResponseBody list_member_statements(member_guid, user_guid, opts)
|
253
|
+
|
254
|
+
List member statements
|
255
|
+
|
256
|
+
Certain institutions in Atrium allow developers to access account statements associated with a particular `member`. Use this endpoint to get an array of available statements. Before this endpoint can be used, an aggregation of type `statement` should be performed on the relevant `member`.
|
257
|
+
|
258
|
+
### Example
|
259
|
+
```ruby
|
260
|
+
# load the gem
|
261
|
+
require 'atrium-ruby'
|
262
|
+
|
263
|
+
client = Atrium::AtriumClient.new("YOUR_API_KEY", "YOUR_CLIENT_ID")
|
264
|
+
|
265
|
+
member_guid = "MBR-123" # String | The unique identifier for a `member`.
|
266
|
+
user_guid = "USR-123" # String | The unique identifier for a `user`.
|
267
|
+
opts = {
|
268
|
+
page: 1, # Integer | Specify current page.
|
269
|
+
records_per_page: 12, # Integer | Specify records per page.
|
270
|
+
}
|
271
|
+
|
272
|
+
begin
|
273
|
+
#List member statements
|
274
|
+
response = client.members.list_member_statements(member_guid, user_guid, opts)
|
275
|
+
p response
|
276
|
+
rescue Atrium::ApiError => e
|
277
|
+
puts "Exception when calling MembersApi->list_member_statements: #{e}"
|
278
|
+
end
|
279
|
+
```
|
280
|
+
|
281
|
+
### Parameters
|
282
|
+
|
283
|
+
Name | Type | Description | Notes
|
284
|
+
------------- | ------------- | ------------- | -------------
|
285
|
+
**member_guid** | **String**| The unique identifier for a `member`. |
|
286
|
+
**user_guid** | **String**| The unique identifier for a `user`. |
|
287
|
+
**page** | **Integer**| Specify current page. | [optional]
|
288
|
+
**records_per_page** | **Integer**| Specify records per page. | [optional]
|
289
|
+
|
290
|
+
### Return type
|
291
|
+
|
292
|
+
[**StatementsResponseBody**](StatementsResponseBody.md)
|
293
|
+
|
246
294
|
# **list_member_transactions**
|
247
295
|
> TransactionsResponseBody list_member_transactions(member_guid, user_guid, opts)
|
248
296
|
|
data/docs/Statement.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Atrium::Statement
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
Name | Type | Description | Notes
|
5
|
+
------------ | ------------- | ------------- | -------------
|
6
|
+
**account_guid** | **String** | The unique identifier for the `account` associated with the `statement`. Defined by MX. | [optional]
|
7
|
+
**created_at** | **String** | The date and time the `statement` was created. | [optional]
|
8
|
+
**content_hash** | **String** | An SHA-256 hash value of the statement's byte payload, used as a unique identifier. | [optional]
|
9
|
+
**deleted_at** | **String** | The date and time the `statement` was deleted. Statements are automatically deleted when an `account` is deleted. | [optional]
|
10
|
+
**guid** | **String** | The unique identifier for the `statement`. Defined by MX. | [optional]
|
11
|
+
**is_deleted** | **BOOLEAN** | This indicates whether the `statement` has been deleted. Statements are automatically deleted when an `account` is deleted. | [optional]
|
12
|
+
**updated_at** | **String** | The date and time at which the `statement` was last updated. | [optional]
|
13
|
+
**uri** | **String** | A URI for accessing the byte payload of the `statement`. | [optional]
|
14
|
+
**user_guid** | **String** | The unique identifier for the `user` associated with the `statement`. Defined by MX. | [optional]
|
15
|
+
|
16
|
+
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Atrium::StatementsResponseBody
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
Name | Type | Description | Notes
|
5
|
+
------------ | ------------- | ------------- | -------------
|
6
|
+
**statements** | [**Array<Statement>**](Statement.md) | | [optional]
|
7
|
+
**pagination** | [**Pagination**](Pagination.md) | | [optional]
|
8
|
+
|
9
|
+
|
data/lib/atrium-ruby.rb
CHANGED
@@ -50,6 +50,8 @@ require 'atrium-ruby/models/members_response_body'
|
|
50
50
|
require 'atrium-ruby/models/merchant'
|
51
51
|
require 'atrium-ruby/models/merchant_response_body'
|
52
52
|
require 'atrium-ruby/models/pagination'
|
53
|
+
require 'atrium-ruby/models/statement'
|
54
|
+
require 'atrium-ruby/models/statements_response_body'
|
53
55
|
require 'atrium-ruby/models/transaction'
|
54
56
|
require 'atrium-ruby/models/transaction_cleanse_and_categorize_request'
|
55
57
|
require 'atrium-ruby/models/transaction_cleanse_and_categorize_response'
|
@@ -21,6 +21,10 @@ module Atrium
|
|
21
21
|
# @option opts [String] :name This will list only institutions in which the appended string appears.
|
22
22
|
# @option opts [Integer] :page Specify current page.
|
23
23
|
# @option opts [Integer] :records_per_page Specify records per page.
|
24
|
+
# @option opts [BOOLEAN] :supports_account_identification Filter only institutions which support account identification.
|
25
|
+
# @option opts [BOOLEAN] :supports_account_statement Filter only institutions which support account statements.
|
26
|
+
# @option opts [BOOLEAN] :supports_account_verification Filter only institutions which support account verification.
|
27
|
+
# @option opts [BOOLEAN] :supports_transaction_history Filter only institutions which support extended transaction history.
|
24
28
|
# @return [InstitutionsResponseBody]
|
25
29
|
def list_institutions(opts = {})
|
26
30
|
data, _status_code, _headers = list_institutions_with_http_info(opts)
|
@@ -56,6 +60,10 @@ module Atrium
|
|
56
60
|
# @option opts [String] :name This will list only institutions in which the appended string appears.
|
57
61
|
# @option opts [Integer] :page Specify current page.
|
58
62
|
# @option opts [Integer] :records_per_page Specify records per page.
|
63
|
+
# @option opts [BOOLEAN] :supports_account_identification Filter only institutions which support account identification.
|
64
|
+
# @option opts [BOOLEAN] :supports_account_statement Filter only institutions which support account statements.
|
65
|
+
# @option opts [BOOLEAN] :supports_account_verification Filter only institutions which support account verification.
|
66
|
+
# @option opts [BOOLEAN] :supports_transaction_history Filter only institutions which support extended transaction history.
|
59
67
|
# @return [Array<(InstitutionsResponseBody, Fixnum, Hash)>] InstitutionsResponseBody data, response status code and response headers
|
60
68
|
def list_institutions_with_http_info(opts = {})
|
61
69
|
if @api_client.config.debugging
|
@@ -69,6 +77,10 @@ module Atrium
|
|
69
77
|
query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
|
70
78
|
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
71
79
|
query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
|
80
|
+
query_params[:'supports_account_identification'] = opts[:'supports_account_identification'] if !opts[:'supports_account_identification'].nil?
|
81
|
+
query_params[:'supports_account_statement'] = opts[:'supports_account_statement'] if !opts[:'supports_account_statement'].nil?
|
82
|
+
query_params[:'supports_account_verification'] = opts[:'supports_account_verification'] if !opts[:'supports_account_verification'].nil?
|
83
|
+
query_params[:'supports_transaction_history'] = opts[:'supports_transaction_history'] if !opts[:'supports_transaction_history'].nil?
|
72
84
|
|
73
85
|
# header parameters
|
74
86
|
header_params = {}
|
@@ -20,6 +20,7 @@ module Atrium
|
|
20
20
|
# @param member_guid The unique identifier for a `member`.
|
21
21
|
# @param user_guid The unique identifier for a `user`.
|
22
22
|
# @param [Hash] opts the optional parameters
|
23
|
+
# @option opts [String] :type An optional parameter which determines the type of aggregation to be peformed. Possible values are `statement` and `history`.
|
23
24
|
# @return [MemberResponseBody]
|
24
25
|
def aggregate_member(member_guid, user_guid, opts = {})
|
25
26
|
data, _status_code, _headers = aggregate_member_with_http_info(member_guid, user_guid, opts)
|
@@ -83,6 +84,19 @@ module Atrium
|
|
83
84
|
data
|
84
85
|
end
|
85
86
|
|
87
|
+
# List member statements
|
88
|
+
# Certain institutions in Atrium allow developers to access account statements associated with a particular `member`. Use this endpoint to get an array of available statements. Before this endpoint can be used, an aggregation of type `statement` should be performed on the relevant `member`.
|
89
|
+
# @param member_guid The unique identifier for a `member`.
|
90
|
+
# @param user_guid The unique identifier for a `user`.
|
91
|
+
# @param [Hash] opts the optional parameters
|
92
|
+
# @option opts [Integer] :page Specify current page.
|
93
|
+
# @option opts [Integer] :records_per_page Specify records per page.
|
94
|
+
# @return [StatementsResponseBody]
|
95
|
+
def list_member_statements(member_guid, user_guid, opts = {})
|
96
|
+
data, _status_code, _headers = list_member_statements_with_http_info(member_guid, user_guid, opts)
|
97
|
+
data
|
98
|
+
end
|
99
|
+
|
86
100
|
# List member transactions
|
87
101
|
# Use this endpoint to get all transactions from all accounts associated with a specific member.<br> This endpoint accepts optional URL query parameters — from_date and to_date — which are used to filter transactions according to the date they were posted. If no values are given for the query parameters, from_date will default to 90 days prior to the request and to_date will default to 5 days from the time of the request.
|
88
102
|
# @param member_guid The unique identifier for a `member`.
|
@@ -164,6 +178,7 @@ module Atrium
|
|
164
178
|
# @param member_guid The unique identifier for a `member`.
|
165
179
|
# @param user_guid The unique identifier for a `user`.
|
166
180
|
# @param [Hash] opts the optional parameters
|
181
|
+
# @option opts [String] :type An optional parameter which determines the type of aggregation to be peformed. Possible values are `statement` and `history`.
|
167
182
|
# @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
|
168
183
|
def aggregate_member_with_http_info(member_guid, user_guid, opts = {})
|
169
184
|
if @api_client.config.debugging
|
@@ -182,11 +197,14 @@ module Atrium
|
|
182
197
|
|
183
198
|
# query parameters
|
184
199
|
query_params = {}
|
200
|
+
query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
|
185
201
|
|
186
202
|
# header parameters
|
187
203
|
header_params = {}
|
188
204
|
# HTTP header 'Accept' (if needed)
|
189
205
|
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
|
206
|
+
# HTTP header 'Content-Type'
|
207
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
190
208
|
|
191
209
|
# form parameters
|
192
210
|
form_params = {}
|
@@ -446,6 +464,57 @@ module Atrium
|
|
446
464
|
end
|
447
465
|
return data, status_code, headers
|
448
466
|
end
|
467
|
+
# List member statements
|
468
|
+
# Certain institutions in Atrium allow developers to access account statements associated with a particular `member`. Use this endpoint to get an array of available statements. Before this endpoint can be used, an aggregation of type `statement` should be performed on the relevant `member`.
|
469
|
+
# @param member_guid The unique identifier for a `member`.
|
470
|
+
# @param user_guid The unique identifier for a `user`.
|
471
|
+
# @param [Hash] opts the optional parameters
|
472
|
+
# @option opts [Integer] :page Specify current page.
|
473
|
+
# @option opts [Integer] :records_per_page Specify records per page.
|
474
|
+
# @return [Array<(StatementsResponseBody, Fixnum, Hash)>] StatementsResponseBody data, response status code and response headers
|
475
|
+
def list_member_statements_with_http_info(member_guid, user_guid, opts = {})
|
476
|
+
if @api_client.config.debugging
|
477
|
+
@api_client.config.logger.debug 'Calling API: MembersApi.list_member_statements ...'
|
478
|
+
end
|
479
|
+
# verify the required parameter 'member_guid' is set
|
480
|
+
if @api_client.config.client_side_validation && member_guid.nil?
|
481
|
+
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_statements"
|
482
|
+
end
|
483
|
+
# verify the required parameter 'user_guid' is set
|
484
|
+
if @api_client.config.client_side_validation && user_guid.nil?
|
485
|
+
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_statements"
|
486
|
+
end
|
487
|
+
# resource path
|
488
|
+
local_var_path = '/users/{user_guid}/members/{member_guid}/statements'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
|
489
|
+
|
490
|
+
# query parameters
|
491
|
+
query_params = {}
|
492
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
493
|
+
query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
|
494
|
+
|
495
|
+
# header parameters
|
496
|
+
header_params = {}
|
497
|
+
# HTTP header 'Accept' (if needed)
|
498
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
|
499
|
+
|
500
|
+
# form parameters
|
501
|
+
form_params = {}
|
502
|
+
|
503
|
+
# http body (model)
|
504
|
+
post_body = nil
|
505
|
+
auth_names = ['apiKey', 'clientID']
|
506
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
507
|
+
:header_params => header_params,
|
508
|
+
:query_params => query_params,
|
509
|
+
:form_params => form_params,
|
510
|
+
:body => post_body,
|
511
|
+
:auth_names => auth_names,
|
512
|
+
:return_type => 'StatementsResponseBody')
|
513
|
+
if @api_client.config.debugging
|
514
|
+
@api_client.config.logger.debug "API called: MembersApi#list_member_statements\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
515
|
+
end
|
516
|
+
return data, status_code, headers
|
517
|
+
end
|
449
518
|
# List member transactions
|
450
519
|
# Use this endpoint to get all transactions from all accounts associated with a specific member.<br> This endpoint accepts optional URL query parameters — from_date and to_date — which are used to filter transactions according to the date they were posted. If no values are given for the query parameters, from_date will default to 90 days prior to the request and to_date will default to 5 days from the time of the request.
|
451
520
|
# @param member_guid The unique identifier for a `member`.
|
@@ -20,8 +20,12 @@ module Atrium
|
|
20
20
|
|
21
21
|
attr_accessor :supports_account_identification
|
22
22
|
|
23
|
+
attr_accessor :supports_account_statement
|
24
|
+
|
23
25
|
attr_accessor :supports_account_verification
|
24
26
|
|
27
|
+
attr_accessor :supports_transaction_history
|
28
|
+
|
25
29
|
attr_accessor :url
|
26
30
|
|
27
31
|
# Attribute mapping from ruby-style variable name to JSON key.
|
@@ -32,7 +36,9 @@ module Atrium
|
|
32
36
|
:'name' => :'name',
|
33
37
|
:'small_logo_url' => :'small_logo_url',
|
34
38
|
:'supports_account_identification' => :'supports_account_identification',
|
39
|
+
:'supports_account_statement' => :'supports_account_statement',
|
35
40
|
:'supports_account_verification' => :'supports_account_verification',
|
41
|
+
:'supports_transaction_history' => :'supports_transaction_history',
|
36
42
|
:'url' => :'url'
|
37
43
|
}
|
38
44
|
end
|
@@ -45,7 +51,9 @@ module Atrium
|
|
45
51
|
:'name' => :'String',
|
46
52
|
:'small_logo_url' => :'String',
|
47
53
|
:'supports_account_identification' => :'BOOLEAN',
|
54
|
+
:'supports_account_statement' => :'BOOLEAN',
|
48
55
|
:'supports_account_verification' => :'BOOLEAN',
|
56
|
+
:'supports_transaction_history' => :'BOOLEAN',
|
49
57
|
:'url' => :'String'
|
50
58
|
}
|
51
59
|
end
|
@@ -78,10 +86,18 @@ module Atrium
|
|
78
86
|
self.supports_account_identification = attributes[:'supports_account_identification']
|
79
87
|
end
|
80
88
|
|
89
|
+
if attributes.has_key?(:'supports_account_statement')
|
90
|
+
self.supports_account_statement = attributes[:'supports_account_statement']
|
91
|
+
end
|
92
|
+
|
81
93
|
if attributes.has_key?(:'supports_account_verification')
|
82
94
|
self.supports_account_verification = attributes[:'supports_account_verification']
|
83
95
|
end
|
84
96
|
|
97
|
+
if attributes.has_key?(:'supports_transaction_history')
|
98
|
+
self.supports_transaction_history = attributes[:'supports_transaction_history']
|
99
|
+
end
|
100
|
+
|
85
101
|
if attributes.has_key?(:'url')
|
86
102
|
self.url = attributes[:'url']
|
87
103
|
end
|
@@ -110,7 +126,9 @@ module Atrium
|
|
110
126
|
name == o.name &&
|
111
127
|
small_logo_url == o.small_logo_url &&
|
112
128
|
supports_account_identification == o.supports_account_identification &&
|
129
|
+
supports_account_statement == o.supports_account_statement &&
|
113
130
|
supports_account_verification == o.supports_account_verification &&
|
131
|
+
supports_transaction_history == o.supports_transaction_history &&
|
114
132
|
url == o.url
|
115
133
|
end
|
116
134
|
|
@@ -123,7 +141,7 @@ module Atrium
|
|
123
141
|
# Calculates hash code according to all attributes.
|
124
142
|
# @return [Fixnum] Hash code
|
125
143
|
def hash
|
126
|
-
[code, medium_logo_url, name, small_logo_url, supports_account_identification, supports_account_verification, url].hash
|
144
|
+
[code, medium_logo_url, name, small_logo_url, supports_account_identification, supports_account_statement, supports_account_verification, supports_transaction_history, url].hash
|
127
145
|
end
|
128
146
|
|
129
147
|
# Builds the object from hash
|
@@ -0,0 +1,260 @@
|
|
1
|
+
=begin
|
2
|
+
#MX API
|
3
|
+
|
4
|
+
#The MX Atrium API supports over 48,000 data connections to thousands of financial institutions. It provides secure access to your users' accounts and transactions with industry-leading cleansing, categorization, and classification. Atrium is designed according to resource-oriented REST architecture and responds with JSON bodies and HTTP response codes. Use Atrium's development environment, vestibule.mx.com, to quickly get up and running. The development environment limits are 100 users, 25 members per user, and access to the top 15 institutions. Contact MX to purchase production access.
|
5
|
+
|
6
|
+
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'date'
|
10
|
+
|
11
|
+
module Atrium
|
12
|
+
class Statement
|
13
|
+
# The unique identifier for the `account` associated with the `statement`. Defined by MX.
|
14
|
+
attr_accessor :account_guid
|
15
|
+
|
16
|
+
# The date and time the `statement` was created.
|
17
|
+
attr_accessor :created_at
|
18
|
+
|
19
|
+
# An SHA-256 hash value of the statement's byte payload, used as a unique identifier.
|
20
|
+
attr_accessor :content_hash
|
21
|
+
|
22
|
+
# The date and time the `statement` was deleted. Statements are automatically deleted when an `account` is deleted.
|
23
|
+
attr_accessor :deleted_at
|
24
|
+
|
25
|
+
# The unique identifier for the `statement`. Defined by MX.
|
26
|
+
attr_accessor :guid
|
27
|
+
|
28
|
+
# This indicates whether the `statement` has been deleted. Statements are automatically deleted when an `account` is deleted.
|
29
|
+
attr_accessor :is_deleted
|
30
|
+
|
31
|
+
# The date and time at which the `statement` was last updated.
|
32
|
+
attr_accessor :updated_at
|
33
|
+
|
34
|
+
# A URI for accessing the byte payload of the `statement`.
|
35
|
+
attr_accessor :uri
|
36
|
+
|
37
|
+
# The unique identifier for the `user` associated with the `statement`. Defined by MX.
|
38
|
+
attr_accessor :user_guid
|
39
|
+
|
40
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
41
|
+
def self.attribute_map
|
42
|
+
{
|
43
|
+
:'account_guid' => :'account_guid',
|
44
|
+
:'created_at' => :'created_at',
|
45
|
+
:'content_hash' => :'content_hash',
|
46
|
+
:'deleted_at' => :'deleted_at',
|
47
|
+
:'guid' => :'guid',
|
48
|
+
:'is_deleted' => :'is_deleted',
|
49
|
+
:'updated_at' => :'updated_at',
|
50
|
+
:'uri' => :'uri',
|
51
|
+
:'user_guid' => :'user_guid'
|
52
|
+
}
|
53
|
+
end
|
54
|
+
|
55
|
+
# Attribute type mapping.
|
56
|
+
def self.mx_types
|
57
|
+
{
|
58
|
+
:'account_guid' => :'String',
|
59
|
+
:'created_at' => :'String',
|
60
|
+
:'content_hash' => :'String',
|
61
|
+
:'deleted_at' => :'String',
|
62
|
+
:'guid' => :'String',
|
63
|
+
:'is_deleted' => :'BOOLEAN',
|
64
|
+
:'updated_at' => :'String',
|
65
|
+
:'uri' => :'String',
|
66
|
+
:'user_guid' => :'String'
|
67
|
+
}
|
68
|
+
end
|
69
|
+
|
70
|
+
# Initializes the object
|
71
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
72
|
+
def initialize(attributes = {})
|
73
|
+
return unless attributes.is_a?(Hash)
|
74
|
+
|
75
|
+
# convert string to symbol for hash key
|
76
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
77
|
+
|
78
|
+
if attributes.has_key?(:'account_guid')
|
79
|
+
self.account_guid = attributes[:'account_guid']
|
80
|
+
end
|
81
|
+
|
82
|
+
if attributes.has_key?(:'created_at')
|
83
|
+
self.created_at = attributes[:'created_at']
|
84
|
+
end
|
85
|
+
|
86
|
+
if attributes.has_key?(:'content_hash')
|
87
|
+
self.content_hash = attributes[:'content_hash']
|
88
|
+
end
|
89
|
+
|
90
|
+
if attributes.has_key?(:'deleted_at')
|
91
|
+
self.deleted_at = attributes[:'deleted_at']
|
92
|
+
end
|
93
|
+
|
94
|
+
if attributes.has_key?(:'guid')
|
95
|
+
self.guid = attributes[:'guid']
|
96
|
+
end
|
97
|
+
|
98
|
+
if attributes.has_key?(:'is_deleted')
|
99
|
+
self.is_deleted = attributes[:'is_deleted']
|
100
|
+
end
|
101
|
+
|
102
|
+
if attributes.has_key?(:'updated_at')
|
103
|
+
self.updated_at = attributes[:'updated_at']
|
104
|
+
end
|
105
|
+
|
106
|
+
if attributes.has_key?(:'uri')
|
107
|
+
self.uri = attributes[:'uri']
|
108
|
+
end
|
109
|
+
|
110
|
+
if attributes.has_key?(:'user_guid')
|
111
|
+
self.user_guid = attributes[:'user_guid']
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
116
|
+
# @return Array for valid properties with the reasons
|
117
|
+
def list_invalid_properties
|
118
|
+
invalid_properties = Array.new
|
119
|
+
invalid_properties
|
120
|
+
end
|
121
|
+
|
122
|
+
# Check to see if the all the properties in the model are valid
|
123
|
+
# @return true if the model is valid
|
124
|
+
def valid?
|
125
|
+
true
|
126
|
+
end
|
127
|
+
|
128
|
+
# Checks equality by comparing each attribute.
|
129
|
+
# @param [Object] Object to be compared
|
130
|
+
def ==(o)
|
131
|
+
return true if self.equal?(o)
|
132
|
+
self.class == o.class &&
|
133
|
+
account_guid == o.account_guid &&
|
134
|
+
created_at == o.created_at &&
|
135
|
+
content_hash == o.content_hash &&
|
136
|
+
deleted_at == o.deleted_at &&
|
137
|
+
guid == o.guid &&
|
138
|
+
is_deleted == o.is_deleted &&
|
139
|
+
updated_at == o.updated_at &&
|
140
|
+
uri == o.uri &&
|
141
|
+
user_guid == o.user_guid
|
142
|
+
end
|
143
|
+
|
144
|
+
# @see the `==` method
|
145
|
+
# @param [Object] Object to be compared
|
146
|
+
def eql?(o)
|
147
|
+
self == o
|
148
|
+
end
|
149
|
+
|
150
|
+
# Calculates hash code according to all attributes.
|
151
|
+
# @return [Fixnum] Hash code
|
152
|
+
def hash
|
153
|
+
[account_guid, created_at, content_hash, deleted_at, guid, is_deleted, updated_at, uri, user_guid].hash
|
154
|
+
end
|
155
|
+
|
156
|
+
# Builds the object from hash
|
157
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
158
|
+
# @return [Object] Returns the model itself
|
159
|
+
def build_from_hash(attributes)
|
160
|
+
return nil unless attributes.is_a?(Hash)
|
161
|
+
self.class.mx_types.each_pair do |key, type|
|
162
|
+
if type =~ /\AArray<(.*)>/i
|
163
|
+
# check to ensure the input is an array given that the the attribute
|
164
|
+
# is documented as an array but the input is not
|
165
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
166
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
167
|
+
end
|
168
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
169
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
170
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
171
|
+
end
|
172
|
+
|
173
|
+
self
|
174
|
+
end
|
175
|
+
|
176
|
+
# Deserializes the data based on type
|
177
|
+
# @param string type Data type
|
178
|
+
# @param string value Value to be deserialized
|
179
|
+
# @return [Object] Deserialized data
|
180
|
+
def _deserialize(type, value)
|
181
|
+
case type.to_sym
|
182
|
+
when :DateTime
|
183
|
+
DateTime.parse(value)
|
184
|
+
when :Date
|
185
|
+
Date.parse(value)
|
186
|
+
when :String
|
187
|
+
value.to_s
|
188
|
+
when :Integer
|
189
|
+
value.to_i
|
190
|
+
when :Float
|
191
|
+
value.to_f
|
192
|
+
when :BOOLEAN
|
193
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
194
|
+
true
|
195
|
+
else
|
196
|
+
false
|
197
|
+
end
|
198
|
+
when :Object
|
199
|
+
# generic object (usually a Hash), return directly
|
200
|
+
value
|
201
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
202
|
+
inner_type = Regexp.last_match[:inner_type]
|
203
|
+
value.map { |v| _deserialize(inner_type, v) }
|
204
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
205
|
+
k_type = Regexp.last_match[:k_type]
|
206
|
+
v_type = Regexp.last_match[:v_type]
|
207
|
+
{}.tap do |hash|
|
208
|
+
value.each do |k, v|
|
209
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
210
|
+
end
|
211
|
+
end
|
212
|
+
else # model
|
213
|
+
temp_model = Atrium.const_get(type).new
|
214
|
+
temp_model.build_from_hash(value)
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
# Returns the string representation of the object
|
219
|
+
# @return [String] String presentation of the object
|
220
|
+
def to_s
|
221
|
+
to_hash.to_s
|
222
|
+
end
|
223
|
+
|
224
|
+
# to_body is an alias to to_hash (backward compatibility)
|
225
|
+
# @return [Hash] Returns the object in the form of hash
|
226
|
+
def to_body
|
227
|
+
to_hash
|
228
|
+
end
|
229
|
+
|
230
|
+
# Returns the object in the form of hash
|
231
|
+
# @return [Hash] Returns the object in the form of hash
|
232
|
+
def to_hash
|
233
|
+
hash = {}
|
234
|
+
self.class.attribute_map.each_pair do |attr, param|
|
235
|
+
value = self.send(attr)
|
236
|
+
next if value.nil?
|
237
|
+
hash[param] = _to_hash(value)
|
238
|
+
end
|
239
|
+
hash
|
240
|
+
end
|
241
|
+
|
242
|
+
# Outputs non-array value in the form of hash
|
243
|
+
# For object, use to_hash. Otherwise, just return the value
|
244
|
+
# @param [Object] value Any valid value
|
245
|
+
# @return [Hash] Returns the value in the form of hash
|
246
|
+
def _to_hash(value)
|
247
|
+
if value.is_a?(Array)
|
248
|
+
value.compact.map { |v| _to_hash(v) }
|
249
|
+
elsif value.is_a?(Hash)
|
250
|
+
{}.tap do |hash|
|
251
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
252
|
+
end
|
253
|
+
elsif value.respond_to? :to_hash
|
254
|
+
value.to_hash
|
255
|
+
else
|
256
|
+
value
|
257
|
+
end
|
258
|
+
end
|
259
|
+
end
|
260
|
+
end
|
@@ -0,0 +1,190 @@
|
|
1
|
+
=begin
|
2
|
+
#MX API
|
3
|
+
|
4
|
+
#The MX Atrium API supports over 48,000 data connections to thousands of financial institutions. It provides secure access to your users' accounts and transactions with industry-leading cleansing, categorization, and classification. Atrium is designed according to resource-oriented REST architecture and responds with JSON bodies and HTTP response codes. Use Atrium's development environment, vestibule.mx.com, to quickly get up and running. The development environment limits are 100 users, 25 members per user, and access to the top 15 institutions. Contact MX to purchase production access.
|
5
|
+
|
6
|
+
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'date'
|
10
|
+
|
11
|
+
module Atrium
|
12
|
+
class StatementsResponseBody
|
13
|
+
attr_accessor :statements
|
14
|
+
|
15
|
+
attr_accessor :pagination
|
16
|
+
|
17
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
18
|
+
def self.attribute_map
|
19
|
+
{
|
20
|
+
:'statements' => :'statements',
|
21
|
+
:'pagination' => :'pagination'
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
# Attribute type mapping.
|
26
|
+
def self.mx_types
|
27
|
+
{
|
28
|
+
:'statements' => :'Array<Statement>',
|
29
|
+
:'pagination' => :'Pagination'
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
# Initializes the object
|
34
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
35
|
+
def initialize(attributes = {})
|
36
|
+
return unless attributes.is_a?(Hash)
|
37
|
+
|
38
|
+
# convert string to symbol for hash key
|
39
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
40
|
+
|
41
|
+
if attributes.has_key?(:'statements')
|
42
|
+
if (value = attributes[:'statements']).is_a?(Array)
|
43
|
+
self.statements = value
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
if attributes.has_key?(:'pagination')
|
48
|
+
self.pagination = attributes[:'pagination']
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
53
|
+
# @return Array for valid properties with the reasons
|
54
|
+
def list_invalid_properties
|
55
|
+
invalid_properties = Array.new
|
56
|
+
invalid_properties
|
57
|
+
end
|
58
|
+
|
59
|
+
# Check to see if the all the properties in the model are valid
|
60
|
+
# @return true if the model is valid
|
61
|
+
def valid?
|
62
|
+
true
|
63
|
+
end
|
64
|
+
|
65
|
+
# Checks equality by comparing each attribute.
|
66
|
+
# @param [Object] Object to be compared
|
67
|
+
def ==(o)
|
68
|
+
return true if self.equal?(o)
|
69
|
+
self.class == o.class &&
|
70
|
+
statements == o.statements &&
|
71
|
+
pagination == o.pagination
|
72
|
+
end
|
73
|
+
|
74
|
+
# @see the `==` method
|
75
|
+
# @param [Object] Object to be compared
|
76
|
+
def eql?(o)
|
77
|
+
self == o
|
78
|
+
end
|
79
|
+
|
80
|
+
# Calculates hash code according to all attributes.
|
81
|
+
# @return [Fixnum] Hash code
|
82
|
+
def hash
|
83
|
+
[statements, pagination].hash
|
84
|
+
end
|
85
|
+
|
86
|
+
# Builds the object from hash
|
87
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
88
|
+
# @return [Object] Returns the model itself
|
89
|
+
def build_from_hash(attributes)
|
90
|
+
return nil unless attributes.is_a?(Hash)
|
91
|
+
self.class.mx_types.each_pair do |key, type|
|
92
|
+
if type =~ /\AArray<(.*)>/i
|
93
|
+
# check to ensure the input is an array given that the the attribute
|
94
|
+
# is documented as an array but the input is not
|
95
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
96
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
97
|
+
end
|
98
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
99
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
100
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
101
|
+
end
|
102
|
+
|
103
|
+
self
|
104
|
+
end
|
105
|
+
|
106
|
+
# Deserializes the data based on type
|
107
|
+
# @param string type Data type
|
108
|
+
# @param string value Value to be deserialized
|
109
|
+
# @return [Object] Deserialized data
|
110
|
+
def _deserialize(type, value)
|
111
|
+
case type.to_sym
|
112
|
+
when :DateTime
|
113
|
+
DateTime.parse(value)
|
114
|
+
when :Date
|
115
|
+
Date.parse(value)
|
116
|
+
when :String
|
117
|
+
value.to_s
|
118
|
+
when :Integer
|
119
|
+
value.to_i
|
120
|
+
when :Float
|
121
|
+
value.to_f
|
122
|
+
when :BOOLEAN
|
123
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
124
|
+
true
|
125
|
+
else
|
126
|
+
false
|
127
|
+
end
|
128
|
+
when :Object
|
129
|
+
# generic object (usually a Hash), return directly
|
130
|
+
value
|
131
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
132
|
+
inner_type = Regexp.last_match[:inner_type]
|
133
|
+
value.map { |v| _deserialize(inner_type, v) }
|
134
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
135
|
+
k_type = Regexp.last_match[:k_type]
|
136
|
+
v_type = Regexp.last_match[:v_type]
|
137
|
+
{}.tap do |hash|
|
138
|
+
value.each do |k, v|
|
139
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
140
|
+
end
|
141
|
+
end
|
142
|
+
else # model
|
143
|
+
temp_model = Atrium.const_get(type).new
|
144
|
+
temp_model.build_from_hash(value)
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
# Returns the string representation of the object
|
149
|
+
# @return [String] String presentation of the object
|
150
|
+
def to_s
|
151
|
+
to_hash.to_s
|
152
|
+
end
|
153
|
+
|
154
|
+
# to_body is an alias to to_hash (backward compatibility)
|
155
|
+
# @return [Hash] Returns the object in the form of hash
|
156
|
+
def to_body
|
157
|
+
to_hash
|
158
|
+
end
|
159
|
+
|
160
|
+
# Returns the object in the form of hash
|
161
|
+
# @return [Hash] Returns the object in the form of hash
|
162
|
+
def to_hash
|
163
|
+
hash = {}
|
164
|
+
self.class.attribute_map.each_pair do |attr, param|
|
165
|
+
value = self.send(attr)
|
166
|
+
next if value.nil?
|
167
|
+
hash[param] = _to_hash(value)
|
168
|
+
end
|
169
|
+
hash
|
170
|
+
end
|
171
|
+
|
172
|
+
# Outputs non-array value in the form of hash
|
173
|
+
# For object, use to_hash. Otherwise, just return the value
|
174
|
+
# @param [Object] value Any valid value
|
175
|
+
# @return [Hash] Returns the value in the form of hash
|
176
|
+
def _to_hash(value)
|
177
|
+
if value.is_a?(Array)
|
178
|
+
value.compact.map { |v| _to_hash(v) }
|
179
|
+
elsif value.is_a?(Hash)
|
180
|
+
{}.tap do |hash|
|
181
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
182
|
+
end
|
183
|
+
elsif value.respond_to? :to_hash
|
184
|
+
value.to_hash
|
185
|
+
else
|
186
|
+
value
|
187
|
+
end
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
data/lib/atrium-ruby/version.rb
CHANGED
@@ -34,6 +34,10 @@ describe 'InstitutionsApi' do
|
|
34
34
|
# @option opts [String] :name This will list only institutions in which the appended string appears.
|
35
35
|
# @option opts [Integer] :page Specify current page.
|
36
36
|
# @option opts [Integer] :records_per_page Specify records per page.
|
37
|
+
# @option opts [BOOLEAN] :supports_account_identification Filter only institutions which support account identification.
|
38
|
+
# @option opts [BOOLEAN] :supports_account_statement Filter only institutions which support account statements.
|
39
|
+
# @option opts [BOOLEAN] :supports_account_verification Filter only institutions which support account verification.
|
40
|
+
# @option opts [BOOLEAN] :supports_transaction_history Filter only institutions which support extended transaction history.
|
37
41
|
# @return [InstitutionsResponseBody]
|
38
42
|
describe 'list_institutions test' do
|
39
43
|
it 'should work' do
|
@@ -33,6 +33,7 @@ describe 'MembersApi' do
|
|
33
33
|
# @param member_guid The unique identifier for a `member`.
|
34
34
|
# @param user_guid The unique identifier for a `user`.
|
35
35
|
# @param [Hash] opts the optional parameters
|
36
|
+
# @option opts [String] :type An optional parameter which determines the type of aggregation to be peformed. Possible values are `statement` and `history`.
|
36
37
|
# @return [MemberResponseBody]
|
37
38
|
describe 'aggregate_member test' do
|
38
39
|
it 'should work' do
|
@@ -107,6 +108,21 @@ describe 'MembersApi' do
|
|
107
108
|
end
|
108
109
|
end
|
109
110
|
|
111
|
+
# unit tests for list_member_statements
|
112
|
+
# List member statements
|
113
|
+
# Certain institutions in Atrium allow developers to access account statements associated with a particular `member`. Use this endpoint to get an array of available statements. Before this endpoint can be used, an aggregation of type `statement` should be performed on the relevant `member`.
|
114
|
+
# @param member_guid The unique identifier for a `member`.
|
115
|
+
# @param user_guid The unique identifier for a `user`.
|
116
|
+
# @param [Hash] opts the optional parameters
|
117
|
+
# @option opts [Integer] :page Specify current page.
|
118
|
+
# @option opts [Integer] :records_per_page Specify records per page.
|
119
|
+
# @return [StatementsResponseBody]
|
120
|
+
describe 'list_member_statements test' do
|
121
|
+
it 'should work' do
|
122
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
110
126
|
# unit tests for list_member_transactions
|
111
127
|
# List member transactions
|
112
128
|
# Use this endpoint to get all transactions from all accounts associated with a specific member.<br> This endpoint accepts optional URL query parameters — from_date and to_date — which are used to filter transactions according to the date they were posted. If no values are given for the query parameters, from_date will default to 90 days prior to the request and to_date will default to 5 days from the time of the request.
|
@@ -57,12 +57,24 @@ describe 'Institution' do
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
+
describe 'test attribute "supports_account_statement"' do
|
61
|
+
it 'should work' do
|
62
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
60
66
|
describe 'test attribute "supports_account_verification"' do
|
61
67
|
it 'should work' do
|
62
68
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
63
69
|
end
|
64
70
|
end
|
65
71
|
|
72
|
+
describe 'test attribute "supports_transaction_history"' do
|
73
|
+
it 'should work' do
|
74
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
66
78
|
describe 'test attribute "url"' do
|
67
79
|
it 'should work' do
|
68
80
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
@@ -0,0 +1,84 @@
|
|
1
|
+
=begin
|
2
|
+
#MX API
|
3
|
+
|
4
|
+
#The MX Atrium API supports over 48,000 data connections to thousands of financial institutions. It provides secure access to your users' accounts and transactions with industry-leading cleansing, categorization, and classification. Atrium is designed according to resource-oriented REST architecture and responds with JSON bodies and HTTP response codes. Use Atrium's development environment, vestibule.mx.com, to quickly get up and running. The development environment limits are 100 users, 25 members per user, and access to the top 15 institutions. Contact MX to purchase production access.
|
5
|
+
|
6
|
+
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'spec_helper'
|
10
|
+
require 'json'
|
11
|
+
require 'date'
|
12
|
+
|
13
|
+
# Unit tests for Atrium::Statement
|
14
|
+
# Please update as you see appropriate
|
15
|
+
describe 'Statement' do
|
16
|
+
before do
|
17
|
+
# run before each test
|
18
|
+
@instance = Atrium::Statement.new
|
19
|
+
end
|
20
|
+
|
21
|
+
after do
|
22
|
+
# run after each test
|
23
|
+
end
|
24
|
+
|
25
|
+
describe 'test an instance of Statement' do
|
26
|
+
it 'should create an instance of Statement' do
|
27
|
+
expect(@instance).to be_instance_of(Atrium::Statement)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
describe 'test attribute "account_guid"' do
|
31
|
+
it 'should work' do
|
32
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe 'test attribute "created_at"' do
|
37
|
+
it 'should work' do
|
38
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe 'test attribute "content_hash"' do
|
43
|
+
it 'should work' do
|
44
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe 'test attribute "deleted_at"' do
|
49
|
+
it 'should work' do
|
50
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'test attribute "guid"' do
|
55
|
+
it 'should work' do
|
56
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe 'test attribute "is_deleted"' do
|
61
|
+
it 'should work' do
|
62
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe 'test attribute "updated_at"' do
|
67
|
+
it 'should work' do
|
68
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe 'test attribute "uri"' do
|
73
|
+
it 'should work' do
|
74
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe 'test attribute "user_guid"' do
|
79
|
+
it 'should work' do
|
80
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
=begin
|
2
|
+
#MX API
|
3
|
+
|
4
|
+
#The MX Atrium API supports over 48,000 data connections to thousands of financial institutions. It provides secure access to your users' accounts and transactions with industry-leading cleansing, categorization, and classification. Atrium is designed according to resource-oriented REST architecture and responds with JSON bodies and HTTP response codes. Use Atrium's development environment, vestibule.mx.com, to quickly get up and running. The development environment limits are 100 users, 25 members per user, and access to the top 15 institutions. Contact MX to purchase production access.
|
5
|
+
|
6
|
+
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'spec_helper'
|
10
|
+
require 'json'
|
11
|
+
require 'date'
|
12
|
+
|
13
|
+
# Unit tests for Atrium::StatementsResponseBody
|
14
|
+
# Please update as you see appropriate
|
15
|
+
describe 'StatementsResponseBody' do
|
16
|
+
before do
|
17
|
+
# run before each test
|
18
|
+
@instance = Atrium::StatementsResponseBody.new
|
19
|
+
end
|
20
|
+
|
21
|
+
after do
|
22
|
+
# run after each test
|
23
|
+
end
|
24
|
+
|
25
|
+
describe 'test an instance of StatementsResponseBody' do
|
26
|
+
it 'should create an instance of StatementsResponseBody' do
|
27
|
+
expect(@instance).to be_instance_of(Atrium::StatementsResponseBody)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
describe 'test attribute "statements"' do
|
31
|
+
it 'should work' do
|
32
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe 'test attribute "pagination"' do
|
37
|
+
it 'should work' do
|
38
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: atrium-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MX
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -245,6 +245,8 @@ files:
|
|
245
245
|
- docs/MerchantResponseBody.md
|
246
246
|
- docs/MerchantsApi.md
|
247
247
|
- docs/Pagination.md
|
248
|
+
- docs/Statement.md
|
249
|
+
- docs/StatementsResponseBody.md
|
248
250
|
- docs/Transaction.md
|
249
251
|
- docs/TransactionCleanseAndCategorizeRequest.md
|
250
252
|
- docs/TransactionCleanseAndCategorizeResponse.md
|
@@ -313,6 +315,8 @@ files:
|
|
313
315
|
- lib/atrium-ruby/models/merchant.rb
|
314
316
|
- lib/atrium-ruby/models/merchant_response_body.rb
|
315
317
|
- lib/atrium-ruby/models/pagination.rb
|
318
|
+
- lib/atrium-ruby/models/statement.rb
|
319
|
+
- lib/atrium-ruby/models/statements_response_body.rb
|
316
320
|
- lib/atrium-ruby/models/transaction.rb
|
317
321
|
- lib/atrium-ruby/models/transaction_cleanse_and_categorize_request.rb
|
318
322
|
- lib/atrium-ruby/models/transaction_cleanse_and_categorize_response.rb
|
@@ -375,6 +379,8 @@ files:
|
|
375
379
|
- spec/models/merchant_response_body_spec.rb
|
376
380
|
- spec/models/merchant_spec.rb
|
377
381
|
- spec/models/pagination_spec.rb
|
382
|
+
- spec/models/statement_spec.rb
|
383
|
+
- spec/models/statements_response_body_spec.rb
|
378
384
|
- spec/models/transaction_cleanse_and_categorize_request_spec.rb
|
379
385
|
- spec/models/transaction_cleanse_and_categorize_response_spec.rb
|
380
386
|
- spec/models/transaction_response_body_spec.rb
|
@@ -437,6 +443,7 @@ test_files:
|
|
437
443
|
- spec/models/connect_widget_request_body_spec.rb
|
438
444
|
- spec/models/institution_spec.rb
|
439
445
|
- spec/models/credential_option_spec.rb
|
446
|
+
- spec/models/statements_response_body_spec.rb
|
440
447
|
- spec/models/account_number_spec.rb
|
441
448
|
- spec/models/members_response_body_spec.rb
|
442
449
|
- spec/models/transactions_response_body_spec.rb
|
@@ -473,5 +480,6 @@ test_files:
|
|
473
480
|
- spec/models/account_response_body_spec.rb
|
474
481
|
- spec/models/user_spec.rb
|
475
482
|
- spec/models/transactions_cleanse_and_categorize_request_body_spec.rb
|
483
|
+
- spec/models/statement_spec.rb
|
476
484
|
- spec/models/member_spec.rb
|
477
485
|
- spec/spec_helper.rb
|