Class: ThePlaidApi::SandboxPublicTokenCreateRequest

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

Overview

SandboxPublicTokenCreateRequest defines the request schema for ‘/sandbox/public_token/create`

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(institution_id:, initial_products:, client_id: SKIP, secret: SKIP, options: SKIP, user_token: SKIP, user_id: SKIP, additional_properties: nil) ⇒ SandboxPublicTokenCreateRequest

Returns a new instance of SandboxPublicTokenCreateRequest.



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 82

def initialize(institution_id:, initial_products:, client_id: SKIP,
               secret: SKIP, options: SKIP, user_token: SKIP, user_id: 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
  @institution_id = institution_id
  @initial_products = initial_products
  @options = options unless options == SKIP
  @user_token = user_token unless user_token == SKIP
  @user_id = user_id unless user_id == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#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/sandbox_public_token_create_request.rb', line 17

def client_id
  @client_id
end

#initial_productsArray[Products]

The products to initially pull for the Item. May be any products that the specified ‘institution_id` supports. This array may not be empty.

Returns:



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

def initial_products
  @initial_products
end

#institution_idString

The ID of the institution the Item will be associated with

Returns:

  • (String)


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

def institution_id
  @institution_id
end

#optionsSandboxPublicTokenCreateRequestOptions

An optional set of options to be used when configuring the Item. If specified, must not be ‘null`.



36
37
38
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 36

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/sandbox_public_token_create_request.rb', line 22

def secret
  @secret
end

#user_idString

A unique user identifier, created by ‘/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [new user APIs](plaid.com/docs/api/users/user-apis).

Returns:

  • (String)


51
52
53
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 51

def user_id
  @user_id
end

#user_tokenString

The user token associated with the User data is being requested for. This field is used only by customers with pre-existing integrations that already use the ‘user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](plaid.com/docs/api/users/user-apis).

Returns:

  • (String)


44
45
46
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 44

def user_token
  @user_token
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



99
100
101
102
103
104
105
106
107
108
109
110
111
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/sandbox_public_token_create_request.rb', line 99

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  institution_id =
    hash.key?('institution_id') ? hash['institution_id'] : nil
  initial_products =
    hash.key?('initial_products') ? hash['initial_products'] : nil
  client_id = hash.key?('client_id') ? hash['client_id'] : SKIP
  secret = hash.key?('secret') ? hash['secret'] : SKIP
  options = SandboxPublicTokenCreateRequestOptions.from_hash(hash['options']) if
    hash['options']
  user_token = hash.key?('user_token') ? hash['user_token'] : SKIP
  user_id = hash.key?('user_id') ? hash['user_id'] : 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.
  SandboxPublicTokenCreateRequest.new(institution_id: institution_id,
                                      initial_products: initial_products,
                                      client_id: client_id,
                                      secret: secret,
                                      options: options,
                                      user_token: user_token,
                                      user_id: user_id,
                                      additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 54

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['client_id'] = 'client_id'
  @_hash['secret'] = 'secret'
  @_hash['institution_id'] = 'institution_id'
  @_hash['initial_products'] = 'initial_products'
  @_hash['options'] = 'options'
  @_hash['user_token'] = 'user_token'
  @_hash['user_id'] = 'user_id'
  @_hash
end

.nullablesObject

An array for nullable fields



78
79
80
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 78

def self.nullables
  []
end

.optionalsObject

An array for optional fields



67
68
69
70
71
72
73
74
75
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 67

def self.optionals
  %w[
    client_id
    secret
    options
    user_token
    user_id
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



142
143
144
145
146
147
148
149
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 142

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} client_id: #{@client_id.inspect}, secret: #{@secret.inspect},"\
  " institution_id: #{@institution_id.inspect}, initial_products:"\
  " #{@initial_products.inspect}, options: #{@options.inspect}, user_token:"\
  " #{@user_token.inspect}, user_id: #{@user_id.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



133
134
135
136
137
138
139
# File 'lib/the_plaid_api/models/sandbox_public_token_create_request.rb', line 133

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} client_id: #{@client_id}, secret: #{@secret}, institution_id:"\
  " #{@institution_id}, initial_products: #{@initial_products}, options: #{@options},"\
  " user_token: #{@user_token}, user_id: #{@user_id}, additional_properties:"\
  " #{@additional_properties}>"
end