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.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +166 -0
- data/bin/console +15 -0
- data/lib/socure_risk_os_api/api_helper.rb +10 -0
- data/lib/socure_risk_os_api/apis/base_api.rb +67 -0
- data/lib/socure_risk_os_api/apis/evaluation_api.rb +318 -0
- data/lib/socure_risk_os_api/apis/feedback_api.rb +102 -0
- data/lib/socure_risk_os_api/apis/reason_codes_api.rb +61 -0
- data/lib/socure_risk_os_api/client.rb +85 -0
- data/lib/socure_risk_os_api/configuration.rb +179 -0
- data/lib/socure_risk_os_api/exceptions/api_exception.rb +21 -0
- data/lib/socure_risk_os_api/exceptions/error_exception.rb +80 -0
- data/lib/socure_risk_os_api/http/api_response.rb +19 -0
- data/lib/socure_risk_os_api/http/auth/oauth_2.rb +53 -0
- data/lib/socure_risk_os_api/http/http_call_back.rb +10 -0
- data/lib/socure_risk_os_api/http/http_method_enum.rb +10 -0
- data/lib/socure_risk_os_api/http/http_request.rb +10 -0
- data/lib/socure_risk_os_api/http/http_response.rb +10 -0
- data/lib/socure_risk_os_api/http/proxy_settings.rb +22 -0
- data/lib/socure_risk_os_api/logging/configuration/api_logging_configuration.rb +186 -0
- data/lib/socure_risk_os_api/logging/sdk_logger.rb +17 -0
- data/lib/socure_risk_os_api/models/account.rb +206 -0
- data/lib/socure_risk_os_api/models/account1.rb +203 -0
- data/lib/socure_risk_os_api/models/account_inquiry.rb +36 -0
- data/lib/socure_risk_os_api/models/account_snapshot.rb +106 -0
- data/lib/socure_risk_os_api/models/account_view.rb +116 -0
- data/lib/socure_risk_os_api/models/actions.rb +88 -0
- data/lib/socure_risk_os_api/models/additional_context.rb +235 -0
- data/lib/socure_risk_os_api/models/additional_individual.rb +270 -0
- data/lib/socure_risk_os_api/models/address.rb +159 -0
- data/lib/socure_risk_os_api/models/address1.rb +144 -0
- data/lib/socure_risk_os_api/models/advanced_prefill.rb +168 -0
- data/lib/socure_risk_os_api/models/age_assurance.rb +163 -0
- data/lib/socure_risk_os_api/models/amount.rb +95 -0
- data/lib/socure_risk_os_api/models/api_evaluation_monitoring_request.rb +96 -0
- data/lib/socure_risk_os_api/models/api_evaluation_monitoring_response.rb +84 -0
- data/lib/socure_risk_os_api/models/api_feedback_request.rb +153 -0
- data/lib/socure_risk_os_api/models/api_reason_codes_response.rb +85 -0
- data/lib/socure_risk_os_api/models/attachment.rb +95 -0
- data/lib/socure_risk_os_api/models/bank_account_verification.rb +167 -0
- data/lib/socure_risk_os_api/models/base_model.rb +110 -0
- data/lib/socure_risk_os_api/models/business.rb +224 -0
- data/lib/socure_risk_os_api/models/business_onboarding.rb +167 -0
- data/lib/socure_risk_os_api/models/channel.rb +45 -0
- data/lib/socure_risk_os_api/models/channel1.rb +44 -0
- data/lib/socure_risk_os_api/models/code.rb +68 -0
- data/lib/socure_risk_os_api/models/consumer_onboarding.rb +167 -0
- data/lib/socure_risk_os_api/models/consumer_onboarding_patch.rb +178 -0
- data/lib/socure_risk_os_api/models/crypto_address.rb +105 -0
- data/lib/socure_risk_os_api/models/data.rb +106 -0
- data/lib/socure_risk_os_api/models/data1.rb +166 -0
- data/lib/socure_risk_os_api/models/data10.rb +166 -0
- data/lib/socure_risk_os_api/models/data2.rb +145 -0
- data/lib/socure_risk_os_api/models/data3.rb +160 -0
- data/lib/socure_risk_os_api/models/data4.rb +157 -0
- data/lib/socure_risk_os_api/models/data5.rb +154 -0
- data/lib/socure_risk_os_api/models/data6.rb +174 -0
- data/lib/socure_risk_os_api/models/data7.rb +205 -0
- data/lib/socure_risk_os_api/models/data8.rb +115 -0
- data/lib/socure_risk_os_api/models/data9.rb +130 -0
- data/lib/socure_risk_os_api/models/data_enrichment.rb +182 -0
- data/lib/socure_risk_os_api/models/decision.rb +47 -0
- data/lib/socure_risk_os_api/models/decision1.rb +48 -0
- data/lib/socure_risk_os_api/models/destination.rb +136 -0
- data/lib/socure_risk_os_api/models/device.rb +339 -0
- data/lib/socure_risk_os_api/models/disclosure_purpose.rb +29 -0
- data/lib/socure_risk_os_api/models/document_verification_config.rb +195 -0
- data/lib/socure_risk_os_api/models/docv.rb +98 -0
- data/lib/socure_risk_os_api/models/environment_name.rb +37 -0
- data/lib/socure_risk_os_api/models/eval_response_with_out_socure_data.rb +413 -0
- data/lib/socure_risk_os_api/models/eval_source.rb +38 -0
- data/lib/socure_risk_os_api/models/event_category.rb +45 -0
- data/lib/socure_risk_os_api/models/event_category1.rb +45 -0
- data/lib/socure_risk_os_api/models/event_category2.rb +57 -0
- data/lib/socure_risk_os_api/models/event_details.rb +96 -0
- data/lib/socure_risk_os_api/models/formation.rb +138 -0
- data/lib/socure_risk_os_api/models/fraud_feedback_import_response.rb +73 -0
- data/lib/socure_risk_os_api/models/fraud_feedback_response.rb +73 -0
- data/lib/socure_risk_os_api/models/fraud_label.rb +37 -0
- data/lib/socure_risk_os_api/models/gender.rb +40 -0
- data/lib/socure_risk_os_api/models/generic_passthrough.rb +169 -0
- data/lib/socure_risk_os_api/models/individual.rb +281 -0
- data/lib/socure_risk_os_api/models/individual1.rb +292 -0
- data/lib/socure_risk_os_api/models/individual3.rb +206 -0
- data/lib/socure_risk_os_api/models/individual4.rb +182 -0
- data/lib/socure_risk_os_api/models/individual5.rb +297 -0
- data/lib/socure_risk_os_api/models/individual6.rb +148 -0
- data/lib/socure_risk_os_api/models/input.rb +86 -0
- data/lib/socure_risk_os_api/models/inquiry.rb +36 -0
- data/lib/socure_risk_os_api/models/invalid_arg.rb +85 -0
- data/lib/socure_risk_os_api/models/language.rb +247 -0
- data/lib/socure_risk_os_api/models/login_and_authentication.rb +167 -0
- data/lib/socure_risk_os_api/models/method.rb +37 -0
- data/lib/socure_risk_os_api/models/monitoring_status.rb +37 -0
- data/lib/socure_risk_os_api/models/operation.rb +38 -0
- data/lib/socure_risk_os_api/models/otp.rb +95 -0
- data/lib/socure_risk_os_api/models/otp1.rb +98 -0
- data/lib/socure_risk_os_api/models/payment_screening.rb +167 -0
- data/lib/socure_risk_os_api/models/payment_screening_business.rb +155 -0
- data/lib/socure_risk_os_api/models/payment_screening_individual.rb +254 -0
- data/lib/socure_risk_os_api/models/payment_screening_instrument.rb +105 -0
- data/lib/socure_risk_os_api/models/product.rb +76 -0
- data/lib/socure_risk_os_api/models/reason_code.rb +149 -0
- data/lib/socure_risk_os_api/models/redirect.rb +118 -0
- data/lib/socure_risk_os_api/models/response.rb +77 -0
- data/lib/socure_risk_os_api/models/source.rb +146 -0
- data/lib/socure_risk_os_api/models/status.rb +40 -0
- data/lib/socure_risk_os_api/models/status1.rb +40 -0
- data/lib/socure_risk_os_api/models/transaction_details.rb +97 -0
- data/lib/socure_risk_os_api/models/trust_and_safety.rb +167 -0
- data/lib/socure_risk_os_api/models/type.rb +36 -0
- data/lib/socure_risk_os_api/models/type1.rb +36 -0
- data/lib/socure_risk_os_api/models/type2.rb +36 -0
- data/lib/socure_risk_os_api/models/update_decision.rb +156 -0
- data/lib/socure_risk_os_api/models/update_status.rb +169 -0
- data/lib/socure_risk_os_api/models/workforce_verification.rb +167 -0
- data/lib/socure_risk_os_api/utilities/date_time_helper.rb +11 -0
- data/lib/socure_risk_os_api/utilities/file_wrapper.rb +28 -0
- data/lib/socure_risk_os_api/utilities/union_type_lookup.rb +69 -0
- data/lib/socure_risk_os_api.rb +143 -0
- metadata +205 -0
|
@@ -0,0 +1,157 @@
|
|
|
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 main payload for the Trust and Safety workflow.
|
|
8
|
+
class Data4 < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Specifies the specific event type being tracked for a user, such as
|
|
13
|
+
# `identity_verification`, `document_submission`, or `badge_request`.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :event_type
|
|
16
|
+
|
|
17
|
+
# Represents the category of the event occurring on a user profile or
|
|
18
|
+
# account within the context of Trust and Safety verification processes.
|
|
19
|
+
# @return [EventCategory]
|
|
20
|
+
attr_accessor :event_category
|
|
21
|
+
|
|
22
|
+
# Represents core information about the primary individual consumer.
|
|
23
|
+
# @return [Individual]
|
|
24
|
+
attr_accessor :individual
|
|
25
|
+
|
|
26
|
+
# The consumer's IP address in IPv4 decimal or IPv6 hexadecimal format.
|
|
27
|
+
# @return [String]
|
|
28
|
+
attr_accessor :ip_address
|
|
29
|
+
|
|
30
|
+
# Use this field to provide external device data, e.g. originating from a
|
|
31
|
+
# third party data intelligence provider.
|
|
32
|
+
# @return [Device]
|
|
33
|
+
attr_accessor :external_device
|
|
34
|
+
|
|
35
|
+
# Include any additional customer-specific data relevant to the Trust and
|
|
36
|
+
# Safety evaluation in this field. See [Custom
|
|
37
|
+
# Fields](https://help.socure.com/riskos/docs/custom-fields) for more
|
|
38
|
+
# information.
|
|
39
|
+
# @return [Object]
|
|
40
|
+
attr_accessor :custom
|
|
41
|
+
|
|
42
|
+
# Specifies the mode of interaction on the consumer's end. <br /><br />
|
|
43
|
+
# Available values include: `web`, `mobile`, `pos`, and `other`.
|
|
44
|
+
# @return [Channel]
|
|
45
|
+
attr_accessor :channel
|
|
46
|
+
|
|
47
|
+
# A mapping from model property names to API property names.
|
|
48
|
+
def self.names
|
|
49
|
+
@_hash = {} if @_hash.nil?
|
|
50
|
+
@_hash['event_type'] = 'event_type'
|
|
51
|
+
@_hash['event_category'] = 'event_category'
|
|
52
|
+
@_hash['individual'] = 'individual'
|
|
53
|
+
@_hash['ip_address'] = 'ip_address'
|
|
54
|
+
@_hash['external_device'] = 'external_device'
|
|
55
|
+
@_hash['custom'] = 'custom'
|
|
56
|
+
@_hash['channel'] = 'channel'
|
|
57
|
+
@_hash
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# An array for optional fields
|
|
61
|
+
def self.optionals
|
|
62
|
+
%w[
|
|
63
|
+
event_category
|
|
64
|
+
individual
|
|
65
|
+
ip_address
|
|
66
|
+
external_device
|
|
67
|
+
custom
|
|
68
|
+
channel
|
|
69
|
+
]
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# An array for nullable fields
|
|
73
|
+
def self.nullables
|
|
74
|
+
[]
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def initialize(event_type:, event_category: SKIP, individual: SKIP,
|
|
78
|
+
ip_address: SKIP, external_device: SKIP, custom: SKIP,
|
|
79
|
+
channel: SKIP, additional_properties: nil)
|
|
80
|
+
# Add additional model properties to the instance
|
|
81
|
+
additional_properties = {} if additional_properties.nil?
|
|
82
|
+
|
|
83
|
+
@event_type = event_type
|
|
84
|
+
@event_category = event_category unless event_category == SKIP
|
|
85
|
+
@individual = individual unless individual == SKIP
|
|
86
|
+
@ip_address = ip_address unless ip_address == SKIP
|
|
87
|
+
@external_device = external_device unless external_device == SKIP
|
|
88
|
+
@custom = custom unless custom == SKIP
|
|
89
|
+
@channel = channel unless channel == SKIP
|
|
90
|
+
@additional_properties = additional_properties
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Creates an instance of the object from a hash.
|
|
94
|
+
def self.from_hash(hash)
|
|
95
|
+
return nil unless hash
|
|
96
|
+
|
|
97
|
+
# Extract variables from the hash.
|
|
98
|
+
event_type = hash.key?('event_type') ? hash['event_type'] : nil
|
|
99
|
+
event_category =
|
|
100
|
+
hash.key?('event_category') ? hash['event_category'] : SKIP
|
|
101
|
+
individual = Individual.from_hash(hash['individual']) if hash['individual']
|
|
102
|
+
ip_address = hash.key?('ip_address') ? hash['ip_address'] : SKIP
|
|
103
|
+
external_device = Device.from_hash(hash['external_device']) if hash['external_device']
|
|
104
|
+
custom = hash.key?('custom') ? hash['custom'] : SKIP
|
|
105
|
+
channel = hash.key?('channel') ? hash['channel'] : SKIP
|
|
106
|
+
|
|
107
|
+
# Create a new hash for additional properties, removing known properties.
|
|
108
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
109
|
+
|
|
110
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
111
|
+
new_hash, proc { |value| value }
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
# Create object from extracted values.
|
|
115
|
+
Data4.new(event_type: event_type,
|
|
116
|
+
event_category: event_category,
|
|
117
|
+
individual: individual,
|
|
118
|
+
ip_address: ip_address,
|
|
119
|
+
external_device: external_device,
|
|
120
|
+
custom: custom,
|
|
121
|
+
channel: channel,
|
|
122
|
+
additional_properties: additional_properties)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Validates an instance of the object from a given value.
|
|
126
|
+
# @param [Data4 | Hash] The value against the validation is performed.
|
|
127
|
+
def self.validate(value)
|
|
128
|
+
if value.instance_of? self
|
|
129
|
+
return APIHelper.valid_type?(value.event_type,
|
|
130
|
+
->(val) { val.instance_of? String })
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
return false unless value.instance_of? Hash
|
|
134
|
+
|
|
135
|
+
APIHelper.valid_type?(value['event_type'],
|
|
136
|
+
->(val) { val.instance_of? String })
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Provides a human-readable string representation of the object.
|
|
140
|
+
def to_s
|
|
141
|
+
class_name = self.class.name.split('::').last
|
|
142
|
+
"<#{class_name} event_type: #{@event_type}, event_category: #{@event_category}, individual:"\
|
|
143
|
+
" #{@individual}, ip_address: #{@ip_address}, external_device: #{@external_device}, custom:"\
|
|
144
|
+
" #{@custom}, channel: #{@channel}, additional_properties: #{@additional_properties}>"
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
148
|
+
def inspect
|
|
149
|
+
class_name = self.class.name.split('::').last
|
|
150
|
+
"<#{class_name} event_type: #{@event_type.inspect}, event_category:"\
|
|
151
|
+
" #{@event_category.inspect}, individual: #{@individual.inspect}, ip_address:"\
|
|
152
|
+
" #{@ip_address.inspect}, external_device: #{@external_device.inspect}, custom:"\
|
|
153
|
+
" #{@custom.inspect}, channel: #{@channel.inspect}, additional_properties:"\
|
|
154
|
+
" #{@additional_properties}>"
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
end
|
|
@@ -0,0 +1,154 @@
|
|
|
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 main payload for the Bank Account Verification workflow.
|
|
8
|
+
class Data5 < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Represents core information about the primary individual consumer.
|
|
13
|
+
# @return [Individual]
|
|
14
|
+
attr_accessor :individual
|
|
15
|
+
|
|
16
|
+
# The consumer's IP address in IPv4 decimal or IPv6 hexadecimal format.
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :ip_address
|
|
19
|
+
|
|
20
|
+
# Use this field to provide external device data, e.g. originating from a
|
|
21
|
+
# third party data intelligence provider.
|
|
22
|
+
# @return [Device]
|
|
23
|
+
attr_accessor :external_device
|
|
24
|
+
|
|
25
|
+
# Represents the category of the event occurring on a user profile or
|
|
26
|
+
# account within the context of Bank Account Verification processes.
|
|
27
|
+
# @return [EventCategory1]
|
|
28
|
+
attr_accessor :event_category
|
|
29
|
+
|
|
30
|
+
# Specifies the specific event type being tracked for a user, such as
|
|
31
|
+
# `account_verification`.
|
|
32
|
+
# @return [String]
|
|
33
|
+
attr_accessor :event_type
|
|
34
|
+
|
|
35
|
+
# Include any additional customer-specific data relevant to the Bank Account
|
|
36
|
+
# Verification in this field. See [Custom
|
|
37
|
+
# Fields](https://help.socure.com/riskos/docs/custom-fields) for more
|
|
38
|
+
# information.
|
|
39
|
+
# @return [Object]
|
|
40
|
+
attr_accessor :custom
|
|
41
|
+
|
|
42
|
+
# Specifies the mode of interaction on the consumer's end. <br /><br />
|
|
43
|
+
# Available values include: `web`, `mobile`, `pos`, and `other`.
|
|
44
|
+
# @return [Channel]
|
|
45
|
+
attr_accessor :channel
|
|
46
|
+
|
|
47
|
+
# A mapping from model property names to API property names.
|
|
48
|
+
def self.names
|
|
49
|
+
@_hash = {} if @_hash.nil?
|
|
50
|
+
@_hash['individual'] = 'individual'
|
|
51
|
+
@_hash['ip_address'] = 'ip_address'
|
|
52
|
+
@_hash['external_device'] = 'external_device'
|
|
53
|
+
@_hash['event_category'] = 'event_category'
|
|
54
|
+
@_hash['event_type'] = 'event_type'
|
|
55
|
+
@_hash['custom'] = 'custom'
|
|
56
|
+
@_hash['channel'] = 'channel'
|
|
57
|
+
@_hash
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# An array for optional fields
|
|
61
|
+
def self.optionals
|
|
62
|
+
%w[
|
|
63
|
+
individual
|
|
64
|
+
ip_address
|
|
65
|
+
external_device
|
|
66
|
+
event_category
|
|
67
|
+
event_type
|
|
68
|
+
custom
|
|
69
|
+
channel
|
|
70
|
+
]
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# An array for nullable fields
|
|
74
|
+
def self.nullables
|
|
75
|
+
[]
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def initialize(individual: SKIP, ip_address: SKIP, external_device: SKIP,
|
|
79
|
+
event_category: SKIP, event_type: SKIP, custom: SKIP,
|
|
80
|
+
channel: SKIP, additional_properties: nil)
|
|
81
|
+
# Add additional model properties to the instance
|
|
82
|
+
additional_properties = {} if additional_properties.nil?
|
|
83
|
+
|
|
84
|
+
@individual = individual unless individual == SKIP
|
|
85
|
+
@ip_address = ip_address unless ip_address == SKIP
|
|
86
|
+
@external_device = external_device unless external_device == SKIP
|
|
87
|
+
@event_category = event_category unless event_category == SKIP
|
|
88
|
+
@event_type = event_type unless event_type == SKIP
|
|
89
|
+
@custom = custom unless custom == SKIP
|
|
90
|
+
@channel = channel unless channel == SKIP
|
|
91
|
+
@additional_properties = additional_properties
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Creates an instance of the object from a hash.
|
|
95
|
+
def self.from_hash(hash)
|
|
96
|
+
return nil unless hash
|
|
97
|
+
|
|
98
|
+
# Extract variables from the hash.
|
|
99
|
+
individual = Individual.from_hash(hash['individual']) if hash['individual']
|
|
100
|
+
ip_address = hash.key?('ip_address') ? hash['ip_address'] : SKIP
|
|
101
|
+
external_device = Device.from_hash(hash['external_device']) if hash['external_device']
|
|
102
|
+
event_category =
|
|
103
|
+
hash.key?('event_category') ? hash['event_category'] : SKIP
|
|
104
|
+
event_type = hash.key?('event_type') ? hash['event_type'] : SKIP
|
|
105
|
+
custom = hash.key?('custom') ? hash['custom'] : SKIP
|
|
106
|
+
channel = hash.key?('channel') ? hash['channel'] : SKIP
|
|
107
|
+
|
|
108
|
+
# Create a new hash for additional properties, removing known properties.
|
|
109
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
110
|
+
|
|
111
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
112
|
+
new_hash, proc { |value| value }
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
# Create object from extracted values.
|
|
116
|
+
Data5.new(individual: individual,
|
|
117
|
+
ip_address: ip_address,
|
|
118
|
+
external_device: external_device,
|
|
119
|
+
event_category: event_category,
|
|
120
|
+
event_type: event_type,
|
|
121
|
+
custom: custom,
|
|
122
|
+
channel: channel,
|
|
123
|
+
additional_properties: additional_properties)
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# Validates an instance of the object from a given value.
|
|
127
|
+
# @param [Data5 | Hash] The value against the validation is performed.
|
|
128
|
+
def self.validate(value)
|
|
129
|
+
return true if value.instance_of? self
|
|
130
|
+
|
|
131
|
+
return false unless value.instance_of? Hash
|
|
132
|
+
|
|
133
|
+
true
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# Provides a human-readable string representation of the object.
|
|
137
|
+
def to_s
|
|
138
|
+
class_name = self.class.name.split('::').last
|
|
139
|
+
"<#{class_name} individual: #{@individual}, ip_address: #{@ip_address}, external_device:"\
|
|
140
|
+
" #{@external_device}, event_category: #{@event_category}, event_type: #{@event_type},"\
|
|
141
|
+
" custom: #{@custom}, channel: #{@channel}, additional_properties:"\
|
|
142
|
+
" #{@additional_properties}>"
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
146
|
+
def inspect
|
|
147
|
+
class_name = self.class.name.split('::').last
|
|
148
|
+
"<#{class_name} individual: #{@individual.inspect}, ip_address: #{@ip_address.inspect},"\
|
|
149
|
+
" external_device: #{@external_device.inspect}, event_category: #{@event_category.inspect},"\
|
|
150
|
+
" event_type: #{@event_type.inspect}, custom: #{@custom.inspect}, channel:"\
|
|
151
|
+
" #{@channel.inspect}, additional_properties: #{@additional_properties}>"
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|
|
@@ -0,0 +1,174 @@
|
|
|
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 main payload for the Business Onboarding workflow.
|
|
8
|
+
class Data6 < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Represents core information about the primary individual consumer.
|
|
13
|
+
# @return [Individual]
|
|
14
|
+
attr_accessor :individual
|
|
15
|
+
|
|
16
|
+
# A list of other individual consumers associated with the business, such as
|
|
17
|
+
# beneficial owners or authorized signatories.
|
|
18
|
+
# @return [Array[Individual]]
|
|
19
|
+
attr_accessor :additional_individuals
|
|
20
|
+
|
|
21
|
+
# Information related to the business entity being evaluated.
|
|
22
|
+
# @return [Business]
|
|
23
|
+
attr_accessor :business
|
|
24
|
+
|
|
25
|
+
# The consumer's IP address in IPv4 decimal or IPv6 hexadecimal format.
|
|
26
|
+
# @return [String]
|
|
27
|
+
attr_accessor :ip_address
|
|
28
|
+
|
|
29
|
+
# Use this field to provide external device data, e.g. originating from a
|
|
30
|
+
# third party data intelligence provider.
|
|
31
|
+
# @return [Device]
|
|
32
|
+
attr_accessor :external_device
|
|
33
|
+
|
|
34
|
+
# Include any additional, customer-specific data in this field as needed for
|
|
35
|
+
# the evaluation. See [Custom
|
|
36
|
+
# Fields](https://help.socure.com/riskos/docs/custom-fields) for more
|
|
37
|
+
# information.
|
|
38
|
+
# @return [Object]
|
|
39
|
+
attr_accessor :custom
|
|
40
|
+
|
|
41
|
+
# Specifies the mode of interaction on the consumer's end. <br /><br />
|
|
42
|
+
# Available values include: `web`, `mobile`, `pos`, and `other`.
|
|
43
|
+
# @return [Channel]
|
|
44
|
+
attr_accessor :channel
|
|
45
|
+
|
|
46
|
+
# Optional free-form field that allows to pass on the line of business the
|
|
47
|
+
# request originates from.
|
|
48
|
+
# @return [String]
|
|
49
|
+
attr_accessor :line_of_business
|
|
50
|
+
|
|
51
|
+
# A mapping from model property names to API property names.
|
|
52
|
+
def self.names
|
|
53
|
+
@_hash = {} if @_hash.nil?
|
|
54
|
+
@_hash['individual'] = 'individual'
|
|
55
|
+
@_hash['additional_individuals'] = 'additional_individuals'
|
|
56
|
+
@_hash['business'] = 'business'
|
|
57
|
+
@_hash['ip_address'] = 'ip_address'
|
|
58
|
+
@_hash['external_device'] = 'external_device'
|
|
59
|
+
@_hash['custom'] = 'custom'
|
|
60
|
+
@_hash['channel'] = 'channel'
|
|
61
|
+
@_hash['line_of_business'] = 'line_of_business'
|
|
62
|
+
@_hash
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# An array for optional fields
|
|
66
|
+
def self.optionals
|
|
67
|
+
%w[
|
|
68
|
+
individual
|
|
69
|
+
additional_individuals
|
|
70
|
+
business
|
|
71
|
+
ip_address
|
|
72
|
+
external_device
|
|
73
|
+
custom
|
|
74
|
+
channel
|
|
75
|
+
line_of_business
|
|
76
|
+
]
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# An array for nullable fields
|
|
80
|
+
def self.nullables
|
|
81
|
+
[]
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def initialize(individual: SKIP, additional_individuals: SKIP,
|
|
85
|
+
business: SKIP, ip_address: SKIP, external_device: SKIP,
|
|
86
|
+
custom: SKIP, channel: SKIP, line_of_business: SKIP,
|
|
87
|
+
additional_properties: nil)
|
|
88
|
+
# Add additional model properties to the instance
|
|
89
|
+
additional_properties = {} if additional_properties.nil?
|
|
90
|
+
|
|
91
|
+
@individual = individual unless individual == SKIP
|
|
92
|
+
@additional_individuals = additional_individuals unless additional_individuals == SKIP
|
|
93
|
+
@business = business unless business == SKIP
|
|
94
|
+
@ip_address = ip_address unless ip_address == SKIP
|
|
95
|
+
@external_device = external_device unless external_device == SKIP
|
|
96
|
+
@custom = custom unless custom == SKIP
|
|
97
|
+
@channel = channel unless channel == SKIP
|
|
98
|
+
@line_of_business = line_of_business unless line_of_business == SKIP
|
|
99
|
+
@additional_properties = additional_properties
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Creates an instance of the object from a hash.
|
|
103
|
+
def self.from_hash(hash)
|
|
104
|
+
return nil unless hash
|
|
105
|
+
|
|
106
|
+
# Extract variables from the hash.
|
|
107
|
+
individual = Individual.from_hash(hash['individual']) if hash['individual']
|
|
108
|
+
# Parameter is an array, so we need to iterate through it
|
|
109
|
+
additional_individuals = nil
|
|
110
|
+
unless hash['additional_individuals'].nil?
|
|
111
|
+
additional_individuals = []
|
|
112
|
+
hash['additional_individuals'].each do |structure|
|
|
113
|
+
additional_individuals << (Individual.from_hash(structure) if structure)
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
additional_individuals = SKIP unless hash.key?('additional_individuals')
|
|
118
|
+
business = Business.from_hash(hash['business']) if hash['business']
|
|
119
|
+
ip_address = hash.key?('ip_address') ? hash['ip_address'] : SKIP
|
|
120
|
+
external_device = Device.from_hash(hash['external_device']) if hash['external_device']
|
|
121
|
+
custom = hash.key?('custom') ? hash['custom'] : SKIP
|
|
122
|
+
channel = hash.key?('channel') ? hash['channel'] : SKIP
|
|
123
|
+
line_of_business =
|
|
124
|
+
hash.key?('line_of_business') ? hash['line_of_business'] : SKIP
|
|
125
|
+
|
|
126
|
+
# Create a new hash for additional properties, removing known properties.
|
|
127
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
128
|
+
|
|
129
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
130
|
+
new_hash, proc { |value| value }
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
# Create object from extracted values.
|
|
134
|
+
Data6.new(individual: individual,
|
|
135
|
+
additional_individuals: additional_individuals,
|
|
136
|
+
business: business,
|
|
137
|
+
ip_address: ip_address,
|
|
138
|
+
external_device: external_device,
|
|
139
|
+
custom: custom,
|
|
140
|
+
channel: channel,
|
|
141
|
+
line_of_business: line_of_business,
|
|
142
|
+
additional_properties: additional_properties)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# Validates an instance of the object from a given value.
|
|
146
|
+
# @param [Data6 | Hash] The value against the validation is performed.
|
|
147
|
+
def self.validate(value)
|
|
148
|
+
return true if value.instance_of? self
|
|
149
|
+
|
|
150
|
+
return false unless value.instance_of? Hash
|
|
151
|
+
|
|
152
|
+
true
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# Provides a human-readable string representation of the object.
|
|
156
|
+
def to_s
|
|
157
|
+
class_name = self.class.name.split('::').last
|
|
158
|
+
"<#{class_name} individual: #{@individual}, additional_individuals:"\
|
|
159
|
+
" #{@additional_individuals}, business: #{@business}, ip_address: #{@ip_address},"\
|
|
160
|
+
" external_device: #{@external_device}, custom: #{@custom}, channel: #{@channel},"\
|
|
161
|
+
" line_of_business: #{@line_of_business}, additional_properties: #{@additional_properties}>"
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
165
|
+
def inspect
|
|
166
|
+
class_name = self.class.name.split('::').last
|
|
167
|
+
"<#{class_name} individual: #{@individual.inspect}, additional_individuals:"\
|
|
168
|
+
" #{@additional_individuals.inspect}, business: #{@business.inspect}, ip_address:"\
|
|
169
|
+
" #{@ip_address.inspect}, external_device: #{@external_device.inspect}, custom:"\
|
|
170
|
+
" #{@custom.inspect}, channel: #{@channel.inspect}, line_of_business:"\
|
|
171
|
+
" #{@line_of_business.inspect}, additional_properties: #{@additional_properties}>"
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
end
|
|
@@ -0,0 +1,205 @@
|
|
|
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 main payload for the Login and Authentication workflow.
|
|
8
|
+
class Data7 < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Specifies the high-level category of the event occurring within a consumer
|
|
13
|
+
# profile or account. Use this field to indicate the general type of user
|
|
14
|
+
# interaction for risk evaluation purposes. <br /> <br /> Use the following
|
|
15
|
+
# guidance when selecting a value:
|
|
16
|
+
# - `authenticate`: Use for authentication-related events where a user is
|
|
17
|
+
# proving identity or access, such as login, logout, or session
|
|
18
|
+
# re-authentication.
|
|
19
|
+
# - `information`: Use for events where a user requests or views
|
|
20
|
+
# information without modifying account data, such as requesting a bank
|
|
21
|
+
# statement, viewing account balances, or retrieving transaction history.
|
|
22
|
+
# - `update`: Use for events where a user updates or modifies account or
|
|
23
|
+
# profile data, such as changing a password, updating an address, or
|
|
24
|
+
# modifying contact information.
|
|
25
|
+
# - `action`: Use for all other user-initiated actions where a risk
|
|
26
|
+
# evaluation is useful but the event does not fit into authentication,
|
|
27
|
+
# information, or update categories.
|
|
28
|
+
# @return [EventCategory2]
|
|
29
|
+
attr_accessor :event_category
|
|
30
|
+
|
|
31
|
+
# A free-form, application-defined sub-category of the `event_category` that
|
|
32
|
+
# provides additional context about the specific event performed. <br />
|
|
33
|
+
# <br /> Examples include: `login`, `address_update`, `statement_download`,
|
|
34
|
+
# or `password_reset`.
|
|
35
|
+
# @return [String]
|
|
36
|
+
attr_accessor :event_type
|
|
37
|
+
|
|
38
|
+
# Contextual details about the specific event, such as previous and updated
|
|
39
|
+
# state values.
|
|
40
|
+
# @return [EventDetails]
|
|
41
|
+
attr_accessor :event_details
|
|
42
|
+
|
|
43
|
+
# Represents core information about the primary individual consumer.
|
|
44
|
+
# @return [Individual]
|
|
45
|
+
attr_accessor :individual
|
|
46
|
+
|
|
47
|
+
# Specifies the mode of interaction on the consumer's end. <br /><br />
|
|
48
|
+
# Available values include: `web`, `mobile`, `pos`, and `other`.
|
|
49
|
+
# @return [Channel]
|
|
50
|
+
attr_accessor :channel
|
|
51
|
+
|
|
52
|
+
# Optional free-form field that allows to pass on the line of business the
|
|
53
|
+
# request originates from.
|
|
54
|
+
# @return [String]
|
|
55
|
+
attr_accessor :line_of_business
|
|
56
|
+
|
|
57
|
+
# The consumer's IP address in IPv4 decimal or IPv6 hexadecimal format.
|
|
58
|
+
# @return [String]
|
|
59
|
+
attr_accessor :ip_address
|
|
60
|
+
|
|
61
|
+
# Use this field to provide external device data, e.g. originating from a
|
|
62
|
+
# third party data intelligence provider.
|
|
63
|
+
# @return [Device]
|
|
64
|
+
attr_accessor :external_device
|
|
65
|
+
|
|
66
|
+
# Include any additional customer-specific data relevant to the Account
|
|
67
|
+
# Takeover evaluation in this field. See [Custom
|
|
68
|
+
# Fields](https://help.socure.com/riskos/docs/custom-fields) for more
|
|
69
|
+
# information.
|
|
70
|
+
# @return [Object]
|
|
71
|
+
attr_accessor :custom
|
|
72
|
+
|
|
73
|
+
# A mapping from model property names to API property names.
|
|
74
|
+
def self.names
|
|
75
|
+
@_hash = {} if @_hash.nil?
|
|
76
|
+
@_hash['event_category'] = 'event_category'
|
|
77
|
+
@_hash['event_type'] = 'event_type'
|
|
78
|
+
@_hash['event_details'] = 'event_details'
|
|
79
|
+
@_hash['individual'] = 'individual'
|
|
80
|
+
@_hash['channel'] = 'channel'
|
|
81
|
+
@_hash['line_of_business'] = 'line_of_business'
|
|
82
|
+
@_hash['ip_address'] = 'ip_address'
|
|
83
|
+
@_hash['external_device'] = 'external_device'
|
|
84
|
+
@_hash['custom'] = 'custom'
|
|
85
|
+
@_hash
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# An array for optional fields
|
|
89
|
+
def self.optionals
|
|
90
|
+
%w[
|
|
91
|
+
event_details
|
|
92
|
+
individual
|
|
93
|
+
channel
|
|
94
|
+
line_of_business
|
|
95
|
+
ip_address
|
|
96
|
+
external_device
|
|
97
|
+
custom
|
|
98
|
+
]
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# An array for nullable fields
|
|
102
|
+
def self.nullables
|
|
103
|
+
[]
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def initialize(event_category:, event_type:, event_details: SKIP,
|
|
107
|
+
individual: SKIP, channel: SKIP, line_of_business: SKIP,
|
|
108
|
+
ip_address: SKIP, external_device: SKIP, custom: SKIP,
|
|
109
|
+
additional_properties: nil)
|
|
110
|
+
# Add additional model properties to the instance
|
|
111
|
+
additional_properties = {} if additional_properties.nil?
|
|
112
|
+
|
|
113
|
+
@event_category = event_category
|
|
114
|
+
@event_type = event_type
|
|
115
|
+
@event_details = event_details unless event_details == SKIP
|
|
116
|
+
@individual = individual unless individual == SKIP
|
|
117
|
+
@channel = channel unless channel == SKIP
|
|
118
|
+
@line_of_business = line_of_business unless line_of_business == SKIP
|
|
119
|
+
@ip_address = ip_address unless ip_address == SKIP
|
|
120
|
+
@external_device = external_device unless external_device == SKIP
|
|
121
|
+
@custom = custom unless custom == SKIP
|
|
122
|
+
@additional_properties = additional_properties
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Creates an instance of the object from a hash.
|
|
126
|
+
def self.from_hash(hash)
|
|
127
|
+
return nil unless hash
|
|
128
|
+
|
|
129
|
+
# Extract variables from the hash.
|
|
130
|
+
event_category =
|
|
131
|
+
hash.key?('event_category') ? hash['event_category'] : nil
|
|
132
|
+
event_type = hash.key?('event_type') ? hash['event_type'] : nil
|
|
133
|
+
event_details = EventDetails.from_hash(hash['event_details']) if hash['event_details']
|
|
134
|
+
individual = Individual.from_hash(hash['individual']) if hash['individual']
|
|
135
|
+
channel = hash.key?('channel') ? hash['channel'] : SKIP
|
|
136
|
+
line_of_business =
|
|
137
|
+
hash.key?('line_of_business') ? hash['line_of_business'] : SKIP
|
|
138
|
+
ip_address = hash.key?('ip_address') ? hash['ip_address'] : SKIP
|
|
139
|
+
external_device = Device.from_hash(hash['external_device']) if hash['external_device']
|
|
140
|
+
custom = hash.key?('custom') ? hash['custom'] : SKIP
|
|
141
|
+
|
|
142
|
+
# Create a new hash for additional properties, removing known properties.
|
|
143
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
144
|
+
|
|
145
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
146
|
+
new_hash, proc { |value| value }
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
# Create object from extracted values.
|
|
150
|
+
Data7.new(event_category: event_category,
|
|
151
|
+
event_type: event_type,
|
|
152
|
+
event_details: event_details,
|
|
153
|
+
individual: individual,
|
|
154
|
+
channel: channel,
|
|
155
|
+
line_of_business: line_of_business,
|
|
156
|
+
ip_address: ip_address,
|
|
157
|
+
external_device: external_device,
|
|
158
|
+
custom: custom,
|
|
159
|
+
additional_properties: additional_properties)
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# Validates an instance of the object from a given value.
|
|
163
|
+
# @param [Data7 | Hash] The value against the validation is performed.
|
|
164
|
+
def self.validate(value)
|
|
165
|
+
if value.instance_of? self
|
|
166
|
+
return (
|
|
167
|
+
APIHelper.valid_type?(value.event_category,
|
|
168
|
+
->(val) { EventCategory2.validate(val) }) and
|
|
169
|
+
APIHelper.valid_type?(value.event_type,
|
|
170
|
+
->(val) { val.instance_of? String })
|
|
171
|
+
)
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
return false unless value.instance_of? Hash
|
|
175
|
+
|
|
176
|
+
(
|
|
177
|
+
APIHelper.valid_type?(value['event_category'],
|
|
178
|
+
->(val) { EventCategory2.validate(val) }) and
|
|
179
|
+
APIHelper.valid_type?(value['event_type'],
|
|
180
|
+
->(val) { val.instance_of? String })
|
|
181
|
+
)
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Provides a human-readable string representation of the object.
|
|
185
|
+
def to_s
|
|
186
|
+
class_name = self.class.name.split('::').last
|
|
187
|
+
"<#{class_name} event_category: #{@event_category}, event_type: #{@event_type},"\
|
|
188
|
+
" event_details: #{@event_details}, individual: #{@individual}, channel: #{@channel},"\
|
|
189
|
+
" line_of_business: #{@line_of_business}, ip_address: #{@ip_address}, external_device:"\
|
|
190
|
+
" #{@external_device}, custom: #{@custom}, additional_properties:"\
|
|
191
|
+
" #{@additional_properties}>"
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
195
|
+
def inspect
|
|
196
|
+
class_name = self.class.name.split('::').last
|
|
197
|
+
"<#{class_name} event_category: #{@event_category.inspect}, event_type:"\
|
|
198
|
+
" #{@event_type.inspect}, event_details: #{@event_details.inspect}, individual:"\
|
|
199
|
+
" #{@individual.inspect}, channel: #{@channel.inspect}, line_of_business:"\
|
|
200
|
+
" #{@line_of_business.inspect}, ip_address: #{@ip_address.inspect}, external_device:"\
|
|
201
|
+
" #{@external_device.inspect}, custom: #{@custom.inspect}, additional_properties:"\
|
|
202
|
+
" #{@additional_properties}>"
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
end
|