data-and-reporting-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +104 -0
  4. data/lib/shell_data_reporting_ap_is/api_helper.rb +10 -0
  5. data/lib/shell_data_reporting_ap_is/client.rb +84 -0
  6. data/lib/shell_data_reporting_ap_is/configuration.rb +110 -0
  7. data/lib/shell_data_reporting_ap_is/controllers/base_controller.rb +66 -0
  8. data/lib/shell_data_reporting_ap_is/controllers/customer_controller.rb +478 -0
  9. data/lib/shell_data_reporting_ap_is/controllers/invoice_controller.rb +470 -0
  10. data/lib/shell_data_reporting_ap_is/controllers/o_auth_authorization_controller.rb +42 -0
  11. data/lib/shell_data_reporting_ap_is/controllers/transaction_controller.rb +878 -0
  12. data/lib/shell_data_reporting_ap_is/exceptions/api_exception.rb +10 -0
  13. data/lib/shell_data_reporting_ap_is/exceptions/default_error_exception.rb +32 -0
  14. data/lib/shell_data_reporting_ap_is/exceptions/error_object_exception.rb +54 -0
  15. data/lib/shell_data_reporting_ap_is/exceptions/error_user_access_error1_exception.rb +32 -0
  16. data/lib/shell_data_reporting_ap_is/exceptions/o_auth_provider_exception.rb +48 -0
  17. data/lib/shell_data_reporting_ap_is/http/auth/basic_auth.rb +50 -0
  18. data/lib/shell_data_reporting_ap_is/http/auth/bearer_token.rb +89 -0
  19. data/lib/shell_data_reporting_ap_is/http/http_call_back.rb +10 -0
  20. data/lib/shell_data_reporting_ap_is/http/http_method_enum.rb +10 -0
  21. data/lib/shell_data_reporting_ap_is/http/http_request.rb +10 -0
  22. data/lib/shell_data_reporting_ap_is/http/http_response.rb +10 -0
  23. data/lib/shell_data_reporting_ap_is/models/account_access.rb +128 -0
  24. data/lib/shell_data_reporting_ap_is/models/account_request.rb +252 -0
  25. data/lib/shell_data_reporting_ap_is/models/account_response.rb +111 -0
  26. data/lib/shell_data_reporting_ap_is/models/account_response_accounts_items.rb +750 -0
  27. data/lib/shell_data_reporting_ap_is/models/accounts.rb +65 -0
  28. data/lib/shell_data_reporting_ap_is/models/address.rb +174 -0
  29. data/lib/shell_data_reporting_ap_is/models/associated_account.rb +98 -0
  30. data/lib/shell_data_reporting_ap_is/models/audit_request.rb +256 -0
  31. data/lib/shell_data_reporting_ap_is/models/audit_response.rb +111 -0
  32. data/lib/shell_data_reporting_ap_is/models/audit_response_audits_items.rb +450 -0
  33. data/lib/shell_data_reporting_ap_is/models/bank_account.rb +192 -0
  34. data/lib/shell_data_reporting_ap_is/models/base_model.rb +62 -0
  35. data/lib/shell_data_reporting_ap_is/models/bonus_configuration.rb +419 -0
  36. data/lib/shell_data_reporting_ap_is/models/bonus_history.rb +444 -0
  37. data/lib/shell_data_reporting_ap_is/models/card_day_time_restrictions.rb +159 -0
  38. data/lib/shell_data_reporting_ap_is/models/card_exceptions.rb +268 -0
  39. data/lib/shell_data_reporting_ap_is/models/card_group_request.rb +178 -0
  40. data/lib/shell_data_reporting_ap_is/models/card_group_response.rb +109 -0
  41. data/lib/shell_data_reporting_ap_is/models/card_group_response_card_groups_items.rb +301 -0
  42. data/lib/shell_data_reporting_ap_is/models/card_type_request.rb +145 -0
  43. data/lib/shell_data_reporting_ap_is/models/card_type_response.rb +79 -0
  44. data/lib/shell_data_reporting_ap_is/models/card_type_response_customer_card_types_items.rb +470 -0
  45. data/lib/shell_data_reporting_ap_is/models/card_type_response_error.rb +60 -0
  46. data/lib/shell_data_reporting_ap_is/models/card_usage_restrictions.rb +281 -0
  47. data/lib/shell_data_reporting_ap_is/models/card_usage_summary_request.rb +159 -0
  48. data/lib/shell_data_reporting_ap_is/models/card_usage_summary_response.rb +79 -0
  49. data/lib/shell_data_reporting_ap_is/models/col_co_access.rb +88 -0
  50. data/lib/shell_data_reporting_ap_is/models/current_volume.rb +99 -0
  51. data/lib/shell_data_reporting_ap_is/models/customer_contract.rb +63 -0
  52. data/lib/shell_data_reporting_ap_is/models/customer_detail_request.rb +123 -0
  53. data/lib/shell_data_reporting_ap_is/models/customer_detail_response.rb +437 -0
  54. data/lib/shell_data_reporting_ap_is/models/customer_price_list_request.rb +200 -0
  55. data/lib/shell_data_reporting_ap_is/models/customer_price_list_response.rb +82 -0
  56. data/lib/shell_data_reporting_ap_is/models/default_error_fault.rb +60 -0
  57. data/lib/shell_data_reporting_ap_is/models/default_error_fault_detail.rb +50 -0
  58. data/lib/shell_data_reporting_ap_is/models/delivery_addresses.rb +258 -0
  59. data/lib/shell_data_reporting_ap_is/models/eid_access.rb +75 -0
  60. data/lib/shell_data_reporting_ap_is/models/eid_document.rb +166 -0
  61. data/lib/shell_data_reporting_ap_is/models/eid_document_response.rb +140 -0
  62. data/lib/shell_data_reporting_ap_is/models/eid_download_req.rb +86 -0
  63. data/lib/shell_data_reporting_ap_is/models/eid_download_request.rb +50 -0
  64. data/lib/shell_data_reporting_ap_is/models/eid_search_req.rb +160 -0
  65. data/lib/shell_data_reporting_ap_is/models/eid_search_request.rb +70 -0
  66. data/lib/shell_data_reporting_ap_is/models/error_details.rb +81 -0
  67. data/lib/shell_data_reporting_ap_is/models/error_status.rb +60 -0
  68. data/lib/shell_data_reporting_ap_is/models/error_user_access.rb +50 -0
  69. data/lib/shell_data_reporting_ap_is/models/error_user_access_error.rb +60 -0
  70. data/lib/shell_data_reporting_ap_is/models/exception_product.rb +65 -0
  71. data/lib/shell_data_reporting_ap_is/models/exception_site_location.rb +63 -0
  72. data/lib/shell_data_reporting_ap_is/models/fee_item.rb +977 -0
  73. data/lib/shell_data_reporting_ap_is/models/fee_item_summary_all_of0.rb +194 -0
  74. data/lib/shell_data_reporting_ap_is/models/fee_rule_location.rb +153 -0
  75. data/lib/shell_data_reporting_ap_is/models/fee_rule_product.rb +98 -0
  76. data/lib/shell_data_reporting_ap_is/models/fee_rule_tier.rb +74 -0
  77. data/lib/shell_data_reporting_ap_is/models/fee_summary_response.rb +85 -0
  78. data/lib/shell_data_reporting_ap_is/models/fees_fee_rule_tiers.rb +124 -0
  79. data/lib/shell_data_reporting_ap_is/models/finance_currency.rb +98 -0
  80. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_card.rb +73 -0
  81. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_data.rb +267 -0
  82. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_request.rb +197 -0
  83. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_response.rb +79 -0
  84. data/lib/shell_data_reporting_ap_is/models/invoice_dates_data.rb +62 -0
  85. data/lib/shell_data_reporting_ap_is/models/invoice_dates_request.rb +50 -0
  86. data/lib/shell_data_reporting_ap_is/models/invoice_dates_request_filters.rb +146 -0
  87. data/lib/shell_data_reporting_ap_is/models/invoice_dates_response_data.rb +80 -0
  88. data/lib/shell_data_reporting_ap_is/models/invoice_distribution_method.rb +99 -0
  89. data/lib/shell_data_reporting_ap_is/models/invoice_download_req.rb +99 -0
  90. data/lib/shell_data_reporting_ap_is/models/invoice_download_request.rb +50 -0
  91. data/lib/shell_data_reporting_ap_is/models/invoice_search_additional_document.rb +80 -0
  92. data/lib/shell_data_reporting_ap_is/models/invoice_search_details.rb +913 -0
  93. data/lib/shell_data_reporting_ap_is/models/invoice_search_request.rb +91 -0
  94. data/lib/shell_data_reporting_ap_is/models/invoice_search_request_filters.rb +344 -0
  95. data/lib/shell_data_reporting_ap_is/models/invoice_search_response.rb +127 -0
  96. data/lib/shell_data_reporting_ap_is/models/invoice_summary_details.rb +129 -0
  97. data/lib/shell_data_reporting_ap_is/models/invoice_summary_request.rb +50 -0
  98. data/lib/shell_data_reporting_ap_is/models/invoice_summary_request_filters.rb +345 -0
  99. data/lib/shell_data_reporting_ap_is/models/invoice_summary_response.rb +79 -0
  100. data/lib/shell_data_reporting_ap_is/models/invoices_summaries.rb +221 -0
  101. data/lib/shell_data_reporting_ap_is/models/last_statement_of_account.rb +421 -0
  102. data/lib/shell_data_reporting_ap_is/models/logged_in_user_request.rb +107 -0
  103. data/lib/shell_data_reporting_ap_is/models/logged_in_user_response.rb +394 -0
  104. data/lib/shell_data_reporting_ap_is/models/monthly_invoice_trend.rb +112 -0
  105. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_request.rb +360 -0
  106. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_request_accounts_items.rb +84 -0
  107. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_response.rb +110 -0
  108. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_response_transactions_items.rb +1724 -0
  109. data/lib/shell_data_reporting_ap_is/models/o_auth_provider_error_enum.rb +45 -0
  110. data/lib/shell_data_reporting_ap_is/models/o_auth_token.rb +100 -0
  111. data/lib/shell_data_reporting_ap_is/models/past_statement_of_accounts.rb +502 -0
  112. data/lib/shell_data_reporting_ap_is/models/payer_access.rb +147 -0
  113. data/lib/shell_data_reporting_ap_is/models/payer_details.rb +1412 -0
  114. data/lib/shell_data_reporting_ap_is/models/payer_request.rb +126 -0
  115. data/lib/shell_data_reporting_ap_is/models/payer_response.rb +115 -0
  116. data/lib/shell_data_reporting_ap_is/models/payers.rb +109 -0
  117. data/lib/shell_data_reporting_ap_is/models/payments_since_last_soa.rb +322 -0
  118. data/lib/shell_data_reporting_ap_is/models/pin_advice_types.rb +80 -0
  119. data/lib/shell_data_reporting_ap_is/models/price_list.rb +485 -0
  120. data/lib/shell_data_reporting_ap_is/models/price_trans_summary_request.rb +477 -0
  121. data/lib/shell_data_reporting_ap_is/models/price_transaction_request.rb +572 -0
  122. data/lib/shell_data_reporting_ap_is/models/priced_request_data.rb +485 -0
  123. data/lib/shell_data_reporting_ap_is/models/priced_response_data.rb +2132 -0
  124. data/lib/shell_data_reporting_ap_is/models/priced_trans_summary_response.rb +79 -0
  125. data/lib/shell_data_reporting_ap_is/models/priced_trans_summary_response_transactions_summary_items.rb +242 -0
  126. data/lib/shell_data_reporting_ap_is/models/priced_transaction_items_location_items.rb +67 -0
  127. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_invoice_status_enum.rb +27 -0
  128. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_period_enum.rb +27 -0
  129. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_sort_order_enum.rb +37 -0
  130. data/lib/shell_data_reporting_ap_is/models/priced_transaction_request_v2.rb +72 -0
  131. data/lib/shell_data_reporting_ap_is/models/priced_transaction_resp_v2_refund_flag_enum.rb +23 -0
  132. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response.rb +59 -0
  133. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response_transactions_items.rb +1719 -0
  134. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response_v2.rb +110 -0
  135. data/lib/shell_data_reporting_ap_is/models/pricing_current_volume.rb +115 -0
  136. data/lib/shell_data_reporting_ap_is/models/pricing_history.rb +105 -0
  137. data/lib/shell_data_reporting_ap_is/models/purchase_categories.rb +114 -0
  138. data/lib/shell_data_reporting_ap_is/models/recent_transaction_req.rb +217 -0
  139. data/lib/shell_data_reporting_ap_is/models/recent_transaction_request.rb +66 -0
  140. data/lib/shell_data_reporting_ap_is/models/recent_transactions.rb +918 -0
  141. data/lib/shell_data_reporting_ap_is/models/recent_transactions_response.rb +110 -0
  142. data/lib/shell_data_reporting_ap_is/models/role.rb +102 -0
  143. data/lib/shell_data_reporting_ap_is/models/search_doc_req.rb +269 -0
  144. data/lib/shell_data_reporting_ap_is/models/search_documents_invoice.rb +204 -0
  145. data/lib/shell_data_reporting_ap_is/models/search_documents_request.rb +70 -0
  146. data/lib/shell_data_reporting_ap_is/models/search_documents_response.rb +122 -0
  147. data/lib/shell_data_reporting_ap_is/models/search_soa_req.rb +197 -0
  148. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account.rb +220 -0
  149. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account_request.rb +70 -0
  150. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account_response.rb +120 -0
  151. data/lib/shell_data_reporting_ap_is/models/site_location.rb +67 -0
  152. data/lib/shell_data_reporting_ap_is/models/statement_of_account_request.rb +50 -0
  153. data/lib/shell_data_reporting_ap_is/models/statement_of_account_request_filters.rb +197 -0
  154. data/lib/shell_data_reporting_ap_is/models/statement_of_account_resp.rb +138 -0
  155. data/lib/shell_data_reporting_ap_is/models/statement_of_account_response.rb +80 -0
  156. data/lib/shell_data_reporting_ap_is/models/tier.rb +167 -0
  157. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions.rb +1267 -0
  158. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions_request.rb +267 -0
  159. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions_response.rb +100 -0
  160. data/lib/shell_data_reporting_ap_is/models/transaction_fees_request.rb +348 -0
  161. data/lib/shell_data_reporting_ap_is/models/transaction_fees_response.rb +111 -0
  162. data/lib/shell_data_reporting_ap_is/models/update_odometer.rb +62 -0
  163. data/lib/shell_data_reporting_ap_is/models/update_odometer_reference.rb +67 -0
  164. data/lib/shell_data_reporting_ap_is/models/update_odometer_request.rb +146 -0
  165. data/lib/shell_data_reporting_ap_is/models/update_odometer_response.rb +93 -0
  166. data/lib/shell_data_reporting_ap_is/models/usage_summary.rb +202 -0
  167. data/lib/shell_data_reporting_ap_is/models/volume_based_bonus_request.rb +118 -0
  168. data/lib/shell_data_reporting_ap_is/models/volume_based_bonus_response.rb +120 -0
  169. data/lib/shell_data_reporting_ap_is/models/volume_based_pricing_request.rb +103 -0
  170. data/lib/shell_data_reporting_ap_is/models/volume_based_pricing_response.rb +120 -0
  171. data/lib/shell_data_reporting_ap_is/utilities/date_time_helper.rb +11 -0
  172. data/lib/shell_data_reporting_ap_is/utilities/file_wrapper.rb +16 -0
  173. data/lib/shell_data_reporting_ap_is.rb +229 -0
  174. data/test/controllers/controller_test_base.rb +34 -0
  175. data/test/controllers/test_invoice_controller.rb +398 -0
  176. data/test/controllers/test_transaction_controller.rb +235 -0
  177. data/test/http_response_catcher.rb +19 -0
  178. metadata +302 -0
@@ -0,0 +1,268 @@
1
+ # shell_data_reporting_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellDataReportingApIs
7
+ # CardExceptions Model.
8
+ class CardExceptions < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Account Id
13
+ # @return [Integer]
14
+ attr_accessor :account_id
15
+
16
+ # Account Number
17
+ # @return [String]
18
+ attr_accessor :account_number
19
+
20
+ # Account Short Name
21
+ # @return [String]
22
+ attr_accessor :account_short_name
23
+
24
+ # Unique Card Id
25
+ # @return [Integer]
26
+ attr_accessor :card_id
27
+
28
+ # ISO currency code
29
+ # @return [String]
30
+ attr_accessor :currency_code
31
+
32
+ # Currency symbol of the Invoice Currency Code
33
+ # @return [String]
34
+ attr_accessor :currency_symbol
35
+
36
+ # Summary Day: Populated when the Period is passed as ‘Day’.
37
+ # @return [Integer]
38
+ attr_accessor :day
39
+
40
+ # Driver name
41
+ # @return [String]
42
+ attr_accessor :driver_name
43
+
44
+ # Summary Month: Populated when the Value of Period is Passed as ‘Month’.
45
+ # @return [Integer]
46
+ attr_accessor :month
47
+
48
+ # Card PAN
49
+ # @return [String]
50
+ attr_accessor :pan
51
+
52
+ # Payment customer id of the customer
53
+ # @return [Integer]
54
+ attr_accessor :payer_id
55
+
56
+ # Payment customer number
57
+ # @return [String]
58
+ attr_accessor :payer_number
59
+
60
+ # Payer Short Name
61
+ # @return [String]
62
+ attr_accessor :payer_short_name
63
+
64
+ # Total Amount (In Customer Currency) of Transactions met with the given
65
+ # exceptions criteria.
66
+ # @return [Float]
67
+ attr_accessor :total_amount
68
+
69
+ # Total Quantity of Transactions met with the given exceptions criteria.
70
+ # @return [Integer]
71
+ attr_accessor :total_quantity
72
+
73
+ # Total number of Sales Items met with the given exception criteria.
74
+ # @return [Integer]
75
+ attr_accessor :total_sales_items
76
+
77
+ # Total number of Transactions met with the given exception criteria.
78
+ # @return [Integer]
79
+ attr_accessor :total_transactions
80
+
81
+ # Vehicle Registration Number
82
+ # @return [String]
83
+ attr_accessor :vrn
84
+
85
+ # Summary Week Number with in the given date range. Populated when the Value
86
+ # of Period is Passed as ‘Week’.
87
+ # @return [Integer]
88
+ attr_accessor :week
89
+
90
+ # Summary Year: Populated when the Value of Period is Passed as ‘Month’.
91
+ # @return [Integer]
92
+ attr_accessor :year
93
+
94
+ # A mapping from model property names to API property names.
95
+ def self.names
96
+ @_hash = {} if @_hash.nil?
97
+ @_hash['account_id'] = 'AccountId'
98
+ @_hash['account_number'] = 'AccountNumber'
99
+ @_hash['account_short_name'] = 'AccountShortName'
100
+ @_hash['card_id'] = 'CardId'
101
+ @_hash['currency_code'] = 'CurrencyCode'
102
+ @_hash['currency_symbol'] = 'CurrencySymbol'
103
+ @_hash['day'] = 'Day'
104
+ @_hash['driver_name'] = 'DriverName'
105
+ @_hash['month'] = 'Month'
106
+ @_hash['pan'] = 'PAN'
107
+ @_hash['payer_id'] = 'PayerId'
108
+ @_hash['payer_number'] = 'PayerNumber'
109
+ @_hash['payer_short_name'] = 'PayerShortName'
110
+ @_hash['total_amount'] = 'TotalAmount'
111
+ @_hash['total_quantity'] = 'TotalQuantity'
112
+ @_hash['total_sales_items'] = 'TotalSalesItems'
113
+ @_hash['total_transactions'] = 'TotalTransactions'
114
+ @_hash['vrn'] = 'VRN'
115
+ @_hash['week'] = 'Week'
116
+ @_hash['year'] = 'Year'
117
+ @_hash
118
+ end
119
+
120
+ # An array for optional fields
121
+ def self.optionals
122
+ %w[
123
+ account_id
124
+ account_number
125
+ account_short_name
126
+ card_id
127
+ currency_code
128
+ currency_symbol
129
+ day
130
+ driver_name
131
+ month
132
+ pan
133
+ payer_id
134
+ payer_number
135
+ payer_short_name
136
+ total_amount
137
+ total_quantity
138
+ total_sales_items
139
+ total_transactions
140
+ vrn
141
+ week
142
+ year
143
+ ]
144
+ end
145
+
146
+ # An array for nullable fields
147
+ def self.nullables
148
+ %w[
149
+ account_id
150
+ account_number
151
+ account_short_name
152
+ card_id
153
+ currency_code
154
+ currency_symbol
155
+ day
156
+ driver_name
157
+ month
158
+ pan
159
+ payer_id
160
+ payer_number
161
+ payer_short_name
162
+ total_amount
163
+ total_quantity
164
+ total_sales_items
165
+ total_transactions
166
+ vrn
167
+ week
168
+ year
169
+ ]
170
+ end
171
+
172
+ def initialize(account_id = SKIP,
173
+ account_number = SKIP,
174
+ account_short_name = SKIP,
175
+ card_id = SKIP,
176
+ currency_code = SKIP,
177
+ currency_symbol = SKIP,
178
+ day = SKIP,
179
+ driver_name = SKIP,
180
+ month = SKIP,
181
+ pan = SKIP,
182
+ payer_id = SKIP,
183
+ payer_number = SKIP,
184
+ payer_short_name = SKIP,
185
+ total_amount = SKIP,
186
+ total_quantity = SKIP,
187
+ total_sales_items = SKIP,
188
+ total_transactions = SKIP,
189
+ vrn = SKIP,
190
+ week = SKIP,
191
+ year = SKIP)
192
+ @account_id = account_id unless account_id == SKIP
193
+ @account_number = account_number unless account_number == SKIP
194
+ @account_short_name = account_short_name unless account_short_name == SKIP
195
+ @card_id = card_id unless card_id == SKIP
196
+ @currency_code = currency_code unless currency_code == SKIP
197
+ @currency_symbol = currency_symbol unless currency_symbol == SKIP
198
+ @day = day unless day == SKIP
199
+ @driver_name = driver_name unless driver_name == SKIP
200
+ @month = month unless month == SKIP
201
+ @pan = pan unless pan == SKIP
202
+ @payer_id = payer_id unless payer_id == SKIP
203
+ @payer_number = payer_number unless payer_number == SKIP
204
+ @payer_short_name = payer_short_name unless payer_short_name == SKIP
205
+ @total_amount = total_amount unless total_amount == SKIP
206
+ @total_quantity = total_quantity unless total_quantity == SKIP
207
+ @total_sales_items = total_sales_items unless total_sales_items == SKIP
208
+ @total_transactions = total_transactions unless total_transactions == SKIP
209
+ @vrn = vrn unless vrn == SKIP
210
+ @week = week unless week == SKIP
211
+ @year = year unless year == SKIP
212
+ end
213
+
214
+ # Creates an instance of the object from a hash.
215
+ def self.from_hash(hash)
216
+ return nil unless hash
217
+
218
+ # Extract variables from the hash.
219
+ account_id = hash.key?('AccountId') ? hash['AccountId'] : SKIP
220
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
221
+ account_short_name =
222
+ hash.key?('AccountShortName') ? hash['AccountShortName'] : SKIP
223
+ card_id = hash.key?('CardId') ? hash['CardId'] : SKIP
224
+ currency_code = hash.key?('CurrencyCode') ? hash['CurrencyCode'] : SKIP
225
+ currency_symbol =
226
+ hash.key?('CurrencySymbol') ? hash['CurrencySymbol'] : SKIP
227
+ day = hash.key?('Day') ? hash['Day'] : SKIP
228
+ driver_name = hash.key?('DriverName') ? hash['DriverName'] : SKIP
229
+ month = hash.key?('Month') ? hash['Month'] : SKIP
230
+ pan = hash.key?('PAN') ? hash['PAN'] : SKIP
231
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
232
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
233
+ payer_short_name =
234
+ hash.key?('PayerShortName') ? hash['PayerShortName'] : SKIP
235
+ total_amount = hash.key?('TotalAmount') ? hash['TotalAmount'] : SKIP
236
+ total_quantity = hash.key?('TotalQuantity') ? hash['TotalQuantity'] : SKIP
237
+ total_sales_items =
238
+ hash.key?('TotalSalesItems') ? hash['TotalSalesItems'] : SKIP
239
+ total_transactions =
240
+ hash.key?('TotalTransactions') ? hash['TotalTransactions'] : SKIP
241
+ vrn = hash.key?('VRN') ? hash['VRN'] : SKIP
242
+ week = hash.key?('Week') ? hash['Week'] : SKIP
243
+ year = hash.key?('Year') ? hash['Year'] : SKIP
244
+
245
+ # Create object from extracted values.
246
+ CardExceptions.new(account_id,
247
+ account_number,
248
+ account_short_name,
249
+ card_id,
250
+ currency_code,
251
+ currency_symbol,
252
+ day,
253
+ driver_name,
254
+ month,
255
+ pan,
256
+ payer_id,
257
+ payer_number,
258
+ payer_short_name,
259
+ total_amount,
260
+ total_quantity,
261
+ total_sales_items,
262
+ total_transactions,
263
+ vrn,
264
+ week,
265
+ year)
266
+ end
267
+ end
268
+ end
@@ -0,0 +1,178 @@
1
+ # shell_data_reporting_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellDataReportingApIs
7
+ # CardGroupRequest Model.
8
+ class CardGroupRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Collecting Company Id of the selected payer.
13
+ # Optional if ColCoCode is passed else Mandatory.
14
+ # Example:
15
+ # 1 for Philippines
16
+ # 5 for UK
17
+ # @return [Integer]
18
+ attr_accessor :col_co_id
19
+
20
+ # Collecting Company Code (Shell Code) of the selected payer.
21
+ # Mandatory for serviced OUs such as Romania, Latvia, Lithuania, Estonia,
22
+ # Ukraine etc. It is optional for other countries if ColCoID is provided.
23
+ # Example:
24
+ # 86 for Philippines
25
+ # 5 for UK
26
+ # @return [Integer]
27
+ attr_accessor :col_co_code
28
+
29
+ # Payer id of the customer.
30
+ # Optional if PayerNumber is passed, else Mandatory.
31
+ # This input is a search criterion.
32
+ # Example: 123456
33
+ # @return [Integer]
34
+ attr_accessor :payer_id
35
+
36
+ # PayerNumber of the customer.
37
+ # Optional if PayerId is passed, else Mandatory.
38
+ # This input is a search criterion.
39
+ # Example: GB00123456
40
+ # @return [String]
41
+ attr_accessor :payer_number
42
+
43
+ # PayerNumber of the customer.
44
+ # Optional if PayerId is passed, else Mandatory.
45
+ # This input is a search criterion.
46
+ # Example: GB00123456
47
+ # @return [Array[Accounts]]
48
+ attr_accessor :account
49
+
50
+ # Card Group Name
51
+ # Optional.
52
+ # Minimum of 2 characters should be provided else not considered.
53
+ # CardGroups those have the entered value at any part
54
+ # @return [String]
55
+ attr_accessor :card_group_name
56
+
57
+ # Card Group Status
58
+ # Mandatory
59
+ # Allowed values:
60
+ # • ALL
61
+ # • TERMINATED
62
+ # • ACTIVE
63
+ # @return [String]
64
+ attr_accessor :status
65
+
66
+ # Page Number (as shown to the users)
67
+ # Optional
68
+ # Default value 1
69
+ # @return [Integer]
70
+ attr_accessor :current_page
71
+
72
+ # Page Size – Number of records to show on a page.
73
+ # Optional
74
+ # Default value 50.
75
+ # Return all rows if -1 is supplied as page size.
76
+ # @return [Integer]
77
+ attr_accessor :page_size
78
+
79
+ # A mapping from model property names to API property names.
80
+ def self.names
81
+ @_hash = {} if @_hash.nil?
82
+ @_hash['col_co_id'] = 'ColCoId'
83
+ @_hash['col_co_code'] = 'ColCoCode'
84
+ @_hash['payer_id'] = 'PayerId'
85
+ @_hash['payer_number'] = 'PayerNumber'
86
+ @_hash['account'] = 'Account'
87
+ @_hash['card_group_name'] = 'CardGroupName'
88
+ @_hash['status'] = 'Status'
89
+ @_hash['current_page'] = 'CurrentPage'
90
+ @_hash['page_size'] = 'PageSize'
91
+ @_hash
92
+ end
93
+
94
+ # An array for optional fields
95
+ def self.optionals
96
+ %w[
97
+ col_co_id
98
+ col_co_code
99
+ payer_id
100
+ payer_number
101
+ account
102
+ card_group_name
103
+ status
104
+ current_page
105
+ page_size
106
+ ]
107
+ end
108
+
109
+ # An array for nullable fields
110
+ def self.nullables
111
+ %w[
112
+ col_co_id
113
+ col_co_code
114
+ payer_id
115
+ payer_number
116
+ card_group_name
117
+ status
118
+ ]
119
+ end
120
+
121
+ def initialize(col_co_id = SKIP,
122
+ col_co_code = SKIP,
123
+ payer_id = SKIP,
124
+ payer_number = SKIP,
125
+ account = SKIP,
126
+ card_group_name = SKIP,
127
+ status = SKIP,
128
+ current_page = SKIP,
129
+ page_size = SKIP)
130
+ @col_co_id = col_co_id unless col_co_id == SKIP
131
+ @col_co_code = col_co_code unless col_co_code == SKIP
132
+ @payer_id = payer_id unless payer_id == SKIP
133
+ @payer_number = payer_number unless payer_number == SKIP
134
+ @account = account unless account == SKIP
135
+ @card_group_name = card_group_name unless card_group_name == SKIP
136
+ @status = status unless status == SKIP
137
+ @current_page = current_page unless current_page == SKIP
138
+ @page_size = page_size unless page_size == SKIP
139
+ end
140
+
141
+ # Creates an instance of the object from a hash.
142
+ def self.from_hash(hash)
143
+ return nil unless hash
144
+
145
+ # Extract variables from the hash.
146
+ col_co_id = hash.key?('ColCoId') ? hash['ColCoId'] : SKIP
147
+ col_co_code = hash.key?('ColCoCode') ? hash['ColCoCode'] : SKIP
148
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
149
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
150
+ # Parameter is an array, so we need to iterate through it
151
+ account = nil
152
+ unless hash['Account'].nil?
153
+ account = []
154
+ hash['Account'].each do |structure|
155
+ account << (Accounts.from_hash(structure) if structure)
156
+ end
157
+ end
158
+
159
+ account = SKIP unless hash.key?('Account')
160
+ card_group_name =
161
+ hash.key?('CardGroupName') ? hash['CardGroupName'] : SKIP
162
+ status = hash.key?('Status') ? hash['Status'] : SKIP
163
+ current_page = hash.key?('CurrentPage') ? hash['CurrentPage'] : SKIP
164
+ page_size = hash.key?('PageSize') ? hash['PageSize'] : SKIP
165
+
166
+ # Create object from extracted values.
167
+ CardGroupRequest.new(col_co_id,
168
+ col_co_code,
169
+ payer_id,
170
+ payer_number,
171
+ account,
172
+ card_group_name,
173
+ status,
174
+ current_page,
175
+ page_size)
176
+ end
177
+ end
178
+ end
@@ -0,0 +1,109 @@
1
+ # shell_data_reporting_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellDataReportingApIs
7
+ # CardGroupResponse Model.
8
+ class CardGroupResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[CardGroupResponseCardGroupsItems]]
14
+ attr_accessor :card_groups
15
+
16
+ # current page
17
+ # @return [Integer]
18
+ attr_accessor :current_page
19
+
20
+ # number of records in current response
21
+ # @return [Integer]
22
+ attr_accessor :row_count
23
+
24
+ # Total pages available
25
+ # @return [Integer]
26
+ attr_accessor :total_pages
27
+
28
+ # Total pages available
29
+ # @return [ErrorStatus]
30
+ attr_accessor :error
31
+
32
+ # API Request id
33
+ # @return [String]
34
+ attr_accessor :request_id
35
+
36
+ # A mapping from model property names to API property names.
37
+ def self.names
38
+ @_hash = {} if @_hash.nil?
39
+ @_hash['card_groups'] = 'CardGroups'
40
+ @_hash['current_page'] = 'CurrentPage'
41
+ @_hash['row_count'] = 'RowCount'
42
+ @_hash['total_pages'] = 'TotalPages'
43
+ @_hash['error'] = 'Error'
44
+ @_hash['request_id'] = 'RequestId'
45
+ @_hash
46
+ end
47
+
48
+ # An array for optional fields
49
+ def self.optionals
50
+ %w[
51
+ card_groups
52
+ current_page
53
+ row_count
54
+ total_pages
55
+ error
56
+ request_id
57
+ ]
58
+ end
59
+
60
+ # An array for nullable fields
61
+ def self.nullables
62
+ []
63
+ end
64
+
65
+ def initialize(card_groups = SKIP,
66
+ current_page = SKIP,
67
+ row_count = SKIP,
68
+ total_pages = SKIP,
69
+ error = SKIP,
70
+ request_id = SKIP)
71
+ @card_groups = card_groups unless card_groups == SKIP
72
+ @current_page = current_page unless current_page == SKIP
73
+ @row_count = row_count unless row_count == SKIP
74
+ @total_pages = total_pages unless total_pages == SKIP
75
+ @error = error unless error == SKIP
76
+ @request_id = request_id unless request_id == SKIP
77
+ end
78
+
79
+ # Creates an instance of the object from a hash.
80
+ def self.from_hash(hash)
81
+ return nil unless hash
82
+
83
+ # Extract variables from the hash.
84
+ # Parameter is an array, so we need to iterate through it
85
+ card_groups = nil
86
+ unless hash['CardGroups'].nil?
87
+ card_groups = []
88
+ hash['CardGroups'].each do |structure|
89
+ card_groups << (CardGroupResponseCardGroupsItems.from_hash(structure) if structure)
90
+ end
91
+ end
92
+
93
+ card_groups = SKIP unless hash.key?('CardGroups')
94
+ current_page = hash.key?('CurrentPage') ? hash['CurrentPage'] : SKIP
95
+ row_count = hash.key?('RowCount') ? hash['RowCount'] : SKIP
96
+ total_pages = hash.key?('TotalPages') ? hash['TotalPages'] : SKIP
97
+ error = ErrorStatus.from_hash(hash['Error']) if hash['Error']
98
+ request_id = hash.key?('RequestId') ? hash['RequestId'] : SKIP
99
+
100
+ # Create object from extracted values.
101
+ CardGroupResponse.new(card_groups,
102
+ current_page,
103
+ row_count,
104
+ total_pages,
105
+ error,
106
+ request_id)
107
+ end
108
+ end
109
+ end