Class: ThePlaidApi::NewAccountsAvailableWebhook

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

Overview

Fired when Plaid detects a new account. Upon receiving this webhook, you can prompt your users to share new accounts with you through [update mode](plaid.com/docs/link/update-mode/#using-update-mode-to-request- new-accounts) (US/CA only). If the end user has opted not to share new accounts with Plaid via their institution’s OAuth settings, Plaid will not detect new accounts and this webhook will not fire. For end user accounts in the EU and UK, upon receiving this webhook, you can prompt your user to re-link their account and then delete the old Item via ‘/item/remove`.

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(webhook_type: SKIP, webhook_code: SKIP, item_id: SKIP, user_id: SKIP, error: SKIP, environment: SKIP, additional_properties: nil) ⇒ NewAccountsAvailableWebhook

Returns a new instance of NewAccountsAvailableWebhook.



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

def initialize(webhook_type: SKIP, webhook_code: SKIP, item_id: SKIP,
               user_id: SKIP, error: SKIP, environment: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @webhook_type = webhook_type unless webhook_type == SKIP
  @webhook_code = webhook_code unless webhook_code == SKIP
  @item_id = item_id unless item_id == SKIP
  @user_id = user_id unless user_id == SKIP
  @error = error unless error == SKIP
  @environment = environment unless environment == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#environmentWebhookEnvironmentValues

The Plaid environment the webhook was sent from



50
51
52
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 50

def environment
  @environment
end

#errorError

Errors are identified by ‘error_code` and categorized by `error_type`. Use these in preference to HTTP status codes to identify and handle specific errors. HTTP status codes are set and provide the broadest categorization of errors: 4xx codes are for developer- or user-related errors, and 5xx codes are for Plaid-related errors, and the status will be 2xx in non-error cases. An Item with a non-`null` error object will only be part of an API response when calling `/item/get` to view Item status. Otherwise, error fields will be `null` if no error has occurred; if an error has occurred, an error code will be returned instead.

Returns:



46
47
48
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 46

def error
  @error
end

#item_idString

The ‘item_id` of the Item associated with this webhook, warning, or error

Returns:

  • (String)


29
30
31
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 29

def item_id
  @item_id
end

#user_idString

The Plaid ‘user_id` of the User associated with this webhook, warning, or error.

Returns:

  • (String)


34
35
36
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 34

def user_id
  @user_id
end

#webhook_codeString

‘NEW_ACCOUNTS_AVAILABLE`

Returns:

  • (String)


25
26
27
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 25

def webhook_code
  @webhook_code
end

#webhook_typeString

‘ITEM`

Returns:

  • (String)


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

def webhook_type
  @webhook_type
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
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 99

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  webhook_type = hash.key?('webhook_type') ? hash['webhook_type'] : SKIP
  webhook_code = hash.key?('webhook_code') ? hash['webhook_code'] : SKIP
  item_id = hash.key?('item_id') ? hash['item_id'] : SKIP
  user_id = hash.key?('user_id') ? hash['user_id'] : SKIP
  error = Error.from_hash(hash['error']) if hash['error']
  environment = hash.key?('environment') ? hash['environment'] : 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.
  NewAccountsAvailableWebhook.new(webhook_type: webhook_type,
                                  webhook_code: webhook_code,
                                  item_id: item_id,
                                  user_id: user_id,
                                  error: error,
                                  environment: environment,
                                  additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



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

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['webhook_type'] = 'webhook_type'
  @_hash['webhook_code'] = 'webhook_code'
  @_hash['item_id'] = 'item_id'
  @_hash['user_id'] = 'user_id'
  @_hash['error'] = 'error'
  @_hash['environment'] = 'environment'
  @_hash
end

.nullablesObject

An array for nullable fields



77
78
79
80
81
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 77

def self.nullables
  %w[
    error
  ]
end

.optionalsObject

An array for optional fields



65
66
67
68
69
70
71
72
73
74
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 65

def self.optionals
  %w[
    webhook_type
    webhook_code
    item_id
    user_id
    error
    environment
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



136
137
138
139
140
141
142
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 136

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} webhook_type: #{@webhook_type.inspect}, webhook_code:"\
  " #{@webhook_code.inspect}, item_id: #{@item_id.inspect}, user_id: #{@user_id.inspect},"\
  " error: #{@error.inspect}, environment: #{@environment.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



128
129
130
131
132
133
# File 'lib/the_plaid_api/models/new_accounts_available_webhook.rb', line 128

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} webhook_type: #{@webhook_type}, webhook_code: #{@webhook_code}, item_id:"\
  " #{@item_id}, user_id: #{@user_id}, error: #{@error}, environment: #{@environment},"\
  " additional_properties: #{@additional_properties}>"
end