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,470 @@
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
+ # InvoiceController
8
+ class InvoiceController < BaseController
9
+ # This API allows to search invoice data in the Shell Card Platform. It
10
+ # provides flexible search criteria in the request body and supports paging.
11
+ # This API will also query the relevant invoice documents list and return a
12
+ # reference number that can be used to download invoice documents (PDF and
13
+ # Proofing elements in a zip file).
14
+ # #### Supported operations
15
+ # * Search invoices by account
16
+ # * Search invoices by invoice type or invoice status
17
+ # * Search invoices by invoice id or number
18
+ # * Search invoices by invoiced country
19
+ # * Search invoices including einvoices
20
+ # * Search invoices by summary document
21
+ # * Search invoices by statement of account
22
+ # * Search invoices by fixed and custom date periods
23
+ # @param [String] request_id Required parameter: Mandatory UUID (according
24
+ # to RFC 4122 standards) for requests and responses. This will be played
25
+ # back in the response from the request.
26
+ # @param [InvoiceSearchRequest] body Optional parameter: Invoice Search
27
+ # RequestBody
28
+ # @return [InvoiceSearchResponse] response from the API call
29
+ def invoice_search(request_id,
30
+ body: nil)
31
+ new_api_call_builder
32
+ .request(new_request_builder(HttpMethodEnum::POST,
33
+ '/invoice-management/v1/search',
34
+ Server::SHELL)
35
+ .header_param(new_parameter(request_id, key: 'RequestId'))
36
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
37
+ .body_param(new_parameter(body))
38
+ .header_param(new_parameter('application/json', key: 'accept'))
39
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
40
+ .auth(Single.new('BearerToken')))
41
+ .response(new_response_handler
42
+ .deserializer(APIHelper.method(:custom_type_deserializer))
43
+ .deserialize_into(InvoiceSearchResponse.method(:from_hash))
44
+ .local_error('400',
45
+ "The server cannot or will not process the request due to'\
46
+ ' something that is perceived to be a client error (e.g.,'\
47
+ ' malformed request syntax, invalid request message framing, or'\
48
+ ' deceptive request routing).\n",
49
+ ErrorObjectException)
50
+ .local_error('401',
51
+ "The request has not been applied because it lacks valid '\
52
+ ' authentication credentials for the target resource.\n",
53
+ ErrorObjectException)
54
+ .local_error('403',
55
+ 'Forbidden',
56
+ ErrorObjectException)
57
+ .local_error('404',
58
+ "The origin server did not find a current representation for'\
59
+ ' the target resource or is not willing to disclose that one'\
60
+ ' exists.\n",
61
+ ErrorObjectException)
62
+ .local_error('500',
63
+ "The server encountered an unexpected condition that prevented'\
64
+ ' it from fulfilling the request.\n",
65
+ ErrorObjectException))
66
+ .execute
67
+ end
68
+
69
+ # This API returns the high level summary of invoices that match the given
70
+ # search criteria. The same search criteria as the endpoint
71
+ # `/v1/invoice/search` is supported with the exception of paging related
72
+ # parameters.
73
+ # #### Supported operations
74
+ # * Search invoices by account
75
+ # * Search invoices by invoice type or invoice status
76
+ # * Search invoices by invoice id or number
77
+ # * Search invoices by invoiced country
78
+ # * Search invoices including einvoices
79
+ # * Search invoices by summary document
80
+ # * Search invoices by statement of account
81
+ # * Search invoices by fixed and custom date periods
82
+ # @param [String] request_id Required parameter: Mandatory UUID (according
83
+ # to RFC 4122 standards) for requests and responses. This will be played
84
+ # back in the response from the request.
85
+ # @param [InvoiceSummaryRequest] body Optional parameter: Invoice Search
86
+ # RequestBody
87
+ # @return [InvoiceSummaryResponse] response from the API call
88
+ def invoice_summary(request_id,
89
+ body: nil)
90
+ new_api_call_builder
91
+ .request(new_request_builder(HttpMethodEnum::POST,
92
+ '/invoice-management/v1/summary',
93
+ Server::SHELL)
94
+ .header_param(new_parameter(request_id, key: 'RequestId'))
95
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
96
+ .body_param(new_parameter(body))
97
+ .header_param(new_parameter('application/json', key: 'accept'))
98
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
99
+ .auth(Single.new('BearerToken')))
100
+ .response(new_response_handler
101
+ .deserializer(APIHelper.method(:custom_type_deserializer))
102
+ .deserialize_into(InvoiceSummaryResponse.method(:from_hash))
103
+ .local_error('400',
104
+ "The server cannot or will not process the request due to'\
105
+ ' something that is perceived to be a client error (e.g.,'\
106
+ ' malformed request syntax, invalid request message framing, or'\
107
+ ' deceptive request routing).\n",
108
+ ErrorObjectException)
109
+ .local_error('401',
110
+ "The request has not been applied because it lacks valid '\
111
+ ' authentication credentials for the target resource.\n",
112
+ ErrorObjectException)
113
+ .local_error('403',
114
+ 'Forbidden',
115
+ ErrorObjectException)
116
+ .local_error('404',
117
+ "The origin server did not find a current representation for'\
118
+ ' the target resource or is not willing to disclose that one'\
119
+ ' exists.\n",
120
+ ErrorObjectException)
121
+ .local_error('500',
122
+ "The server encountered an unexpected condition that prevented'\
123
+ ' it from fulfilling the request.\n",
124
+ ErrorObjectException))
125
+ .execute
126
+ end
127
+
128
+ # This API allows querying the details of the latest statement of account
129
+ # (SOA) generated for a given Payer.
130
+ # The endpoint supports querying SOA documents by various input parameters
131
+ # specified in the request body.
132
+ # #### Supported operations
133
+ # * Search invoice SOA by payer and account
134
+ # * Search invoice SOA including monthly trend (last 13 months invocie
135
+ # trend summary)
136
+ # * Search invoice SOA including past SOAs
137
+ # * Search invoice SOA including due/overdue documents
138
+ # * Search invoice SOA including invoice summary
139
+ # @param [String] request_id Required parameter: Mandatory UUID (according
140
+ # to RFC 4122 standards) for requests and responses. This will be played
141
+ # back in the response from the request.
142
+ # @param [StatementOfAccountRequest] body Optional parameter:
143
+ # StatementOfAccount RequestBody
144
+ # @return [StatementOfAccountResponse] response from the API call
145
+ def statement_of_account(request_id,
146
+ body: nil)
147
+ new_api_call_builder
148
+ .request(new_request_builder(HttpMethodEnum::POST,
149
+ '/invoice-management/v1/statementofaccount',
150
+ Server::SHELL)
151
+ .header_param(new_parameter(request_id, key: 'RequestId'))
152
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
153
+ .body_param(new_parameter(body))
154
+ .header_param(new_parameter('application/json', key: 'accept'))
155
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
156
+ .auth(Single.new('BearerToken')))
157
+ .response(new_response_handler
158
+ .deserializer(APIHelper.method(:custom_type_deserializer))
159
+ .deserialize_into(StatementOfAccountResponse.method(:from_hash))
160
+ .local_error('400',
161
+ "The server cannot or will not process the request due to'\
162
+ ' something that is perceived to be a client error (e.g.,'\
163
+ ' malformed request syntax, invalid request message framing, or'\
164
+ ' deceptive request routing).\n",
165
+ ErrorObjectException)
166
+ .local_error('401',
167
+ "The request has not been applied because it lacks valid '\
168
+ ' authentication credentials for the target resource.\n",
169
+ ErrorObjectException)
170
+ .local_error('403',
171
+ 'Forbidden',
172
+ ErrorObjectException)
173
+ .local_error('404',
174
+ "The origin server did not find a current representation for'\
175
+ ' the target resource or is not willing to disclose that one'\
176
+ ' exists.\n",
177
+ ErrorObjectException)
178
+ .local_error('500',
179
+ "The server encountered an unexpected condition that prevented'\
180
+ ' it from fulfilling the request.\n",
181
+ ErrorObjectException))
182
+ .execute
183
+ end
184
+
185
+ # - This API will return the list of Invoice Dates and Numbers for the given
186
+ # date range. If the dates are not provided then it will fetch the data for
187
+ # past 13 months.
188
+ # @param [String] request_id Required parameter: Mandatory UUID (according
189
+ # to RFC 4122 standards) for requests and responses. This will be played
190
+ # back in the response from the request.
191
+ # @param [InvoiceDatesRequest] body Optional parameter: StatementOfAccount
192
+ # RequestBody
193
+ # @return [InvoiceDatesResponseData] response from the API call
194
+ def dates(request_id,
195
+ body: nil)
196
+ new_api_call_builder
197
+ .request(new_request_builder(HttpMethodEnum::POST,
198
+ '/invoice-management/v1/dates',
199
+ Server::SHELL)
200
+ .header_param(new_parameter(request_id, key: 'RequestId'))
201
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
202
+ .body_param(new_parameter(body))
203
+ .header_param(new_parameter('application/json', key: 'accept'))
204
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
205
+ .auth(Single.new('BearerToken')))
206
+ .response(new_response_handler
207
+ .deserializer(APIHelper.method(:custom_type_deserializer))
208
+ .deserialize_into(InvoiceDatesResponseData.method(:from_hash))
209
+ .local_error('400',
210
+ "The server cannot or will not process the request due to'\
211
+ ' something that is perceived to be a client error (e.g.,'\
212
+ ' malformed request syntax, invalid request message framing, or'\
213
+ ' deceptive request routing).\n",
214
+ ErrorObjectException)
215
+ .local_error('401',
216
+ "The request has not been applied because it lacks valid '\
217
+ ' authentication credentials for the target resource.\n",
218
+ ErrorObjectException)
219
+ .local_error('403',
220
+ 'Forbidden',
221
+ ErrorObjectException)
222
+ .local_error('404',
223
+ "The origin server did not find a current representation for'\
224
+ ' the target resource or is not willing to disclose that one'\
225
+ ' exists.\n",
226
+ ErrorObjectException)
227
+ .local_error('500',
228
+ "The server encountered an unexpected condition that prevented'\
229
+ ' it from fulfilling the request.\n",
230
+ ErrorObjectException))
231
+ .execute
232
+ end
233
+
234
+ # - This API will allow querying of SOA from different systems
235
+ # @param [String] request_id Required parameter: Mandatory UUID (according
236
+ # to RFC 4122 standards) for requests and responses. This will be played
237
+ # back in the response from the request.
238
+ # @param [SearchStatementOfAccountRequest] body Optional parameter:
239
+ # searchstatementofaccount RequestBody
240
+ # @return [SearchStatementOfAccountResponse] response from the API call
241
+ def search_statement_of_account(request_id,
242
+ body: nil)
243
+ new_api_call_builder
244
+ .request(new_request_builder(HttpMethodEnum::POST,
245
+ '/invoice-management/v1/searchstatementofaccount',
246
+ Server::SHELL)
247
+ .header_param(new_parameter(request_id, key: 'RequestId'))
248
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
249
+ .body_param(new_parameter(body))
250
+ .header_param(new_parameter('application/json', key: 'accept'))
251
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
252
+ .auth(Single.new('BearerToken')))
253
+ .response(new_response_handler
254
+ .deserializer(APIHelper.method(:custom_type_deserializer))
255
+ .deserialize_into(SearchStatementOfAccountResponse.method(:from_hash))
256
+ .local_error('400',
257
+ "The server cannot or will not process the request due to'\
258
+ ' something that is perceived to be a client error (e.g.,'\
259
+ ' malformed request syntax, invalid request message framing, or'\
260
+ ' deceptive request routing).\n",
261
+ ErrorObjectException)
262
+ .local_error('401',
263
+ "The request has not been applied because it lacks valid '\
264
+ ' authentication credentials for the target resource.\n",
265
+ ErrorObjectException)
266
+ .local_error('403',
267
+ 'Forbidden',
268
+ ErrorObjectException)
269
+ .local_error('404',
270
+ "The origin server did not find a current representation for'\
271
+ ' the target resource or is not willing to disclose that one'\
272
+ ' exists.\n",
273
+ ErrorObjectException)
274
+ .local_error('500',
275
+ "The server encountered an unexpected condition that prevented'\
276
+ ' it from fulfilling the request.\n",
277
+ ErrorObjectException))
278
+ .execute
279
+ end
280
+
281
+ # - This API allows querying the details of all invoices successfully
282
+ # uploaded to the Worldline invoice repository and file reference numbers
283
+ # for downloading.
284
+ # @param [String] request_id Required parameter: Mandatory UUID (according
285
+ # to RFC 4122 standards) for requests and responses. This will be played
286
+ # back in the response from the request.
287
+ # @param [SearchDocumentsRequest] body Optional parameter: SearchDocuments
288
+ # RequestBody
289
+ # @return [SearchDocumentsResponse] response from the API call
290
+ def search_documents(request_id,
291
+ body: nil)
292
+ new_api_call_builder
293
+ .request(new_request_builder(HttpMethodEnum::POST,
294
+ '/invoice-management/v1/searchdocuments',
295
+ Server::SHELL)
296
+ .header_param(new_parameter(request_id, key: 'RequestId'))
297
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
298
+ .body_param(new_parameter(body))
299
+ .header_param(new_parameter('application/json', key: 'accept'))
300
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
301
+ .auth(Single.new('BearerToken')))
302
+ .response(new_response_handler
303
+ .deserializer(APIHelper.method(:custom_type_deserializer))
304
+ .deserialize_into(SearchDocumentsResponse.method(:from_hash))
305
+ .local_error('400',
306
+ "The server cannot or will not process the request due to'\
307
+ ' something that is perceived to be a client error (e.g.,'\
308
+ ' malformed request syntax, invalid request message framing, or'\
309
+ ' deceptive request routing).\n",
310
+ ErrorObjectException)
311
+ .local_error('401',
312
+ "The request has not been applied because it lacks valid '\
313
+ ' authentication credentials for the target resource.\n",
314
+ ErrorObjectException)
315
+ .local_error('403',
316
+ 'Forbidden',
317
+ ErrorObjectException)
318
+ .local_error('404',
319
+ "The origin server did not find a current representation for'\
320
+ ' the target resource or is not willing to disclose that one'\
321
+ ' exists.\n",
322
+ ErrorObjectException)
323
+ .local_error('500',
324
+ "The server encountered an unexpected condition that prevented'\
325
+ ' it from fulfilling the request.\n",
326
+ ErrorObjectException))
327
+ .execute
328
+ end
329
+
330
+ # - This API provides the functionality needed for the screen “EID FILES” in
331
+ # the web interface. It allows retrieving a list of EIDs based on search
332
+ # criteria.
333
+ # @param [String] request_id Required parameter: Mandatory UUID (according
334
+ # to RFC 4122 standards) for requests and responses. This will be played
335
+ # back in the response from the request.
336
+ # @param [EIDSearchRequest] body Optional parameter: EIDSearch RequestBody
337
+ # @return [EIDDocumentResponse] response from the API call
338
+ def eid_search(request_id,
339
+ body: nil)
340
+ new_api_call_builder
341
+ .request(new_request_builder(HttpMethodEnum::POST,
342
+ '/invoice-management/v1/eidsearch',
343
+ Server::SHELL)
344
+ .header_param(new_parameter(request_id, key: 'RequestId'))
345
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
346
+ .body_param(new_parameter(body))
347
+ .header_param(new_parameter('application/json', key: 'accept'))
348
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
349
+ .auth(Single.new('BearerToken')))
350
+ .response(new_response_handler
351
+ .deserializer(APIHelper.method(:custom_type_deserializer))
352
+ .deserialize_into(EIDDocumentResponse.method(:from_hash))
353
+ .local_error('400',
354
+ "The server cannot or will not process the request due to'\
355
+ ' something that is perceived to be a client error (e.g.,'\
356
+ ' malformed request syntax, invalid request message framing, or'\
357
+ ' deceptive request routing).\n",
358
+ ErrorObjectException)
359
+ .local_error('401',
360
+ "The request has not been applied because it lacks valid '\
361
+ ' authentication credentials for the target resource.\n",
362
+ ErrorObjectException)
363
+ .local_error('403',
364
+ 'Forbidden',
365
+ ErrorObjectException)
366
+ .local_error('404',
367
+ "The origin server did not find a current representation for'\
368
+ ' the target resource or is not willing to disclose that one'\
369
+ ' exists.\n",
370
+ ErrorObjectException)
371
+ .local_error('500',
372
+ "The server encountered an unexpected condition that prevented'\
373
+ ' it from fulfilling the request.\n",
374
+ ErrorObjectException))
375
+ .execute
376
+ end
377
+
378
+ # - This API downloads Invoice Documents i.e., ZIP file with Invoice PDF
379
+ # file and Proofing Elements in XML format from invoice repository.
380
+ # @param [String] request_id Required parameter: Mandatory UUID (according
381
+ # to RFC 4122 standards) for requests and responses. This will be played
382
+ # back in the response from the request.
383
+ # @param [InvoiceDownloadRequest] body Optional parameter: Invoice Download
384
+ # RequestBody
385
+ # @return [Binary] response from the API call
386
+ def download(request_id,
387
+ body: nil)
388
+ new_api_call_builder
389
+ .request(new_request_builder(HttpMethodEnum::POST,
390
+ '/invoice-management/v1/download',
391
+ Server::SHELL)
392
+ .header_param(new_parameter(request_id, key: 'RequestId'))
393
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
394
+ .body_param(new_parameter(body))
395
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
396
+ .auth(Single.new('BearerToken')))
397
+ .response(new_response_handler
398
+ .local_error('400',
399
+ "The server cannot or will not process the request due to'\
400
+ ' something that is perceived to be a client error (e.g.,'\
401
+ ' malformed request syntax, invalid request message framing, or'\
402
+ ' deceptive request routing).\n",
403
+ ErrorObjectException)
404
+ .local_error('401',
405
+ "The request has not been applied because it lacks valid '\
406
+ ' authentication credentials for the target resource.\n",
407
+ ErrorObjectException)
408
+ .local_error('403',
409
+ 'Forbidden',
410
+ ErrorObjectException)
411
+ .local_error('404',
412
+ "The origin server did not find a current representation for'\
413
+ ' the target resource or is not willing to disclose that one'\
414
+ ' exists.\n",
415
+ ErrorObjectException)
416
+ .local_error('500',
417
+ "The server encountered an unexpected condition that prevented'\
418
+ ' it from fulfilling the request.\n",
419
+ ErrorObjectException))
420
+ .execute
421
+ end
422
+
423
+ # - This service allows downloading one or more EID documents and the
424
+ # corresponding signature material (where applicable) in one single request
425
+ # - The number of EID that can be downloaded at once is limited to 100
426
+ # documents.
427
+ # @param [String] request_id Required parameter: Mandatory UUID (according
428
+ # to RFC 4122 standards) for requests and responses. This will be played
429
+ # back in the response from the request.
430
+ # @param [EIDDownloadRequest] body Optional parameter: EIDInvoice Download
431
+ # RequestBody
432
+ # @return [Binary] response from the API call
433
+ def eid_download(request_id,
434
+ body: nil)
435
+ new_api_call_builder
436
+ .request(new_request_builder(HttpMethodEnum::POST,
437
+ '/invoice-management/v1/eiddownload',
438
+ Server::SHELL)
439
+ .header_param(new_parameter(request_id, key: 'RequestId'))
440
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
441
+ .body_param(new_parameter(body))
442
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
443
+ .auth(Single.new('BearerToken')))
444
+ .response(new_response_handler
445
+ .local_error('400',
446
+ "The server cannot or will not process the request due to'\
447
+ ' something that is perceived to be a client error (e.g.,'\
448
+ ' malformed request syntax, invalid request message framing, or'\
449
+ ' deceptive request routing).\n",
450
+ ErrorObjectException)
451
+ .local_error('401',
452
+ "The request has not been applied because it lacks valid '\
453
+ ' authentication credentials for the target resource.\n",
454
+ ErrorObjectException)
455
+ .local_error('403',
456
+ 'Forbidden',
457
+ ErrorObjectException)
458
+ .local_error('404',
459
+ "The origin server did not find a current representation for'\
460
+ ' the target resource or is not willing to disclose that one'\
461
+ ' exists.\n",
462
+ ErrorObjectException)
463
+ .local_error('500',
464
+ "The server encountered an unexpected condition that prevented'\
465
+ ' it from fulfilling the request.\n",
466
+ ErrorObjectException))
467
+ .execute
468
+ end
469
+ end
470
+ end
@@ -0,0 +1,42 @@
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
+ # OAuthAuthorizationController
8
+ class OAuthAuthorizationController < BaseController
9
+ # Create a new OAuth 2 token.
10
+ # @param [String] authorization Required parameter: Authorization header in
11
+ # Basic auth format
12
+ # @param [String] scope Optional parameter: Requested scopes as a
13
+ # space-delimited list.
14
+ # @param [Hash] _field_parameters Additional optional form parameters are
15
+ # supported by this endpoint.
16
+ # @return [OAuthToken] response from the API call
17
+ def request_token_bearer_token(authorization,
18
+ scope: nil,
19
+ _field_parameters: nil)
20
+ new_api_call_builder
21
+ .request(new_request_builder(HttpMethodEnum::POST,
22
+ '/v1/oauth/token',
23
+ Server::OAUTH_SERVER)
24
+ .form_param(new_parameter('client_credentials', key: 'grant_type'))
25
+ .header_param(new_parameter(authorization, key: 'Authorization'))
26
+ .form_param(new_parameter(scope, key: 'scope'))
27
+ .header_param(new_parameter('application/x-www-form-urlencoded', key: 'content-type'))
28
+ .header_param(new_parameter('application/json', key: 'accept'))
29
+ .additional_form_params(_field_parameters))
30
+ .response(new_response_handler
31
+ .deserializer(APIHelper.method(:custom_type_deserializer))
32
+ .deserialize_into(OAuthToken.method(:from_hash))
33
+ .local_error('400',
34
+ 'OAuth 2 provider returned an error.',
35
+ OAuthProviderException)
36
+ .local_error('401',
37
+ 'OAuth 2 provider says client authentication failed.',
38
+ OAuthProviderException))
39
+ .execute
40
+ end
41
+ end
42
+ end