Class: MoneyKit::TransactionsApi
- Inherits:
-
Object
- Object
- MoneyKit::TransactionsApi
- Defined in:
- lib/moneykit/api/transactions_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#get_transactions(id, opts = {}) ⇒ GetTransactionsResponse
/links/id/transactions Returns transactions for the accounts associated with a <a href=#tag/Links>link</a>.
-
#get_transactions_sync(id, opts = {}) ⇒ TransactionSyncResponse
/links/id/transactions/sync Provides a paginated feed of transactions, grouped into ‘created`, `updated`, and `removed` lists.
-
#get_transactions_sync_with_http_info(id, opts = {}) ⇒ Array<(TransactionSyncResponse, Integer, Hash)>
/links/id/transactions/sync Provides a paginated feed of transactions, grouped into `created`, `updated`, and `removed` lists.
-
#get_transactions_with_http_info(id, opts = {}) ⇒ Array<(GetTransactionsResponse, Integer, Hash)>
/links/id/transactions Returns transactions for the accounts associated with a <a href=#tag/Links>link</a>.
-
#get_user_transactions(id, opts = {}) ⇒ GetUserTransactionsResponse
/users/id/transactions Fetches transactions for a <a href=#operation/get_user_accounts>user</a>.
-
#get_user_transactions_with_http_info(id, opts = {}) ⇒ Array<(GetUserTransactionsResponse, Integer, Hash)>
/users/id/transactions Fetches transactions for a <a href=#operation/get_user_accounts>user</a>.
-
#initialize(api_client = ApiClient.default) ⇒ TransactionsApi
constructor
A new instance of TransactionsApi.
Constructor Details
#initialize(api_client = ApiClient.default) ⇒ TransactionsApi
Returns a new instance of TransactionsApi.
19 20 21 |
# File 'lib/moneykit/api/transactions_api.rb', line 19 def initialize(api_client = ApiClient.default) @api_client = api_client end |
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/moneykit/api/transactions_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#get_transactions(id, opts = {}) ⇒ GetTransactionsResponse
/links/id/transactions Returns transactions for the accounts associated with a <a href=#tag/Links>link</a>. Results are paginated, and returned in reverse chronological order. <p>Note that this endpoint does not trigger a fetch of transactions from the institution; it merely returns transactions that have already been fetched, either because ‘prefetch` was requested when the link was created, or because of scheduled or on-demand updates. <p>MoneyKit checks for updated account data, including transactions, periodically throughout the day, but the update frequency can vary, depending on the downstream data provider, the institution, and whether one or both provide webhook-based updates. **To force a check for updated transactions, you can use the <a href=#operation/refresh_products>/products</a> endpoint.** <p>If you have requested prefetch or an on-demand update, you should check the `refreshed_at` date for this product in the returned response, and compare that against the previous `refreshed_at` date, which you can get from any previous response for this or any other account or link request. If the refreshed_at date has not increased, then updated data is not yet available.
32 33 34 35 |
# File 'lib/moneykit/api/transactions_api.rb', line 32 def get_transactions(id, opts = {}) data, _status_code, _headers = get_transactions_with_http_info(id, opts) data end |
#get_transactions_sync(id, opts = {}) ⇒ TransactionSyncResponse
/links/id/transactions/sync Provides a paginated feed of transactions, grouped into ‘created`, `updated`, and `removed` lists. <p>Each call will also return a `cursor.next` value. In subsequent calls, include that value to receive only changes that have occurred since the previous call. Note that these lists are unordered, so it is possible to get transactions with dates that precede those you’ve fetched in previous calls to this endpoint. Older transactions can be added, for example, when historical data becomes accessible later. <p>Pending transactions will only be reported as ‘created`. Pending transactions are completely removed and replaced with each transaction refresh or update; no attempt is made to track their removal or modification. Pending transactions will not be reported in the `removed` list. If you store pending transactions, you should remove and replace them entirely each time you fetch new transactions. <p>Large numbers of transactions will be paginated, and the `has_more` field will be true. You should continue calling this endpoint with each new `cursor.next` value until `has_more` is false. <p>Note that this endpoint does not trigger a fetch of transactions from the institution; it merely returns transactions that have already been fetched, either because `prefetch` was requested when the link was created, or because of scheduled or on-demand updates. <p>MoneyKit checks for updated account data, including transactions, periodically throughout the day, but the update frequency can vary, depending on the downstream data provider, the institution, and whether one or both provide webhook-based updates. **To force a check for updated transactions, you can use the <a href=#operation/refresh_products>/products</a> endpoint.** <p>Note also that the `transactions.updates_available` webhook will alert you when new data is available.
119 120 121 122 |
# File 'lib/moneykit/api/transactions_api.rb', line 119 def get_transactions_sync(id, opts = {}) data, _status_code, _headers = get_transactions_sync_with_http_info(id, opts) data end |
#get_transactions_sync_with_http_info(id, opts = {}) ⇒ Array<(TransactionSyncResponse, Integer, Hash)>
/links/id/transactions/sync Provides a paginated feed of transactions, grouped into `created`, `updated`, and `removed` lists. <p>Each call will also return a `cursor.next` value. In subsequent calls, include that value to receive only changes that have occurred since the previous call. Note that these lists are unordered, so it is possible to get transactions with dates that precede those you've fetched in previous calls to this endpoint. Older transactions can be added, for example, when historical data becomes accessible later. <p>Pending transactions will only be reported as `created`. Pending transactions are completely removed and replaced with each transaction refresh or update; no attempt is made to track their removal or modification. Pending transactions will not be reported in the `removed` list. If you store pending transactions, you should remove and replace them entirely each time you fetch new transactions. <p>Large numbers of transactions will be paginated, and the `has_more` field will be true. You should continue calling this endpoint with each new `cursor.next` value until `has_more` is false. <p>Note that this endpoint does not trigger a fetch of transactions from the institution; it merely returns transactions that have already been fetched, either because `prefetch` was requested when the link was created, or because of scheduled or on-demand updates. <p>MoneyKit checks for updated account data, including transactions, periodically throughout the day, but the update frequency can vary, depending on the downstream data provider, the institution, and whether one or both provide webhook-based updates. **To force a check for updated transactions, you can use the <a href=#operation/refresh_products>/products</a> endpoint.** <p>Note also that the `transactions.updates_available` webhook will alert you when new data is available.
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
# File 'lib/moneykit/api/transactions_api.rb', line 131 def get_transactions_sync_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: TransactionsApi.get_transactions_sync ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling TransactionsApi.get_transactions_sync" end if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] > 500 fail ArgumentError, 'invalid value for "opts[:"size"]" when calling TransactionsApi.get_transactions_sync, must be smaller than or equal to 500.' end if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] < 1 fail ArgumentError, 'invalid value for "opts[:"size"]" when calling TransactionsApi.get_transactions_sync, must be greater than or equal to 1.' end # resource path local_var_path = '/links/{id}/transactions/sync'.sub('{' + 'id' + '}', CGI.escape(id.to_s)) # query parameters query_params = opts[:query_params] || {} query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'TransactionSyncResponse' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] = opts.merge( :operation => :"TransactionsApi.get_transactions_sync", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: TransactionsApi#get_transactions_sync\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#get_transactions_with_http_info(id, opts = {}) ⇒ Array<(GetTransactionsResponse, Integer, Hash)>
/links/id/transactions Returns transactions for the accounts associated with a <a href=#tag/Links>link</a>. Results are paginated, and returned in reverse chronological order. <p>Note that this endpoint does not trigger a fetch of transactions from the institution; it merely returns transactions that have already been fetched, either because `prefetch` was requested when the link was created, or because of scheduled or on-demand updates. <p>MoneyKit checks for updated account data, including transactions, periodically throughout the day, but the update frequency can vary, depending on the downstream data provider, the institution, and whether one or both provide webhook-based updates. **To force a check for updated transactions, you can use the <a href=#operation/refresh_products>/products</a> endpoint.** <p>If you have requested prefetch or an on-demand update, you should check the `refreshed_at` date for this product in the returned response, and compare that against the previous `refreshed_at` date, which you can get from any previous response for this or any other account or link request. If the refreshed_at date has not increased, then updated data is not yet available.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/moneykit/api/transactions_api.rb', line 47 def get_transactions_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: TransactionsApi.get_transactions ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling TransactionsApi.get_transactions" end if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1 fail ArgumentError, 'invalid value for "opts[:"page"]" when calling TransactionsApi.get_transactions, must be greater than or equal to 1.' end if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] > 500 fail ArgumentError, 'invalid value for "opts[:"size"]" when calling TransactionsApi.get_transactions, must be smaller than or equal to 500.' end if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] < 1 fail ArgumentError, 'invalid value for "opts[:"size"]" when calling TransactionsApi.get_transactions, must be greater than or equal to 1.' end # resource path local_var_path = '/links/{id}/transactions'.sub('{' + 'id' + '}', CGI.escape(id.to_s)) # query parameters query_params = opts[:query_params] || {} query_params[:'account_ids'] = @api_client.build_collection_param(opts[:'account_ids'], :multi) if !opts[:'account_ids'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil? query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'GetTransactionsResponse' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] = opts.merge( :operation => :"TransactionsApi.get_transactions", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: TransactionsApi#get_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#get_user_transactions(id, opts = {}) ⇒ GetUserTransactionsResponse
/users/id/transactions Fetches transactions for a <a href=#operation/get_user_accounts>user</a>. <p>This endpoint fetches all transactions for a user across all of their links. You can use it to retrieve transactions from any or all accounts at once, regardless of which institution they belong to.
202 203 204 205 |
# File 'lib/moneykit/api/transactions_api.rb', line 202 def get_user_transactions(id, opts = {}) data, _status_code, _headers = get_user_transactions_with_http_info(id, opts) data end |
#get_user_transactions_with_http_info(id, opts = {}) ⇒ Array<(GetUserTransactionsResponse, Integer, Hash)>
/users/id/transactions Fetches transactions for a <a href=#operation/get_user_accounts>user</a>. <p>This endpoint fetches all transactions for a user across all of their links. You can use it to retrieve transactions from any or all accounts at once, regardless of which institution they belong to.
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 |
# File 'lib/moneykit/api/transactions_api.rb', line 220 def get_user_transactions_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: TransactionsApi.get_user_transactions ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling TransactionsApi.get_user_transactions" end if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1 fail ArgumentError, 'invalid value for "opts[:"page"]" when calling TransactionsApi.get_user_transactions, must be greater than or equal to 1.' end if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] > 500 fail ArgumentError, 'invalid value for "opts[:"size"]" when calling TransactionsApi.get_user_transactions, must be smaller than or equal to 500.' end if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] < 1 fail ArgumentError, 'invalid value for "opts[:"size"]" when calling TransactionsApi.get_user_transactions, must be greater than or equal to 1.' end # resource path local_var_path = '/users/{id}/transactions'.sub('{' + 'id' + '}', CGI.escape(id.to_s)) # query parameters query_params = opts[:query_params] || {} query_params[:'transaction_type'] = @api_client.build_collection_param(opts[:'transaction_type'], :multi) if !opts[:'transaction_type'].nil? query_params[:'category'] = @api_client.build_collection_param(opts[:'category'], :multi) if !opts[:'category'].nil? query_params[:'account_id'] = @api_client.build_collection_param(opts[:'account_id'], :multi) if !opts[:'account_id'].nil? query_params[:'institution_id'] = @api_client.build_collection_param(opts[:'institution_id'], :multi) if !opts[:'institution_id'].nil? query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil? query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'GetUserTransactionsResponse' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] = opts.merge( :operation => :"TransactionsApi.get_user_transactions", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: TransactionsApi#get_user_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |