Class: ThePlaidApi::BetaPartnerCustomerV1CreateRequest

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

Overview

Request schema for ‘/beta/partner/customer/v1/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(company_name:, website:, application_name:, customer_support_info:, address:, client_id: SKIP, secret: SKIP, is_diligence_attested: SKIP, products: SKIP, create_link_customization: SKIP, logo: SKIP, legal_entity_name: SKIP, technical_contact: SKIP, billing_contact: SKIP, redirect_uris: SKIP, bank_addendum_acceptance: SKIP, questionnaires: SKIP, additional_properties: nil) ⇒ BetaPartnerCustomerV1CreateRequest

Returns a new instance of BetaPartnerCustomerV1CreateRequest.



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
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 171

def initialize(company_name:, website:, application_name:,
               customer_support_info:, address:, client_id: SKIP,
               secret: SKIP, is_diligence_attested: SKIP, products: SKIP,
               create_link_customization: SKIP, logo: SKIP,
               legal_entity_name: SKIP, technical_contact: SKIP,
               billing_contact: SKIP, redirect_uris: SKIP,
               bank_addendum_acceptance: SKIP, questionnaires: 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
  @company_name = company_name
  @is_diligence_attested = is_diligence_attested unless is_diligence_attested == SKIP
  @products = products unless products == SKIP
  unless create_link_customization == SKIP
    @create_link_customization =
      create_link_customization
  end
  @logo =  unless  == SKIP
  @legal_entity_name = legal_entity_name unless legal_entity_name == SKIP
  @website = website
  @application_name = application_name
  @technical_contact = technical_contact unless technical_contact == SKIP
  @billing_contact = billing_contact unless billing_contact == SKIP
  @customer_support_info = customer_support_info
  @address = address
  @redirect_uris = redirect_uris unless redirect_uris == SKIP
  @bank_addendum_acceptance = bank_addendum_acceptance unless bank_addendum_acceptance == SKIP
  @questionnaires = questionnaires unless questionnaires == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#addressPartnerEndCustomerAddress

The end customer’s address.



105
106
107
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 105

def address
  @address
end

#application_nameString

The name of the end customer’s application. This will be shown to end users when they go through the Plaid Link flow. The application name must be unique and cannot match the name of another application already registered with Plaid.

Returns:

  • (String)


82
83
84
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 82

def application_name
  @application_name
end

#bank_addendum_acceptancePartnerEndCustomerBankAddendumAcceptance

The bank addendum acceptance for the end customer.



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

def bank_addendum_acceptance
  @bank_addendum_acceptance
end

#billing_contactPartnerEndCustomerBillingContact

The billing contact for the end customer. Defaults to partner’s billing contact if omitted.



92
93
94
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 92

def billing_contact
  @billing_contact
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)


16
17
18
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 16

def client_id
  @client_id
end

#company_nameString

The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users.

Returns:

  • (String)


27
28
29
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 27

def company_name
  @company_name
end

If ‘true`, the end customer’s default Link customization will be set to match the partner’s. You can always change the end customer’s Link customization in the Plaid Dashboard. See the [Link Customization docs](plaid.com/docs/link/customization/) for more information. If you require the ability to programmatically create end customers using multiple different Link customization profiles, contact your Plaid Account Manager for assistance. Important: Data Transparency Messaging (DTM) use cases will not be copied to the end customer’s Link customization unless the **Publish changes** button is clicked after the use cases are applied. Link will not work in Production unless the end customer’s DTM use cases are configured. For more details, see [Data Transparency Messaging](plaid.com/docs/link/data-transparency-messaging-migrati on-guide/).

Returns:

  • (TrueClass | FalseClass)


55
56
57
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 55

def create_link_customization
  @create_link_customization
end

#customer_support_infoPartnerEndCustomerCustomerSupportInfo

This information is public. Users of your app will see this information when managing connections between your app and their bank accounts in Plaid Portal. Defaults to partner’s customer support info if omitted. This field is mandatory for partners whose Plaid accounts were created after November 26, 2024 and will be mandatory for all partners by the 1033 compliance deadline.



101
102
103
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 101

def customer_support_info
  @customer_support_info
end

#is_diligence_attestedTrueClass | FalseClass

Denotes whether or not the partner has completed attestation of diligence for the end customer to be created.

Returns:

  • (TrueClass | FalseClass)


32
33
34
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 32

def is_diligence_attested
  @is_diligence_attested
end

The end customer’s legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users.

Returns:

  • (String)


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

def legal_entity_name
  @legal_entity_name
end

#logoString

Base64-encoded representation of the end customer’s logo. Must be a PNG of size 1024x1024 under 4MB. The logo will be shared with financial institutions and shown to the end user during Link flows. A logo is required if ‘create_link_customization` is `true`. If `create_link_customization` is `false` and the logo is omitted, the partner’s logo will be used if one exists, otherwise a stock logo will be used.

Returns:

  • (String)


65
66
67
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 65

def 
  @logo
end

#productsArray[Products]

The products to be enabled for the end customer. If empty or ‘null`, this field will default to the products enabled for the reseller at the time this endpoint is called.

Returns:



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

def products
  @products
end

#questionnairesPartnerEndCustomerQuestionnaires

The questionnaires for the end customer.



123
124
125
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 123

def questionnaires
  @questionnaires
end

#redirect_urisArray[String]

A list of URIs indicating the destination(s) where a user can be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. URIs should not contain any query parameters. When used in Production, URIs must use https. To modify redirect URIs for an end customer after creating them, go to the end customer’s [API page](dashboard.plaid.com/team/api) in the Dashboard.

Returns:

  • (Array[String])


115
116
117
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 115

def redirect_uris
  @redirect_uris
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)


21
22
23
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 21

def secret
  @secret
end

#technical_contactPartnerEndCustomerTechnicalContact

The technical contact for the end customer. Defaults to partner’s technical contact if omitted.



87
88
89
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 87

def technical_contact
  @technical_contact
end

#websiteString

The end customer’s website.

Returns:

  • (String)


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

def website
  @website
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 206

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  company_name = hash.key?('company_name') ? hash['company_name'] : nil
  website = hash.key?('website') ? hash['website'] : nil
  application_name =
    hash.key?('application_name') ? hash['application_name'] : nil
  if hash['customer_support_info']
    customer_support_info = PartnerEndCustomerCustomerSupportInfo.from_hash(hash['customer_support_info'])
  end
  address = PartnerEndCustomerAddress.from_hash(hash['address']) if hash['address']
  client_id = hash.key?('client_id') ? hash['client_id'] : SKIP
  secret = hash.key?('secret') ? hash['secret'] : SKIP
  is_diligence_attested =
    hash.key?('is_diligence_attested') ? hash['is_diligence_attested'] : SKIP
  products = hash.key?('products') ? hash['products'] : SKIP
  create_link_customization =
    hash.key?('create_link_customization') ? hash['create_link_customization'] : SKIP
   = hash.key?('logo') ? hash['logo'] : SKIP
  legal_entity_name =
    hash.key?('legal_entity_name') ? hash['legal_entity_name'] : SKIP
  technical_contact = PartnerEndCustomerTechnicalContact.from_hash(hash['technical_contact']) if
    hash['technical_contact']
  billing_contact = PartnerEndCustomerBillingContact.from_hash(hash['billing_contact']) if
    hash['billing_contact']
  redirect_uris = hash.key?('redirect_uris') ? hash['redirect_uris'] : SKIP
  if hash['bank_addendum_acceptance']
    bank_addendum_acceptance = PartnerEndCustomerBankAddendumAcceptance.from_hash(hash['bank_addendum_acceptance'])
  end
  questionnaires = PartnerEndCustomerQuestionnaires.from_hash(hash['questionnaires']) if
    hash['questionnaires']

  # 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.
  BetaPartnerCustomerV1CreateRequest.new(company_name: company_name,
                                         website: website,
                                         application_name: application_name,
                                         customer_support_info: customer_support_info,
                                         address: address,
                                         client_id: client_id,
                                         secret: secret,
                                         is_diligence_attested: is_diligence_attested,
                                         products: products,
                                         create_link_customization: create_link_customization,
                                         logo: ,
                                         legal_entity_name: legal_entity_name,
                                         technical_contact: technical_contact,
                                         billing_contact: billing_contact,
                                         redirect_uris: redirect_uris,
                                         bank_addendum_acceptance: bank_addendum_acceptance,
                                         questionnaires: questionnaires,
                                         additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 126

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['client_id'] = 'client_id'
  @_hash['secret'] = 'secret'
  @_hash['company_name'] = 'company_name'
  @_hash['is_diligence_attested'] = 'is_diligence_attested'
  @_hash['products'] = 'products'
  @_hash['create_link_customization'] = 'create_link_customization'
  @_hash['logo'] = 'logo'
  @_hash['legal_entity_name'] = 'legal_entity_name'
  @_hash['website'] = 'website'
  @_hash['application_name'] = 'application_name'
  @_hash['technical_contact'] = 'technical_contact'
  @_hash['billing_contact'] = 'billing_contact'
  @_hash['customer_support_info'] = 'customer_support_info'
  @_hash['address'] = 'address'
  @_hash['redirect_uris'] = 'redirect_uris'
  @_hash['bank_addendum_acceptance'] = 'bank_addendum_acceptance'
  @_hash['questionnaires'] = 'questionnaires'
  @_hash
end

.nullablesObject

An array for nullable fields



167
168
169
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 167

def self.nullables
  []
end

.optionalsObject

An array for optional fields



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 149

def self.optionals
  %w[
    client_id
    secret
    is_diligence_attested
    products
    create_link_customization
    logo
    legal_entity_name
    technical_contact
    billing_contact
    redirect_uris
    bank_addendum_acceptance
    questionnaires
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



282
283
284
285
286
287
288
289
290
291
292
293
294
295
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 282

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} client_id: #{@client_id.inspect}, secret: #{@secret.inspect}, company_name:"\
  " #{@company_name.inspect}, is_diligence_attested: #{@is_diligence_attested.inspect},"\
  " products: #{@products.inspect}, create_link_customization:"\
  " #{@create_link_customization.inspect}, logo: #{@logo.inspect}, legal_entity_name:"\
  " #{@legal_entity_name.inspect}, website: #{@website.inspect}, application_name:"\
  " #{@application_name.inspect}, technical_contact: #{@technical_contact.inspect},"\
  " billing_contact: #{@billing_contact.inspect}, customer_support_info:"\
  " #{@customer_support_info.inspect}, address: #{@address.inspect}, redirect_uris:"\
  " #{@redirect_uris.inspect}, bank_addendum_acceptance: #{@bank_addendum_acceptance.inspect},"\
  " questionnaires: #{@questionnaires.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



268
269
270
271
272
273
274
275
276
277
278
279
# File 'lib/the_plaid_api/models/beta_partner_customer_v1_create_request.rb', line 268

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} client_id: #{@client_id}, secret: #{@secret}, company_name:"\
  " #{@company_name}, is_diligence_attested: #{@is_diligence_attested}, products:"\
  " #{@products}, create_link_customization: #{@create_link_customization}, logo: #{@logo},"\
  " legal_entity_name: #{@legal_entity_name}, website: #{@website}, application_name:"\
  " #{@application_name}, technical_contact: #{@technical_contact}, billing_contact:"\
  " #{@billing_contact}, customer_support_info: #{@customer_support_info}, address:"\
  " #{@address}, redirect_uris: #{@redirect_uris}, bank_addendum_acceptance:"\
  " #{@bank_addendum_acceptance}, questionnaires: #{@questionnaires}, additional_properties:"\
  " #{@additional_properties}>"
end