Class: ThePlaidApi::PartnerCustomerCreateRequest

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

Overview

Request schema for ‘/partner/customer/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:, is_diligence_attested:, legal_entity_name:, website:, application_name:, address:, is_bank_addendum_completed:, client_id: SKIP, secret: SKIP, products: SKIP, create_link_customization: SKIP, logo: SKIP, technical_contact: SKIP, billing_contact: SKIP, customer_support_info: SKIP, assets_under_management: SKIP, redirect_uris: SKIP, registration_number: SKIP, additional_properties: nil) ⇒ PartnerCustomerCreateRequest

Returns a new instance of PartnerCustomerCreateRequest.



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
208
209
210
211
212
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 179

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

Instance Attribute Details

#addressPartnerEndCustomerAddress

The end customer’s address.



105
106
107
# File 'lib/the_plaid_api/models/partner_customer_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/partner_customer_create_request.rb', line 82

def application_name
  @application_name
end

#assets_under_managementPartnerEndCustomerAssetsUnderManagement

Assets under management for the given end customer. Required for end customers with monthly service commitments.



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

def assets_under_management
  @assets_under_management
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/partner_customer_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/partner_customer_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/partner_customer_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/partner_customer_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/partner_customer_create_request.rb', line 101

def customer_support_info
  @customer_support_info
end

#is_bank_addendum_completedTrueClass | FalseClass

Denotes whether the partner has forwarded the Plaid bank addendum to the end customer.

Returns:

  • (TrueClass | FalseClass)


110
111
112
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 110

def is_bank_addendum_completed
  @is_bank_addendum_completed
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/partner_customer_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/partner_customer_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/partner_customer_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/partner_customer_create_request.rb', line 38

def products
  @products
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])


125
126
127
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 125

def redirect_uris
  @redirect_uris
end

#registration_numberString

The unique identifier assigned to a financial institution by regulatory authorities, if applicable. For banks, this is the FDIC Certificate Number. For credit unions, this is the Credit Union Charter Number.

Returns:

  • (String)


131
132
133
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 131

def registration_number
  @registration_number
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/partner_customer_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/partner_customer_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/partner_customer_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.



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
266
267
268
269
270
271
272
273
274
275
276
277
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 215

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  company_name = hash.key?('company_name') ? hash['company_name'] : nil
  is_diligence_attested =
    hash.key?('is_diligence_attested') ? hash['is_diligence_attested'] : nil
  legal_entity_name =
    hash.key?('legal_entity_name') ? hash['legal_entity_name'] : nil
  website = hash.key?('website') ? hash['website'] : nil
  application_name =
    hash.key?('application_name') ? hash['application_name'] : nil
  address = PartnerEndCustomerAddress.from_hash(hash['address']) if hash['address']
  is_bank_addendum_completed =
    hash.key?('is_bank_addendum_completed') ? hash['is_bank_addendum_completed'] : nil
  client_id = hash.key?('client_id') ? hash['client_id'] : SKIP
  secret = hash.key?('secret') ? hash['secret'] : 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
  technical_contact = PartnerEndCustomerTechnicalContact.from_hash(hash['technical_contact']) if
    hash['technical_contact']
  billing_contact = PartnerEndCustomerBillingContact.from_hash(hash['billing_contact']) if
    hash['billing_contact']
  if hash['customer_support_info']
    customer_support_info = PartnerEndCustomerCustomerSupportInfo.from_hash(hash['customer_support_info'])
  end
  if hash['assets_under_management']
    assets_under_management = PartnerEndCustomerAssetsUnderManagement.from_hash(hash['assets_under_management'])
  end
  redirect_uris = hash.key?('redirect_uris') ? hash['redirect_uris'] : SKIP
  registration_number =
    hash.key?('registration_number') ? hash['registration_number'] : 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.
  PartnerCustomerCreateRequest.new(company_name: company_name,
                                   is_diligence_attested: is_diligence_attested,
                                   legal_entity_name: legal_entity_name,
                                   website: website,
                                   application_name: application_name,
                                   address: address,
                                   is_bank_addendum_completed: is_bank_addendum_completed,
                                   client_id: client_id,
                                   secret: secret,
                                   products: products,
                                   create_link_customization: create_link_customization,
                                   logo: ,
                                   technical_contact: technical_contact,
                                   billing_contact: billing_contact,
                                   customer_support_info: customer_support_info,
                                   assets_under_management: assets_under_management,
                                   redirect_uris: redirect_uris,
                                   registration_number: registration_number,
                                   additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 134

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['is_bank_addendum_completed'] = 'is_bank_addendum_completed'
  @_hash['assets_under_management'] = 'assets_under_management'
  @_hash['redirect_uris'] = 'redirect_uris'
  @_hash['registration_number'] = 'registration_number'
  @_hash
end

.nullablesObject

An array for nullable fields



175
176
177
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 175

def self.nullables
  []
end

.optionalsObject

An array for optional fields



158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 158

def self.optionals
  %w[
    client_id
    secret
    products
    create_link_customization
    logo
    technical_contact
    billing_contact
    customer_support_info
    assets_under_management
    redirect_uris
    registration_number
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 295

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},"\
  " is_bank_addendum_completed: #{@is_bank_addendum_completed.inspect},"\
  " assets_under_management: #{@assets_under_management.inspect}, redirect_uris:"\
  " #{@redirect_uris.inspect}, registration_number: #{@registration_number.inspect},"\
  " additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



280
281
282
283
284
285
286
287
288
289
290
291
292
# File 'lib/the_plaid_api/models/partner_customer_create_request.rb', line 280

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}, is_bank_addendum_completed: #{@is_bank_addendum_completed},"\
  " assets_under_management: #{@assets_under_management}, redirect_uris: #{@redirect_uris},"\
  " registration_number: #{@registration_number}, additional_properties:"\
  " #{@additional_properties}>"
end