Class: ThePlaidApi::BeaconAccountRiskEvaluateRequest

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb

Overview

BeaconAccountRiskEvaluateRequest defines the request schema for ‘/v1/beacon/account_risk/risk/evaluate`

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(client_id: SKIP, secret: SKIP, access_token: SKIP, options: SKIP, client_user_id: SKIP, client_evaluation_id: SKIP, evaluation_reason: SKIP, device: SKIP, evaluate_time: SKIP, additional_properties: nil) ⇒ BeaconAccountRiskEvaluateRequest

Returns a new instance of BeaconAccountRiskEvaluateRequest.



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 112

def initialize(client_id: SKIP, secret: SKIP, access_token: SKIP,
               options: SKIP, client_user_id: SKIP,
               client_evaluation_id: SKIP, evaluation_reason: SKIP,
               device: SKIP, evaluate_time: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @client_id = client_id unless client_id == SKIP
  @secret = secret unless secret == SKIP
  @access_token = access_token unless access_token == SKIP
  @options = options unless options == SKIP
  @client_user_id = client_user_id unless client_user_id == SKIP
  @client_evaluation_id = client_evaluation_id unless client_evaluation_id == SKIP
  @evaluation_reason = evaluation_reason unless evaluation_reason == SKIP
  @device = device unless device == SKIP
  @evaluate_time = evaluate_time unless evaluate_time == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#access_tokenString

The access token associated with the Item data is being requested for.

Returns:

  • (String)


26
27
28
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 26

def access_token
  @access_token
end

#client_evaluation_idString

Unique identifier of what you are looking to evaluate (account add, information change, etc.) to allow us to tie the activity to the decisions and possible fraud outcome sent via our feedback endpoints. You can use your internal request ID or similar.

Returns:

  • (String)


45
46
47
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 45

def client_evaluation_id
  @client_evaluation_id
end

#client_idString

Your Plaid API ‘client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.

Returns:

  • (String)


17
18
19
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 17

def client_id
  @client_id
end

#client_user_idString

A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple evaluations and/or multiple linked accounts. Personally identifiable information, such as an email address or phone number, should not be used in the ‘client_user_id`.

Returns:

  • (String)


38
39
40
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 38

def client_user_id
  @client_user_id
end

#deviceSignalEvaluateDevice

Details about the end user’s device. These fields are optional, but strongly recommended to increase the accuracy of results when using Signal Transaction Scores. When using a Balance-only Ruleset, these fields are ignored if the Signal Addendum has been signed; if it has not been signed, using these fields will result in an error.



68
69
70
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 68

def device
  @device
end

#evaluate_timeString

The time the event for evaluation has occurred. Populate this field for backfilling data. If you don’t populate this field, we’ll use the timestamp at the time of receipt. Use ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ).

Returns:

  • (String)


75
76
77
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 75

def evaluate_time
  @evaluate_time
end

#evaluation_reasonBeaconAccountRiskEvaluateEvaluationReason

Description of the reason you want to evaluate risk. ‘ONBOARDING`: user links a first bank account as part of the onboarding flow of your platform. `NEW_ACCOUNT`: user links another bank account or replaces the currently linked bank account on your platform. `INFORMATION_CHANGE`: user changes their information on your platform, e.g., updating their phone number. `DORMANT_USER`: you decide to re-evaluate a user that becomes active after a period of inactivity. `OTHER`: any other reasons not listed here Possible values: `ONBOARDING`, `NEW_ACCOUNT`, `INFORMATION_CHANGE`, `DORMANT_USER`, `OTHER`



60
61
62
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 60

def evaluation_reason
  @evaluation_reason
end

#optionsBeaconAccountRiskEvaluateRequestOptions

An optional object to filter ‘/beacon/account_risk/v1/evaluate` results to a subset of the accounts on the linked Item.



31
32
33
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 31

def options
  @options
end

#secretString

Your Plaid API ‘secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.

Returns:

  • (String)


22
23
24
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 22

def secret
  @secret
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 133

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  client_id = hash.key?('client_id') ? hash['client_id'] : SKIP
  secret = hash.key?('secret') ? hash['secret'] : SKIP
  access_token = hash.key?('access_token') ? hash['access_token'] : SKIP
  options = BeaconAccountRiskEvaluateRequestOptions.from_hash(hash['options']) if
    hash['options']
  client_user_id =
    hash.key?('client_user_id') ? hash['client_user_id'] : SKIP
  client_evaluation_id =
    hash.key?('client_evaluation_id') ? hash['client_evaluation_id'] : SKIP
  evaluation_reason =
    hash.key?('evaluation_reason') ? hash['evaluation_reason'] : SKIP
  device = SignalEvaluateDevice.from_hash(hash['device']) if hash['device']
  evaluate_time = hash.key?('evaluate_time') ? hash['evaluate_time'] : SKIP

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  BeaconAccountRiskEvaluateRequest.new(client_id: client_id,
                                       secret: secret,
                                       access_token: access_token,
                                       options: options,
                                       client_user_id: client_user_id,
                                       client_evaluation_id: client_evaluation_id,
                                       evaluation_reason: evaluation_reason,
                                       device: device,
                                       evaluate_time: evaluate_time,
                                       additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 78

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['client_id'] = 'client_id'
  @_hash['secret'] = 'secret'
  @_hash['access_token'] = 'access_token'
  @_hash['options'] = 'options'
  @_hash['client_user_id'] = 'client_user_id'
  @_hash['client_evaluation_id'] = 'client_evaluation_id'
  @_hash['evaluation_reason'] = 'evaluation_reason'
  @_hash['device'] = 'device'
  @_hash['evaluate_time'] = 'evaluate_time'
  @_hash
end

.nullablesObject

An array for nullable fields



108
109
110
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 108

def self.nullables
  []
end

.optionalsObject

An array for optional fields



93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 93

def self.optionals
  %w[
    client_id
    secret
    access_token
    options
    client_user_id
    client_evaluation_id
    evaluation_reason
    device
    evaluate_time
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



182
183
184
185
186
187
188
189
190
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 182

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} client_id: #{@client_id.inspect}, secret: #{@secret.inspect}, access_token:"\
  " #{@access_token.inspect}, options: #{@options.inspect}, client_user_id:"\
  " #{@client_user_id.inspect}, client_evaluation_id: #{@client_evaluation_id.inspect},"\
  " evaluation_reason: #{@evaluation_reason.inspect}, device: #{@device.inspect},"\
  " evaluate_time: #{@evaluate_time.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



172
173
174
175
176
177
178
179
# File 'lib/the_plaid_api/models/beacon_account_risk_evaluate_request.rb', line 172

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} client_id: #{@client_id}, secret: #{@secret}, access_token:"\
  " #{@access_token}, options: #{@options}, client_user_id: #{@client_user_id},"\
  " client_evaluation_id: #{@client_evaluation_id}, evaluation_reason: #{@evaluation_reason},"\
  " device: #{@device}, evaluate_time: #{@evaluate_time}, additional_properties:"\
  " #{@additional_properties}>"
end