sc-apimatic-sdk 0.0.1

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 (122) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +166 -0
  4. data/bin/console +15 -0
  5. data/lib/socure_risk_os_api/api_helper.rb +10 -0
  6. data/lib/socure_risk_os_api/apis/base_api.rb +67 -0
  7. data/lib/socure_risk_os_api/apis/evaluation_api.rb +318 -0
  8. data/lib/socure_risk_os_api/apis/feedback_api.rb +102 -0
  9. data/lib/socure_risk_os_api/apis/reason_codes_api.rb +61 -0
  10. data/lib/socure_risk_os_api/client.rb +85 -0
  11. data/lib/socure_risk_os_api/configuration.rb +179 -0
  12. data/lib/socure_risk_os_api/exceptions/api_exception.rb +21 -0
  13. data/lib/socure_risk_os_api/exceptions/error_exception.rb +80 -0
  14. data/lib/socure_risk_os_api/http/api_response.rb +19 -0
  15. data/lib/socure_risk_os_api/http/auth/oauth_2.rb +53 -0
  16. data/lib/socure_risk_os_api/http/http_call_back.rb +10 -0
  17. data/lib/socure_risk_os_api/http/http_method_enum.rb +10 -0
  18. data/lib/socure_risk_os_api/http/http_request.rb +10 -0
  19. data/lib/socure_risk_os_api/http/http_response.rb +10 -0
  20. data/lib/socure_risk_os_api/http/proxy_settings.rb +22 -0
  21. data/lib/socure_risk_os_api/logging/configuration/api_logging_configuration.rb +186 -0
  22. data/lib/socure_risk_os_api/logging/sdk_logger.rb +17 -0
  23. data/lib/socure_risk_os_api/models/account.rb +206 -0
  24. data/lib/socure_risk_os_api/models/account1.rb +203 -0
  25. data/lib/socure_risk_os_api/models/account_inquiry.rb +36 -0
  26. data/lib/socure_risk_os_api/models/account_snapshot.rb +106 -0
  27. data/lib/socure_risk_os_api/models/account_view.rb +116 -0
  28. data/lib/socure_risk_os_api/models/actions.rb +88 -0
  29. data/lib/socure_risk_os_api/models/additional_context.rb +235 -0
  30. data/lib/socure_risk_os_api/models/additional_individual.rb +270 -0
  31. data/lib/socure_risk_os_api/models/address.rb +159 -0
  32. data/lib/socure_risk_os_api/models/address1.rb +144 -0
  33. data/lib/socure_risk_os_api/models/advanced_prefill.rb +168 -0
  34. data/lib/socure_risk_os_api/models/age_assurance.rb +163 -0
  35. data/lib/socure_risk_os_api/models/amount.rb +95 -0
  36. data/lib/socure_risk_os_api/models/api_evaluation_monitoring_request.rb +96 -0
  37. data/lib/socure_risk_os_api/models/api_evaluation_monitoring_response.rb +84 -0
  38. data/lib/socure_risk_os_api/models/api_feedback_request.rb +153 -0
  39. data/lib/socure_risk_os_api/models/api_reason_codes_response.rb +85 -0
  40. data/lib/socure_risk_os_api/models/attachment.rb +95 -0
  41. data/lib/socure_risk_os_api/models/bank_account_verification.rb +167 -0
  42. data/lib/socure_risk_os_api/models/base_model.rb +110 -0
  43. data/lib/socure_risk_os_api/models/business.rb +224 -0
  44. data/lib/socure_risk_os_api/models/business_onboarding.rb +167 -0
  45. data/lib/socure_risk_os_api/models/channel.rb +45 -0
  46. data/lib/socure_risk_os_api/models/channel1.rb +44 -0
  47. data/lib/socure_risk_os_api/models/code.rb +68 -0
  48. data/lib/socure_risk_os_api/models/consumer_onboarding.rb +167 -0
  49. data/lib/socure_risk_os_api/models/consumer_onboarding_patch.rb +178 -0
  50. data/lib/socure_risk_os_api/models/crypto_address.rb +105 -0
  51. data/lib/socure_risk_os_api/models/data.rb +106 -0
  52. data/lib/socure_risk_os_api/models/data1.rb +166 -0
  53. data/lib/socure_risk_os_api/models/data10.rb +166 -0
  54. data/lib/socure_risk_os_api/models/data2.rb +145 -0
  55. data/lib/socure_risk_os_api/models/data3.rb +160 -0
  56. data/lib/socure_risk_os_api/models/data4.rb +157 -0
  57. data/lib/socure_risk_os_api/models/data5.rb +154 -0
  58. data/lib/socure_risk_os_api/models/data6.rb +174 -0
  59. data/lib/socure_risk_os_api/models/data7.rb +205 -0
  60. data/lib/socure_risk_os_api/models/data8.rb +115 -0
  61. data/lib/socure_risk_os_api/models/data9.rb +130 -0
  62. data/lib/socure_risk_os_api/models/data_enrichment.rb +182 -0
  63. data/lib/socure_risk_os_api/models/decision.rb +47 -0
  64. data/lib/socure_risk_os_api/models/decision1.rb +48 -0
  65. data/lib/socure_risk_os_api/models/destination.rb +136 -0
  66. data/lib/socure_risk_os_api/models/device.rb +339 -0
  67. data/lib/socure_risk_os_api/models/disclosure_purpose.rb +29 -0
  68. data/lib/socure_risk_os_api/models/document_verification_config.rb +195 -0
  69. data/lib/socure_risk_os_api/models/docv.rb +98 -0
  70. data/lib/socure_risk_os_api/models/environment_name.rb +37 -0
  71. data/lib/socure_risk_os_api/models/eval_response_with_out_socure_data.rb +413 -0
  72. data/lib/socure_risk_os_api/models/eval_source.rb +38 -0
  73. data/lib/socure_risk_os_api/models/event_category.rb +45 -0
  74. data/lib/socure_risk_os_api/models/event_category1.rb +45 -0
  75. data/lib/socure_risk_os_api/models/event_category2.rb +57 -0
  76. data/lib/socure_risk_os_api/models/event_details.rb +96 -0
  77. data/lib/socure_risk_os_api/models/formation.rb +138 -0
  78. data/lib/socure_risk_os_api/models/fraud_feedback_import_response.rb +73 -0
  79. data/lib/socure_risk_os_api/models/fraud_feedback_response.rb +73 -0
  80. data/lib/socure_risk_os_api/models/fraud_label.rb +37 -0
  81. data/lib/socure_risk_os_api/models/gender.rb +40 -0
  82. data/lib/socure_risk_os_api/models/generic_passthrough.rb +169 -0
  83. data/lib/socure_risk_os_api/models/individual.rb +281 -0
  84. data/lib/socure_risk_os_api/models/individual1.rb +292 -0
  85. data/lib/socure_risk_os_api/models/individual3.rb +206 -0
  86. data/lib/socure_risk_os_api/models/individual4.rb +182 -0
  87. data/lib/socure_risk_os_api/models/individual5.rb +297 -0
  88. data/lib/socure_risk_os_api/models/individual6.rb +148 -0
  89. data/lib/socure_risk_os_api/models/input.rb +86 -0
  90. data/lib/socure_risk_os_api/models/inquiry.rb +36 -0
  91. data/lib/socure_risk_os_api/models/invalid_arg.rb +85 -0
  92. data/lib/socure_risk_os_api/models/language.rb +247 -0
  93. data/lib/socure_risk_os_api/models/login_and_authentication.rb +167 -0
  94. data/lib/socure_risk_os_api/models/method.rb +37 -0
  95. data/lib/socure_risk_os_api/models/monitoring_status.rb +37 -0
  96. data/lib/socure_risk_os_api/models/operation.rb +38 -0
  97. data/lib/socure_risk_os_api/models/otp.rb +95 -0
  98. data/lib/socure_risk_os_api/models/otp1.rb +98 -0
  99. data/lib/socure_risk_os_api/models/payment_screening.rb +167 -0
  100. data/lib/socure_risk_os_api/models/payment_screening_business.rb +155 -0
  101. data/lib/socure_risk_os_api/models/payment_screening_individual.rb +254 -0
  102. data/lib/socure_risk_os_api/models/payment_screening_instrument.rb +105 -0
  103. data/lib/socure_risk_os_api/models/product.rb +76 -0
  104. data/lib/socure_risk_os_api/models/reason_code.rb +149 -0
  105. data/lib/socure_risk_os_api/models/redirect.rb +118 -0
  106. data/lib/socure_risk_os_api/models/response.rb +77 -0
  107. data/lib/socure_risk_os_api/models/source.rb +146 -0
  108. data/lib/socure_risk_os_api/models/status.rb +40 -0
  109. data/lib/socure_risk_os_api/models/status1.rb +40 -0
  110. data/lib/socure_risk_os_api/models/transaction_details.rb +97 -0
  111. data/lib/socure_risk_os_api/models/trust_and_safety.rb +167 -0
  112. data/lib/socure_risk_os_api/models/type.rb +36 -0
  113. data/lib/socure_risk_os_api/models/type1.rb +36 -0
  114. data/lib/socure_risk_os_api/models/type2.rb +36 -0
  115. data/lib/socure_risk_os_api/models/update_decision.rb +156 -0
  116. data/lib/socure_risk_os_api/models/update_status.rb +169 -0
  117. data/lib/socure_risk_os_api/models/workforce_verification.rb +167 -0
  118. data/lib/socure_risk_os_api/utilities/date_time_helper.rb +11 -0
  119. data/lib/socure_risk_os_api/utilities/file_wrapper.rb +28 -0
  120. data/lib/socure_risk_os_api/utilities/union_type_lookup.rb +69 -0
  121. data/lib/socure_risk_os_api.rb +143 -0
  122. metadata +205 -0
@@ -0,0 +1,149 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # ReasonCode Model.
8
+ class ReasonCode < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The reason code identifier.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The provider that produces the code.
17
+ # @return [String]
18
+ attr_accessor :provider
19
+
20
+ # Human-readable explanation of the signal.
21
+ # @return [String]
22
+ attr_accessor :description
23
+
24
+ # The product the code belongs to. Omitted when the code is not
25
+ # product-specific.
26
+ # @return [String]
27
+ attr_accessor :product
28
+
29
+ # Whether the code is currently in use.
30
+ # @return [TrueClass | FalseClass]
31
+ attr_accessor :is_active
32
+
33
+ # The date the code was released (`YYYY-MM-DD`), when available.
34
+ # @return [Date]
35
+ attr_accessor :release_date
36
+
37
+ # The date the code was deprecated (`YYYY-MM-DD`), when applicable.
38
+ # @return [Date]
39
+ attr_accessor :deprecated_date
40
+
41
+ # Supplementary guidance for the code, when available.
42
+ # @return [String]
43
+ attr_accessor :additional_note
44
+
45
+ # A mapping from model property names to API property names.
46
+ def self.names
47
+ @_hash = {} if @_hash.nil?
48
+ @_hash['name'] = 'name'
49
+ @_hash['provider'] = 'provider'
50
+ @_hash['description'] = 'description'
51
+ @_hash['product'] = 'product'
52
+ @_hash['is_active'] = 'isActive'
53
+ @_hash['release_date'] = 'releaseDate'
54
+ @_hash['deprecated_date'] = 'deprecatedDate'
55
+ @_hash['additional_note'] = 'additionalNote'
56
+ @_hash
57
+ end
58
+
59
+ # An array for optional fields
60
+ def self.optionals
61
+ %w[
62
+ name
63
+ provider
64
+ description
65
+ product
66
+ is_active
67
+ release_date
68
+ deprecated_date
69
+ additional_note
70
+ ]
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ []
76
+ end
77
+
78
+ def initialize(name: SKIP, provider: SKIP, description: SKIP, product: SKIP,
79
+ is_active: SKIP, release_date: SKIP, deprecated_date: SKIP,
80
+ additional_note: SKIP, additional_properties: nil)
81
+ # Add additional model properties to the instance
82
+ additional_properties = {} if additional_properties.nil?
83
+
84
+ @name = name unless name == SKIP
85
+ @provider = provider unless provider == SKIP
86
+ @description = description unless description == SKIP
87
+ @product = product unless product == SKIP
88
+ @is_active = is_active unless is_active == SKIP
89
+ @release_date = release_date unless release_date == SKIP
90
+ @deprecated_date = deprecated_date unless deprecated_date == SKIP
91
+ @additional_note = additional_note unless additional_note == SKIP
92
+ @additional_properties = additional_properties
93
+ end
94
+
95
+ # Creates an instance of the object from a hash.
96
+ def self.from_hash(hash)
97
+ return nil unless hash
98
+
99
+ # Extract variables from the hash.
100
+ name = hash.key?('name') ? hash['name'] : SKIP
101
+ provider = hash.key?('provider') ? hash['provider'] : SKIP
102
+ description = hash.key?('description') ? hash['description'] : SKIP
103
+ product = hash.key?('product') ? hash['product'] : SKIP
104
+ is_active = hash.key?('isActive') ? hash['isActive'] : SKIP
105
+ release_date = hash.key?('releaseDate') ? hash['releaseDate'] : SKIP
106
+ deprecated_date =
107
+ hash.key?('deprecatedDate') ? hash['deprecatedDate'] : SKIP
108
+ additional_note =
109
+ hash.key?('additionalNote') ? hash['additionalNote'] : SKIP
110
+
111
+ # Create a new hash for additional properties, removing known properties.
112
+ new_hash = hash.reject { |k, _| names.value?(k) }
113
+
114
+ additional_properties = APIHelper.get_additional_properties(
115
+ new_hash, proc { |value| value }
116
+ )
117
+
118
+ # Create object from extracted values.
119
+ ReasonCode.new(name: name,
120
+ provider: provider,
121
+ description: description,
122
+ product: product,
123
+ is_active: is_active,
124
+ release_date: release_date,
125
+ deprecated_date: deprecated_date,
126
+ additional_note: additional_note,
127
+ additional_properties: additional_properties)
128
+ end
129
+
130
+ # Provides a human-readable string representation of the object.
131
+ def to_s
132
+ class_name = self.class.name.split('::').last
133
+ "<#{class_name} name: #{@name}, provider: #{@provider}, description: #{@description},"\
134
+ " product: #{@product}, is_active: #{@is_active}, release_date: #{@release_date},"\
135
+ " deprecated_date: #{@deprecated_date}, additional_note: #{@additional_note},"\
136
+ " additional_properties: #{@additional_properties}>"
137
+ end
138
+
139
+ # Provides a debugging-friendly string with detailed object information.
140
+ def inspect
141
+ class_name = self.class.name.split('::').last
142
+ "<#{class_name} name: #{@name.inspect}, provider: #{@provider.inspect}, description:"\
143
+ " #{@description.inspect}, product: #{@product.inspect}, is_active: #{@is_active.inspect},"\
144
+ " release_date: #{@release_date.inspect}, deprecated_date: #{@deprecated_date.inspect},"\
145
+ " additional_note: #{@additional_note.inspect}, additional_properties:"\
146
+ " #{@additional_properties}>"
147
+ end
148
+ end
149
+ end
@@ -0,0 +1,118 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # Optional URL settings that redirect the consumer after the document capture
8
+ # and upload process is cancelled or completed on the Capture App.
9
+ class Redirect < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Specifies the redirect destination URL.
14
+ # > **Note**: This field is required if `redirect` is provided.
15
+ # @return [String]
16
+ attr_accessor :url
17
+
18
+ # The redirect method.
19
+ # > **Note**: This field is required if `redirect` is provided.
20
+ # @return [Method]
21
+ attr_accessor :method
22
+
23
+ # Specifies an optional object where you can define custom headers.
24
+ # @return [Object]
25
+ attr_accessor :headers
26
+
27
+ # Adds a delay before redirecting, specified in milliseconds.
28
+ # @return [Float]
29
+ attr_accessor :delay
30
+
31
+ # A mapping from model property names to API property names.
32
+ def self.names
33
+ @_hash = {} if @_hash.nil?
34
+ @_hash['url'] = 'url'
35
+ @_hash['method'] = 'method'
36
+ @_hash['headers'] = 'headers'
37
+ @_hash['delay'] = 'delay'
38
+ @_hash
39
+ end
40
+
41
+ # An array for optional fields
42
+ def self.optionals
43
+ %w[
44
+ url
45
+ method
46
+ headers
47
+ delay
48
+ ]
49
+ end
50
+
51
+ # An array for nullable fields
52
+ def self.nullables
53
+ []
54
+ end
55
+
56
+ def initialize(url: SKIP, method: Method::POST, headers: SKIP, delay: SKIP,
57
+ additional_properties: nil)
58
+ # Add additional model properties to the instance
59
+ additional_properties = {} if additional_properties.nil?
60
+
61
+ @url = url unless url == SKIP
62
+ @method = method unless method == SKIP
63
+ @headers = headers unless headers == SKIP
64
+ @delay = delay unless delay == SKIP
65
+ @additional_properties = additional_properties
66
+ end
67
+
68
+ # Creates an instance of the object from a hash.
69
+ def self.from_hash(hash)
70
+ return nil unless hash
71
+
72
+ # Extract variables from the hash.
73
+ url = hash.key?('url') ? hash['url'] : SKIP
74
+ method = hash['method'] ||= Method::POST
75
+ headers = hash.key?('headers') ? hash['headers'] : SKIP
76
+ delay = hash.key?('delay') ? hash['delay'] : SKIP
77
+
78
+ # Create a new hash for additional properties, removing known properties.
79
+ new_hash = hash.reject { |k, _| names.value?(k) }
80
+
81
+ additional_properties = APIHelper.get_additional_properties(
82
+ new_hash, proc { |value| value }
83
+ )
84
+
85
+ # Create object from extracted values.
86
+ Redirect.new(url: url,
87
+ method: method,
88
+ headers: headers,
89
+ delay: delay,
90
+ additional_properties: additional_properties)
91
+ end
92
+
93
+ # Validates an instance of the object from a given value.
94
+ # @param [Redirect | Hash] The value against the validation is performed.
95
+ def self.validate(value)
96
+ return true if value.instance_of? self
97
+
98
+ return false unless value.instance_of? Hash
99
+
100
+ true
101
+ end
102
+
103
+ # Provides a human-readable string representation of the object.
104
+ def to_s
105
+ class_name = self.class.name.split('::').last
106
+ "<#{class_name} url: #{@url}, method: #{@method}, headers: #{@headers}, delay: #{@delay},"\
107
+ " additional_properties: #{@additional_properties}>"
108
+ end
109
+
110
+ # Provides a debugging-friendly string with detailed object information.
111
+ def inspect
112
+ class_name = self.class.name.split('::').last
113
+ "<#{class_name} url: #{@url.inspect}, method: #{@method.inspect}, headers:"\
114
+ " #{@headers.inspect}, delay: #{@delay.inspect}, additional_properties:"\
115
+ " #{@additional_properties}>"
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,77 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # The data returned from the enrichment provider.
8
+ class Response < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Unique identifier assigned to each enrichment after a RiskOS™ workflow is
13
+ # finalized.
14
+ # @return [String]
15
+ attr_accessor :reference_id
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['reference_id'] = 'referenceId'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ %w[
27
+ reference_id
28
+ ]
29
+ end
30
+
31
+ # An array for nullable fields
32
+ def self.nullables
33
+ []
34
+ end
35
+
36
+ def initialize(reference_id: SKIP, additional_properties: nil)
37
+ # Add additional model properties to the instance
38
+ additional_properties = {} if additional_properties.nil?
39
+
40
+ @reference_id = reference_id unless reference_id == SKIP
41
+ @additional_properties = additional_properties
42
+ end
43
+
44
+ # Creates an instance of the object from a hash.
45
+ def self.from_hash(hash)
46
+ return nil unless hash
47
+
48
+ # Extract variables from the hash.
49
+ reference_id = hash.key?('referenceId') ? hash['referenceId'] : SKIP
50
+
51
+ # Create a new hash for additional properties, removing known properties.
52
+ new_hash = hash.reject { |k, _| names.value?(k) }
53
+
54
+ additional_properties = APIHelper.get_additional_properties(
55
+ new_hash, proc { |value| value }
56
+ )
57
+
58
+ # Create object from extracted values.
59
+ Response.new(reference_id: reference_id,
60
+ additional_properties: additional_properties)
61
+ end
62
+
63
+ # Provides a human-readable string representation of the object.
64
+ def to_s
65
+ class_name = self.class.name.split('::').last
66
+ "<#{class_name} reference_id: #{@reference_id}, additional_properties:"\
67
+ " #{@additional_properties}>"
68
+ end
69
+
70
+ # Provides a debugging-friendly string with detailed object information.
71
+ def inspect
72
+ class_name = self.class.name.split('::').last
73
+ "<#{class_name} reference_id: #{@reference_id.inspect}, additional_properties:"\
74
+ " #{@additional_properties}>"
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,146 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # Source party information.
8
+ class Source < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Amount in minor currency units.
13
+ # @return [Integer]
14
+ attr_accessor :amount
15
+
16
+ # ISO 4217 currency code for the amount.
17
+ # @return [String]
18
+ attr_accessor :currency
19
+
20
+ # Mode of interaction on the consumer's end.
21
+ # @return [Channel1]
22
+ attr_accessor :channel
23
+
24
+ # Consumer IP address in IPv4 or IPv6 format.
25
+ # @return [String]
26
+ attr_accessor :ip_address
27
+
28
+ # Individual party details for Payment Screening.
29
+ # @return [PaymentScreeningIndividual]
30
+ attr_accessor :individual
31
+
32
+ # Business party details for Payment Screening.
33
+ # @return [PaymentScreeningBusiness]
34
+ attr_accessor :business
35
+
36
+ # Use this field to provide external device data, e.g. originating from a
37
+ # third party data intelligence provider.
38
+ # @return [Device]
39
+ attr_accessor :external_device
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['amount'] = 'amount'
45
+ @_hash['currency'] = 'currency'
46
+ @_hash['channel'] = 'channel'
47
+ @_hash['ip_address'] = 'ip_address'
48
+ @_hash['individual'] = 'individual'
49
+ @_hash['business'] = 'business'
50
+ @_hash['external_device'] = 'external_device'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ %w[
57
+ amount
58
+ currency
59
+ channel
60
+ ip_address
61
+ individual
62
+ business
63
+ external_device
64
+ ]
65
+ end
66
+
67
+ # An array for nullable fields
68
+ def self.nullables
69
+ []
70
+ end
71
+
72
+ def initialize(amount: SKIP, currency: SKIP, channel: SKIP,
73
+ ip_address: SKIP, individual: SKIP, business: SKIP,
74
+ external_device: SKIP, additional_properties: nil)
75
+ # Add additional model properties to the instance
76
+ additional_properties = {} if additional_properties.nil?
77
+
78
+ @amount = amount unless amount == SKIP
79
+ @currency = currency unless currency == SKIP
80
+ @channel = channel unless channel == SKIP
81
+ @ip_address = ip_address unless ip_address == SKIP
82
+ @individual = individual unless individual == SKIP
83
+ @business = business unless business == SKIP
84
+ @external_device = external_device unless external_device == SKIP
85
+ @additional_properties = additional_properties
86
+ end
87
+
88
+ # Creates an instance of the object from a hash.
89
+ def self.from_hash(hash)
90
+ return nil unless hash
91
+
92
+ # Extract variables from the hash.
93
+ amount = hash.key?('amount') ? hash['amount'] : SKIP
94
+ currency = hash.key?('currency') ? hash['currency'] : SKIP
95
+ channel = hash.key?('channel') ? hash['channel'] : SKIP
96
+ ip_address = hash.key?('ip_address') ? hash['ip_address'] : SKIP
97
+ individual = PaymentScreeningIndividual.from_hash(hash['individual']) if hash['individual']
98
+ business = PaymentScreeningBusiness.from_hash(hash['business']) if hash['business']
99
+ external_device = Device.from_hash(hash['external_device']) if hash['external_device']
100
+
101
+ # Create a new hash for additional properties, removing known properties.
102
+ new_hash = hash.reject { |k, _| names.value?(k) }
103
+
104
+ additional_properties = APIHelper.get_additional_properties(
105
+ new_hash, proc { |value| value }
106
+ )
107
+
108
+ # Create object from extracted values.
109
+ Source.new(amount: amount,
110
+ currency: currency,
111
+ channel: channel,
112
+ ip_address: ip_address,
113
+ individual: individual,
114
+ business: business,
115
+ external_device: external_device,
116
+ additional_properties: additional_properties)
117
+ end
118
+
119
+ # Validates an instance of the object from a given value.
120
+ # @param [Source | Hash] The value against the validation is performed.
121
+ def self.validate(value)
122
+ return true if value.instance_of? self
123
+
124
+ return false unless value.instance_of? Hash
125
+
126
+ true
127
+ end
128
+
129
+ # Provides a human-readable string representation of the object.
130
+ def to_s
131
+ class_name = self.class.name.split('::').last
132
+ "<#{class_name} amount: #{@amount}, currency: #{@currency}, channel: #{@channel},"\
133
+ " ip_address: #{@ip_address}, individual: #{@individual}, business: #{@business},"\
134
+ " external_device: #{@external_device}, additional_properties: #{@additional_properties}>"
135
+ end
136
+
137
+ # Provides a debugging-friendly string with detailed object information.
138
+ def inspect
139
+ class_name = self.class.name.split('::').last
140
+ "<#{class_name} amount: #{@amount.inspect}, currency: #{@currency.inspect}, channel:"\
141
+ " #{@channel.inspect}, ip_address: #{@ip_address.inspect}, individual:"\
142
+ " #{@individual.inspect}, business: #{@business.inspect}, external_device:"\
143
+ " #{@external_device.inspect}, additional_properties: #{@additional_properties}>"
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,40 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # Case-level status of the evaluation.
8
+ class Status
9
+ STATUS = [
10
+ # TODO: Write general description for OPEN
11
+ OPEN = 'OPEN'.freeze,
12
+
13
+ # TODO: Write general description for ON_HOLD
14
+ ON_HOLD = 'ON_HOLD'.freeze,
15
+
16
+ # TODO: Write general description for CLOSED
17
+ CLOSED = 'CLOSED'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ STATUS.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = OPEN)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'open' then OPEN
33
+ when 'on_hold' then ON_HOLD
34
+ when 'closed' then CLOSED
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,40 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # The new status to apply.
8
+ class Status1
9
+ STATUS1 = [
10
+ # TODO: Write general description for OPEN
11
+ OPEN = 'OPEN'.freeze,
12
+
13
+ # TODO: Write general description for CLOSED
14
+ CLOSED = 'CLOSED'.freeze,
15
+
16
+ # TODO: Write general description for ON_HOLD
17
+ ON_HOLD = 'ON_HOLD'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ STATUS1.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = OPEN)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'open' then OPEN
33
+ when 'closed' then CLOSED
34
+ when 'on_hold' then ON_HOLD
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,97 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # Transaction detail fields.
8
+ class TransactionDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Short transaction description.
13
+ # @return [String]
14
+ attr_accessor :memo
15
+
16
+ # Descriptor that may appear on bank statements.
17
+ # @return [String]
18
+ attr_accessor :statement_descriptor
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['memo'] = 'memo'
24
+ @_hash['statement_descriptor'] = 'statement_descriptor'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ memo
32
+ statement_descriptor
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(memo: SKIP, statement_descriptor: SKIP,
42
+ additional_properties: nil)
43
+ # Add additional model properties to the instance
44
+ additional_properties = {} if additional_properties.nil?
45
+
46
+ @memo = memo unless memo == SKIP
47
+ @statement_descriptor = statement_descriptor unless statement_descriptor == SKIP
48
+ @additional_properties = additional_properties
49
+ end
50
+
51
+ # Creates an instance of the object from a hash.
52
+ def self.from_hash(hash)
53
+ return nil unless hash
54
+
55
+ # Extract variables from the hash.
56
+ memo = hash.key?('memo') ? hash['memo'] : SKIP
57
+ statement_descriptor =
58
+ hash.key?('statement_descriptor') ? hash['statement_descriptor'] : SKIP
59
+
60
+ # Create a new hash for additional properties, removing known properties.
61
+ new_hash = hash.reject { |k, _| names.value?(k) }
62
+
63
+ additional_properties = APIHelper.get_additional_properties(
64
+ new_hash, proc { |value| value }
65
+ )
66
+
67
+ # Create object from extracted values.
68
+ TransactionDetails.new(memo: memo,
69
+ statement_descriptor: statement_descriptor,
70
+ additional_properties: additional_properties)
71
+ end
72
+
73
+ # Validates an instance of the object from a given value.
74
+ # @param [TransactionDetails | Hash] The value against the validation is performed.
75
+ def self.validate(value)
76
+ return true if value.instance_of? self
77
+
78
+ return false unless value.instance_of? Hash
79
+
80
+ true
81
+ end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} memo: #{@memo}, statement_descriptor: #{@statement_descriptor},"\
87
+ " additional_properties: #{@additional_properties}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} memo: #{@memo.inspect}, statement_descriptor:"\
94
+ " #{@statement_descriptor.inspect}, additional_properties: #{@additional_properties}>"
95
+ end
96
+ end
97
+ end