Class: StarkBank::DictKey

Inherits:
Utils::Resource show all
Defined in:
lib/dict_key/dict_key.rb

Overview

# DictKey object

DictKey represents a PIX key registered in Bacen’s DICT system.

## Parameters (required):

  • id [string]: DictKey object unique id and PIX key itself. ex: ‘[email protected]’, ‘722.461.430-04’, ‘20.018.183/0001-80’, ‘+5511988887777’, ‘b6295ee1-f054-47d1-9e90-ee57b74f60d9’

## Attributes (return-only):

  • type [string, default nil]: DICT key type. ex: ‘email’, ‘cpf’, ‘cnpj’, ‘phone’ or ‘evp’

  • name [string, default nil]: account owner full name. ex: ‘Tony Stark’

  • tax_id [string, default nil]: key owner tax ID (CNPJ or masked CPF). ex: ‘*.345.678-’ or ‘20.018.183/0001-80’

  • owner_type [string, default nil]: DICT key owner type. ex ‘naturalPerson’ or ‘legalPerson’

  • bank_name [string, default nil]: bank name associated with the DICT key. ex: ‘Stark Bank’

  • ispb [string, default nil]: bank ISPB associated with the DICT key. ex: ‘20018183’

  • branch_code [string, default nil]: bank account branch code associated with the DICT key. ex: ‘9585’

  • account_number [string, default nil]: bank account number associated with the DICT key. ex: ‘9828282578010513’

  • account_type [string, default nil]: bank account type associated with the DICT key. ex: ‘checking’, ‘saving’, ‘salary’ or ‘payment’

  • status [string, default nil]: current DICT key status. ex: ‘created’, ‘registered’, ‘canceled’ or ‘failed’

  • account_created [DateTime or string, default nil]: creation datetime of the bank account associated with the DICT key. ex: ‘2020-11-05T14:55:08.812665+00:00’

  • owned [DateTime or string, default nil]: datetime since when the current owner hold this DICT key. ex : ‘2020-11-05T14:55:08.812665+00:00’

  • created [DateTime or string, default nil]: creation datetime for the DICT key. ex: ‘2020-03-10 10:30:00.000’

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Utils::SubResource

#inspect, #to_s

Constructor Details

#initialize(id:, type:, name:, tax_id:, owner_type:, bank_name:, ispb:, branch_code:, account_number:, account_type:, status:, account_created:, owned:, created:) ⇒ DictKey

Returns a new instance of DictKey.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/dict_key/dict_key.rb', line 31

def initialize(
  id:, type:, name:, tax_id:, owner_type:, bank_name:, ispb:, branch_code:, account_number:, 
  account_type:, status:, account_created:, owned:, created:
)
  super(id)
  @type = type
  @name = name
  @tax_id = tax_id
  @owner_type = owner_type
  @bank_name = bank_name
  @ispb = ispb
  @branch_code = branch_code
  @account_number = 
  @account_type = 
  @status = status
  @account_created = StarkBank::Utils::Checks.check_datetime()
  @owned = StarkBank::Utils::Checks.check_datetime(owned)
  @created = StarkBank::Utils::Checks.check_datetime(created)
end

Instance Attribute Details

#account_createdObject (readonly)

Returns the value of attribute account_created.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def 
  @account_created
end

#account_numberObject (readonly)

Returns the value of attribute account_number.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def 
  @account_number
end

#account_typeObject (readonly)

Returns the value of attribute account_type.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def 
  @account_type
end

#bank_nameObject (readonly)

Returns the value of attribute bank_name.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def bank_name
  @bank_name
end

#branch_codeObject (readonly)

Returns the value of attribute branch_code.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def branch_code
  @branch_code
end

#createdObject (readonly)

Returns the value of attribute created.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def created
  @created
end

#idObject (readonly)

Returns the value of attribute id.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def id
  @id
end

#ispbObject (readonly)

Returns the value of attribute ispb.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def ispb
  @ispb
end

#nameObject (readonly)

Returns the value of attribute name.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def name
  @name
end

#ownedObject (readonly)

Returns the value of attribute owned.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def owned
  @owned
end

#owner_typeObject (readonly)

Returns the value of attribute owner_type.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def owner_type
  @owner_type
end

#statusObject (readonly)

Returns the value of attribute status.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def status
  @status
end

#tax_idObject (readonly)

Returns the value of attribute tax_id.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def tax_id
  @tax_id
end

#typeObject (readonly)

Returns the value of attribute type.



30
31
32
# File 'lib/dict_key/dict_key.rb', line 30

def type
  @type
end

Class Method Details

.get(id, user: nil) ⇒ Object

# Retrieve a specific DictKey

Receive a single DictKey object by passing its id

## Parameters (required):

  • id [string]: DictKey object unique id and PIX key itself. ex: ‘[email protected]’, ‘722.461.430-04’, ‘20.018.183/0001-80’, ‘+5511988887777’, ‘b6295ee1-f054-47d1-9e90-ee57b74f60d9’

## Parameters (optional):

  • user [Organization/Project object]: Organization or Project object. Not necessary if StarkBank.user was set before function call

## Return:

  • DictKey object with updated attributes



63
64
65
# File 'lib/dict_key/dict_key.rb', line 63

def self.get(id, user: nil)
  StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
end

.page(cursor: nil, limit: nil, type: nil, after: nil, before: nil, ids: nil, status: nil, user: nil) ⇒ Object

# Retrieve paged DictKeys

Receive a list of up to 100 DictKey objects previously created in the Stark Bank API and the cursor to the next page. Use this function instead of query if you want to manually page your requests.

## Parameters (optional):

  • cursor [string, default nil]: cursor returned on the previous page function call

  • limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35

  • type [string, default nil]: DictKey type. ex: ‘cpf’, ‘cnpj’, ‘phone’, ‘email’ or ‘evp’

  • after [Date, DateTime, Time or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)

  • before [Date, DateTime, Time or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)

  • ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: [‘5656565656565656’, ‘4545454545454545’]

  • status [string, default nil]: filter for status of retrieved objects. ex: ‘canceled’, ‘registered’

  • user [Organization/Project object]: Organization or Project object. Not necessary if StarkBank.user was set before function call

## Return:

  • list of DictKey objects with updated attributes and cursor to retrieve the next page of DictKey objects



114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# File 'lib/dict_key/dict_key.rb', line 114

def self.page(cursor: nil, limit: nil, type: nil, after: nil, before: nil, ids: nil, status: nil, user: nil)
  after = StarkBank::Utils::Checks.check_date(after)
  before = StarkBank::Utils::Checks.check_date(before)
  return StarkBank::Utils::Rest.get_page(
    cursor: cursor,
    limit: limit,
    type: type,
    after: after,
    before: before,
    ids: ids,
    status: status,
    user: user,
    **resource
  )
end

.query(limit: nil, type: nil, after: nil, before: nil, ids: nil, status: nil, user: nil) ⇒ Object

# Retrieve DitcKeys

Receive a generator of DitcKey objects previously created in the Stark Bank API

## Parameters (optional):

  • limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35

  • type [string, default nil]: DictKey type. ex: ‘cpf’, ‘cnpj’, ‘phone’, ‘email’ or ‘evp’

  • after [Date, DateTime, Time or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)

  • before [Date, DateTime, Time or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)

  • ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: [‘5656565656565656’, ‘4545454545454545’]

  • status [string, default nil]: filter for status of retrieved objects. ex: ‘canceled’, ‘registered’

  • user [Organization/Project object]: Organization or Project object. Not necessary if StarkBank.user was set before function call

## Return:

  • generator of DitcKey objects with updated attributes



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

def self.query(limit: nil, type: nil, after: nil, before: nil, ids: nil, status: nil, user: nil)
  after = StarkBank::Utils::Checks.check_date(after)
  before = StarkBank::Utils::Checks.check_date(before)
  StarkBank::Utils::Rest.get_stream(
    limit: limit,
    type: type,
    after: after,
    before: before,
    ids: ids,
    status: status,
    user: user,
    **resource
  )
end

.resourceObject



130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/dict_key/dict_key.rb', line 130

def self.resource
  {
    resource_name: 'DictKey',
    resource_maker: proc { |json|
      DictKey.new(
        id: json['id'],
        account_type: json['account_type'],
        name: json['name'],
        tax_id: json['tax_id'],
        owner_type: json['owner_type'],
        bank_name: json['bank_name'],
        ispb: json['ispb'],
        branch_code: json['branch_code'],
        account_number: json['account_number'],
        type: json['type'],
        status: json['status'],
        account_created: json['account_created'],
        owned: json['owned'],
        created: json['created']
      )
    }
  }
end