data-and-reporting-sdk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,878 @@
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
+ # TransactionController
8
+ class TransactionController < BaseController
9
+ # This API allows querying transaction data (i.e. Priced, Billed and
10
+ # Unbilled sales items). It provides a flexible search criteria and supports
11
+ # paging.
12
+ # Transactions that are posted but not yet priced, billed or that are in
13
+ # error will not be returned by this API. The API also supports returning
14
+ # Fee Items.
15
+ # #### Supported operations
16
+ # * Get sales items and fee transactions
17
+ # * Search by invoice status
18
+ # * Search by fixed date period
19
+ # * Search by date range
20
+ # * Search by account
21
+ # * Search by card
22
+ # * Get sales items only
23
+ # * Search by transaction Id or location
24
+ # * Search by transaction posting date
25
+ # * Search by invoice number or date
26
+ # * Search by driver name or vehicle registration number
27
+ # * Search by card group
28
+ # * Search by fuel only transactions
29
+ # * Search by product
30
+ #
31
+ # This API fetches transactions for a period based on the below parameters
32
+ # and priority order:
33
+ # 1. InvoiceNumber
34
+ # 2. InvoiceDate
35
+ # 3. FromDate, ToDate
36
+ # 4. PostingFromDate, PostingToDate (Can be used only when IncludeFees =
37
+ # false)
38
+ # 5. InvoiceDateFrom, InvoiceDateTo
39
+ # 6. Period
40
+ # This API considers only one of the above set of parameters at a time. For
41
+ # example, if InvoiceNumber and Period are provided in the input then Period
42
+ # is ignored and transactions associated to the given invoice number are
43
+ # returned.
44
+ # If none of the above parameters are provided then last 7 days transactions
45
+ # will be fetched.
46
+ # This operation can fetch transactions that are old up to 24 (configurable)
47
+ # months. However, the date range between any of the ‘From’ and ‘To’ dates
48
+ # in the above combination cannot be more than 210 (configurable) days.
49
+ # @param [String] apikey Required parameter: This is the API key of the
50
+ # specific environment which needs to be passed by the client.
51
+ # @param [String] request_id Required parameter: Mandatory UUID (according
52
+ # to RFC 4122 standards) for requests and responses. This will be played
53
+ # back in the response from the request.
54
+ # @param [PriceTransactionRequest] body Optional parameter: Priced
55
+ # Transaction Request Body
56
+ # @return [PricedTransactionResponse] response from the API call
57
+ def priced_transactions(apikey,
58
+ request_id,
59
+ body: nil)
60
+ new_api_call_builder
61
+ .request(new_request_builder(HttpMethodEnum::POST,
62
+ '/fleetmanagement/v1/transaction/pricedtransactions',
63
+ Server::SHELL)
64
+ .header_param(new_parameter(apikey, key: 'apikey'))
65
+ .header_param(new_parameter(request_id, key: 'RequestId'))
66
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
67
+ .body_param(new_parameter(body))
68
+ .header_param(new_parameter('application/json', key: 'accept'))
69
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
70
+ .auth(Single.new('BasicAuth')))
71
+ .response(new_response_handler
72
+ .deserializer(APIHelper.method(:custom_type_deserializer))
73
+ .deserialize_into(PricedTransactionResponse.method(:from_hash))
74
+ .local_error('400',
75
+ "The server cannot or will not process the request due to'\
76
+ ' something that is perceived to be a client\r\n error (e.g.,'\
77
+ ' malformed request syntax, invalid \r\n request message framing,'\
78
+ ' or deceptive request routing).",
79
+ DefaultErrorException)
80
+ .local_error('401',
81
+ "The request has not been applied because it lacks valid '\
82
+ ' authentication credentials for the target resource.\r\n",
83
+ DefaultErrorException)
84
+ .local_error('403',
85
+ "The server understood the request but refuses to authorize it.'\
86
+ '\r\n",
87
+ ErrorUserAccessError1Exception)
88
+ .local_error('404',
89
+ "The origin server did not find a current representation for'\
90
+ ' the target resource or is not willing to disclose that one'\
91
+ ' exists.\r\n",
92
+ DefaultErrorException)
93
+ .local_error('500',
94
+ "The server encountered an unexpected condition the prevented it'\
95
+ ' from fulfilling the request.\r\n",
96
+ DefaultErrorException))
97
+ .execute
98
+ end
99
+
100
+ # This API returns the transaction summary data (i.e. Priced, Billed and
101
+ # Unbilled sales items). It provides a flexible search criteria.
102
+ # The API also supports returning Fee Items. Transactions posted for fee
103
+ # items that are in error are not included in the summary.
104
+ # The endpoint supports the exact same search criteria as the endpoint
105
+ # *transaction/prciedtransactions*.
106
+ # #### Supported operations
107
+ # * Get sales items and fee transactions
108
+ # * Search by invoice status
109
+ # * Search by fixed date period
110
+ # * Search by date range
111
+ # * Search by account
112
+ # * Search by card
113
+ # * Get sales items only
114
+ # * Search by transaction Id or location
115
+ # * Search by transaction posting date
116
+ # * Search by invoice number or date
117
+ # * Search by driver name or vehicle registration number
118
+ # * Search by card group
119
+ # * Search by fuel only transactions
120
+ # * Search by product
121
+ #
122
+ # This API fetches transactions for a period based on the below parameters
123
+ # and priority order:
124
+ # 1. InvoiceNumber
125
+ # 2. InvoiceDate
126
+ # 3. FromDate, ToDate
127
+ # 4. PostingFromDate, PostingToDate (Can be used only when IncludeFees =
128
+ # false)
129
+ # 5. InvoiceDateFrom, InvoiceDateTo
130
+ # 6. Period
131
+ # This API considers only one of the above set of parameters at a time. For
132
+ # example, if InvoiceNumber and Period are provided in the input then Period
133
+ # is ignored and transactions associated to the given invoice number are
134
+ # returned.
135
+ # If none of the above parameters are provided then last 7 days transactions
136
+ # will be fetched.
137
+ # @param [String] apikey Required parameter: This is the API key of the
138
+ # specific environment which needs to be passed by the client.
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 [PriceTransSummaryRequest] body Optional parameter: PricedSummary
143
+ # RequestBody
144
+ # @return [PricedTransSummaryResponse] response from the API call
145
+ def priced_transactions_summary(apikey,
146
+ request_id,
147
+ body: nil)
148
+ new_api_call_builder
149
+ .request(new_request_builder(HttpMethodEnum::POST,
150
+ '/fleetmanagement/v1/transaction/pricedtransactionssummary',
151
+ Server::SHELL)
152
+ .header_param(new_parameter(apikey, key: 'apikey'))
153
+ .header_param(new_parameter(request_id, key: 'RequestId'))
154
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
155
+ .body_param(new_parameter(body))
156
+ .header_param(new_parameter('application/json', key: 'accept'))
157
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
158
+ .auth(Single.new('BasicAuth')))
159
+ .response(new_response_handler
160
+ .deserializer(APIHelper.method(:custom_type_deserializer))
161
+ .deserialize_into(PricedTransSummaryResponse.method(:from_hash))
162
+ .local_error('400',
163
+ "The server cannot or will not process the request due to'\
164
+ ' something that is perceived to be a client\r\n error (e.g.,'\
165
+ ' malformed request syntax, invalid \r\n request message framing,'\
166
+ ' or deceptive request routing).",
167
+ DefaultErrorException)
168
+ .local_error('401',
169
+ "The request has not been applied because it lacks valid '\
170
+ ' authentication credentials for the target resource.\r\n",
171
+ DefaultErrorException)
172
+ .local_error('403',
173
+ "The server understood the request but refuses to authorize it.'\
174
+ '\r\n",
175
+ ErrorUserAccessError1Exception)
176
+ .local_error('404',
177
+ "The origin server did not find a current representation for'\
178
+ ' the target resource or is not willing to disclose that one'\
179
+ ' exists.\r\n",
180
+ DefaultErrorException)
181
+ .local_error('500',
182
+ "The server encountered an unexpected condition the prevented it'\
183
+ ' from fulfilling the request.\r\n",
184
+ DefaultErrorException))
185
+ .execute
186
+ end
187
+
188
+ # This API allows querying transaction data (i.e. Priced, Billed and
189
+ # Unbilled sales items) for multiple payers. It provides a flexible search
190
+ # criteria and supports paging.
191
+ # Transactions that are posted but not yet priced, billed or that are in
192
+ # error will not be returned by this API. The API also supports returning
193
+ # Fee Items.
194
+ # At least one payer should be provided. Multiple payers must belong to the
195
+ # same payer group.
196
+ # #### Supported operations
197
+ # * Get sales items and fee transactions for multiple payers
198
+ # * Search by invoice status
199
+ # * Search by fixed date period
200
+ # * Search by date range
201
+ # * Get sales items only for multiple payers
202
+ # * Search by transaction location
203
+ # * Search by transaction posting date
204
+ # * Search by invoice number or date
205
+ # * Search by fuel only transactions
206
+ #
207
+ # This API fetches transactions for a period based on the below parameters
208
+ # and priority order:
209
+ # 1. InvoiceNumber
210
+ # 2. InvoiceDate
211
+ # 3. FromDate, ToDate
212
+ # 4. PostingFromDate, PostingToDate (Can be used only when IncludeFees =
213
+ # false)
214
+ # 5. InvoiceDateFrom, InvoiceDateTo
215
+ # 6. Period
216
+ # This API considers only one of the above set of parameters at a time. For
217
+ # example, if InvoiceNumber and Period are provided in the input then Period
218
+ # is ignored and transactions associated to the given invoice number are
219
+ # returned.
220
+ # If none of the above parameters are provided then last 7 days transactions
221
+ # will be fetched.
222
+ # @param [String] apikey Required parameter: This is the API key of the
223
+ # specific environment which needs to be passed by the client.
224
+ # @param [String] request_id Required parameter: Mandatory UUID (according
225
+ # to RFC 4122 standards) for requests and responses. This will be played
226
+ # back in the response from the request.
227
+ # @param [MultiPricedTransactionRequest] body Optional parameter: MultiPayer
228
+ # RequestBody
229
+ # @return [MultiPricedTransactionResponse] response from the API call
230
+ def multipriced_transactions(apikey,
231
+ request_id,
232
+ body: nil)
233
+ new_api_call_builder
234
+ .request(new_request_builder(HttpMethodEnum::POST,
235
+ '/fleetmanagement/v1/transaction/multipayerspricedtransactions',
236
+ Server::SHELL)
237
+ .header_param(new_parameter(apikey, key: 'apikey'))
238
+ .header_param(new_parameter(request_id, key: 'RequestId'))
239
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
240
+ .body_param(new_parameter(body))
241
+ .header_param(new_parameter('application/json', key: 'accept'))
242
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
243
+ .auth(Single.new('BasicAuth')))
244
+ .response(new_response_handler
245
+ .deserializer(APIHelper.method(:custom_type_deserializer))
246
+ .deserialize_into(MultiPricedTransactionResponse.method(:from_hash))
247
+ .local_error('400',
248
+ "The server cannot or will not process the request due to'\
249
+ ' something that is perceived to be a client\r\n error (e.g.,'\
250
+ ' malformed request syntax, invalid \r\n request message framing,'\
251
+ ' or deceptive request routing).",
252
+ DefaultErrorException)
253
+ .local_error('401',
254
+ "The request has not been applied because it lacks valid '\
255
+ ' authentication credentials for the target resource.\r\n",
256
+ DefaultErrorException)
257
+ .local_error('403',
258
+ "The server understood the request but refuses to authorize it.'\
259
+ '\r\n",
260
+ ErrorUserAccessError1Exception)
261
+ .local_error('404',
262
+ "The origin server did not find a current representation for'\
263
+ ' the target resource or is not willing to disclose that one'\
264
+ ' exists.\r\n",
265
+ DefaultErrorException)
266
+ .local_error('500',
267
+ "The server encountered an unexpected condition the prevented it'\
268
+ ' from fulfilling the request.\r\n",
269
+ DefaultErrorException))
270
+ .execute
271
+ end
272
+
273
+ # This operation is to provide the expenditure analysis for a card for the
274
+ # past 7 months.
275
+ # The response contains a daily summary of the transactions (billed &
276
+ # unbilled) from 1st of the last 7 months for the requested card grouped by
277
+ # card, site-group and product.
278
+ # @param [String] apikey Required parameter: This is the API key of the
279
+ # specific environment which needs to be passed by the client.
280
+ # @param [String] request_id Required parameter: Mandatory UUID (according
281
+ # to RFC 4122 standards) for requests and responses. This will be played
282
+ # back in the response from the request.
283
+ # @param [CardUsageSummaryRequest] body Optional parameter: Card Usage
284
+ # Summary RequestBody
285
+ # @return [CardUsageSummaryResponse] response from the API call
286
+ def card_usage_summary(apikey,
287
+ request_id,
288
+ body: nil)
289
+ new_api_call_builder
290
+ .request(new_request_builder(HttpMethodEnum::POST,
291
+ '/fleetmanagement/v1/transaction/cardusagesummary',
292
+ Server::SHELL)
293
+ .header_param(new_parameter(apikey, key: 'apikey'))
294
+ .header_param(new_parameter(request_id, key: 'RequestId'))
295
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
296
+ .body_param(new_parameter(body))
297
+ .header_param(new_parameter('application/json', key: 'accept'))
298
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
299
+ .auth(Single.new('BasicAuth')))
300
+ .response(new_response_handler
301
+ .deserializer(APIHelper.method(:custom_type_deserializer))
302
+ .deserialize_into(CardUsageSummaryResponse.method(:from_hash))
303
+ .local_error('400',
304
+ "The server cannot or will not process the request due to'\
305
+ ' something that is perceived to be a client\r\n error (e.g.,'\
306
+ ' malformed request syntax, invalid \r\n request message framing,'\
307
+ ' or deceptive request routing).",
308
+ DefaultErrorException)
309
+ .local_error('401',
310
+ "The request has not been applied because it lacks valid '\
311
+ ' authentication credentials for the target resource.\r\n",
312
+ DefaultErrorException)
313
+ .local_error('403',
314
+ "The server understood the request but refuses to authorize it.'\
315
+ '\r\n",
316
+ ErrorUserAccessError1Exception)
317
+ .local_error('404',
318
+ "The origin server did not find a current representation for'\
319
+ ' the target resource or is not willing to disclose that one'\
320
+ ' exists.\r\n",
321
+ DefaultErrorException)
322
+ .local_error('500',
323
+ "The server encountered an unexpected condition the prevented it'\
324
+ ' from fulfilling the request.\r\n",
325
+ DefaultErrorException))
326
+ .execute
327
+ end
328
+
329
+ # - This API provides the details of the bonus and/or association bonus
330
+ # rules setup for the given payer and that are active on the current date.
331
+ # - This API also returns the details of the monthly breakup of current
332
+ # period consumption as well as the details of the previously calculated
333
+ # bonus and consumption of the applicable payers.
334
+ # @param [String] apikey Required parameter: This is the API key of the
335
+ # specific environment which needs to be passed by the client.
336
+ # @param [String] request_id Required parameter: Mandatory UUID (according
337
+ # to RFC 4122 standards) for requests and responses. This will be played
338
+ # back in the response from the request.
339
+ # @param [VolumeBasedBonusRequest] body Optional parameter: VolumeBasedBonus
340
+ # RequestBody
341
+ # @return [VolumeBasedBonusResponse] response from the API call
342
+ def volume_based_bonus(apikey,
343
+ request_id,
344
+ body: nil)
345
+ new_api_call_builder
346
+ .request(new_request_builder(HttpMethodEnum::POST,
347
+ '/fleetmanagement/v1/transaction/volumebasedbonus',
348
+ Server::SHELL)
349
+ .header_param(new_parameter(apikey, key: 'apikey'))
350
+ .header_param(new_parameter(request_id, key: 'RequestId'))
351
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
352
+ .body_param(new_parameter(body))
353
+ .header_param(new_parameter('application/json', key: 'accept'))
354
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
355
+ .auth(Single.new('BasicAuth')))
356
+ .response(new_response_handler
357
+ .deserializer(APIHelper.method(:custom_type_deserializer))
358
+ .deserialize_into(VolumeBasedBonusResponse.method(:from_hash))
359
+ .local_error('400',
360
+ "The server cannot or will not process the request due to'\
361
+ ' something that is perceived to be a client\r\n error (e.g.,'\
362
+ ' malformed request syntax, invalid \r\n request message framing,'\
363
+ ' or deceptive request routing).",
364
+ DefaultErrorException)
365
+ .local_error('401',
366
+ "The request has not been applied because it lacks valid '\
367
+ ' authentication credentials for the target resource.\r\n",
368
+ DefaultErrorException)
369
+ .local_error('403',
370
+ "The server understood the request but refuses to authorize it.'\
371
+ '\r\n",
372
+ ErrorUserAccessError1Exception)
373
+ .local_error('404',
374
+ "The origin server did not find a current representation for'\
375
+ ' the target resource or is not willing to disclose that one'\
376
+ ' exists.\r\n",
377
+ DefaultErrorException)
378
+ .local_error('500',
379
+ "The server encountered an unexpected condition the prevented it'\
380
+ ' from fulfilling the request.\r\n",
381
+ DefaultErrorException))
382
+ .execute
383
+ end
384
+
385
+ # - This API will return the details of the in arrear fee rule applied to
386
+ # the payer along with details of locations, products, tiers as applied.
387
+ # - It will also show historical and current volume consumption and related
388
+ # tier applied for the following month.
389
+ # @param [String] apikey Required parameter: This is the API key of the
390
+ # specific environment which needs to be passed by the client.
391
+ # @param [String] request_id Required parameter: Mandatory UUID (according
392
+ # to RFC 4122 standards) for requests and responses. This will be played
393
+ # back in the response from the request.
394
+ # @param [VolumeBasedPricingRequest] body Optional parameter:
395
+ # VolumeBasedPricing RequestBody
396
+ # @return [VolumeBasedPricingResponse] response from the API call
397
+ def volume_based_pricing(apikey,
398
+ request_id,
399
+ body: nil)
400
+ new_api_call_builder
401
+ .request(new_request_builder(HttpMethodEnum::POST,
402
+ '/fleetmanagement/v1/transaction/volumebasedpricing',
403
+ Server::SHELL)
404
+ .header_param(new_parameter(apikey, key: 'apikey'))
405
+ .header_param(new_parameter(request_id, key: 'RequestId'))
406
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
407
+ .body_param(new_parameter(body))
408
+ .header_param(new_parameter('application/json', key: 'accept'))
409
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
410
+ .auth(Single.new('BasicAuth')))
411
+ .response(new_response_handler
412
+ .deserializer(APIHelper.method(:custom_type_deserializer))
413
+ .deserialize_into(VolumeBasedPricingResponse.method(:from_hash))
414
+ .local_error('400',
415
+ "The server cannot or will not process the request due to'\
416
+ ' something that is perceived to be a client\r\n error (e.g.,'\
417
+ ' malformed request syntax, invalid \r\n request message framing,'\
418
+ ' or deceptive request routing).",
419
+ DefaultErrorException)
420
+ .local_error('401',
421
+ "The request has not been applied because it lacks valid '\
422
+ ' authentication credentials for the target resource.\r\n",
423
+ DefaultErrorException)
424
+ .local_error('403',
425
+ "The server understood the request but refuses to authorize it.'\
426
+ '\r\n",
427
+ ErrorUserAccessError1Exception)
428
+ .local_error('404',
429
+ "The origin server did not find a current representation for'\
430
+ ' the target resource or is not willing to disclose that one'\
431
+ ' exists.\r\n",
432
+ DefaultErrorException)
433
+ .local_error('500',
434
+ "The server encountered an unexpected condition the prevented it'\
435
+ ' from fulfilling the request.\r\n",
436
+ DefaultErrorException))
437
+ .execute
438
+ end
439
+
440
+ # This API returns the fee/charges levied from a customer's account in a
441
+ # billing period or date range. The API returns both billed and unbilled fee
442
+ # items.
443
+ # To get the summary of charges, the endpoint *transaction/feessummary*
444
+ # should be called with the same input criteria.
445
+ # #### Supported operations
446
+ # * Get fees by invoice status
447
+ # * Get fees by date period
448
+ # * Get fees by account
449
+ # * Get fees by card Id or PAN
450
+ # * Get fees by fee type charges
451
+ # * Get fees including cancelled items
452
+ # * Get fees by line item description
453
+ # * Get fees by product
454
+ # @param [String] apikey Required parameter: This is the API key of the
455
+ # specific environment which needs to be passed by the client.
456
+ # @param [String] request_id Required parameter: Mandatory UUID (according
457
+ # to RFC 4122 standards) for requests and responses. This will be played
458
+ # back in the response from the request.
459
+ # @param [TransactionFeesRequest] body Optional parameter: Transaction Fees
460
+ # RequestBody
461
+ # @return [TransactionFeesResponse] response from the API call
462
+ def fees(apikey,
463
+ request_id,
464
+ body: nil)
465
+ new_api_call_builder
466
+ .request(new_request_builder(HttpMethodEnum::POST,
467
+ '/fleetmanagement/v1/transaction/fees',
468
+ Server::SHELL)
469
+ .header_param(new_parameter(apikey, key: 'apikey'))
470
+ .header_param(new_parameter(request_id, key: 'RequestId'))
471
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
472
+ .body_param(new_parameter(body))
473
+ .header_param(new_parameter('application/json', key: 'accept'))
474
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
475
+ .auth(Single.new('BasicAuth')))
476
+ .response(new_response_handler
477
+ .deserializer(APIHelper.method(:custom_type_deserializer))
478
+ .deserialize_into(TransactionFeesResponse.method(:from_hash))
479
+ .local_error('400',
480
+ "The server cannot or will not process the request due to'\
481
+ ' something that is perceived to be a client\r\n error (e.g.,'\
482
+ ' malformed request syntax, invalid \r\n request message framing,'\
483
+ ' or deceptive request routing).",
484
+ DefaultErrorException)
485
+ .local_error('401',
486
+ "The request has not been applied because it lacks valid '\
487
+ ' authentication credentials for the target resource.\r\n",
488
+ DefaultErrorException)
489
+ .local_error('403',
490
+ "The server understood the request but refuses to authorize it.'\
491
+ '\r\n",
492
+ ErrorUserAccessError1Exception)
493
+ .local_error('404',
494
+ "The origin server did not find a current representation for'\
495
+ ' the target resource or is not willing to disclose that one'\
496
+ ' exists.\r\n",
497
+ DefaultErrorException)
498
+ .local_error('500',
499
+ "The server encountered an unexpected condition the prevented it'\
500
+ ' from fulfilling the request.\r\n",
501
+ DefaultErrorException))
502
+ .execute
503
+ end
504
+
505
+ # This API returns the summary data of the fee/charges levied from a
506
+ # customer's account in a billing period or date range. The API returns both
507
+ # billed and unbilled fee items.
508
+ # The endpoint supports the exact same search criteria as the endpoint
509
+ # *transaction/feessummary*.
510
+ # #### Supported operations
511
+ # * Get fees by invoice status
512
+ # * Get fees by date period
513
+ # * Get fees by account
514
+ # * Get fees by card Id or PAN
515
+ # * Get fees by fee type charges
516
+ # * Get fees including cancelled items
517
+ # * Get fees by line item description
518
+ # * Get fees by product
519
+ # @param [String] apikey Required parameter: This is the API key of the
520
+ # specific environment which needs to be passed by the client.
521
+ # @param [String] request_id Required parameter: Mandatory UUID (according
522
+ # to RFC 4122 standards) for requests and responses. This will be played
523
+ # back in the response from the request.
524
+ # @param [TransactionFeesRequest] body Optional parameter: FeeSummary
525
+ # RequestBody
526
+ # @return [FeeSummaryResponse] response from the API call
527
+ def fee_summary_response(apikey,
528
+ request_id,
529
+ body: nil)
530
+ new_api_call_builder
531
+ .request(new_request_builder(HttpMethodEnum::POST,
532
+ '/fleetmanagement/v1/transaction/feessummary',
533
+ Server::SHELL)
534
+ .header_param(new_parameter(apikey, key: 'apikey'))
535
+ .header_param(new_parameter(request_id, key: 'RequestId'))
536
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
537
+ .body_param(new_parameter(body))
538
+ .header_param(new_parameter('application/json', key: 'accept'))
539
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
540
+ .auth(Single.new('BasicAuth')))
541
+ .response(new_response_handler
542
+ .deserializer(APIHelper.method(:custom_type_deserializer))
543
+ .deserialize_into(FeeSummaryResponse.method(:from_hash))
544
+ .local_error('400',
545
+ "The server cannot or will not process the request due to'\
546
+ ' something that is perceived to be a client\r\n error (e.g.,'\
547
+ ' malformed request syntax, invalid \r\n request message framing,'\
548
+ ' or deceptive request routing).",
549
+ DefaultErrorException)
550
+ .local_error('401',
551
+ "The request has not been applied because it lacks valid '\
552
+ ' authentication credentials for the target resource.\r\n",
553
+ DefaultErrorException)
554
+ .local_error('403',
555
+ "The server understood the request but refuses to authorize it.'\
556
+ '\r\n",
557
+ ErrorUserAccessError1Exception)
558
+ .local_error('404',
559
+ "The origin server did not find a current representation for'\
560
+ ' the target resource or is not willing to disclose that one'\
561
+ ' exists.\r\n",
562
+ DefaultErrorException)
563
+ .local_error('500',
564
+ "The server encountered an unexpected condition the prevented it'\
565
+ ' from fulfilling the request.\r\n",
566
+ DefaultErrorException))
567
+ .execute
568
+ end
569
+
570
+ # - This API returns the customer an overview of how many transactions, how
571
+ # much fuel volume used over a given period and the total volume used by a
572
+ # card
573
+ # - This operation response will contains card & transaction details for
574
+ # given period aggregated by payer, account, cardGroup, PAN, DriverName and
575
+ # VRN
576
+ # @param [String] apikey Required parameter: This is the API key of the
577
+ # specific environment which needs to be passed by the client.
578
+ # @param [String] request_id Required parameter: Mandatory UUID (according
579
+ # to RFC 4122 standards) for requests and responses. This will be played
580
+ # back in the response from the request.
581
+ # @param [FuelConsumptionRequest] body Optional parameter: FuelConsumption
582
+ # RequestBody
583
+ # @return [FuelConsumptionResponse] response from the API call
584
+ def fuel_consumption(apikey,
585
+ request_id,
586
+ body: nil)
587
+ new_api_call_builder
588
+ .request(new_request_builder(HttpMethodEnum::POST,
589
+ '/fleetmanagement/v1/transaction/fuelconsumption',
590
+ Server::SHELL)
591
+ .header_param(new_parameter(apikey, key: 'apikey'))
592
+ .header_param(new_parameter(request_id, key: 'RequestId'))
593
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
594
+ .body_param(new_parameter(body))
595
+ .header_param(new_parameter('application/json', key: 'accept'))
596
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
597
+ .auth(Single.new('BasicAuth')))
598
+ .response(new_response_handler
599
+ .deserializer(APIHelper.method(:custom_type_deserializer))
600
+ .deserialize_into(FuelConsumptionResponse.method(:from_hash))
601
+ .local_error('400',
602
+ "The server cannot or will not process the request due to'\
603
+ ' something that is perceived to be a client\r\n error (e.g.,'\
604
+ ' malformed request syntax, invalid \r\n request message framing,'\
605
+ ' or deceptive request routing).",
606
+ DefaultErrorException)
607
+ .local_error('401',
608
+ "The request has not been applied because it lacks valid '\
609
+ ' authentication credentials for the target resource.\r\n",
610
+ DefaultErrorException)
611
+ .local_error('403',
612
+ "The server understood the request but refuses to authorize it.'\
613
+ '\r\n",
614
+ ErrorUserAccessError1Exception)
615
+ .local_error('404',
616
+ "The origin server did not find a current representation for'\
617
+ ' the target resource or is not willing to disclose that one'\
618
+ ' exists.\r\n",
619
+ DefaultErrorException)
620
+ .local_error('500',
621
+ "The server encountered an unexpected condition the prevented it'\
622
+ ' from fulfilling the request.\r\n",
623
+ DefaultErrorException))
624
+ .execute
625
+ end
626
+
627
+ # - This API allows the users to update the odometer readings on the sales
628
+ # items (transaction data)
629
+ # - This is an asynchronous operation. If opted, the user will be notified
630
+ # on completion of processing.
631
+ # @param [String] apikey Required parameter: This is the API key of the
632
+ # specific environment which needs to be passed by the client.
633
+ # @param [String] request_id Required parameter: Mandatory UUID (according
634
+ # to RFC 4122 standards) for requests and responses. This will be played
635
+ # back in the response from the request.
636
+ # @param [UpdateOdometerRequest] body Optional parameter: updateOdometer
637
+ # RequestBody
638
+ # @return [UpdateOdometerResponse] response from the API call
639
+ def update_odometer(apikey,
640
+ request_id,
641
+ body: nil)
642
+ new_api_call_builder
643
+ .request(new_request_builder(HttpMethodEnum::POST,
644
+ '/fleetmanagement/v1/transaction/updateodometer',
645
+ Server::SHELL)
646
+ .header_param(new_parameter(apikey, key: 'apikey'))
647
+ .header_param(new_parameter(request_id, key: 'RequestId'))
648
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
649
+ .body_param(new_parameter(body))
650
+ .header_param(new_parameter('application/json', key: 'accept'))
651
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
652
+ .auth(Single.new('BasicAuth')))
653
+ .response(new_response_handler
654
+ .deserializer(APIHelper.method(:custom_type_deserializer))
655
+ .deserialize_into(UpdateOdometerResponse.method(:from_hash))
656
+ .local_error('400',
657
+ "The server cannot or will not process the request due to'\
658
+ ' something that is perceived to be a client\r\n error (e.g.,'\
659
+ ' malformed request syntax, invalid \r\n request message framing,'\
660
+ ' or deceptive request routing).",
661
+ DefaultErrorException)
662
+ .local_error('401',
663
+ "The request has not been applied because it lacks valid '\
664
+ ' authentication credentials for the target resource.\r\n",
665
+ DefaultErrorException)
666
+ .local_error('403',
667
+ "The server understood the request but refuses to authorize it.'\
668
+ '\r\n",
669
+ ErrorUserAccessError1Exception)
670
+ .local_error('404',
671
+ "The origin server did not find a current representation for'\
672
+ ' the target resource or is not willing to disclose that one'\
673
+ ' exists.\r\n",
674
+ DefaultErrorException)
675
+ .local_error('500',
676
+ "The server encountered an unexpected condition the prevented it'\
677
+ ' from fulfilling the request.\r\n",
678
+ DefaultErrorException))
679
+ .execute
680
+ end
681
+
682
+ # - This API provides the details of the Cards or Transaction related
683
+ # exceptions based on the given conditions for the Requested period.
684
+ # - This API will return the Transactions related exceptions when the
685
+ # OutputType input parameter is passed as ‘Transaction’ else will return the
686
+ # Cards related exceptions.
687
+ # @param [String] apikey Required parameter: This is the API key of the
688
+ # specific environment which needs to be passed by the client.
689
+ # @param [String] request_id Required parameter: Mandatory UUID (according
690
+ # to RFC 4122 standards) for requests and responses. This will be played
691
+ # back in the response from the request.
692
+ # @param [TransactionExceptionsRequest] body Optional parameter: Transaction
693
+ # Exceptions RequestBody
694
+ # @return [TransactionExceptionsResponse] response from the API call
695
+ def transaction_exceptions(apikey,
696
+ request_id,
697
+ body: nil)
698
+ new_api_call_builder
699
+ .request(new_request_builder(HttpMethodEnum::POST,
700
+ '/fleetmanagement/v1/transaction/exceptions',
701
+ Server::SHELL)
702
+ .header_param(new_parameter(apikey, key: 'apikey'))
703
+ .header_param(new_parameter(request_id, key: 'RequestId'))
704
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
705
+ .body_param(new_parameter(body))
706
+ .header_param(new_parameter('application/json', key: 'accept'))
707
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
708
+ .auth(Single.new('BasicAuth')))
709
+ .response(new_response_handler
710
+ .deserializer(APIHelper.method(:custom_type_deserializer))
711
+ .deserialize_into(TransactionExceptionsResponse.method(:from_hash))
712
+ .local_error('400',
713
+ "The server cannot or will not process the request due to'\
714
+ ' something that is perceived to be a client\r\n error (e.g.,'\
715
+ ' malformed request syntax, invalid \r\n request message framing,'\
716
+ ' or deceptive request routing).",
717
+ DefaultErrorException)
718
+ .local_error('401',
719
+ "The request has not been applied because it lacks valid '\
720
+ ' authentication credentials for the target resource.\r\n",
721
+ DefaultErrorException)
722
+ .local_error('403',
723
+ "The server understood the request but refuses to authorize it.'\
724
+ '\r\n",
725
+ ErrorUserAccessError1Exception)
726
+ .local_error('404',
727
+ "The origin server did not find a current representation for'\
728
+ ' the target resource or is not willing to disclose that one'\
729
+ ' exists.\r\n",
730
+ DefaultErrorException)
731
+ .local_error('500',
732
+ "The server encountered an unexpected condition the prevented it'\
733
+ ' from fulfilling the request.\r\n",
734
+ DefaultErrorException))
735
+ .execute
736
+ end
737
+
738
+ # This endpoint allows querying last 48 hours of transaction data of Shell
739
+ # Card (i.e. Priced, Billed, Unbilled etc. sales items). It provides a
740
+ # flexible search criteria and supports pagination. E.g., if the request is
741
+ # made at 08:30 AM on 18 Aug 2022 then transactions until 16 Aug 2022 08:30
742
+ # AM (including) can be retrieved.
743
+ # #### Supported operations
744
+ # * Search by Date and Time range (within the last 48 hours only)
745
+ # * Search by Payer and/or Account number
746
+ # * Search by Card
747
+ # * Search by Purchased Country
748
+ # * Search by Transaction posting date
749
+ # * Search by Driver Name or Vehicle registration number
750
+ # * Search by Fuel only transactions
751
+ # * Search by Product and/or Product group
752
+ # @param [String] request_id Required parameter: Mandatory UUID (according
753
+ # to RFC 4122 standards) for requests and responses. This will be played
754
+ # back in the response from the request.
755
+ # @param [RecentTransactionRequest] body Optional parameter: New Recent
756
+ # Transaction RequestBody
757
+ # @return [RecentTransactionsResponse] response from the API call
758
+ def recent_transactions_new(request_id,
759
+ body: nil)
760
+ new_api_call_builder
761
+ .request(new_request_builder(HttpMethodEnum::POST,
762
+ '/transaction-data/v1/recent',
763
+ Server::SHELL)
764
+ .header_param(new_parameter(request_id, key: 'RequestId'))
765
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
766
+ .body_param(new_parameter(body))
767
+ .header_param(new_parameter('application/json', key: 'accept'))
768
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
769
+ .auth(Single.new('BearerToken')))
770
+ .response(new_response_handler
771
+ .deserializer(APIHelper.method(:custom_type_deserializer))
772
+ .deserialize_into(RecentTransactionsResponse.method(:from_hash))
773
+ .local_error('400',
774
+ "The server cannot or will not process the request due to'\
775
+ ' something that is perceived to be a client error (e.g.,'\
776
+ ' malformed request syntax, invalid request message framing, or'\
777
+ ' deceptive request routing).\n",
778
+ ErrorObjectException)
779
+ .local_error('401',
780
+ "The request has not been applied because it lacks valid '\
781
+ ' authentication credentials for the target resource.\n",
782
+ ErrorObjectException)
783
+ .local_error('403',
784
+ 'Forbidden',
785
+ ErrorObjectException)
786
+ .local_error('404',
787
+ "The origin server did not find a current representation for'\
788
+ ' the target resource or is not willing to disclose that one'\
789
+ ' exists.\n",
790
+ ErrorObjectException)
791
+ .local_error('500',
792
+ "The server encountered an unexpected condition that prevented'\
793
+ ' it from fulfilling the request.\n",
794
+ ErrorObjectException))
795
+ .execute
796
+ end
797
+
798
+ # This API allows querying transaction data (i.e. Priced, Billed and
799
+ # Unbilled sales items). It provides a flexible search criteria and supports
800
+ # paging.
801
+ # The version 2 is an enhancement to the version 1 where EV transactions and
802
+ # their details are added in the response.
803
+ # Transactions that are posted but not yet priced, billed or that are in
804
+ # error will not be returned by this API. The API also supports returning
805
+ # Fee Items.
806
+ # #### Supported operations
807
+ # * Get sales items and fee transactions
808
+ # * Search by invoice status
809
+ # * Search by fixed date period
810
+ # * Search by date range
811
+ # * Search by account
812
+ # * Search by card
813
+ # * Get sales items only
814
+ # * Search by transaction Id or location
815
+ # * Search by transaction posting date
816
+ # * Search by invoice number or date
817
+ # * Search by driver name or vehicle registration number
818
+ # * Search by card group
819
+ # * Search by fuel only transactions
820
+ # * Search by product
821
+ # * EV transaction details - Below are EV specific parameters
822
+ # * EVOperator
823
+ # * EVSerialId
824
+ # * EVChargePointSerial
825
+ # * EVChargePointConnectorType
826
+ # * EVChargePointConnectorTypeDescription
827
+ # * EVChargeDuration
828
+ # * EVChargeStartDate
829
+ # * EVChargeStartTime
830
+ # * EVChargeEndDate
831
+ # * EVChargeEndTime
832
+ # @param [String] request_id Required parameter: Mandatory UUID (according
833
+ # to RFC 4122 standards) for requests and responses. This will be played
834
+ # back in the response from the request.
835
+ # @param [PricedTransactionRequestV2] body Optional parameter: Priced
836
+ # TransactionV2 RequestBody
837
+ # @return [PricedTransactionResponseV2] response from the API call
838
+ def priced_transactions_v2(request_id,
839
+ body: nil)
840
+ new_api_call_builder
841
+ .request(new_request_builder(HttpMethodEnum::POST,
842
+ '/transaction-data/v1/priced',
843
+ Server::SHELL)
844
+ .header_param(new_parameter(request_id, key: 'RequestId'))
845
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
846
+ .body_param(new_parameter(body))
847
+ .header_param(new_parameter('application/json', key: 'accept'))
848
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
849
+ .auth(Single.new('BearerToken')))
850
+ .response(new_response_handler
851
+ .deserializer(APIHelper.method(:custom_type_deserializer))
852
+ .deserialize_into(PricedTransactionResponseV2.method(:from_hash))
853
+ .local_error('400',
854
+ "The server cannot or will not process the request due to'\
855
+ ' something that is perceived to be a client error (e.g.,'\
856
+ ' malformed request syntax, invalid request message framing, or'\
857
+ ' deceptive request routing).\n",
858
+ ErrorObjectException)
859
+ .local_error('401',
860
+ "The request has not been applied because it lacks valid '\
861
+ ' authentication credentials for the target resource.\n",
862
+ ErrorObjectException)
863
+ .local_error('403',
864
+ 'Forbidden',
865
+ ErrorObjectException)
866
+ .local_error('404',
867
+ "The origin server did not find a current representation for'\
868
+ ' the target resource or is not willing to disclose that one'\
869
+ ' exists.\n",
870
+ ErrorObjectException)
871
+ .local_error('500',
872
+ "The server encountered an unexpected condition that prevented'\
873
+ ' it from fulfilling the request.\n",
874
+ ErrorObjectException))
875
+ .execute
876
+ end
877
+ end
878
+ end