card-management-sdk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +88 -0
  4. data/lib/shell_card_management_ap_is/api_helper.rb +10 -0
  5. data/lib/shell_card_management_ap_is/client.rb +85 -0
  6. data/lib/shell_card_management_ap_is/configuration.rb +117 -0
  7. data/lib/shell_card_management_ap_is/controllers/base_controller.rb +66 -0
  8. data/lib/shell_card_management_ap_is/controllers/card_controller.rb +1047 -0
  9. data/lib/shell_card_management_ap_is/controllers/customer_controller.rb +538 -0
  10. data/lib/shell_card_management_ap_is/controllers/o_auth_authorization_controller.rb +42 -0
  11. data/lib/shell_card_management_ap_is/controllers/restriction_controller.rb +496 -0
  12. data/lib/shell_card_management_ap_is/exceptions/api_exception.rb +10 -0
  13. data/lib/shell_card_management_ap_is/exceptions/default_error_exception.rb +32 -0
  14. data/lib/shell_card_management_ap_is/exceptions/error_object_exception.rb +54 -0
  15. data/lib/shell_card_management_ap_is/exceptions/error_user_access_error1_exception.rb +32 -0
  16. data/lib/shell_card_management_ap_is/exceptions/o_auth_provider_exception.rb +48 -0
  17. data/lib/shell_card_management_ap_is/http/auth/basic_auth.rb +50 -0
  18. data/lib/shell_card_management_ap_is/http/auth/bearer_token.rb +89 -0
  19. data/lib/shell_card_management_ap_is/http/http_call_back.rb +10 -0
  20. data/lib/shell_card_management_ap_is/http/http_method_enum.rb +10 -0
  21. data/lib/shell_card_management_ap_is/http/http_request.rb +10 -0
  22. data/lib/shell_card_management_ap_is/http/http_response.rb +10 -0
  23. data/lib/shell_card_management_ap_is/models/account_access.rb +128 -0
  24. data/lib/shell_card_management_ap_is/models/account_request.rb +252 -0
  25. data/lib/shell_card_management_ap_is/models/account_response.rb +111 -0
  26. data/lib/shell_card_management_ap_is/models/account_response_accounts_items.rb +750 -0
  27. data/lib/shell_card_management_ap_is/models/account_restriction_request.rb +131 -0
  28. data/lib/shell_card_management_ap_is/models/account_restriction_response.rb +60 -0
  29. data/lib/shell_card_management_ap_is/models/account_velocity_limit.rb +145 -0
  30. data/lib/shell_card_management_ap_is/models/accounts.rb +65 -0
  31. data/lib/shell_card_management_ap_is/models/address.rb +174 -0
  32. data/lib/shell_card_management_ap_is/models/audit_request.rb +256 -0
  33. data/lib/shell_card_management_ap_is/models/audit_response.rb +111 -0
  34. data/lib/shell_card_management_ap_is/models/audit_response_audits_items.rb +450 -0
  35. data/lib/shell_card_management_ap_is/models/auto_renew_card_request.rb +111 -0
  36. data/lib/shell_card_management_ap_is/models/auto_renew_card_request_auto_renew_cards_items.rb +98 -0
  37. data/lib/shell_card_management_ap_is/models/auto_renew_card_response.rb +92 -0
  38. data/lib/shell_card_management_ap_is/models/auto_renew_card_response_data_items.rb +64 -0
  39. data/lib/shell_card_management_ap_is/models/bank_account.rb +192 -0
  40. data/lib/shell_card_management_ap_is/models/base_model.rb +62 -0
  41. data/lib/shell_card_management_ap_is/models/bundle_restriction.rb +166 -0
  42. data/lib/shell_card_management_ap_is/models/cancel_card_request.rb +107 -0
  43. data/lib/shell_card_management_ap_is/models/cancel_card_response.rb +127 -0
  44. data/lib/shell_card_management_ap_is/models/card.rb +696 -0
  45. data/lib/shell_card_management_ap_is/models/card_block_schedule.rb +65 -0
  46. data/lib/shell_card_management_ap_is/models/card_day_time_restrictions.rb +159 -0
  47. data/lib/shell_card_management_ap_is/models/card_delivery_contact.rb +230 -0
  48. data/lib/shell_card_management_ap_is/models/card_detail.rb +661 -0
  49. data/lib/shell_card_management_ap_is/models/card_detail_auto_renew_enum.rb +28 -0
  50. data/lib/shell_card_management_ap_is/models/card_details_request.rb +260 -0
  51. data/lib/shell_card_management_ap_is/models/card_details_response.rb +1058 -0
  52. data/lib/shell_card_management_ap_is/models/card_details_response_card_block_schedules_items_all_of0.rb +60 -0
  53. data/lib/shell_card_management_ap_is/models/card_details_response_card_delivery_address.rb +227 -0
  54. data/lib/shell_card_management_ap_is/models/card_details_response_fuel_sets_items.rb +58 -0
  55. data/lib/shell_card_management_ap_is/models/card_details_response_international_pos_language_code_enum.rb +118 -0
  56. data/lib/shell_card_management_ap_is/models/card_details_response_international_pos_language_id_enum.rb +118 -0
  57. data/lib/shell_card_management_ap_is/models/card_details_response_local_pos_language_code_enum.rb +118 -0
  58. data/lib/shell_card_management_ap_is/models/card_details_response_local_pos_language_id_enum.rb +118 -0
  59. data/lib/shell_card_management_ap_is/models/card_details_response_non_fuel_sets_items.rb +58 -0
  60. data/lib/shell_card_management_ap_is/models/card_details_response_pin_delivery_address.rb +231 -0
  61. data/lib/shell_card_management_ap_is/models/card_details_response_pin_type_enum.rb +23 -0
  62. data/lib/shell_card_management_ap_is/models/card_details_response_reissue_setting_enum.rb +26 -0
  63. data/lib/shell_card_management_ap_is/models/card_details_response_renewed_card_reissue_setting_enum.rb +25 -0
  64. data/lib/shell_card_management_ap_is/models/card_details_response_status_id_enum.rb +83 -0
  65. data/lib/shell_card_management_ap_is/models/card_group_request.rb +178 -0
  66. data/lib/shell_card_management_ap_is/models/card_group_response.rb +109 -0
  67. data/lib/shell_card_management_ap_is/models/card_group_response_card_groups_items.rb +301 -0
  68. data/lib/shell_card_management_ap_is/models/card_move_request.rb +163 -0
  69. data/lib/shell_card_management_ap_is/models/card_move_request_cards_items.rb +80 -0
  70. data/lib/shell_card_management_ap_is/models/card_move_response.rb +112 -0
  71. data/lib/shell_card_management_ap_is/models/card_move_response_error_cards_items.rb +112 -0
  72. data/lib/shell_card_management_ap_is/models/card_move_response_successful_requests_items.rb +97 -0
  73. data/lib/shell_card_management_ap_is/models/card_search_response.rb +126 -0
  74. data/lib/shell_card_management_ap_is/models/card_summary_request.rb +52 -0
  75. data/lib/shell_card_management_ap_is/models/card_summary_response.rb +82 -0
  76. data/lib/shell_card_management_ap_is/models/card_type_request.rb +145 -0
  77. data/lib/shell_card_management_ap_is/models/card_type_response.rb +79 -0
  78. data/lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb +470 -0
  79. data/lib/shell_card_management_ap_is/models/card_type_response_error.rb +60 -0
  80. data/lib/shell_card_management_ap_is/models/card_usage_restrictions.rb +281 -0
  81. data/lib/shell_card_management_ap_is/models/col_co_access.rb +88 -0
  82. data/lib/shell_card_management_ap_is/models/create_bundle_request.rb +167 -0
  83. data/lib/shell_card_management_ap_is/models/create_bundle_request_restrictions.rb +147 -0
  84. data/lib/shell_card_management_ap_is/models/create_bundle_response.rb +98 -0
  85. data/lib/shell_card_management_ap_is/models/create_bundle_response_data_items.rb +125 -0
  86. data/lib/shell_card_management_ap_is/models/create_bundle_response_data_items_cards_items.rb +50 -0
  87. data/lib/shell_card_management_ap_is/models/create_card_group_request.rb +161 -0
  88. data/lib/shell_card_management_ap_is/models/create_card_group_request_cards_items.rb +84 -0
  89. data/lib/shell_card_management_ap_is/models/create_card_group_response.rb +130 -0
  90. data/lib/shell_card_management_ap_is/models/create_card_group_response_error_cards_items.rb +81 -0
  91. data/lib/shell_card_management_ap_is/models/create_card_group_response_successful_requests_items.rb +71 -0
  92. data/lib/shell_card_management_ap_is/models/create_card_response.rb +65 -0
  93. data/lib/shell_card_management_ap_is/models/customer_contract.rb +63 -0
  94. data/lib/shell_card_management_ap_is/models/customer_detail_request.rb +123 -0
  95. data/lib/shell_card_management_ap_is/models/customer_detail_response.rb +437 -0
  96. data/lib/shell_card_management_ap_is/models/day_time_restrictions.rb +162 -0
  97. data/lib/shell_card_management_ap_is/models/default_error_fault.rb +60 -0
  98. data/lib/shell_card_management_ap_is/models/default_error_fault_detail.rb +50 -0
  99. data/lib/shell_card_management_ap_is/models/delete_bundle_request.rb +126 -0
  100. data/lib/shell_card_management_ap_is/models/delete_bundle_response.rb +60 -0
  101. data/lib/shell_card_management_ap_is/models/delivery_address_update.rb +112 -0
  102. data/lib/shell_card_management_ap_is/models/delivery_address_update_references.rb +102 -0
  103. data/lib/shell_card_management_ap_is/models/delivery_address_update_request.rb +129 -0
  104. data/lib/shell_card_management_ap_is/models/delivery_address_update_response.rb +94 -0
  105. data/lib/shell_card_management_ap_is/models/delivery_addresses.rb +258 -0
  106. data/lib/shell_card_management_ap_is/models/eid_access.rb +75 -0
  107. data/lib/shell_card_management_ap_is/models/error_details.rb +81 -0
  108. data/lib/shell_card_management_ap_is/models/error_status.rb +60 -0
  109. data/lib/shell_card_management_ap_is/models/error_user_access.rb +50 -0
  110. data/lib/shell_card_management_ap_is/models/error_user_access_error.rb +60 -0
  111. data/lib/shell_card_management_ap_is/models/finance_currency.rb +98 -0
  112. data/lib/shell_card_management_ap_is/models/generate_pin_key_response.rb +60 -0
  113. data/lib/shell_card_management_ap_is/models/invoice_distribution_method.rb +99 -0
  114. data/lib/shell_card_management_ap_is/models/location_restrictions.rb +125 -0
  115. data/lib/shell_card_management_ap_is/models/location_restrictions_country_restrictions.rb +65 -0
  116. data/lib/shell_card_management_ap_is/models/location_restrictions_network_restrictions_items.rb +77 -0
  117. data/lib/shell_card_management_ap_is/models/location_restrictions_partner_site_restrictions_items.rb +95 -0
  118. data/lib/shell_card_management_ap_is/models/location_restrictions_shell_site_restrictions_items.rb +95 -0
  119. data/lib/shell_card_management_ap_is/models/logged_in_user_request.rb +107 -0
  120. data/lib/shell_card_management_ap_is/models/logged_in_user_response.rb +394 -0
  121. data/lib/shell_card_management_ap_is/models/o_auth_provider_error_enum.rb +45 -0
  122. data/lib/shell_card_management_ap_is/models/o_auth_token.rb +100 -0
  123. data/lib/shell_card_management_ap_is/models/order_card_enquiry.rb +502 -0
  124. data/lib/shell_card_management_ap_is/models/order_card_enquiry_req.rb +208 -0
  125. data/lib/shell_card_management_ap_is/models/order_card_enquiry_req_reference_type_enum.rb +32 -0
  126. data/lib/shell_card_management_ap_is/models/order_card_enquiry_request.rb +51 -0
  127. data/lib/shell_card_management_ap_is/models/order_card_enquiry_response.rb +79 -0
  128. data/lib/shell_card_management_ap_is/models/order_card_request.rb +60 -0
  129. data/lib/shell_card_management_ap_is/models/order_card_response.rb +90 -0
  130. data/lib/shell_card_management_ap_is/models/payer_access.rb +147 -0
  131. data/lib/shell_card_management_ap_is/models/payer_details.rb +1412 -0
  132. data/lib/shell_card_management_ap_is/models/payer_request.rb +126 -0
  133. data/lib/shell_card_management_ap_is/models/payer_response.rb +115 -0
  134. data/lib/shell_card_management_ap_is/models/payers.rb +109 -0
  135. data/lib/shell_card_management_ap_is/models/pin_advice_types.rb +80 -0
  136. data/lib/shell_card_management_ap_is/models/pin_delivery_contact.rb +242 -0
  137. data/lib/shell_card_management_ap_is/models/pin_delivery_details.rb +169 -0
  138. data/lib/shell_card_management_ap_is/models/pin_reminder_card_details.rb +137 -0
  139. data/lib/shell_card_management_ap_is/models/pin_reminder_reference.rb +99 -0
  140. data/lib/shell_card_management_ap_is/models/pin_reminder_request.rb +135 -0
  141. data/lib/shell_card_management_ap_is/models/pin_reminder_response.rb +90 -0
  142. data/lib/shell_card_management_ap_is/models/product_all_of0.rb +62 -0
  143. data/lib/shell_card_management_ap_is/models/product_group.rb +116 -0
  144. data/lib/shell_card_management_ap_is/models/product_restrictions.rb +66 -0
  145. data/lib/shell_card_management_ap_is/models/purchase_categories.rb +114 -0
  146. data/lib/shell_card_management_ap_is/models/purchase_category1_all_of0.rb +140 -0
  147. data/lib/shell_card_management_ap_is/models/purchase_category_request.rb +114 -0
  148. data/lib/shell_card_management_ap_is/models/purchase_category_response.rb +69 -0
  149. data/lib/shell_card_management_ap_is/models/replace_card_settings.rb +641 -0
  150. data/lib/shell_card_management_ap_is/models/restriction_card_request.rb +115 -0
  151. data/lib/shell_card_management_ap_is/models/restriction_card_request_cards_items.rb +220 -0
  152. data/lib/shell_card_management_ap_is/models/restriction_card_response.rb +91 -0
  153. data/lib/shell_card_management_ap_is/models/restriction_card_response_data_items.rb +240 -0
  154. data/lib/shell_card_management_ap_is/models/restriction_search_card_request.rb +50 -0
  155. data/lib/shell_card_management_ap_is/models/restriction_search_card_request_filters.rb +177 -0
  156. data/lib/shell_card_management_ap_is/models/restriction_search_card_request_filters_cards_items.rb +63 -0
  157. data/lib/shell_card_management_ap_is/models/restriction_search_card_response.rb +79 -0
  158. data/lib/shell_card_management_ap_is/models/restriction_search_card_response_data_items.rb +514 -0
  159. data/lib/shell_card_management_ap_is/models/role.rb +102 -0
  160. data/lib/shell_card_management_ap_is/models/schedule_card_block_cards_items.rb +249 -0
  161. data/lib/shell_card_management_ap_is/models/schedule_card_block_request.rb +77 -0
  162. data/lib/shell_card_management_ap_is/models/schedule_card_block_response.rb +91 -0
  163. data/lib/shell_card_management_ap_is/models/schedule_card_block_response_data_items.rb +89 -0
  164. data/lib/shell_card_management_ap_is/models/search_account_limit_request.rb +50 -0
  165. data/lib/shell_card_management_ap_is/models/search_account_limit_request_filters.rb +118 -0
  166. data/lib/shell_card_management_ap_is/models/search_account_limit_response.rb +70 -0
  167. data/lib/shell_card_management_ap_is/models/search_account_limit_response_data.rb +106 -0
  168. data/lib/shell_card_management_ap_is/models/search_card.rb +66 -0
  169. data/lib/shell_card_management_ap_is/models/search_card_request.rb +72 -0
  170. data/lib/shell_card_management_ap_is/models/search_card_response_restrictions.rb +99 -0
  171. data/lib/shell_card_management_ap_is/models/search_product_restriction.rb +78 -0
  172. data/lib/shell_card_management_ap_is/models/search_request.rb +724 -0
  173. data/lib/shell_card_management_ap_is/models/submitted_card.rb +183 -0
  174. data/lib/shell_card_management_ap_is/models/summary_of_bundle_request.rb +50 -0
  175. data/lib/shell_card_management_ap_is/models/summary_of_bundle_response.rb +79 -0
  176. data/lib/shell_card_management_ap_is/models/summary_of_bundle_response_data_items.rb +123 -0
  177. data/lib/shell_card_management_ap_is/models/summary_of_bundle_response_data_items_card_bundles_items.rb +86 -0
  178. data/lib/shell_card_management_ap_is/models/summary_request.rb +598 -0
  179. data/lib/shell_card_management_ap_is/models/summary_response.rb +184 -0
  180. data/lib/shell_card_management_ap_is/models/summaryof_bundle.rb +126 -0
  181. data/lib/shell_card_management_ap_is/models/update_bundle_request.rb +194 -0
  182. data/lib/shell_card_management_ap_is/models/update_bundle_response.rb +70 -0
  183. data/lib/shell_card_management_ap_is/models/update_card.rb +316 -0
  184. data/lib/shell_card_management_ap_is/models/update_card_group_request.rb +258 -0
  185. data/lib/shell_card_management_ap_is/models/update_card_group_response.rb +130 -0
  186. data/lib/shell_card_management_ap_is/models/update_card_group_response_move_card_references_items.rb +77 -0
  187. data/lib/shell_card_management_ap_is/models/update_card_renewal_address.rb +163 -0
  188. data/lib/shell_card_management_ap_is/models/update_card_status_request.rb +124 -0
  189. data/lib/shell_card_management_ap_is/models/update_card_status_response.rb +133 -0
  190. data/lib/shell_card_management_ap_is/models/update_m_pay_reg_status_request.rb +112 -0
  191. data/lib/shell_card_management_ap_is/models/update_m_pay_reg_status_request_m_pay_requests_items.rb +105 -0
  192. data/lib/shell_card_management_ap_is/models/update_m_pay_reg_status_response.rb +60 -0
  193. data/lib/shell_card_management_ap_is/models/url_enum.rb +23 -0
  194. data/lib/shell_card_management_ap_is/models/usage_restrictions.rb +311 -0
  195. data/lib/shell_card_management_ap_is/utilities/date_time_helper.rb +11 -0
  196. data/lib/shell_card_management_ap_is/utilities/file_wrapper.rb +16 -0
  197. data/lib/shell_card_management_ap_is.rb +288 -0
  198. metadata +283 -0
@@ -0,0 +1,115 @@
1
+ # shell_card_management_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellCardManagementApIs
7
+ # RestrictionCardRequest Model.
8
+ class RestrictionCardRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Collecting Company Id of the selected payer.
13
+ # Optional if ColCoCode is passed else Mandatory.
14
+ # Example:
15
+ # 1 for Philippines
16
+ # 5 for UK
17
+ # @return [Integer]
18
+ attr_accessor :col_co_id
19
+
20
+ # Payer Number of the selected payer.
21
+ # Optional if PayerId is passed else Mandatory
22
+ # Example: GB000000123
23
+ # List of restrictions to be applied on the card. The details of
24
+ # CardRestriction entity is given below.
25
+ # @return [String]
26
+ attr_accessor :payer_number
27
+
28
+ # Payer Id of the selected payer.
29
+ # Optional if PayerNumber is passed else Mandatory
30
+ # Example: 123456
31
+ # @return [Integer]
32
+ attr_accessor :payer_id
33
+
34
+ # List of restrictions to be applied on the card. The details of
35
+ # CardRestriction entity is given below.
36
+ # @return [Array[RestrictionCardRequestCardsItems]]
37
+ attr_accessor :cards
38
+
39
+ # Collecting Company Code (Shell Code) of the selected payer.
40
+ # Mandatory for serviced OUs such as Romania, Latvia, Lithuania, Estonia,
41
+ # Ukraine etc. It is optional for other countries if ColCoID is provided.
42
+ # Example:
43
+ # 86 for Philippines
44
+ # 5 for UK
45
+ # @return [Integer]
46
+ attr_accessor :col_co_code
47
+
48
+ # A mapping from model property names to API property names.
49
+ def self.names
50
+ @_hash = {} if @_hash.nil?
51
+ @_hash['col_co_id'] = 'ColCoId'
52
+ @_hash['payer_number'] = 'PayerNumber'
53
+ @_hash['payer_id'] = 'PayerId'
54
+ @_hash['cards'] = 'Cards'
55
+ @_hash['col_co_code'] = 'ColCoCode'
56
+ @_hash
57
+ end
58
+
59
+ # An array for optional fields
60
+ def self.optionals
61
+ %w[
62
+ col_co_id
63
+ payer_number
64
+ payer_id
65
+ cards
66
+ col_co_code
67
+ ]
68
+ end
69
+
70
+ # An array for nullable fields
71
+ def self.nullables
72
+ []
73
+ end
74
+
75
+ def initialize(col_co_id = SKIP,
76
+ payer_number = SKIP,
77
+ payer_id = SKIP,
78
+ cards = SKIP,
79
+ col_co_code = SKIP)
80
+ @col_co_id = col_co_id unless col_co_id == SKIP
81
+ @payer_number = payer_number unless payer_number == SKIP
82
+ @payer_id = payer_id unless payer_id == SKIP
83
+ @cards = cards unless cards == SKIP
84
+ @col_co_code = col_co_code unless col_co_code == SKIP
85
+ end
86
+
87
+ # Creates an instance of the object from a hash.
88
+ def self.from_hash(hash)
89
+ return nil unless hash
90
+
91
+ # Extract variables from the hash.
92
+ col_co_id = hash.key?('ColCoId') ? hash['ColCoId'] : SKIP
93
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
94
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
95
+ # Parameter is an array, so we need to iterate through it
96
+ cards = nil
97
+ unless hash['Cards'].nil?
98
+ cards = []
99
+ hash['Cards'].each do |structure|
100
+ cards << (RestrictionCardRequestCardsItems.from_hash(structure) if structure)
101
+ end
102
+ end
103
+
104
+ cards = SKIP unless hash.key?('Cards')
105
+ col_co_code = hash.key?('ColCoCode') ? hash['ColCoCode'] : SKIP
106
+
107
+ # Create object from extracted values.
108
+ RestrictionCardRequest.new(col_co_id,
109
+ payer_number,
110
+ payer_id,
111
+ cards,
112
+ col_co_code)
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,220 @@
1
+ # shell_card_management_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellCardManagementApIs
7
+ # RestrictionCardRequestCardsItems Model.
8
+ class RestrictionCardRequestCardsItems < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Account Number of the customer.
13
+ # Optional if AccountId is passed, else Mandatory.
14
+ # This input is a search criterion, if given.
15
+ # Example: GB000000123
16
+ # @return [String]
17
+ attr_accessor :account_number
18
+
19
+ # Account ID of the customer.
20
+ # Optional if AccountNumber is passed, else Mandatory.
21
+ # This input is a search criterion, if given.
22
+ # Example: 123456
23
+ # @return [Integer]
24
+ attr_accessor :account_id
25
+
26
+ # Card PAN.
27
+ # Optional if CardId is given, else mandatory.
28
+ # Example: 7002051006629890645
29
+ # Note:
30
+ # • PAN is ignored if CardId is given.
31
+ # When PAN matches with multiple cards, the restriction will be applied on
32
+ # the latest issued card.
33
+ # @return [String]
34
+ attr_accessor :pan
35
+
36
+ # Unique Card Id
37
+ # Optional if PAN is given, else mandatory.
38
+ # Example: 275549
39
+ # @return [Integer]
40
+ attr_accessor :card_id
41
+
42
+ # True/False.
43
+ # If true, the usage restrictions applied on the card in Gateway will be
44
+ # reset to Customer Card Type level max limits, if there are no customer
45
+ # level overrides available then OU card type max limits. Else, the card
46
+ # restrictions will be updated with the usage restrictions provided in the
47
+ # API.
48
+ # @return [TrueClass | FalseClass]
49
+ attr_accessor :reset_usage_restrictions
50
+
51
+ # True/False.
52
+ # If true, the Day/Time restrictions applied on the card will be deleted.
53
+ # Else, the card restrictions will be updated with the day/time restrictions
54
+ # provided in the API.
55
+ # @return [TrueClass | FalseClass]
56
+ attr_accessor :reset_day_time_restrictions
57
+
58
+ # True/False.
59
+ # If true, Default fuel/non-fuel sets configured at the purchase category
60
+ # level will be applied to the card. Else, the card will be applied with
61
+ # product restrictions provided in the API.
62
+ # @return [TrueClass | FalseClass]
63
+ attr_accessor :reset_product_restrictions
64
+
65
+ # True/False.
66
+ # If true, the location restrictions applied on the card will be deleted.
67
+ # Else, the card restrictions will be updated with the location restrictions
68
+ # provided in the API.
69
+ # @return [TrueClass | FalseClass]
70
+ attr_accessor :reset_location_restrictions
71
+
72
+ # Day/time restrictions such as weekdays and time range to be applied on the
73
+ # bundle.
74
+ # Mandatory if respective action is set as “Add”.
75
+ # The details of DayTimeRestriction entity is given below.
76
+ # @return [DayTimeRestrictions]
77
+ attr_accessor :day_time_restrictions
78
+
79
+ # Location restrictions to be applied on the bundle which either allows or
80
+ # restricts using the cards, which are under the bundle, in the specified
81
+ # locations.
82
+ # Mandatory if respective action is set as “Add”.
83
+ # Details of location restrictions are given below.
84
+ # @return [LocationRestrictions]
85
+ attr_accessor :location_restrictions
86
+
87
+ # Location restrictions to be applied on the bundle which either allows or
88
+ # restricts using the cards, which are under the bundle, in the specified
89
+ # locations.
90
+ # Mandatory if respective action is set as “Add”.
91
+ # Details of location restrictions are given below.
92
+ # @return [ProductRestrictions]
93
+ attr_accessor :product_restrictions
94
+
95
+ # Location restrictions to be applied on the bundle which either allows or
96
+ # restricts using the cards, which are under the bundle, in the specified
97
+ # locations.
98
+ # Mandatory if respective action is set as “Add”.
99
+ # Details of location restrictions are given below.
100
+ # @return [UsageRestrictions]
101
+ attr_accessor :usage_restrictions
102
+
103
+ # A mapping from model property names to API property names.
104
+ def self.names
105
+ @_hash = {} if @_hash.nil?
106
+ @_hash['account_number'] = 'AccountNumber'
107
+ @_hash['account_id'] = 'AccountId'
108
+ @_hash['pan'] = 'PAN'
109
+ @_hash['card_id'] = 'CardId'
110
+ @_hash['reset_usage_restrictions'] = 'ResetUsageRestrictions'
111
+ @_hash['reset_day_time_restrictions'] = 'ResetDayTimeRestrictions'
112
+ @_hash['reset_product_restrictions'] = 'ResetProductRestrictions'
113
+ @_hash['reset_location_restrictions'] = 'ResetLocationRestrictions'
114
+ @_hash['day_time_restrictions'] = 'DayTimeRestrictions'
115
+ @_hash['location_restrictions'] = 'LocationRestrictions'
116
+ @_hash['product_restrictions'] = 'ProductRestrictions'
117
+ @_hash['usage_restrictions'] = 'UsageRestrictions'
118
+ @_hash
119
+ end
120
+
121
+ # An array for optional fields
122
+ def self.optionals
123
+ %w[
124
+ account_number
125
+ account_id
126
+ pan
127
+ card_id
128
+ reset_usage_restrictions
129
+ reset_day_time_restrictions
130
+ reset_product_restrictions
131
+ reset_location_restrictions
132
+ day_time_restrictions
133
+ location_restrictions
134
+ product_restrictions
135
+ usage_restrictions
136
+ ]
137
+ end
138
+
139
+ # An array for nullable fields
140
+ def self.nullables
141
+ []
142
+ end
143
+
144
+ def initialize(account_number = SKIP,
145
+ account_id = SKIP,
146
+ pan = SKIP,
147
+ card_id = SKIP,
148
+ reset_usage_restrictions = SKIP,
149
+ reset_day_time_restrictions = SKIP,
150
+ reset_product_restrictions = SKIP,
151
+ reset_location_restrictions = SKIP,
152
+ day_time_restrictions = SKIP,
153
+ location_restrictions = SKIP,
154
+ product_restrictions = SKIP,
155
+ usage_restrictions = SKIP)
156
+ @account_number = account_number unless account_number == SKIP
157
+ @account_id = account_id unless account_id == SKIP
158
+ @pan = pan unless pan == SKIP
159
+ @card_id = card_id unless card_id == SKIP
160
+ @reset_usage_restrictions = reset_usage_restrictions unless reset_usage_restrictions == SKIP
161
+ unless reset_day_time_restrictions == SKIP
162
+ @reset_day_time_restrictions =
163
+ reset_day_time_restrictions
164
+ end
165
+ unless reset_product_restrictions == SKIP
166
+ @reset_product_restrictions =
167
+ reset_product_restrictions
168
+ end
169
+ unless reset_location_restrictions == SKIP
170
+ @reset_location_restrictions =
171
+ reset_location_restrictions
172
+ end
173
+ @day_time_restrictions = day_time_restrictions unless day_time_restrictions == SKIP
174
+ @location_restrictions = location_restrictions unless location_restrictions == SKIP
175
+ @product_restrictions = product_restrictions unless product_restrictions == SKIP
176
+ @usage_restrictions = usage_restrictions unless usage_restrictions == SKIP
177
+ end
178
+
179
+ # Creates an instance of the object from a hash.
180
+ def self.from_hash(hash)
181
+ return nil unless hash
182
+
183
+ # Extract variables from the hash.
184
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
185
+ account_id = hash.key?('AccountId') ? hash['AccountId'] : SKIP
186
+ pan = hash.key?('PAN') ? hash['PAN'] : SKIP
187
+ card_id = hash.key?('CardId') ? hash['CardId'] : SKIP
188
+ reset_usage_restrictions =
189
+ hash.key?('ResetUsageRestrictions') ? hash['ResetUsageRestrictions'] : SKIP
190
+ reset_day_time_restrictions =
191
+ hash.key?('ResetDayTimeRestrictions') ? hash['ResetDayTimeRestrictions'] : SKIP
192
+ reset_product_restrictions =
193
+ hash.key?('ResetProductRestrictions') ? hash['ResetProductRestrictions'] : SKIP
194
+ reset_location_restrictions =
195
+ hash.key?('ResetLocationRestrictions') ? hash['ResetLocationRestrictions'] : SKIP
196
+ day_time_restrictions = DayTimeRestrictions.from_hash(hash['DayTimeRestrictions']) if
197
+ hash['DayTimeRestrictions']
198
+ location_restrictions = LocationRestrictions.from_hash(hash['LocationRestrictions']) if
199
+ hash['LocationRestrictions']
200
+ product_restrictions = ProductRestrictions.from_hash(hash['ProductRestrictions']) if
201
+ hash['ProductRestrictions']
202
+ usage_restrictions = UsageRestrictions.from_hash(hash['UsageRestrictions']) if
203
+ hash['UsageRestrictions']
204
+
205
+ # Create object from extracted values.
206
+ RestrictionCardRequestCardsItems.new(account_number,
207
+ account_id,
208
+ pan,
209
+ card_id,
210
+ reset_usage_restrictions,
211
+ reset_day_time_restrictions,
212
+ reset_product_restrictions,
213
+ reset_location_restrictions,
214
+ day_time_restrictions,
215
+ location_restrictions,
216
+ product_restrictions,
217
+ usage_restrictions)
218
+ end
219
+ end
220
+ end
@@ -0,0 +1,91 @@
1
+ # shell_card_management_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellCardManagementApIs
7
+ # RestrictionCardResponse Model.
8
+ class RestrictionCardResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Main reference number for tracking.
13
+ # Example: 123455
14
+ # @return [Integer]
15
+ attr_accessor :main_reference
16
+
17
+ # API Request Id
18
+ # @return [String]
19
+ attr_accessor :request_id
20
+
21
+ # API Response Status
22
+ # @return [String]
23
+ attr_accessor :status
24
+
25
+ # List of card restriction requests validated and submitted successfully for
26
+ # processing.
27
+ # @return [Array[RestrictionCardResponseDataItems]]
28
+ attr_accessor :data
29
+
30
+ # A mapping from model property names to API property names.
31
+ def self.names
32
+ @_hash = {} if @_hash.nil?
33
+ @_hash['main_reference'] = 'MainReference'
34
+ @_hash['request_id'] = 'RequestId'
35
+ @_hash['status'] = 'Status'
36
+ @_hash['data'] = 'Data'
37
+ @_hash
38
+ end
39
+
40
+ # An array for optional fields
41
+ def self.optionals
42
+ %w[
43
+ main_reference
44
+ request_id
45
+ status
46
+ data
47
+ ]
48
+ end
49
+
50
+ # An array for nullable fields
51
+ def self.nullables
52
+ []
53
+ end
54
+
55
+ def initialize(main_reference = SKIP,
56
+ request_id = SKIP,
57
+ status = SKIP,
58
+ data = SKIP)
59
+ @main_reference = main_reference unless main_reference == SKIP
60
+ @request_id = request_id unless request_id == SKIP
61
+ @status = status unless status == SKIP
62
+ @data = data unless data == SKIP
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ main_reference = hash.key?('MainReference') ? hash['MainReference'] : SKIP
71
+ request_id = hash.key?('RequestId') ? hash['RequestId'] : SKIP
72
+ status = hash.key?('Status') ? hash['Status'] : SKIP
73
+ # Parameter is an array, so we need to iterate through it
74
+ data = nil
75
+ unless hash['Data'].nil?
76
+ data = []
77
+ hash['Data'].each do |structure|
78
+ data << (RestrictionCardResponseDataItems.from_hash(structure) if structure)
79
+ end
80
+ end
81
+
82
+ data = SKIP unless hash.key?('Data')
83
+
84
+ # Create object from extracted values.
85
+ RestrictionCardResponse.new(main_reference,
86
+ request_id,
87
+ status,
88
+ data)
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,240 @@
1
+ # shell_card_management_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellCardManagementApIs
7
+ # RestrictionCardResponseDataItems Model.
8
+ class RestrictionCardResponseDataItems < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Account Id of the customer.
13
+ # @return [Integer]
14
+ attr_accessor :account_id
15
+
16
+ # Account Number of the customer.
17
+ # @return [String]
18
+ attr_accessor :account_number
19
+
20
+ # Unique Card Id
21
+ # @return [Integer]
22
+ attr_accessor :card_id
23
+
24
+ # This field will have a value only when “DayTimeRestrictionStatus” is
25
+ # “Failed”.
26
+ # @return [String]
27
+ attr_accessor :day_time_restriction_description
28
+
29
+ # Status of the card day/time restriction submitted to API. Based on the
30
+ # response from API value will be set as either “Success” or “Failed”.
31
+ # @return [String]
32
+ attr_accessor :day_time_restriction_status
33
+
34
+ # This field will have a value only when “LocationRestrictionStatus” is
35
+ # “Failed”.
36
+ # @return [String]
37
+ attr_accessor :location_restriction_description
38
+
39
+ # Card Location restriction submitted to gateway based on gateway response
40
+ # value set as “Success” or “Failed”.
41
+ # @return [String]
42
+ attr_accessor :location_restriction_status
43
+
44
+ # Card PAN
45
+ # @return [String]
46
+ attr_accessor :pan
47
+
48
+ # This field will have a value only when “ProductRestrictionStatus” is
49
+ # “Failed”.
50
+ # @return [String]
51
+ attr_accessor :product_restriction_description
52
+
53
+ # Status of the card product restriction submitted
54
+ # @return [String]
55
+ attr_accessor :product_restriction_status
56
+
57
+ # This field will have a value only when “UsageRestrictionStatus” is
58
+ # “Failed”.
59
+ # @return [String]
60
+ attr_accessor :usage_restriction_description
61
+
62
+ # Status of the card usage restriction submitted
63
+ # @return [String]
64
+ attr_accessor :usage_restriction_status
65
+
66
+ # Error code for validation failure.
67
+ # Example error codes:
68
+ # 0007, 9007, 7000, 7001.
69
+ # @return [String]
70
+ attr_accessor :validation_error_code
71
+
72
+ # Description of validation failure.
73
+ # @return [String]
74
+ attr_accessor :validation_error_description
75
+
76
+ # A mapping from model property names to API property names.
77
+ def self.names
78
+ @_hash = {} if @_hash.nil?
79
+ @_hash['account_id'] = 'AccountId'
80
+ @_hash['account_number'] = 'AccountNumber'
81
+ @_hash['card_id'] = 'CardId'
82
+ @_hash['day_time_restriction_description'] =
83
+ 'DayTimeRestrictionDescription'
84
+ @_hash['day_time_restriction_status'] = 'DayTimeRestrictionStatus'
85
+ @_hash['location_restriction_description'] =
86
+ 'LocationRestrictionDescription'
87
+ @_hash['location_restriction_status'] = 'LocationRestrictionStatus'
88
+ @_hash['pan'] = 'PAN'
89
+ @_hash['product_restriction_description'] =
90
+ 'ProductRestrictionDescription'
91
+ @_hash['product_restriction_status'] = 'ProductRestrictionStatus'
92
+ @_hash['usage_restriction_description'] = 'UsageRestrictionDescription'
93
+ @_hash['usage_restriction_status'] = 'UsageRestrictionStatus'
94
+ @_hash['validation_error_code'] = 'ValidationErrorCode'
95
+ @_hash['validation_error_description'] = 'ValidationErrorDescription'
96
+ @_hash
97
+ end
98
+
99
+ # An array for optional fields
100
+ def self.optionals
101
+ %w[
102
+ account_id
103
+ account_number
104
+ card_id
105
+ day_time_restriction_description
106
+ day_time_restriction_status
107
+ location_restriction_description
108
+ location_restriction_status
109
+ pan
110
+ product_restriction_description
111
+ product_restriction_status
112
+ usage_restriction_description
113
+ usage_restriction_status
114
+ validation_error_code
115
+ validation_error_description
116
+ ]
117
+ end
118
+
119
+ # An array for nullable fields
120
+ def self.nullables
121
+ %w[
122
+ account_id
123
+ account_number
124
+ card_id
125
+ day_time_restriction_description
126
+ day_time_restriction_status
127
+ location_restriction_description
128
+ location_restriction_status
129
+ pan
130
+ product_restriction_description
131
+ product_restriction_status
132
+ usage_restriction_description
133
+ usage_restriction_status
134
+ validation_error_code
135
+ validation_error_description
136
+ ]
137
+ end
138
+
139
+ def initialize(account_id = SKIP,
140
+ account_number = SKIP,
141
+ card_id = SKIP,
142
+ day_time_restriction_description = SKIP,
143
+ day_time_restriction_status = SKIP,
144
+ location_restriction_description = SKIP,
145
+ location_restriction_status = SKIP,
146
+ pan = SKIP,
147
+ product_restriction_description = SKIP,
148
+ product_restriction_status = SKIP,
149
+ usage_restriction_description = SKIP,
150
+ usage_restriction_status = SKIP,
151
+ validation_error_code = SKIP,
152
+ validation_error_description = SKIP)
153
+ @account_id = account_id unless account_id == SKIP
154
+ @account_number = account_number unless account_number == SKIP
155
+ @card_id = card_id unless card_id == SKIP
156
+ unless day_time_restriction_description == SKIP
157
+ @day_time_restriction_description =
158
+ day_time_restriction_description
159
+ end
160
+ unless day_time_restriction_status == SKIP
161
+ @day_time_restriction_status =
162
+ day_time_restriction_status
163
+ end
164
+ unless location_restriction_description == SKIP
165
+ @location_restriction_description =
166
+ location_restriction_description
167
+ end
168
+ unless location_restriction_status == SKIP
169
+ @location_restriction_status =
170
+ location_restriction_status
171
+ end
172
+ @pan = pan unless pan == SKIP
173
+ unless product_restriction_description == SKIP
174
+ @product_restriction_description =
175
+ product_restriction_description
176
+ end
177
+ unless product_restriction_status == SKIP
178
+ @product_restriction_status =
179
+ product_restriction_status
180
+ end
181
+ unless usage_restriction_description == SKIP
182
+ @usage_restriction_description =
183
+ usage_restriction_description
184
+ end
185
+ @usage_restriction_status = usage_restriction_status unless usage_restriction_status == SKIP
186
+ @validation_error_code = validation_error_code unless validation_error_code == SKIP
187
+ unless validation_error_description == SKIP
188
+ @validation_error_description =
189
+ validation_error_description
190
+ end
191
+ end
192
+
193
+ # Creates an instance of the object from a hash.
194
+ def self.from_hash(hash)
195
+ return nil unless hash
196
+
197
+ # Extract variables from the hash.
198
+ account_id = hash.key?('AccountId') ? hash['AccountId'] : SKIP
199
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
200
+ card_id = hash.key?('CardId') ? hash['CardId'] : SKIP
201
+ day_time_restriction_description =
202
+ hash.key?('DayTimeRestrictionDescription') ? hash['DayTimeRestrictionDescription'] : SKIP
203
+ day_time_restriction_status =
204
+ hash.key?('DayTimeRestrictionStatus') ? hash['DayTimeRestrictionStatus'] : SKIP
205
+ location_restriction_description =
206
+ hash.key?('LocationRestrictionDescription') ? hash['LocationRestrictionDescription'] : SKIP
207
+ location_restriction_status =
208
+ hash.key?('LocationRestrictionStatus') ? hash['LocationRestrictionStatus'] : SKIP
209
+ pan = hash.key?('PAN') ? hash['PAN'] : SKIP
210
+ product_restriction_description =
211
+ hash.key?('ProductRestrictionDescription') ? hash['ProductRestrictionDescription'] : SKIP
212
+ product_restriction_status =
213
+ hash.key?('ProductRestrictionStatus') ? hash['ProductRestrictionStatus'] : SKIP
214
+ usage_restriction_description =
215
+ hash.key?('UsageRestrictionDescription') ? hash['UsageRestrictionDescription'] : SKIP
216
+ usage_restriction_status =
217
+ hash.key?('UsageRestrictionStatus') ? hash['UsageRestrictionStatus'] : SKIP
218
+ validation_error_code =
219
+ hash.key?('ValidationErrorCode') ? hash['ValidationErrorCode'] : SKIP
220
+ validation_error_description =
221
+ hash.key?('ValidationErrorDescription') ? hash['ValidationErrorDescription'] : SKIP
222
+
223
+ # Create object from extracted values.
224
+ RestrictionCardResponseDataItems.new(account_id,
225
+ account_number,
226
+ card_id,
227
+ day_time_restriction_description,
228
+ day_time_restriction_status,
229
+ location_restriction_description,
230
+ location_restriction_status,
231
+ pan,
232
+ product_restriction_description,
233
+ product_restriction_status,
234
+ usage_restriction_description,
235
+ usage_restriction_status,
236
+ validation_error_code,
237
+ validation_error_description)
238
+ end
239
+ end
240
+ end