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,110 @@
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
+ # RecentTransactionsResponse Model.
8
+ class RecentTransactionsResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # RequestID is unique identifier value that is attached to requests and
13
+ # messages that allow reference to a particular transaction or event chain.
14
+ # @return [String]
15
+ attr_accessor :request_id
16
+
17
+ # status of the API call
18
+ # @return [String]
19
+ attr_accessor :status
20
+
21
+ # CurrentPage
22
+ # @return [Integer]
23
+ attr_accessor :page
24
+
25
+ # RowCount
26
+ # @return [Integer]
27
+ attr_accessor :row_count
28
+
29
+ # TotalPages
30
+ # @return [Integer]
31
+ attr_accessor :total_pages
32
+
33
+ # API Response
34
+ # @return [Array[RecentTransactions]]
35
+ attr_accessor :data
36
+
37
+ # A mapping from model property names to API property names.
38
+ def self.names
39
+ @_hash = {} if @_hash.nil?
40
+ @_hash['request_id'] = 'RequestId'
41
+ @_hash['status'] = 'Status'
42
+ @_hash['page'] = 'Page'
43
+ @_hash['row_count'] = 'RowCount'
44
+ @_hash['total_pages'] = 'TotalPages'
45
+ @_hash['data'] = 'Data'
46
+ @_hash
47
+ end
48
+
49
+ # An array for optional fields
50
+ def self.optionals
51
+ %w[
52
+ request_id
53
+ status
54
+ page
55
+ row_count
56
+ total_pages
57
+ data
58
+ ]
59
+ end
60
+
61
+ # An array for nullable fields
62
+ def self.nullables
63
+ []
64
+ end
65
+
66
+ def initialize(request_id = SKIP,
67
+ status = SKIP,
68
+ page = SKIP,
69
+ row_count = SKIP,
70
+ total_pages = SKIP,
71
+ data = SKIP)
72
+ @request_id = request_id unless request_id == SKIP
73
+ @status = status unless status == SKIP
74
+ @page = page unless page == SKIP
75
+ @row_count = row_count unless row_count == SKIP
76
+ @total_pages = total_pages unless total_pages == SKIP
77
+ @data = data unless data == SKIP
78
+ end
79
+
80
+ # Creates an instance of the object from a hash.
81
+ def self.from_hash(hash)
82
+ return nil unless hash
83
+
84
+ # Extract variables from the hash.
85
+ request_id = hash.key?('RequestId') ? hash['RequestId'] : SKIP
86
+ status = hash.key?('Status') ? hash['Status'] : SKIP
87
+ page = hash.key?('Page') ? hash['Page'] : SKIP
88
+ row_count = hash.key?('RowCount') ? hash['RowCount'] : SKIP
89
+ total_pages = hash.key?('TotalPages') ? hash['TotalPages'] : SKIP
90
+ # Parameter is an array, so we need to iterate through it
91
+ data = nil
92
+ unless hash['Data'].nil?
93
+ data = []
94
+ hash['Data'].each do |structure|
95
+ data << (RecentTransactions.from_hash(structure) if structure)
96
+ end
97
+ end
98
+
99
+ data = SKIP unless hash.key?('Data')
100
+
101
+ # Create object from extracted values.
102
+ RecentTransactionsResponse.new(request_id,
103
+ status,
104
+ page,
105
+ row_count,
106
+ total_pages,
107
+ data)
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,102 @@
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
+ # Role Model.
8
+ class Role < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Role Name of the user
13
+ # @return [String]
14
+ attr_accessor :role_name
15
+
16
+ # Whether the role is an administrator.
17
+ # @return [TrueClass | FalseClass]
18
+ attr_accessor :is_customer_admin
19
+
20
+ # Whether the role is a customer user.
21
+ # @return [TrueClass | FalseClass]
22
+ attr_accessor :is_customer_user
23
+
24
+ # True if the role is Shell user, else false.
25
+ # @return [TrueClass | FalseClass]
26
+ attr_accessor :is_shell_admin
27
+
28
+ # True/False.
29
+ # True if the role is Service accounts, else false.
30
+ # @return [TrueClass | FalseClass]
31
+ attr_accessor :is_service_account
32
+
33
+ # True/False.
34
+ # True, if the role allows user administration, else false.
35
+ # @return [TrueClass | FalseClass]
36
+ attr_accessor :is_user_admin
37
+
38
+ # A mapping from model property names to API property names.
39
+ def self.names
40
+ @_hash = {} if @_hash.nil?
41
+ @_hash['role_name'] = 'RoleName'
42
+ @_hash['is_customer_admin'] = 'IsCustomerAdmin'
43
+ @_hash['is_customer_user'] = 'IsCustomerUser'
44
+ @_hash['is_shell_admin'] = 'IsShellAdmin'
45
+ @_hash['is_service_account'] = 'IsServiceAccount'
46
+ @_hash['is_user_admin'] = 'IsUserAdmin'
47
+ @_hash
48
+ end
49
+
50
+ # An array for optional fields
51
+ def self.optionals
52
+ %w[
53
+ role_name
54
+ is_customer_admin
55
+ is_customer_user
56
+ is_shell_admin
57
+ is_service_account
58
+ is_user_admin
59
+ ]
60
+ end
61
+
62
+ # An array for nullable fields
63
+ def self.nullables
64
+ []
65
+ end
66
+
67
+ def initialize(role_name = SKIP,
68
+ is_customer_admin = true,
69
+ is_customer_user = false,
70
+ is_shell_admin = false,
71
+ is_service_account = false,
72
+ is_user_admin = true)
73
+ @role_name = role_name unless role_name == SKIP
74
+ @is_customer_admin = is_customer_admin unless is_customer_admin == SKIP
75
+ @is_customer_user = is_customer_user unless is_customer_user == SKIP
76
+ @is_shell_admin = is_shell_admin unless is_shell_admin == SKIP
77
+ @is_service_account = is_service_account unless is_service_account == SKIP
78
+ @is_user_admin = is_user_admin unless is_user_admin == SKIP
79
+ end
80
+
81
+ # Creates an instance of the object from a hash.
82
+ def self.from_hash(hash)
83
+ return nil unless hash
84
+
85
+ # Extract variables from the hash.
86
+ role_name = hash.key?('RoleName') ? hash['RoleName'] : SKIP
87
+ is_customer_admin = hash['IsCustomerAdmin'] ||= true
88
+ is_customer_user = hash['IsCustomerUser'] ||= false
89
+ is_shell_admin = hash['IsShellAdmin'] ||= false
90
+ is_service_account = hash['IsServiceAccount'] ||= false
91
+ is_user_admin = hash['IsUserAdmin'] ||= true
92
+
93
+ # Create object from extracted values.
94
+ Role.new(role_name,
95
+ is_customer_admin,
96
+ is_customer_user,
97
+ is_shell_admin,
98
+ is_service_account,
99
+ is_user_admin)
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,269 @@
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
+ # SearchDocReq Model.
8
+ class SearchDocReq < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Payer Number of the selected payer.
13
+ # Mandatory
14
+ # Example: GB000000123
15
+ # @return [String]
16
+ attr_accessor :payer_number
17
+
18
+ # Account Number of the customer.
19
+ # Mandatory for customer users else optional.
20
+ # This input is a search criterion, if given.
21
+ # Example: GB000000123
22
+ # @return [String]
23
+ attr_accessor :account_number
24
+
25
+ # Account Number of the customers.
26
+ # optional.
27
+ # This input is a search criterion, if given.
28
+ # Example: [“GB00000123”, “GB00000225”]
29
+ # @return [Array[String]]
30
+ attr_accessor :account_number_list
31
+
32
+ # Invoice number.
33
+ # Optional if InvoiceNumberList is passed else Mandatory
34
+ # This input is a search criterion, if given.
35
+ # Example: 0123456789
36
+ # @return [String]
37
+ attr_accessor :invoice_number
38
+
39
+ # List of Invoice number.
40
+ # Optional if InvoiceNumber is passed else Mandatory
41
+ # Example: [“0123456789”, “0123459799”]
42
+ # @return [Array[String]]
43
+ attr_accessor :invoice_number_list
44
+
45
+ # The status of the invoices
46
+ # Optional
47
+ # One of the following values:
48
+ # • NEW
49
+ # • VIEWED
50
+ # • DOWNLOADED
51
+ # • RESTORED
52
+ # @return [String]
53
+ attr_accessor :invoice_status
54
+
55
+ # Invoice Issuing Date Range/From
56
+ # Optional
57
+ # Format: yyyy/MM/dd
58
+ # @return [String]
59
+ attr_accessor :issuing_date_from
60
+
61
+ # Invoice Issuing Date Range/To
62
+ # Optional
63
+ # Format: yyyy/MM/dd
64
+ # @return [String]
65
+ attr_accessor :issuing_date_to
66
+
67
+ # Invoice Due Date Range/From
68
+ # Optional
69
+ # Format: yyyy/MM/dd
70
+ # @return [String]
71
+ attr_accessor :due_date_from
72
+
73
+ # Invoice Due Date Range/To
74
+ # Optional
75
+ # Format: yyyy/MM/dd
76
+ # @return [String]
77
+ attr_accessor :due_date_to
78
+
79
+ # Gross amount of the bill.
80
+ # Optional
81
+ # @return [String]
82
+ attr_accessor :gross_amount
83
+
84
+ # Criteria on the gross amount, for instance use GT when to retrieve the
85
+ # invoices for that gross amount is greater than the given amount on
86
+ # GrossAmount parameter above.
87
+ # Optional
88
+ # This parameter will be ignored if GrossAmount parameter is not set.
89
+ # One of the following values:
90
+ # • LT (Less Than)
91
+ # • LE (Lesser or Equal)
92
+ # • EQ (equal)
93
+ # • GE (Greater or equal)
94
+ # • GT (Greater than)
95
+ # @return [String]
96
+ attr_accessor :gross_amount_operator
97
+
98
+ # Document Type
99
+ # Optional
100
+ # One of the following values:
101
+ # • NAT (National)
102
+ # • INT (International)
103
+ # • SOA (Statement of Account)
104
+ # @return [String]
105
+ attr_accessor :document_type
106
+
107
+ # Two letter ISO country code.
108
+ # @return [String]
109
+ attr_accessor :vat_issuer_country
110
+
111
+ # Collecting Company Code of the selected payer.
112
+ # Mandatory
113
+ # Example:
114
+ # 86-Philippines
115
+ # 5-UK
116
+ # @return [Array[String]]
117
+ attr_accessor :sorty_by
118
+
119
+ # Collecting Company Code of the selected payer.
120
+ # Mandatory
121
+ # Example:
122
+ # 86-Philippines
123
+ # 5-UK
124
+ # @return [Integer]
125
+ attr_accessor :col_co_code
126
+
127
+ # A mapping from model property names to API property names.
128
+ def self.names
129
+ @_hash = {} if @_hash.nil?
130
+ @_hash['payer_number'] = 'PayerNumber'
131
+ @_hash['account_number'] = 'AccountNumber'
132
+ @_hash['account_number_list'] = 'AccountNumberList'
133
+ @_hash['invoice_number'] = 'InvoiceNumber'
134
+ @_hash['invoice_number_list'] = 'InvoiceNumberList'
135
+ @_hash['invoice_status'] = 'InvoiceStatus'
136
+ @_hash['issuing_date_from'] = 'IssuingDateFrom'
137
+ @_hash['issuing_date_to'] = 'IssuingDateTo'
138
+ @_hash['due_date_from'] = 'DueDateFrom'
139
+ @_hash['due_date_to'] = 'DueDateTo'
140
+ @_hash['gross_amount'] = 'GrossAmount'
141
+ @_hash['gross_amount_operator'] = 'GrossAmountOperator'
142
+ @_hash['document_type'] = 'DocumentType'
143
+ @_hash['vat_issuer_country'] = 'VATIssuerCountry'
144
+ @_hash['sorty_by'] = 'SortyBy'
145
+ @_hash['col_co_code'] = 'ColCoCode'
146
+ @_hash
147
+ end
148
+
149
+ # An array for optional fields
150
+ def self.optionals
151
+ %w[
152
+ account_number
153
+ account_number_list
154
+ invoice_number
155
+ invoice_number_list
156
+ invoice_status
157
+ issuing_date_from
158
+ issuing_date_to
159
+ due_date_from
160
+ due_date_to
161
+ gross_amount
162
+ gross_amount_operator
163
+ document_type
164
+ vat_issuer_country
165
+ sorty_by
166
+ ]
167
+ end
168
+
169
+ # An array for nullable fields
170
+ def self.nullables
171
+ %w[
172
+ payer_number
173
+ account_number
174
+ invoice_number
175
+ invoice_status
176
+ issuing_date_from
177
+ issuing_date_to
178
+ due_date_from
179
+ due_date_to
180
+ gross_amount
181
+ gross_amount_operator
182
+ document_type
183
+ vat_issuer_country
184
+ col_co_code
185
+ ]
186
+ end
187
+
188
+ def initialize(payer_number = nil,
189
+ col_co_code = nil,
190
+ account_number = SKIP,
191
+ account_number_list = SKIP,
192
+ invoice_number = SKIP,
193
+ invoice_number_list = SKIP,
194
+ invoice_status = SKIP,
195
+ issuing_date_from = SKIP,
196
+ issuing_date_to = SKIP,
197
+ due_date_from = SKIP,
198
+ due_date_to = SKIP,
199
+ gross_amount = SKIP,
200
+ gross_amount_operator = SKIP,
201
+ document_type = SKIP,
202
+ vat_issuer_country = SKIP,
203
+ sorty_by = SKIP)
204
+ @payer_number = payer_number
205
+ @account_number = account_number unless account_number == SKIP
206
+ @account_number_list = account_number_list unless account_number_list == SKIP
207
+ @invoice_number = invoice_number unless invoice_number == SKIP
208
+ @invoice_number_list = invoice_number_list unless invoice_number_list == SKIP
209
+ @invoice_status = invoice_status unless invoice_status == SKIP
210
+ @issuing_date_from = issuing_date_from unless issuing_date_from == SKIP
211
+ @issuing_date_to = issuing_date_to unless issuing_date_to == SKIP
212
+ @due_date_from = due_date_from unless due_date_from == SKIP
213
+ @due_date_to = due_date_to unless due_date_to == SKIP
214
+ @gross_amount = gross_amount unless gross_amount == SKIP
215
+ @gross_amount_operator = gross_amount_operator unless gross_amount_operator == SKIP
216
+ @document_type = document_type unless document_type == SKIP
217
+ @vat_issuer_country = vat_issuer_country unless vat_issuer_country == SKIP
218
+ @sorty_by = sorty_by unless sorty_by == SKIP
219
+ @col_co_code = col_co_code
220
+ end
221
+
222
+ # Creates an instance of the object from a hash.
223
+ def self.from_hash(hash)
224
+ return nil unless hash
225
+
226
+ # Extract variables from the hash.
227
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : nil
228
+ col_co_code = hash.key?('ColCoCode') ? hash['ColCoCode'] : nil
229
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
230
+ account_number_list =
231
+ hash.key?('AccountNumberList') ? hash['AccountNumberList'] : SKIP
232
+ invoice_number = hash.key?('InvoiceNumber') ? hash['InvoiceNumber'] : SKIP
233
+ invoice_number_list =
234
+ hash.key?('InvoiceNumberList') ? hash['InvoiceNumberList'] : SKIP
235
+ invoice_status = hash.key?('InvoiceStatus') ? hash['InvoiceStatus'] : SKIP
236
+ issuing_date_from =
237
+ hash.key?('IssuingDateFrom') ? hash['IssuingDateFrom'] : SKIP
238
+ issuing_date_to =
239
+ hash.key?('IssuingDateTo') ? hash['IssuingDateTo'] : SKIP
240
+ due_date_from = hash.key?('DueDateFrom') ? hash['DueDateFrom'] : SKIP
241
+ due_date_to = hash.key?('DueDateTo') ? hash['DueDateTo'] : SKIP
242
+ gross_amount = hash.key?('GrossAmount') ? hash['GrossAmount'] : SKIP
243
+ gross_amount_operator =
244
+ hash.key?('GrossAmountOperator') ? hash['GrossAmountOperator'] : SKIP
245
+ document_type = hash.key?('DocumentType') ? hash['DocumentType'] : SKIP
246
+ vat_issuer_country =
247
+ hash.key?('VATIssuerCountry') ? hash['VATIssuerCountry'] : SKIP
248
+ sorty_by = hash.key?('SortyBy') ? hash['SortyBy'] : SKIP
249
+
250
+ # Create object from extracted values.
251
+ SearchDocReq.new(payer_number,
252
+ col_co_code,
253
+ account_number,
254
+ account_number_list,
255
+ invoice_number,
256
+ invoice_number_list,
257
+ invoice_status,
258
+ issuing_date_from,
259
+ issuing_date_to,
260
+ due_date_from,
261
+ due_date_to,
262
+ gross_amount,
263
+ gross_amount_operator,
264
+ document_type,
265
+ vat_issuer_country,
266
+ sorty_by)
267
+ end
268
+ end
269
+ end
@@ -0,0 +1,204 @@
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
+ # SearchDocumentsInvoice Model.
8
+ class SearchDocumentsInvoice < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Unique Invoice Reference id of the invoice for downloading the zip file
13
+ # containing PDF and proofing elements.
14
+ # Example: 123456
15
+ # @return [Integer]
16
+ attr_accessor :document_reference
17
+
18
+ # Payment customer number.
19
+ # Example: GB000000123
20
+ # @return [String]
21
+ attr_accessor :invoice_number
22
+
23
+ # Customer payer name
24
+ # @return [String]
25
+ attr_accessor :payer_name
26
+
27
+ # Account Number
28
+ # Example: GB99215176
29
+ # @return [String]
30
+ attr_accessor :account_number
31
+
32
+ # Invoice account name
33
+ # @return [String]
34
+ attr_accessor :account_name
35
+
36
+ # Document type
37
+ # String containing one of the following values:
38
+ # • NAT (National)
39
+ # • INT (International)
40
+ # • SOA (Statement of Account)
41
+ # @return [String]
42
+ attr_accessor :document_type
43
+
44
+ # Included tax amount in the invoice
45
+ # @return [Float]
46
+ attr_accessor :gross_amount
47
+
48
+ # Included tax amount in the invoice
49
+ # @return [Float]
50
+ attr_accessor :net_amount
51
+
52
+ # Included tax amount in the invoice
53
+ # @return [Float]
54
+ attr_accessor :tax_amount
55
+
56
+ # Included tax amount in the invoice
57
+ # @return [String]
58
+ attr_accessor :currency_code
59
+
60
+ # Included tax amount in the invoice
61
+ # @return [String]
62
+ attr_accessor :invoice_status
63
+
64
+ # Included tax amount in the invoice
65
+ # @return [String]
66
+ attr_accessor :invoice_date
67
+
68
+ # Included tax amount in the invoice
69
+ # @return [String]
70
+ attr_accessor :due_date
71
+
72
+ # Included tax amount in the invoice
73
+ # @return [String]
74
+ attr_accessor :vat_country_iso_code
75
+
76
+ # A mapping from model property names to API property names.
77
+ def self.names
78
+ @_hash = {} if @_hash.nil?
79
+ @_hash['document_reference'] = 'DocumentReference'
80
+ @_hash['invoice_number'] = 'InvoiceNumber'
81
+ @_hash['payer_name'] = 'PayerName'
82
+ @_hash['account_number'] = 'AccountNumber'
83
+ @_hash['account_name'] = 'AccountName'
84
+ @_hash['document_type'] = 'DocumentType'
85
+ @_hash['gross_amount'] = 'GrossAmount'
86
+ @_hash['net_amount'] = 'NetAmount'
87
+ @_hash['tax_amount'] = 'TaxAmount'
88
+ @_hash['currency_code'] = 'CurrencyCode'
89
+ @_hash['invoice_status'] = 'InvoiceStatus'
90
+ @_hash['invoice_date'] = 'InvoiceDate'
91
+ @_hash['due_date'] = 'DueDate'
92
+ @_hash['vat_country_iso_code'] = 'VATCountryISOCode'
93
+ @_hash
94
+ end
95
+
96
+ # An array for optional fields
97
+ def self.optionals
98
+ %w[
99
+ document_reference
100
+ invoice_number
101
+ payer_name
102
+ account_number
103
+ account_name
104
+ document_type
105
+ gross_amount
106
+ net_amount
107
+ tax_amount
108
+ currency_code
109
+ invoice_status
110
+ invoice_date
111
+ due_date
112
+ vat_country_iso_code
113
+ ]
114
+ end
115
+
116
+ # An array for nullable fields
117
+ def self.nullables
118
+ %w[
119
+ invoice_number
120
+ payer_name
121
+ account_number
122
+ account_name
123
+ document_type
124
+ gross_amount
125
+ net_amount
126
+ tax_amount
127
+ currency_code
128
+ invoice_status
129
+ invoice_date
130
+ due_date
131
+ vat_country_iso_code
132
+ ]
133
+ end
134
+
135
+ def initialize(document_reference = SKIP,
136
+ invoice_number = SKIP,
137
+ payer_name = SKIP,
138
+ account_number = SKIP,
139
+ account_name = SKIP,
140
+ document_type = SKIP,
141
+ gross_amount = SKIP,
142
+ net_amount = SKIP,
143
+ tax_amount = SKIP,
144
+ currency_code = SKIP,
145
+ invoice_status = SKIP,
146
+ invoice_date = SKIP,
147
+ due_date = SKIP,
148
+ vat_country_iso_code = SKIP)
149
+ @document_reference = document_reference unless document_reference == SKIP
150
+ @invoice_number = invoice_number unless invoice_number == SKIP
151
+ @payer_name = payer_name unless payer_name == SKIP
152
+ @account_number = account_number unless account_number == SKIP
153
+ @account_name = account_name unless account_name == SKIP
154
+ @document_type = document_type unless document_type == SKIP
155
+ @gross_amount = gross_amount unless gross_amount == SKIP
156
+ @net_amount = net_amount unless net_amount == SKIP
157
+ @tax_amount = tax_amount unless tax_amount == SKIP
158
+ @currency_code = currency_code unless currency_code == SKIP
159
+ @invoice_status = invoice_status unless invoice_status == SKIP
160
+ @invoice_date = invoice_date unless invoice_date == SKIP
161
+ @due_date = due_date unless due_date == SKIP
162
+ @vat_country_iso_code = vat_country_iso_code unless vat_country_iso_code == SKIP
163
+ end
164
+
165
+ # Creates an instance of the object from a hash.
166
+ def self.from_hash(hash)
167
+ return nil unless hash
168
+
169
+ # Extract variables from the hash.
170
+ document_reference =
171
+ hash.key?('DocumentReference') ? hash['DocumentReference'] : SKIP
172
+ invoice_number = hash.key?('InvoiceNumber') ? hash['InvoiceNumber'] : SKIP
173
+ payer_name = hash.key?('PayerName') ? hash['PayerName'] : SKIP
174
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
175
+ account_name = hash.key?('AccountName') ? hash['AccountName'] : SKIP
176
+ document_type = hash.key?('DocumentType') ? hash['DocumentType'] : SKIP
177
+ gross_amount = hash.key?('GrossAmount') ? hash['GrossAmount'] : SKIP
178
+ net_amount = hash.key?('NetAmount') ? hash['NetAmount'] : SKIP
179
+ tax_amount = hash.key?('TaxAmount') ? hash['TaxAmount'] : SKIP
180
+ currency_code = hash.key?('CurrencyCode') ? hash['CurrencyCode'] : SKIP
181
+ invoice_status = hash.key?('InvoiceStatus') ? hash['InvoiceStatus'] : SKIP
182
+ invoice_date = hash.key?('InvoiceDate') ? hash['InvoiceDate'] : SKIP
183
+ due_date = hash.key?('DueDate') ? hash['DueDate'] : SKIP
184
+ vat_country_iso_code =
185
+ hash.key?('VATCountryISOCode') ? hash['VATCountryISOCode'] : SKIP
186
+
187
+ # Create object from extracted values.
188
+ SearchDocumentsInvoice.new(document_reference,
189
+ invoice_number,
190
+ payer_name,
191
+ account_number,
192
+ account_name,
193
+ document_type,
194
+ gross_amount,
195
+ net_amount,
196
+ tax_amount,
197
+ currency_code,
198
+ invoice_status,
199
+ invoice_date,
200
+ due_date,
201
+ vat_country_iso_code)
202
+ end
203
+ end
204
+ end