data-and-reporting-sdk 1.3.0 → 3.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 (369) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +117 -36
  4. data/bin/console +15 -0
  5. data/lib/shell_data_reporting_ap_is/api_helper.rb +2 -2
  6. data/lib/shell_data_reporting_ap_is/client.rb +26 -12
  7. data/lib/shell_data_reporting_ap_is/configuration.rb +150 -26
  8. data/lib/shell_data_reporting_ap_is/controllers/base_controller.rb +3 -9
  9. data/lib/shell_data_reporting_ap_is/controllers/customer_controller.rb +216 -253
  10. data/lib/shell_data_reporting_ap_is/controllers/invoice_controller.rb +65 -65
  11. data/lib/shell_data_reporting_ap_is/controllers/o_auth_authorization_controller.rb +7 -7
  12. data/lib/shell_data_reporting_ap_is/controllers/transaction_controller.rb +214 -269
  13. data/lib/shell_data_reporting_ap_is/exceptions/api_exception.rb +2 -2
  14. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_accounts400_error_exception.rb +69 -0
  15. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_accounts401_error_exception.rb +69 -0
  16. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_accounts403_error_exception.rb +69 -0
  17. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_accounts404_error_exception.rb +69 -0
  18. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_accounts500_error_exception.rb +69 -0
  19. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_auditreport400_error_exception.rb +69 -0
  20. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_auditreport401_error_exception.rb +69 -0
  21. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_auditreport403_error_exception.rb +69 -0
  22. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_auditreport404_error_exception.rb +69 -0
  23. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_auditreport500_error_exception.rb +69 -0
  24. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_cardgroups400_error_exception.rb +69 -0
  25. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_cardgroups401_error_exception.rb +69 -0
  26. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_cardgroups403_error_exception.rb +69 -0
  27. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_cardgroups404_error_exception.rb +69 -0
  28. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_cardgroups500_error_exception.rb +69 -0
  29. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_customer400_error_exception.rb +69 -0
  30. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_customer401_error_exception.rb +69 -0
  31. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_customer403_error_exception.rb +69 -0
  32. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_customer404_error_exception.rb +69 -0
  33. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_customer500_error_exception.rb +69 -0
  34. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_payers400_error_exception.rb +69 -0
  35. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_payers401_error_exception.rb +69 -0
  36. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_payers403_error_exception.rb +69 -0
  37. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_payers404_error_exception.rb +69 -0
  38. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_payers500_error_exception.rb +69 -0
  39. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_pricelist400_error_exception.rb +69 -0
  40. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_pricelist401_error_exception.rb +69 -0
  41. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_pricelist403_error_exception.rb +69 -0
  42. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_pricelist404_error_exception.rb +69 -0
  43. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v1_pricelist500_error_exception.rb +69 -0
  44. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v2_cardtype400_error_exception.rb +69 -0
  45. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v2_cardtype401_error_exception.rb +69 -0
  46. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v2_cardtype403_error_exception.rb +69 -0
  47. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v2_cardtype404_error_exception.rb +69 -0
  48. data/lib/shell_data_reporting_ap_is/exceptions/customer_management_v2_cardtype500_error_exception.rb +69 -0
  49. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_dates400_error_exception.rb +69 -0
  50. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_dates401_error_exception.rb +69 -0
  51. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_dates403_error_exception.rb +69 -0
  52. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_dates404_error_exception.rb +69 -0
  53. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_dates500_error_exception.rb +69 -0
  54. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_download400_error_exception.rb +69 -0
  55. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_download401_error_exception.rb +69 -0
  56. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_download403_error_exception.rb +69 -0
  57. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_download404_error_exception.rb +69 -0
  58. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_download500_error_exception.rb +69 -0
  59. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eiddownload400_error_exception.rb +69 -0
  60. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eiddownload401_error_exception.rb +69 -0
  61. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eiddownload403_error_exception.rb +69 -0
  62. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eiddownload404_error_exception.rb +69 -0
  63. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eiddownload500_error_exception.rb +69 -0
  64. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eidsearch400_error_exception.rb +69 -0
  65. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eidsearch401_error_exception.rb +69 -0
  66. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eidsearch403_error_exception.rb +69 -0
  67. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eidsearch404_error_exception.rb +69 -0
  68. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_eidsearch500_error_exception.rb +69 -0
  69. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_search400_error_exception.rb +69 -0
  70. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_search401_error_exception.rb +69 -0
  71. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_search403_error_exception.rb +69 -0
  72. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_search404_error_exception.rb +69 -0
  73. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_search500_error_exception.rb +69 -0
  74. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchdocuments400_error_exception.rb +69 -0
  75. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchdocuments401_error_exception.rb +69 -0
  76. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchdocuments403_error_exception.rb +69 -0
  77. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchdocuments404_error_exception.rb +69 -0
  78. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchdocuments500_error_exception.rb +69 -0
  79. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchstatementofaccount400_error_exception.rb +69 -0
  80. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchstatementofaccount401_error_exception.rb +69 -0
  81. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchstatementofaccount403_error_exception.rb +69 -0
  82. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchstatementofaccount404_error_exception.rb +69 -0
  83. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_searchstatementofaccount500_error_exception.rb +69 -0
  84. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_statementofaccount400_error_exception.rb +69 -0
  85. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_statementofaccount401_error_exception.rb +69 -0
  86. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_statementofaccount403_error_exception.rb +69 -0
  87. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_statementofaccount404_error_exception.rb +69 -0
  88. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_statementofaccount500_error_exception.rb +69 -0
  89. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_summary400_error_exception.rb +69 -0
  90. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_summary401_error_exception.rb +69 -0
  91. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_summary403_error_exception.rb +69 -0
  92. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_summary404_error_exception.rb +69 -0
  93. data/lib/shell_data_reporting_ap_is/exceptions/invoice_management_v1_summary500_error_exception.rb +69 -0
  94. data/lib/shell_data_reporting_ap_is/exceptions/o_auth_provider_exception.rb +7 -5
  95. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_cardusagesummary400_error_exception.rb +69 -0
  96. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_cardusagesummary401_error_exception.rb +69 -0
  97. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_cardusagesummary403_error_exception.rb +69 -0
  98. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_cardusagesummary404_error_exception.rb +69 -0
  99. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_cardusagesummary500_error_exception.rb +69 -0
  100. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_exceptions400_error_exception.rb +69 -0
  101. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_exceptions401_error_exception.rb +69 -0
  102. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_exceptions403_error_exception.rb +69 -0
  103. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_exceptions404_error_exception.rb +69 -0
  104. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_exceptions500_error_exception.rb +69 -0
  105. data/lib/shell_data_reporting_ap_is/exceptions/{error_object_exception.rb → transaction_data_v1_fees400_error_exception.rb} +9 -7
  106. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fees401_error_exception.rb +69 -0
  107. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fees403_error_exception.rb +69 -0
  108. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fees404_error_exception.rb +69 -0
  109. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fees500_error_exception.rb +69 -0
  110. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_feessummary400_error_exception.rb +69 -0
  111. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_feessummary401_error_exception.rb +69 -0
  112. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_feessummary403_error_exception.rb +69 -0
  113. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_feessummary404_error_exception.rb +69 -0
  114. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_feessummary500_error_exception.rb +69 -0
  115. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fuelconsumption400_error_exception.rb +69 -0
  116. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fuelconsumption401_error_exception.rb +69 -0
  117. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fuelconsumption403_error_exception.rb +69 -0
  118. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fuelconsumption404_error_exception.rb +69 -0
  119. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_fuelconsumption500_error_exception.rb +69 -0
  120. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_multipayerspricedtransactions400_error_exception.rb +69 -0
  121. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_multipayerspricedtransactions401_error_exception.rb +69 -0
  122. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_multipayerspricedtransactions403_error_exception.rb +69 -0
  123. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_multipayerspricedtransactions404_error_exception.rb +69 -0
  124. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_multipayerspricedtransactions500_error_exception.rb +69 -0
  125. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_priced400_error_exception.rb +69 -0
  126. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_priced401_error_exception.rb +69 -0
  127. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_priced403_error_exception.rb +69 -0
  128. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_priced404_error_exception.rb +69 -0
  129. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_priced500_error_exception.rb +69 -0
  130. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransaction400_error_exception.rb +69 -0
  131. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransaction401_error_exception.rb +69 -0
  132. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransaction403_error_exception.rb +69 -0
  133. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransaction404_error_exception.rb +69 -0
  134. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransaction500_error_exception.rb +69 -0
  135. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransactionssummary400_error_exception.rb +69 -0
  136. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransactionssummary401_error_exception.rb +69 -0
  137. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransactionssummary403_error_exception.rb +69 -0
  138. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransactionssummary404_error_exception.rb +69 -0
  139. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_pricedtransactionssummary500_error_exception.rb +69 -0
  140. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_recent400_error_exception.rb +69 -0
  141. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_recent401_error_exception.rb +69 -0
  142. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_recent403_error_exception.rb +69 -0
  143. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_recent404_error_exception.rb +69 -0
  144. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_recent500_error_exception.rb +69 -0
  145. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_updateodometer400_error_exception.rb +69 -0
  146. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_updateodometer401_error_exception.rb +69 -0
  147. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_updateodometer403_error_exception.rb +69 -0
  148. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_updateodometer404_error_exception.rb +69 -0
  149. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_updateodometer500_error_exception.rb +69 -0
  150. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedbonus400_error_exception.rb +69 -0
  151. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedbonus401_error_exception.rb +69 -0
  152. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedbonus403_error_exception.rb +69 -0
  153. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedbonus404_error_exception.rb +69 -0
  154. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedbonus500_error_exception.rb +69 -0
  155. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedpricing400_error_exception.rb +69 -0
  156. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedpricing401_error_exception.rb +69 -0
  157. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedpricing403_error_exception.rb +69 -0
  158. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedpricing404_error_exception.rb +69 -0
  159. data/lib/shell_data_reporting_ap_is/exceptions/transaction_data_v1_volumebasedpricing500_error_exception.rb +69 -0
  160. data/lib/shell_data_reporting_ap_is/exceptions/user_management_v1_loggedinuser400_error_exception.rb +69 -0
  161. data/lib/shell_data_reporting_ap_is/exceptions/user_management_v1_loggedinuser401_error_exception.rb +69 -0
  162. data/lib/shell_data_reporting_ap_is/exceptions/user_management_v1_loggedinuser403_error_exception.rb +69 -0
  163. data/lib/shell_data_reporting_ap_is/exceptions/user_management_v1_loggedinuser404_error_exception.rb +69 -0
  164. data/lib/shell_data_reporting_ap_is/exceptions/user_management_v1_loggedinuser500_error_exception.rb +69 -0
  165. data/lib/shell_data_reporting_ap_is/http/auth/{bearer_token.rb → o_auth2.rb} +43 -27
  166. data/lib/shell_data_reporting_ap_is/http/http_call_back.rb +2 -2
  167. data/lib/shell_data_reporting_ap_is/http/http_method_enum.rb +2 -2
  168. data/lib/shell_data_reporting_ap_is/http/http_request.rb +2 -2
  169. data/lib/shell_data_reporting_ap_is/http/http_response.rb +2 -2
  170. data/lib/shell_data_reporting_ap_is/http/proxy_settings.rb +22 -0
  171. data/lib/shell_data_reporting_ap_is/models/account_access.rb +2 -2
  172. data/lib/shell_data_reporting_ap_is/models/account_req.rb +84 -0
  173. data/lib/shell_data_reporting_ap_is/models/account_request.rb +3 -3
  174. data/lib/shell_data_reporting_ap_is/models/account_res.rb +158 -0
  175. data/lib/shell_data_reporting_ap_is/models/account_response_accounts_items.rb +2 -2
  176. data/lib/shell_data_reporting_ap_is/models/accounts.rb +2 -2
  177. data/lib/shell_data_reporting_ap_is/models/address.rb +2 -2
  178. data/lib/shell_data_reporting_ap_is/models/associated_account.rb +2 -2
  179. data/lib/shell_data_reporting_ap_is/models/audit_array_elements.rb +71 -0
  180. data/lib/shell_data_reporting_ap_is/models/audit_req.rb +84 -0
  181. data/lib/shell_data_reporting_ap_is/models/audit_request.rb +29 -41
  182. data/lib/shell_data_reporting_ap_is/models/audit_response.rb +88 -53
  183. data/lib/shell_data_reporting_ap_is/models/audit_response_audits_items.rb +29 -6
  184. data/lib/shell_data_reporting_ap_is/models/bank_account.rb +2 -2
  185. data/lib/shell_data_reporting_ap_is/models/base_model.rb +2 -2
  186. data/lib/shell_data_reporting_ap_is/models/bonus_configuration.rb +2 -2
  187. data/lib/shell_data_reporting_ap_is/models/bonus_history.rb +2 -2
  188. data/lib/shell_data_reporting_ap_is/models/card_day_time_restrictions.rb +2 -2
  189. data/lib/shell_data_reporting_ap_is/models/card_exceptions.rb +2 -2
  190. data/lib/shell_data_reporting_ap_is/models/card_group_req.rb +84 -0
  191. data/lib/shell_data_reporting_ap_is/models/card_group_request.rb +6 -31
  192. data/lib/shell_data_reporting_ap_is/models/card_group_res.rb +158 -0
  193. data/lib/shell_data_reporting_ap_is/models/card_group_response_card_groups_items.rb +2 -2
  194. data/lib/shell_data_reporting_ap_is/models/{error_user_access.rb → card_type_req.rb} +14 -14
  195. data/lib/shell_data_reporting_ap_is/models/card_type_request.rb +2 -2
  196. data/lib/shell_data_reporting_ap_is/models/card_type_res.rb +91 -0
  197. data/lib/shell_data_reporting_ap_is/models/card_type_response_customer_card_types_items.rb +167 -292
  198. data/lib/shell_data_reporting_ap_is/models/card_usage_restrictions.rb +2 -2
  199. data/lib/shell_data_reporting_ap_is/models/card_usage_summary_req.rb +62 -0
  200. data/lib/shell_data_reporting_ap_is/models/card_usage_summary_request.rb +2 -2
  201. data/lib/shell_data_reporting_ap_is/models/card_usage_summary_res.rb +116 -0
  202. data/lib/shell_data_reporting_ap_is/models/card_usage_summary_response.rb +6 -26
  203. data/lib/shell_data_reporting_ap_is/models/cart_type_account.rb +161 -0
  204. data/lib/shell_data_reporting_ap_is/models/col_co_access.rb +4 -4
  205. data/lib/shell_data_reporting_ap_is/models/current_volume.rb +2 -2
  206. data/lib/shell_data_reporting_ap_is/models/customer_contract.rb +2 -2
  207. data/lib/shell_data_reporting_ap_is/models/customer_detail_request.rb +4 -4
  208. data/lib/shell_data_reporting_ap_is/models/customer_detail_response.rb +5 -32
  209. data/lib/shell_data_reporting_ap_is/models/customer_price_list_req.rb +62 -0
  210. data/lib/shell_data_reporting_ap_is/models/customer_price_list_request.rb +2 -2
  211. data/lib/shell_data_reporting_ap_is/models/customer_price_list_res.rb +91 -0
  212. data/lib/shell_data_reporting_ap_is/models/customer_price_list_response.rb +7 -29
  213. data/lib/shell_data_reporting_ap_is/models/{default_error_fault_detail.rb → customer_req.rb} +15 -15
  214. data/lib/shell_data_reporting_ap_is/models/customer_res.rb +91 -0
  215. data/lib/shell_data_reporting_ap_is/models/delivery_addresses.rb +2 -2
  216. data/lib/shell_data_reporting_ap_is/models/eid_access.rb +3 -3
  217. data/lib/shell_data_reporting_ap_is/models/eid_document.rb +7 -23
  218. data/lib/shell_data_reporting_ap_is/models/eid_document_response.rb +20 -20
  219. data/lib/shell_data_reporting_ap_is/models/eid_download_req.rb +2 -2
  220. data/lib/shell_data_reporting_ap_is/models/eid_download_request.rb +2 -2
  221. data/lib/shell_data_reporting_ap_is/models/eid_search_req.rb +6 -22
  222. data/lib/shell_data_reporting_ap_is/models/eid_search_request.rb +2 -2
  223. data/lib/shell_data_reporting_ap_is/models/error_details.rb +2 -2
  224. data/lib/shell_data_reporting_ap_is/models/error_object.rb +93 -0
  225. data/lib/shell_data_reporting_ap_is/models/exception_product.rb +2 -2
  226. data/lib/shell_data_reporting_ap_is/models/exception_site_location.rb +2 -2
  227. data/lib/shell_data_reporting_ap_is/models/fee_item.rb +2 -2
  228. data/lib/shell_data_reporting_ap_is/models/fee_item_summary_all_of0.rb +2 -2
  229. data/lib/shell_data_reporting_ap_is/models/fee_rule_location.rb +2 -2
  230. data/lib/shell_data_reporting_ap_is/models/fee_rule_product.rb +2 -2
  231. data/lib/shell_data_reporting_ap_is/models/fee_rule_tier.rb +2 -2
  232. data/lib/shell_data_reporting_ap_is/models/fee_summary_response.rb +57 -38
  233. data/lib/shell_data_reporting_ap_is/models/fees_fee_rule_tiers.rb +2 -2
  234. data/lib/shell_data_reporting_ap_is/models/filters.rb +525 -0
  235. data/lib/shell_data_reporting_ap_is/models/{finance_currency.rb → finance_currency2.rb} +8 -9
  236. data/lib/shell_data_reporting_ap_is/models/fleetmanagement_v1_user_loggedinuser_request.rb +2 -2
  237. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_card.rb +2 -2
  238. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_data.rb +2 -2
  239. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_req.rb +62 -0
  240. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_request.rb +2 -2
  241. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_response.rb +58 -33
  242. data/lib/shell_data_reporting_ap_is/models/invoice_dates_data.rb +2 -2
  243. data/lib/shell_data_reporting_ap_is/models/invoice_dates_request.rb +2 -2
  244. data/lib/shell_data_reporting_ap_is/models/invoice_dates_request_filters.rb +2 -2
  245. data/lib/shell_data_reporting_ap_is/models/invoice_dates_response_data.rb +2 -2
  246. data/lib/shell_data_reporting_ap_is/models/invoice_distribution_method.rb +2 -2
  247. data/lib/shell_data_reporting_ap_is/models/invoice_download_req.rb +2 -2
  248. data/lib/shell_data_reporting_ap_is/models/invoice_download_request.rb +2 -2
  249. data/lib/shell_data_reporting_ap_is/models/invoice_search_additional_document.rb +2 -2
  250. data/lib/shell_data_reporting_ap_is/models/invoice_search_details.rb +2 -2
  251. data/lib/shell_data_reporting_ap_is/models/invoice_search_request.rb +2 -2
  252. data/lib/shell_data_reporting_ap_is/models/invoice_search_request_filters.rb +2 -2
  253. data/lib/shell_data_reporting_ap_is/models/invoice_search_response.rb +2 -2
  254. data/lib/shell_data_reporting_ap_is/models/invoice_summary_details.rb +2 -2
  255. data/lib/shell_data_reporting_ap_is/models/invoice_summary_request.rb +2 -2
  256. data/lib/shell_data_reporting_ap_is/models/invoice_summary_request_filters.rb +2 -2
  257. data/lib/shell_data_reporting_ap_is/models/invoice_summary_response.rb +2 -2
  258. data/lib/shell_data_reporting_ap_is/models/invoices_summaries.rb +2 -2
  259. data/lib/shell_data_reporting_ap_is/models/last_statement_of_account.rb +2 -2
  260. data/lib/shell_data_reporting_ap_is/models/last_statement_of_account2.rb +457 -0
  261. data/lib/shell_data_reporting_ap_is/models/{error_user_access_error.rb → location.rb} +25 -22
  262. data/lib/shell_data_reporting_ap_is/models/logged_in_user_req.rb +63 -0
  263. data/lib/shell_data_reporting_ap_is/models/logged_in_user_res.rb +91 -0
  264. data/lib/shell_data_reporting_ap_is/models/logged_in_user_response.rb +6 -30
  265. data/lib/shell_data_reporting_ap_is/models/monthly_invoice_trend.rb +2 -2
  266. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_req.rb +84 -0
  267. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_request.rb +2 -2
  268. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_request_accounts_items.rb +2 -2
  269. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_res.rb +158 -0
  270. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_response.rb +6 -57
  271. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_response_transactions_items.rb +2 -2
  272. data/lib/shell_data_reporting_ap_is/models/o_auth_provider_error_enum.rb +19 -2
  273. data/lib/shell_data_reporting_ap_is/models/o_auth_token.rb +2 -2
  274. data/lib/shell_data_reporting_ap_is/models/past_statement_of_accounts.rb +2 -2
  275. data/lib/shell_data_reporting_ap_is/models/payer_access.rb +2 -2
  276. data/lib/shell_data_reporting_ap_is/models/payer_details.rb +8 -6
  277. data/lib/shell_data_reporting_ap_is/models/payer_req.rb +84 -0
  278. data/lib/shell_data_reporting_ap_is/models/payer_request.rb +6 -33
  279. data/lib/shell_data_reporting_ap_is/models/payer_res.rb +158 -0
  280. data/lib/shell_data_reporting_ap_is/models/payers.rb +2 -2
  281. data/lib/shell_data_reporting_ap_is/models/payments_since_last_soa.rb +2 -2
  282. data/lib/shell_data_reporting_ap_is/models/pin_advice_types.rb +2 -2
  283. data/lib/shell_data_reporting_ap_is/models/price_list.rb +2 -2
  284. data/lib/shell_data_reporting_ap_is/models/price_trans_summary_req.rb +62 -0
  285. data/lib/shell_data_reporting_ap_is/models/price_trans_summary_request.rb +2 -2
  286. data/lib/shell_data_reporting_ap_is/models/price_transaction_req.rb +84 -0
  287. data/lib/shell_data_reporting_ap_is/models/price_transaction_request.rb +2 -2
  288. data/lib/shell_data_reporting_ap_is/models/priced_request_data.rb +3 -4
  289. data/lib/shell_data_reporting_ap_is/models/priced_response_data.rb +2 -2
  290. data/lib/shell_data_reporting_ap_is/models/priced_trans_summary_resp.rb +116 -0
  291. data/lib/shell_data_reporting_ap_is/models/priced_trans_summary_response_transactions_summary_items.rb +2 -2
  292. data/lib/shell_data_reporting_ap_is/models/priced_transaction_items_location_items.rb +2 -2
  293. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_invoice_status_enum.rb +16 -2
  294. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_period_enum.rb +22 -2
  295. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_sort_order_enum.rb +19 -2
  296. data/lib/shell_data_reporting_ap_is/models/priced_transaction_request_v2.rb +5 -7
  297. data/lib/shell_data_reporting_ap_is/models/priced_transaction_res.rb +158 -0
  298. data/lib/shell_data_reporting_ap_is/models/priced_transaction_resp_v2_refund_flag_enum.rb +15 -2
  299. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response.rb +2 -2
  300. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response_transactions_items.rb +6 -27
  301. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response_v2.rb +2 -2
  302. data/lib/shell_data_reporting_ap_is/models/pricing_current_volume.rb +2 -2
  303. data/lib/shell_data_reporting_ap_is/models/pricing_history.rb +2 -2
  304. data/lib/shell_data_reporting_ap_is/models/purchase_categories.rb +2 -2
  305. data/lib/shell_data_reporting_ap_is/models/recent_transaction_req.rb +3 -3
  306. data/lib/shell_data_reporting_ap_is/models/recent_transaction_request.rb +2 -2
  307. data/lib/shell_data_reporting_ap_is/models/recent_transactions.rb +2 -2
  308. data/lib/shell_data_reporting_ap_is/models/recent_transactions_response.rb +2 -2
  309. data/lib/shell_data_reporting_ap_is/models/role.rb +2 -2
  310. data/lib/shell_data_reporting_ap_is/models/search_doc_req.rb +18 -37
  311. data/lib/shell_data_reporting_ap_is/models/search_documents_invoice.rb +22 -21
  312. data/lib/shell_data_reporting_ap_is/models/search_documents_request.rb +2 -2
  313. data/lib/shell_data_reporting_ap_is/models/search_documents_response.rb +17 -17
  314. data/lib/shell_data_reporting_ap_is/models/search_soa_req.rb +2 -2
  315. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account.rb +2 -2
  316. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account_request.rb +2 -2
  317. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account_response.rb +2 -2
  318. data/lib/shell_data_reporting_ap_is/models/site_location.rb +2 -2
  319. data/lib/shell_data_reporting_ap_is/models/statement_of_account_request.rb +2 -2
  320. data/lib/shell_data_reporting_ap_is/models/statement_of_account_request_filters.rb +2 -2
  321. data/lib/shell_data_reporting_ap_is/models/statement_of_account_resp.rb +9 -9
  322. data/lib/shell_data_reporting_ap_is/models/statement_of_account_response.rb +2 -2
  323. data/lib/shell_data_reporting_ap_is/models/tier.rb +2 -2
  324. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions.rb +5 -5
  325. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions_req.rb +62 -0
  326. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions_request.rb +2 -2
  327. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions_res.rb +116 -0
  328. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions_response.rb +6 -26
  329. data/lib/shell_data_reporting_ap_is/models/transaction_fees_req.rb +84 -0
  330. data/lib/shell_data_reporting_ap_is/models/transaction_fees_request.rb +60 -41
  331. data/lib/shell_data_reporting_ap_is/models/transaction_fees_res.rb +158 -0
  332. data/lib/shell_data_reporting_ap_is/models/transaction_fees_summary_req.rb +62 -0
  333. data/lib/shell_data_reporting_ap_is/models/update_odometer.rb +2 -2
  334. data/lib/shell_data_reporting_ap_is/models/update_odometer_reference.rb +2 -2
  335. data/lib/shell_data_reporting_ap_is/models/update_odometer_request.rb +2 -2
  336. data/lib/shell_data_reporting_ap_is/models/update_odometer_resp.rb +116 -0
  337. data/lib/shell_data_reporting_ap_is/models/update_odometer_response.rb +6 -26
  338. data/lib/shell_data_reporting_ap_is/models/usage_summary.rb +2 -2
  339. data/lib/shell_data_reporting_ap_is/models/volume_based_bonus_req.rb +62 -0
  340. data/lib/shell_data_reporting_ap_is/models/volume_based_bonus_request.rb +2 -2
  341. data/lib/shell_data_reporting_ap_is/models/volume_based_bonus_res.rb +116 -0
  342. data/lib/shell_data_reporting_ap_is/models/volume_based_bonus_response.rb +6 -27
  343. data/lib/shell_data_reporting_ap_is/models/volume_based_pricing_req.rb +62 -0
  344. data/lib/shell_data_reporting_ap_is/models/volume_based_pricing_request.rb +2 -2
  345. data/lib/shell_data_reporting_ap_is/models/volume_based_pricing_res.rb +91 -0
  346. data/lib/shell_data_reporting_ap_is/models/volume_based_pricing_response.rb +28 -24
  347. data/lib/shell_data_reporting_ap_is/models/warning.rb +69 -0
  348. data/lib/shell_data_reporting_ap_is/utilities/date_time_helper.rb +2 -2
  349. data/lib/shell_data_reporting_ap_is/utilities/file_wrapper.rb +2 -2
  350. data/lib/shell_data_reporting_ap_is/utilities/union_type_lookup.rb +2 -2
  351. data/lib/shell_data_reporting_ap_is.rb +370 -29
  352. data/test/controllers/controller_test_base.rb +5 -10
  353. data/test/controllers/test_invoice_controller.rb +28 -39
  354. data/test/controllers/test_transaction_controller.rb +11 -13
  355. data/test/http_response_catcher.rb +3 -3
  356. metadata +203 -27
  357. data/lib/shell_data_reporting_ap_is/exceptions/default_error_exception.rb +0 -44
  358. data/lib/shell_data_reporting_ap_is/exceptions/error_user_access_error1_exception.rb +0 -44
  359. data/lib/shell_data_reporting_ap_is/http/auth/basic_auth.rb +0 -50
  360. data/lib/shell_data_reporting_ap_is/models/account_response.rb +0 -123
  361. data/lib/shell_data_reporting_ap_is/models/card_group_response.rb +0 -121
  362. data/lib/shell_data_reporting_ap_is/models/card_type_response.rb +0 -91
  363. data/lib/shell_data_reporting_ap_is/models/card_type_response_error.rb +0 -71
  364. data/lib/shell_data_reporting_ap_is/models/default_error_fault.rb +0 -71
  365. data/lib/shell_data_reporting_ap_is/models/error_status.rb +0 -81
  366. data/lib/shell_data_reporting_ap_is/models/logged_in_user_request.rb +0 -121
  367. data/lib/shell_data_reporting_ap_is/models/payer_response.rb +0 -127
  368. data/lib/shell_data_reporting_ap_is/models/priced_trans_summary_response.rb +0 -91
  369. data/lib/shell_data_reporting_ap_is/models/transaction_fees_response.rb +0 -123
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 031356f55355649745088ded676766dd0c8f982f6e4d740a8979f326191f977d
4
- data.tar.gz: e2ed061fda9bc950ea7add678935bad2114cd314a37e9475274632499567b231
3
+ metadata.gz: 6721542a03c25fde2867c8819966d572e40239f74641037d6e971723228bf665
4
+ data.tar.gz: 8d0e17cadf7651a4081b3947c1e7fc7599352866855d607e992592135658ada1
5
5
  SHA512:
6
- metadata.gz: 6011a74f2cfcb42eef0b02ef087a2b1665d3d1d18eb48e9bfb236ad41909e07b02c199a1ad8a15d9ad9061227b5f8b5ba23d08888531c31533b19c55ded48d31
7
- data.tar.gz: bce0d017e652d317d75a1a19e50dc48f8278761166f63df102745bb48448881e73d179d0fbb5268f256e3fb653383259f430ca2936399ea439433b03403ccfa0
6
+ metadata.gz: 8dedb952feff5a50e1f9f4e9250fd64c92d356c12cbada08777892b8897ef4c1c296c54aa6a1c1b1ed30d2eb4a0faab681e93bbc7fe72b824212c5619a314c35
7
+ data.tar.gz: af5ed4def4c983b362ae315fd81f4192d0bf23bf4fd82ef36c1f913d9a33c4e79dc3c04b1f8e695cd2eb5819d338dcfba2565bf233a45c3af7bf7a7784cea6eb
data/LICENSE CHANGED
@@ -3,7 +3,7 @@ License:
3
3
  The MIT License (MIT)
4
4
  http://opensource.org/licenses/MIT
5
5
 
6
- Copyright (c) 2014 - 2025 APIMATIC Limited
6
+ Copyright (c) 2014 - 2026 APIMATIC Limited
7
7
 
8
8
  Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -3,10 +3,33 @@
3
3
 
4
4
  ## Introduction
5
5
 
6
- Data And Reporting product consists of API's which provides details of transaction and invoice informations about shell cards.
7
- The Shell Card Transaction and Invoice API is REST-based and employs Basic authentication in Version 1 and Oauth authentication in Version 2 end points. The API endpoints accept JSON-encoded request bodies, return JSON-encoded responses and use standard HTTP response codes.
8
- All resources are located in the Shell Card Platform. The Shell Card Platform is the overall platform that encompasses all the internal Shell systems used to manage resources.
9
- All endpoints use the `POST` verb for retrieving, updating, creating and deleting resources in the Shell Card Platform. The endpoints that retrieve resources from the Shell Card Platform allow flexible search parameters in the API request body.
6
+ The Shell Card Transaction and Invoice API is part of the Data and Reporting product suite, designed to provide secure and flexible access to transaction and invoice data related to Shell Cards.
7
+
8
+ ### Authentication
9
+
10
+ - OAuth 2.0 Authentication.
11
+
12
+ ### Architecture
13
+
14
+ - RESTful API design.
15
+ - All endpoints use the `POST` HTTP method for all operations including retrieval, creation, update, and deletion of resources.
16
+ - Requests and responses are encoded in JSON format.
17
+ - Standard HTTP status codes are used for response handling.
18
+
19
+ ### Platform
20
+
21
+ - All resources are managed within the **Shell Card Platform**, which integrates multiple internal Shell systems for resource management.
22
+
23
+ ### Features
24
+
25
+ - Flexible search parameters supported in the request body for data retrieval.
26
+ - Designed for integration with enterprise systems requiring Shell Card transaction and invoice data.
27
+
28
+ ### Use Cases
29
+
30
+ - Retrieve detailed transaction history for Shell Cards.
31
+ - Access invoice summaries and line-item details.
32
+ - Integrate Shell Card financial data into internal reporting tools.
10
33
 
11
34
  Go to the Shell Developer Portal: [https://developer.shell.com](https://developer.shell.com)
12
35
 
@@ -15,16 +38,51 @@ Go to the Shell Developer Portal: [https://developer.shell.com](https://develope
15
38
  Install the gem from the command line:
16
39
 
17
40
  ```bash
18
- gem install data-and-reporting-sdk -v 1.3.0
41
+ gem install data-and-reporting-sdk -v 3.0.0
19
42
  ```
20
43
 
21
44
  Or add the gem to your Gemfile and run `bundle`:
22
45
 
23
46
  ```ruby
24
- gem 'data-and-reporting-sdk', '1.3.0'
47
+ gem 'data-and-reporting-sdk', '3.0.0'
25
48
  ```
26
49
 
27
- For additional gem details, see the [RubyGems page for the data-and-reporting-sdk gem](https://rubygems.org/gems/data-and-reporting-sdk/versions/1.3.0).
50
+ For additional gem details, see the [RubyGems page for the data-and-reporting-sdk gem](https://rubygems.org/gems/data-and-reporting-sdk/versions/3.0.0).
51
+
52
+ ## IRB Console Usage
53
+
54
+ You can explore the SDK interactively using IRB in two ways
55
+
56
+ ### 1. Use IRB with Installed Gem
57
+
58
+ Open your system terminal (Command Prompt, Git Bash or macOS Terminal) and type the following command to start the irb console.
59
+
60
+ ```bash
61
+ irb
62
+ ```
63
+
64
+ Now you can load the SDK in the IRB
65
+
66
+ ```ruby
67
+ require 'shell_data_reporting_ap_is'
68
+ include ShellDataReportingApIs
69
+ ```
70
+
71
+ ### 2. Use IRB within SDK
72
+
73
+ Open your system terminal (Command Prompt, Git Bash or macOS Terminal) and navigate to the root folder of SDK.
74
+
75
+ ```
76
+ cd path/to/shell_data_reporting_ap_is
77
+ ```
78
+
79
+ Now you can start the preconfigured irb console by running the following command
80
+
81
+ ```bash
82
+ ruby bin/console
83
+ ```
84
+
85
+ **_Note:_** This automatically loads the SDK from lib/
28
86
 
29
87
  ## Test the SDK
30
88
 
@@ -36,34 +94,35 @@ rake
36
94
 
37
95
  ## Initialize the API Client
38
96
 
39
- **_Note:_** Documentation for the client can be found [here.](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/client.md)
97
+ **_Note:_** Documentation for the client can be found [here.](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/client.md)
40
98
 
41
99
  The following parameters are configurable for the API Client:
42
100
 
43
101
  | Parameter | Type | Description |
44
102
  | --- | --- | --- |
45
- | `environment` | `Environment` | The API environment. <br> **Default: `Environment.SIT`** |
46
- | `connection` | `Faraday::Connection` | The Faraday connection object passed by the SDK user for making requests |
47
- | `adapter` | `Faraday::Adapter` | The Faraday adapter object passed by the SDK user for performing http requests |
48
- | `timeout` | `Float` | The value to use for connection timeout. <br> **Default: 60** |
49
- | `max_retries` | `Integer` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
50
- | `retry_interval` | `Float` | Pause in seconds between retries. <br> **Default: 1** |
51
- | `backoff_factor` | `Float` | The amount to multiply each successive retry's interval amount by in order to provide backoff. <br> **Default: 2** |
52
- | `retry_statuses` | `Array` | A list of HTTP statuses to retry. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
53
- | `retry_methods` | `Array` | A list of HTTP methods to retry. <br> **Default: %i[get put]** |
54
- | `http_callback` | `HttpCallBack` | The Http CallBack allows defining callables for pre and post API calls. |
55
- | `basic_auth_credentials` | [`BasicAuthCredentials`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/auth/basic-authentication.md) | The credential object for Basic Authentication |
56
- | `bearer_token_credentials` | [`BearerTokenCredentials`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/auth/oauth-2-client-credentials-grant.md) | The credential object for OAuth 2 Client Credentials Grant |
103
+ | environment | [`Environment`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/README.md#environments) | The API environment. <br> **Default: `Environment.SIT`** |
104
+ | connection | `Faraday::Connection` | The Faraday connection object passed by the SDK user for making requests |
105
+ | adapter | `Faraday::Adapter` | The Faraday adapter object passed by the SDK user for performing http requests |
106
+ | timeout | `Float` | The value to use for connection timeout. <br> **Default: 60** |
107
+ | max_retries | `Integer` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
108
+ | retry_interval | `Float` | Pause in seconds between retries. <br> **Default: 1** |
109
+ | backoff_factor | `Float` | The amount to multiply each successive retry's interval amount by in order to provide backoff. <br> **Default: 2** |
110
+ | retry_statuses | `Array` | A list of HTTP statuses to retry. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
111
+ | retry_methods | `Array` | A list of HTTP methods to retry. <br> **Default: %i[get put]** |
112
+ | http_callback | `HttpCallBack` | The Http CallBack allows defining callables for pre and post API calls. |
113
+ | proxy_settings | [`ProxySettings`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
114
+ | client_credentials_auth_credentials | [`ClientCredentialsAuthCredentials`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/auth/oauth-2-client-credentials-grant.md) | The credential object for OAuth 2 Client Credentials Grant |
57
115
 
58
116
  The API client can be initialized as follows:
59
117
 
118
+ ### Code-Based Client Initialization
119
+
60
120
  ```ruby
61
- client = ShellDataReportingApIs::Client.new(
62
- basic_auth_credentials: BasicAuthCredentials.new(
63
- username: 'Username',
64
- password: 'Password'
65
- ),
66
- bearer_token_credentials: BearerTokenCredentials.new(
121
+ require 'shell_data_reporting_ap_is'
122
+ include ShellDataReportingApIs
123
+
124
+ client = Client.new(
125
+ client_credentials_auth_credentials: ClientCredentialsAuthCredentials.new(
67
126
  o_auth_client_id: 'OAuthClientId',
68
127
  o_auth_client_secret: 'OAuthClientSecret'
69
128
  ),
@@ -71,6 +130,18 @@ client = ShellDataReportingApIs::Client.new(
71
130
  )
72
131
  ```
73
132
 
133
+ ### Environment-Based Client Initialization
134
+
135
+ ```ruby
136
+ require 'shell_data_reporting_ap_is'
137
+ include ShellDataReportingApIs
138
+
139
+ # Create client from environment
140
+ client = Client.from_env
141
+ ```
142
+
143
+ See the [`Environment-Based Client Initialization`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/environment-based-client-initialization.md) section for details.
144
+
74
145
  ## Environments
75
146
 
76
147
  The SDK can be configured to use a different environment for making API calls. Available environments are:
@@ -80,24 +151,34 @@ The SDK can be configured to use a different environment for making API calls. A
80
151
  | Name | Description |
81
152
  | --- | --- |
82
153
  | SIT | **Default** |
83
- | Production | - |
154
+ | PRODUCTION | - |
84
155
 
85
156
  ## Authorization
86
157
 
87
158
  This API uses the following authentication schemes.
88
159
 
89
- * [`BasicAuth (Basic Authentication)`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/auth/basic-authentication.md)
90
- * [`BearerToken (OAuth 2 Client Credentials Grant)`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/auth/oauth-2-client-credentials-grant.md)
160
+ * [`BearerToken (OAuth 2 Client Credentials Grant)`](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/auth/oauth-2-client-credentials-grant.md)
91
161
 
92
162
  ## List of APIs
93
163
 
94
- * [Customer](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/controllers/customer.md)
95
- * [Transaction](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/controllers/transaction.md)
96
- * [Invoice](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/controllers/invoice.md)
164
+ * [Customer](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/controllers/customer.md)
165
+ * [Transaction](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/controllers/transaction.md)
166
+ * [Invoice](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/controllers/invoice.md)
97
167
 
98
- ## Classes Documentation
168
+ ## SDK Infrastructure
99
169
 
100
- * [Utility Classes](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/utility-classes.md)
101
- * [HttpResponse](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/http-response.md)
102
- * [HttpRequest](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/1.3.0/doc/http-request.md)
170
+ ### Configuration
171
+
172
+ * [ProxySettings](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/proxy-settings.md)
173
+ * [Environment-Based Client Initialization](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/environment-based-client-initialization.md)
174
+
175
+ ### HTTP
176
+
177
+ * [HttpResponse](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/http-response.md)
178
+ * [HttpRequest](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/http-request.md)
179
+
180
+ ### Utilities
181
+
182
+ * [ApiHelper](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/api-helper.md)
183
+ * [DateTimeHelper](https://www.github.com/sdks-io/data-and-reporting-ruby-sdk/tree/3.0.0/doc/date-time-helper.md)
103
184
 
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Load the lib folder into Ruby's load path
4
+ $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
5
+
6
+ # Require the gem
7
+ require 'shell_data_reporting_ap_is'
8
+
9
+ puts 'ShellDataReportingApIs SDK loaded!'
10
+ puts 'You can now create a client with: client = ShellDataReportingApIs::Client.new'
11
+ puts 'Or use from_env: client = ShellDataReportingApIs::Client.from_env'
12
+
13
+ # Start an interactive IRB session
14
+ require 'irb'
15
+ IRB.start
@@ -1,7 +1,7 @@
1
1
  # shell_data_reporting_ap_is
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
5
 
6
6
  module ShellDataReportingApIs
7
7
  # API utility class
@@ -1,13 +1,17 @@
1
1
  # shell_data_reporting_ap_is
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
5
 
6
6
  module ShellDataReportingApIs
7
7
  # shell_data_reporting_ap_is client class.
8
8
  class Client
9
9
  include CoreLibrary
10
10
  attr_reader :config, :auth_managers
11
+
12
+ def user_agent_detail
13
+ config.user_agent_detail
14
+ end
11
15
 
12
16
  # Returns the configured authentication BearerToken instance.
13
17
  def bearer_token
@@ -42,9 +46,10 @@ module ShellDataReportingApIs
42
46
  connection: nil, adapter: :net_http_persistent, timeout: 60,
43
47
  max_retries: 0, retry_interval: 1, backoff_factor: 2,
44
48
  retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
45
- retry_methods: %i[get put], http_callback: nil,
46
- environment: Environment::SIT, basic_auth_credentials: nil,
47
- bearer_token_credentials: nil, config: nil
49
+ retry_methods: %i[get put], http_callback: nil, proxy_settings: nil,
50
+ environment: Environment::SIT, o_auth_client_id: nil,
51
+ o_auth_client_secret: nil, o_auth_token: nil,
52
+ client_credentials_auth_credentials: nil, config: nil
48
53
  )
49
54
  @config = if config.nil?
50
55
  Configuration.new(
@@ -53,9 +58,11 @@ module ShellDataReportingApIs
53
58
  backoff_factor: backoff_factor,
54
59
  retry_statuses: retry_statuses,
55
60
  retry_methods: retry_methods, http_callback: http_callback,
56
- environment: environment,
57
- basic_auth_credentials: basic_auth_credentials,
58
- bearer_token_credentials: bearer_token_credentials
61
+ proxy_settings: proxy_settings, environment: environment,
62
+ o_auth_client_id: o_auth_client_id,
63
+ o_auth_client_secret: o_auth_client_secret,
64
+ o_auth_token: o_auth_token,
65
+ client_credentials_auth_credentials: client_credentials_auth_credentials
59
66
  )
60
67
  else
61
68
  config
@@ -75,10 +82,17 @@ module ShellDataReportingApIs
75
82
  def initialize_auth_managers(global_config)
76
83
  @auth_managers = {}
77
84
  http_client_config = global_config.client_configuration
78
- %w[BasicAuth BearerToken].each { |auth| @auth_managers[auth] = nil }
79
- @auth_managers['BasicAuth'] = BasicAuth.new(http_client_config.basic_auth_credentials)
80
- @auth_managers['BearerToken'] = BearerToken.new(http_client_config.bearer_token_credentials,
81
- global_config)
85
+ %w[BearerToken].each { |auth| @auth_managers[auth] = nil }
86
+ @auth_managers['BearerToken'] = OAuth2.new(
87
+ http_client_config.client_credentials_auth_credentials, global_config
88
+ )
89
+ end
90
+
91
+ # Creates a client directly from environment variables.
92
+ def self.from_env(**overrides)
93
+ default_config = Configuration.build_default_config_from_env
94
+ new_config = default_config.clone_with(**overrides)
95
+ new(config: new_config)
82
96
  end
83
97
  end
84
98
  end
@@ -1,7 +1,7 @@
1
1
  # shell_data_reporting_ap_is
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
5
 
6
6
  module ShellDataReportingApIs
7
7
  # An enum for SDK environments.
@@ -10,6 +10,21 @@ module ShellDataReportingApIs
10
10
  SIT = 'SIT'.freeze,
11
11
  PRODUCTION = 'Production'.freeze
12
12
  ].freeze
13
+
14
+ # Converts a string or symbol into a valid Environment constant.
15
+ def self.from_value(value, default_value = SIT)
16
+ return default_value if value.nil?
17
+
18
+ str = value.to_s.strip.downcase
19
+ case str
20
+ when 'sit' then SIT
21
+ when 'production' then PRODUCTION
22
+
23
+ else
24
+ warn "[Environment] Unknown environment '#{value}', falling back to #{default_value} "
25
+ default_value
26
+ end
27
+ end
13
28
  end
14
29
 
15
30
  # An enum for API servers.
@@ -18,13 +33,40 @@ module ShellDataReportingApIs
18
33
  OAUTH_SERVER = 'OAuth Server'.freeze,
19
34
  SHELL = 'Shell'.freeze
20
35
  ].freeze
36
+
37
+ # Converts a string or symbol into a valid Server constant.
38
+ def self.from_value(value, default_value = OAUTH_SERVER)
39
+ return default_value if value.nil?
40
+
41
+ str = value.to_s.strip.downcase
42
+ case str
43
+ when 'oauth_server' then OAUTH_SERVER
44
+ when 'shell' then SHELL
45
+
46
+ else
47
+ warn "[Server] Unknown server '#{value}', falling back to #{default_value} "
48
+ default_value
49
+ end
50
+ end
21
51
  end
22
52
 
23
53
  # All configuration including auth info and base URI for the API access
24
54
  # are configured in this class.
25
55
  class Configuration < CoreLibrary::HttpClientConfiguration
56
+ def o_auth_client_id
57
+ @client_credentials_auth_credentials.o_auth_client_id
58
+ end
59
+
60
+ def o_auth_client_secret
61
+ @client_credentials_auth_credentials.o_auth_client_secret
62
+ end
63
+
64
+ def o_auth_token
65
+ @client_credentials_auth_credentials.o_auth_token
66
+ end
67
+
26
68
  # The attribute readers for properties.
27
- attr_reader :environment, :basic_auth_credentials, :bearer_token_credentials
69
+ attr_reader :environment, :client_credentials_auth_credentials
28
70
 
29
71
  class << self
30
72
  attr_reader :environments
@@ -34,24 +76,38 @@ module ShellDataReportingApIs
34
76
  connection: nil, adapter: :net_http_persistent, timeout: 60,
35
77
  max_retries: 0, retry_interval: 1, backoff_factor: 2,
36
78
  retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
37
- retry_methods: %i[get put], http_callback: nil,
38
- environment: Environment::SIT, basic_auth_credentials: nil,
39
- bearer_token_credentials: nil
79
+ retry_methods: %i[get put], http_callback: nil, proxy_settings: nil,
80
+ environment: Environment::SIT, o_auth_client_id: nil,
81
+ o_auth_client_secret: nil, o_auth_token: nil,
82
+ client_credentials_auth_credentials: nil
40
83
  )
41
-
42
84
  super connection: connection, adapter: adapter, timeout: timeout,
43
85
  max_retries: max_retries, retry_interval: retry_interval,
44
86
  backoff_factor: backoff_factor, retry_statuses: retry_statuses,
45
- retry_methods: retry_methods, http_callback: http_callback
87
+ retry_methods: retry_methods, http_callback: http_callback,
88
+ proxy_settings: proxy_settings
46
89
 
47
90
  # Current API environment
48
91
  @environment = String(environment)
49
92
 
50
- # The object holding Basic Authentication credentials
51
- @basic_auth_credentials = basic_auth_credentials
93
+ # OAuth 2 Client ID
94
+ @o_auth_client_id = o_auth_client_id
52
95
 
53
- # The object holding OAuth 2 Client Credentials Grant credentials
54
- @bearer_token_credentials = bearer_token_credentials
96
+ # OAuth 2 Client Secret
97
+ @o_auth_client_secret = o_auth_client_secret
98
+
99
+ # Object for storing information about the OAuth token
100
+ @o_auth_token = if o_auth_token.is_a? OAuthToken
101
+ OAuthToken.from_hash o_auth_token.to_hash
102
+ else
103
+ o_auth_token
104
+ end
105
+
106
+ # Initializing OAuth 2 Client Credentials Grant credentials with the provided auth parameters
107
+ @client_credentials_auth_credentials = create_auth_credentials_object(
108
+ o_auth_client_id, o_auth_client_secret, o_auth_token,
109
+ client_credentials_auth_credentials
110
+ )
55
111
 
56
112
  # The Http Client to use for making requests.
57
113
  set_http_client CoreLibrary::FaradayClient.new(self)
@@ -60,8 +116,9 @@ module ShellDataReportingApIs
60
116
  def clone_with(connection: nil, adapter: nil, timeout: nil,
61
117
  max_retries: nil, retry_interval: nil, backoff_factor: nil,
62
118
  retry_statuses: nil, retry_methods: nil, http_callback: nil,
63
- environment: nil, basic_auth_credentials: nil,
64
- bearer_token_credentials: nil)
119
+ proxy_settings: nil, environment: nil, o_auth_client_id: nil,
120
+ o_auth_client_secret: nil, o_auth_token: nil,
121
+ client_credentials_auth_credentials: nil)
65
122
  connection ||= self.connection
66
123
  adapter ||= self.adapter
67
124
  timeout ||= self.timeout
@@ -71,21 +128,47 @@ module ShellDataReportingApIs
71
128
  retry_statuses ||= self.retry_statuses
72
129
  retry_methods ||= self.retry_methods
73
130
  http_callback ||= self.http_callback
131
+ proxy_settings ||= self.proxy_settings
74
132
  environment ||= self.environment
75
- basic_auth_credentials ||= self.basic_auth_credentials
76
- bearer_token_credentials ||= self.bearer_token_credentials
77
-
78
- Configuration.new(connection: connection, adapter: adapter,
79
- timeout: timeout, max_retries: max_retries,
80
- retry_interval: retry_interval,
81
- backoff_factor: backoff_factor,
82
- retry_statuses: retry_statuses,
83
- retry_methods: retry_methods,
84
- http_callback: http_callback, environment: environment,
85
- basic_auth_credentials: basic_auth_credentials,
86
- bearer_token_credentials: bearer_token_credentials)
133
+ client_credentials_auth_credentials = create_auth_credentials_object(
134
+ o_auth_client_id, o_auth_client_secret, o_auth_token,
135
+ client_credentials_auth_credentials || self.client_credentials_auth_credentials
136
+ )
137
+
138
+ Configuration.new(
139
+ connection: connection, adapter: adapter, timeout: timeout,
140
+ max_retries: max_retries, retry_interval: retry_interval,
141
+ backoff_factor: backoff_factor, retry_statuses: retry_statuses,
142
+ retry_methods: retry_methods, http_callback: http_callback,
143
+ proxy_settings: proxy_settings, environment: environment,
144
+ client_credentials_auth_credentials: client_credentials_auth_credentials
145
+ )
87
146
  end
88
147
 
148
+ def create_auth_credentials_object(o_auth_client_id, o_auth_client_secret,
149
+ o_auth_token,
150
+ client_credentials_auth_credentials)
151
+ return client_credentials_auth_credentials if o_auth_client_id.nil? &&
152
+ o_auth_client_secret.nil? &&
153
+ o_auth_token.nil?
154
+
155
+ warn('The \'o_auth_client_id\', \'o_auth_client_secret\', \'o_auth_token'\
156
+ '\' params are deprecated. Use \'client_credentials_auth_credential'\
157
+ 's\' param instead.')
158
+
159
+ unless client_credentials_auth_credentials.nil?
160
+ return client_credentials_auth_credentials.clone_with(
161
+ o_auth_client_id: o_auth_client_id,
162
+ o_auth_client_secret: o_auth_client_secret,
163
+ o_auth_token: o_auth_token
164
+ )
165
+ end
166
+
167
+ ClientCredentialsAuthCredentials.new(
168
+ o_auth_client_id: o_auth_client_id,
169
+ o_auth_client_secret: o_auth_client_secret, o_auth_token: o_auth_token
170
+ )
171
+ end
89
172
 
90
173
  # All the environments the SDK can run in.
91
174
  ENVIRONMENTS = {
@@ -106,5 +189,46 @@ module ShellDataReportingApIs
106
189
  def get_base_uri(server = Server::SHELL)
107
190
  ENVIRONMENTS[environment][server].clone
108
191
  end
192
+
193
+ # Builds a Configuration instance using environment variables.
194
+ def self.build_default_config_from_env
195
+ # === Core environment ===
196
+ environment = Environment.from_value(ENV.fetch('ENVIRONMENT', 'sit'))
197
+ timeout = (ENV['TIMEOUT'] || 60).to_f
198
+ max_retries = (ENV['MAX_RETRIES'] || 0).to_i
199
+ retry_interval = (ENV['RETRY_INTERVAL'] || 1).to_f
200
+ backoff_factor = (ENV['BACKOFF_FACTOR'] || 2).to_f
201
+ retry_statuses = ENV.fetch('RETRY_STATUSES',
202
+ '[408, 413, 429, 500, 502, 503, 504, 521, 522, 524]').gsub(/[\[\]]/, '')
203
+ .split(',')
204
+ .map(&:strip)
205
+ .map do |item|
206
+ item.match?(/\A\d+\z/) ? item.to_i : item.downcase
207
+ end
208
+ retry_methods = ENV.fetch('RETRY_METHODS', '%i[get put]').gsub(/[\[\]]/, '')
209
+ .split(',')
210
+ .map(&:strip)
211
+ .map do |item|
212
+ item.match?(/\A\d+\z/) ? item.to_i : item.downcase
213
+ end
214
+
215
+ # === Authentication credentials ===
216
+ client_credentials_auth_credentials = ClientCredentialsAuthCredentials.from_env
217
+
218
+ # === Proxy settings ===
219
+ proxy_settings = ProxySettings.from_env
220
+
221
+ Configuration.new(
222
+ environment: environment,
223
+ timeout: timeout,
224
+ max_retries: max_retries,
225
+ retry_interval: retry_interval,
226
+ backoff_factor: backoff_factor,
227
+ retry_statuses: retry_statuses,
228
+ retry_methods: retry_methods,
229
+ client_credentials_auth_credentials: client_credentials_auth_credentials,
230
+ proxy_settings: proxy_settings
231
+ )
232
+ end
109
233
  end
110
234
  end
@@ -1,7 +1,7 @@
1
1
  # shell_data_reporting_ap_is
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
5
 
6
6
  module ShellDataReportingApIs
7
7
  # BaseController.
@@ -26,13 +26,7 @@ module ShellDataReportingApIs
26
26
  @global_configuration = global_configuration
27
27
  @config = @global_configuration.client_configuration
28
28
  @http_call_back = @config.http_callback
29
- @api_call = ApiCall.new(@global_configuration)
30
- end
31
-
32
- # Creates a new builder for the Api Call instance.
33
- # @return [ApiCall] The instance of ApiCall.
34
- def new_api_call_builder
35
- @api_call.new_builder
29
+ @api_call = ApiCall.new(@global_configuration)
36
30
  end
37
31
 
38
32
  # Creates a new instance of the request builder.