Class: ThePlaidApi::LinkTokenCreateRequestAuth

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

Overview

Specifies options for initializing Link for use with the Auth product. This field can be used to enable or disable extended Auth flows for the resulting Link session. Omitting any field will result in a default that can be configured by your account manager. The default behavior described in the documentation is the default behavior that will apply if you have not requested your account manager to apply a different default. If you have enabled the [Dashboard Account Verification pane](dashboard.plaid.com/account-verification), the settings enabled there will override any settings in this object.

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(auth_type_select_enabled: SKIP, automated_microdeposits_enabled: SKIP, instant_match_enabled: SKIP, same_day_microdeposits_enabled: SKIP, instant_microdeposits_enabled: SKIP, reroute_to_credentials: SKIP, database_match_enabled: SKIP, database_insights_enabled: SKIP, flow_type: SKIP, sms_microdeposits_verification_enabled: SKIP, additional_properties: nil) ⇒ LinkTokenCreateRequestAuth

Returns a new instance of LinkTokenCreateRequestAuth.



123
124
125
126
127
128
129
130
131
132
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
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 123

def initialize(auth_type_select_enabled: SKIP,
               automated_microdeposits_enabled: SKIP,
               instant_match_enabled: SKIP,
               same_day_microdeposits_enabled: SKIP,
               instant_microdeposits_enabled: SKIP,
               reroute_to_credentials: SKIP, database_match_enabled: SKIP,
               database_insights_enabled: SKIP, flow_type: SKIP,
               sms_microdeposits_verification_enabled: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @auth_type_select_enabled = auth_type_select_enabled unless auth_type_select_enabled == SKIP
  unless automated_microdeposits_enabled == SKIP
    @automated_microdeposits_enabled =
      automated_microdeposits_enabled
  end
  @instant_match_enabled = instant_match_enabled unless instant_match_enabled == SKIP
  unless same_day_microdeposits_enabled == SKIP
    @same_day_microdeposits_enabled =
      same_day_microdeposits_enabled
  end
  unless instant_microdeposits_enabled == SKIP
    @instant_microdeposits_enabled =
      instant_microdeposits_enabled
  end
  @reroute_to_credentials = reroute_to_credentials unless reroute_to_credentials == SKIP
  @database_match_enabled = database_match_enabled unless database_match_enabled == SKIP
  unless database_insights_enabled == SKIP
    @database_insights_enabled =
      database_insights_enabled
  end
  @flow_type = flow_type unless flow_type == SKIP
  unless sms_microdeposits_verification_enabled == SKIP
    @sms_microdeposits_verification_enabled =
      sms_microdeposits_verification_enabled
  end
  @additional_properties = additional_properties
end

Instance Attribute Details

#auth_type_select_enabledTrueClass | FalseClass

Specifies whether Auth Type Select is enabled for the Link session, allowing the end user to choose between linking via a credentials-based flow (i.e. Instant Auth, Instant Match, Automated Micro-deposits) or a manual flow that does not require login (all other Auth flows) prior to selecting their financial institution. Default behavior is ‘false`.

Returns:

  • (TrueClass | FalseClass)


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

def auth_type_select_enabled
  @auth_type_select_enabled
end

#automated_microdeposits_enabledTrueClass | FalseClass

Specifies whether the Link session is enabled for the Automated Micro-deposits flow. Default behavior is ‘false`.

Returns:

  • (TrueClass | FalseClass)


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

def automated_microdeposits_enabled
  @automated_microdeposits_enabled
end

#database_insights_enabledTrueClass | FalseClass

Database Insights has been deprecated and replaced with Database Auth. Use the [Account Verification Dashboard](dashboard.plaid.com/account-verification) to enable Database Auth.

Returns:

  • (TrueClass | FalseClass)


71
72
73
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 71

def database_insights_enabled
  @database_insights_enabled
end

#database_match_enabledTrueClass | FalseClass

Database Match has been deprecated and replaced with Database Auth. Use the [Account Verification Dashboard](dashboard.plaid.com/account-verification) to enable Database Auth.

Returns:

  • (TrueClass | FalseClass)


64
65
66
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 64

def database_match_enabled
  @database_match_enabled
end

#flow_typeFlowType

This field has been deprecated in favor of ‘auth_type_select_enabled`.

Returns:



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

def flow_type
  @flow_type
end

#instant_match_enabledTrueClass | FalseClass

Specifies whether the Link session is enabled for the Instant Match flow. Instant Match is enabled by default. Instant Match can be disabled by setting this field to ‘false`.

Returns:

  • (TrueClass | FalseClass)


37
38
39
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 37

def instant_match_enabled
  @instant_match_enabled
end

#instant_microdeposits_enabledTrueClass | FalseClass

Specifies whether the Link session is enabled for the Instant Micro-deposits flow. Default behavior for Plaid teams created after November 2023 is ‘false`; default behavior for Plaid teams created before that date is `true`.

Returns:

  • (TrueClass | FalseClass)


49
50
51
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 49

def instant_microdeposits_enabled
  @instant_microdeposits_enabled
end

#reroute_to_credentialsRerouteToCredentials

Specifies what type of [Reroute to Credentials](plaid.com/docs/auth/coverage/flow-options/#removing-m anual-verification-entry-points-with-reroute-to-credentials) pane should be used in the Link session for the Same Day Micro-deposits flow. Default behavior is ‘OPTIONAL`.



57
58
59
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 57

def reroute_to_credentials
  @reroute_to_credentials
end

#same_day_microdeposits_enabledTrueClass | FalseClass

Specifies whether the Link session is enabled for the Same Day Micro-deposits flow. Default behavior is ‘false`.

Returns:

  • (TrueClass | FalseClass)


42
43
44
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 42

def same_day_microdeposits_enabled
  @same_day_microdeposits_enabled
end

#sms_microdeposits_verification_enabledTrueClass | FalseClass

Specifies whether the Link session is enabled for SMS micro-deposits verification. Default behavior is ‘true`.

Returns:

  • (TrueClass | FalseClass)


80
81
82
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 80

def sms_microdeposits_verification_enabled
  @sms_microdeposits_verification_enabled
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 164

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  auth_type_select_enabled =
    hash.key?('auth_type_select_enabled') ? hash['auth_type_select_enabled'] : SKIP
  automated_microdeposits_enabled =
    hash.key?('automated_microdeposits_enabled') ? hash['automated_microdeposits_enabled'] : SKIP
  instant_match_enabled =
    hash.key?('instant_match_enabled') ? hash['instant_match_enabled'] : SKIP
  same_day_microdeposits_enabled =
    hash.key?('same_day_microdeposits_enabled') ? hash['same_day_microdeposits_enabled'] : SKIP
  instant_microdeposits_enabled =
    hash.key?('instant_microdeposits_enabled') ? hash['instant_microdeposits_enabled'] : SKIP
  reroute_to_credentials =
    hash.key?('reroute_to_credentials') ? hash['reroute_to_credentials'] : SKIP
  database_match_enabled =
    hash.key?('database_match_enabled') ? hash['database_match_enabled'] : SKIP
  database_insights_enabled =
    hash.key?('database_insights_enabled') ? hash['database_insights_enabled'] : SKIP
  flow_type = hash.key?('flow_type') ? hash['flow_type'] : SKIP
  sms_microdeposits_verification_enabled =
    hash.key?('sms_microdeposits_verification_enabled') ? hash['sms_microdeposits_verification_enabled'] : 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.
  LinkTokenCreateRequestAuth.new(auth_type_select_enabled: auth_type_select_enabled,
                                 automated_microdeposits_enabled: automated_microdeposits_enabled,
                                 instant_match_enabled: instant_match_enabled,
                                 same_day_microdeposits_enabled: same_day_microdeposits_enabled,
                                 instant_microdeposits_enabled: instant_microdeposits_enabled,
                                 reroute_to_credentials: reroute_to_credentials,
                                 database_match_enabled: database_match_enabled,
                                 database_insights_enabled: database_insights_enabled,
                                 flow_type: flow_type,
                                 sms_microdeposits_verification_enabled: sms_microdeposits_verification_enabled,
                                 additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 83

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['auth_type_select_enabled'] = 'auth_type_select_enabled'
  @_hash['automated_microdeposits_enabled'] =
    'automated_microdeposits_enabled'
  @_hash['instant_match_enabled'] = 'instant_match_enabled'
  @_hash['same_day_microdeposits_enabled'] =
    'same_day_microdeposits_enabled'
  @_hash['instant_microdeposits_enabled'] =
    'instant_microdeposits_enabled'
  @_hash['reroute_to_credentials'] = 'reroute_to_credentials'
  @_hash['database_match_enabled'] = 'database_match_enabled'
  @_hash['database_insights_enabled'] = 'database_insights_enabled'
  @_hash['flow_type'] = 'flow_type'
  @_hash['sms_microdeposits_verification_enabled'] =
    'sms_microdeposits_verification_enabled'
  @_hash
end

.nullablesObject

An array for nullable fields



119
120
121
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 119

def self.nullables
  []
end

.optionalsObject

An array for optional fields



103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 103

def self.optionals
  %w[
    auth_type_select_enabled
    automated_microdeposits_enabled
    instant_match_enabled
    same_day_microdeposits_enabled
    instant_microdeposits_enabled
    reroute_to_credentials
    database_match_enabled
    database_insights_enabled
    flow_type
    sms_microdeposits_verification_enabled
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



224
225
226
227
228
229
230
231
232
233
234
235
236
237
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 224

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} auth_type_select_enabled: #{@auth_type_select_enabled.inspect},"\
  " automated_microdeposits_enabled: #{@automated_microdeposits_enabled.inspect},"\
  " instant_match_enabled: #{@instant_match_enabled.inspect}, same_day_microdeposits_enabled:"\
  " #{@same_day_microdeposits_enabled.inspect}, instant_microdeposits_enabled:"\
  " #{@instant_microdeposits_enabled.inspect}, reroute_to_credentials:"\
  " #{@reroute_to_credentials.inspect}, database_match_enabled:"\
  " #{@database_match_enabled.inspect}, database_insights_enabled:"\
  " #{@database_insights_enabled.inspect}, flow_type: #{@flow_type.inspect},"\
  ' sms_microdeposits_verification_enabled:'\
  " #{@sms_microdeposits_verification_enabled.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



210
211
212
213
214
215
216
217
218
219
220
221
# File 'lib/the_plaid_api/models/link_token_create_request_auth.rb', line 210

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} auth_type_select_enabled: #{@auth_type_select_enabled},"\
  " automated_microdeposits_enabled: #{@automated_microdeposits_enabled},"\
  " instant_match_enabled: #{@instant_match_enabled}, same_day_microdeposits_enabled:"\
  " #{@same_day_microdeposits_enabled}, instant_microdeposits_enabled:"\
  " #{@instant_microdeposits_enabled}, reroute_to_credentials: #{@reroute_to_credentials},"\
  " database_match_enabled: #{@database_match_enabled}, database_insights_enabled:"\
  " #{@database_insights_enabled}, flow_type: #{@flow_type},"\
  " sms_microdeposits_verification_enabled: #{@sms_microdeposits_verification_enabled},"\
  " additional_properties: #{@additional_properties}>"
end