dataleon 0.1.0.pre.alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +50 -0
- data/README.md +257 -0
- data/SECURITY.md +27 -0
- data/lib/dataleon/client.rb +80 -0
- data/lib/dataleon/errors.rb +214 -0
- data/lib/dataleon/file_part.rb +55 -0
- data/lib/dataleon/internal/transport/base_client.rb +563 -0
- data/lib/dataleon/internal/transport/pooled_net_requester.rb +201 -0
- data/lib/dataleon/internal/type/array_of.rb +168 -0
- data/lib/dataleon/internal/type/base_model.rb +531 -0
- data/lib/dataleon/internal/type/base_page.rb +55 -0
- data/lib/dataleon/internal/type/boolean.rb +77 -0
- data/lib/dataleon/internal/type/converter.rb +327 -0
- data/lib/dataleon/internal/type/enum.rb +131 -0
- data/lib/dataleon/internal/type/file_input.rb +108 -0
- data/lib/dataleon/internal/type/hash_of.rb +188 -0
- data/lib/dataleon/internal/type/request_parameters.rb +42 -0
- data/lib/dataleon/internal/type/union.rb +237 -0
- data/lib/dataleon/internal/type/unknown.rb +81 -0
- data/lib/dataleon/internal/util.rb +914 -0
- data/lib/dataleon/internal.rb +20 -0
- data/lib/dataleon/models/check.rb +50 -0
- data/lib/dataleon/models/companies/document_list_params.rb +16 -0
- data/lib/dataleon/models/companies/document_upload_params.rb +82 -0
- data/lib/dataleon/models/company_create_params.rb +228 -0
- data/lib/dataleon/models/company_delete_params.rb +14 -0
- data/lib/dataleon/models/company_list_params.rb +108 -0
- data/lib/dataleon/models/company_list_response.rb +8 -0
- data/lib/dataleon/models/company_registration.rb +964 -0
- data/lib/dataleon/models/company_retrieve_params.rb +30 -0
- data/lib/dataleon/models/company_update_params.rb +228 -0
- data/lib/dataleon/models/individual.rb +805 -0
- data/lib/dataleon/models/individual_create_params.rb +174 -0
- data/lib/dataleon/models/individual_delete_params.rb +14 -0
- data/lib/dataleon/models/individual_list_params.rb +108 -0
- data/lib/dataleon/models/individual_list_response.rb +8 -0
- data/lib/dataleon/models/individual_retrieve_params.rb +30 -0
- data/lib/dataleon/models/individual_update_params.rb +174 -0
- data/lib/dataleon/models/individuals/document_list_params.rb +16 -0
- data/lib/dataleon/models/individuals/document_response.rb +98 -0
- data/lib/dataleon/models/individuals/document_upload_params.rb +82 -0
- data/lib/dataleon/models/individuals/generic_document.rb +132 -0
- data/lib/dataleon/models/individuals/kbis.rb +326 -0
- data/lib/dataleon/models.rb +71 -0
- data/lib/dataleon/request_options.rb +77 -0
- data/lib/dataleon/resources/companies/documents.rb +65 -0
- data/lib/dataleon/resources/companies.rb +164 -0
- data/lib/dataleon/resources/individuals/documents.rb +65 -0
- data/lib/dataleon/resources/individuals.rb +164 -0
- data/lib/dataleon/version.rb +5 -0
- data/lib/dataleon.rb +79 -0
- data/manifest.yaml +15 -0
- data/rbi/dataleon/client.rbi +56 -0
- data/rbi/dataleon/errors.rbi +178 -0
- data/rbi/dataleon/file_part.rbi +37 -0
- data/rbi/dataleon/internal/transport/base_client.rbi +293 -0
- data/rbi/dataleon/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/dataleon/internal/type/array_of.rbi +104 -0
- data/rbi/dataleon/internal/type/base_model.rbi +302 -0
- data/rbi/dataleon/internal/type/base_page.rbi +42 -0
- data/rbi/dataleon/internal/type/boolean.rbi +58 -0
- data/rbi/dataleon/internal/type/converter.rbi +216 -0
- data/rbi/dataleon/internal/type/enum.rbi +82 -0
- data/rbi/dataleon/internal/type/file_input.rbi +59 -0
- data/rbi/dataleon/internal/type/hash_of.rbi +104 -0
- data/rbi/dataleon/internal/type/request_parameters.rbi +29 -0
- data/rbi/dataleon/internal/type/union.rbi +128 -0
- data/rbi/dataleon/internal/type/unknown.rbi +58 -0
- data/rbi/dataleon/internal/util.rbi +487 -0
- data/rbi/dataleon/internal.rbi +16 -0
- data/rbi/dataleon/models/check.rbi +83 -0
- data/rbi/dataleon/models/companies/document_list_params.rbi +32 -0
- data/rbi/dataleon/models/companies/document_upload_params.rbi +266 -0
- data/rbi/dataleon/models/company_create_params.rbi +361 -0
- data/rbi/dataleon/models/company_delete_params.rbi +27 -0
- data/rbi/dataleon/models/company_list_params.rbi +182 -0
- data/rbi/dataleon/models/company_list_response.rbi +11 -0
- data/rbi/dataleon/models/company_registration.rbi +1628 -0
- data/rbi/dataleon/models/company_retrieve_params.rbi +57 -0
- data/rbi/dataleon/models/company_update_params.rbi +361 -0
- data/rbi/dataleon/models/individual.rbi +1281 -0
- data/rbi/dataleon/models/individual_create_params.rbi +323 -0
- data/rbi/dataleon/models/individual_delete_params.rbi +27 -0
- data/rbi/dataleon/models/individual_list_params.rbi +193 -0
- data/rbi/dataleon/models/individual_list_response.rbi +11 -0
- data/rbi/dataleon/models/individual_retrieve_params.rbi +57 -0
- data/rbi/dataleon/models/individual_update_params.rbi +323 -0
- data/rbi/dataleon/models/individuals/document_list_params.rbi +32 -0
- data/rbi/dataleon/models/individuals/document_response.rbi +190 -0
- data/rbi/dataleon/models/individuals/document_upload_params.rbi +266 -0
- data/rbi/dataleon/models/individuals/generic_document.rbi +252 -0
- data/rbi/dataleon/models/individuals/kbis.rbi +513 -0
- data/rbi/dataleon/models.rbi +33 -0
- data/rbi/dataleon/request_options.rbi +59 -0
- data/rbi/dataleon/resources/companies/documents.rbi +52 -0
- data/rbi/dataleon/resources/companies.rbi +135 -0
- data/rbi/dataleon/resources/individuals/documents.rbi +52 -0
- data/rbi/dataleon/resources/individuals.rbi +137 -0
- data/rbi/dataleon/version.rbi +5 -0
- data/sig/dataleon/client.rbs +28 -0
- data/sig/dataleon/errors.rbs +110 -0
- data/sig/dataleon/file_part.rbs +21 -0
- data/sig/dataleon/internal/transport/base_client.rbs +131 -0
- data/sig/dataleon/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/dataleon/internal/type/array_of.rbs +48 -0
- data/sig/dataleon/internal/type/base_model.rbs +102 -0
- data/sig/dataleon/internal/type/base_page.rbs +24 -0
- data/sig/dataleon/internal/type/boolean.rbs +26 -0
- data/sig/dataleon/internal/type/converter.rbs +79 -0
- data/sig/dataleon/internal/type/enum.rbs +32 -0
- data/sig/dataleon/internal/type/file_input.rbs +25 -0
- data/sig/dataleon/internal/type/hash_of.rbs +48 -0
- data/sig/dataleon/internal/type/request_parameters.rbs +17 -0
- data/sig/dataleon/internal/type/union.rbs +52 -0
- data/sig/dataleon/internal/type/unknown.rbs +26 -0
- data/sig/dataleon/internal/util.rbs +185 -0
- data/sig/dataleon/internal.rbs +9 -0
- data/sig/dataleon/models/check.rbs +50 -0
- data/sig/dataleon/models/companies/document_list_params.rbs +17 -0
- data/sig/dataleon/models/companies/document_upload_params.rbs +119 -0
- data/sig/dataleon/models/company_create_params.rbs +209 -0
- data/sig/dataleon/models/company_delete_params.rbs +15 -0
- data/sig/dataleon/models/company_list_params.rbs +120 -0
- data/sig/dataleon/models/company_list_response.rbs +7 -0
- data/sig/dataleon/models/company_registration.rbs +847 -0
- data/sig/dataleon/models/company_retrieve_params.rbs +32 -0
- data/sig/dataleon/models/company_update_params.rbs +209 -0
- data/sig/dataleon/models/individual.rbs +717 -0
- data/sig/dataleon/models/individual_create_params.rbs +172 -0
- data/sig/dataleon/models/individual_delete_params.rbs +15 -0
- data/sig/dataleon/models/individual_list_params.rbs +120 -0
- data/sig/dataleon/models/individual_list_response.rbs +7 -0
- data/sig/dataleon/models/individual_retrieve_params.rbs +32 -0
- data/sig/dataleon/models/individual_update_params.rbs +172 -0
- data/sig/dataleon/models/individuals/document_list_params.rbs +17 -0
- data/sig/dataleon/models/individuals/document_response.rbs +101 -0
- data/sig/dataleon/models/individuals/document_upload_params.rbs +119 -0
- data/sig/dataleon/models/individuals/generic_document.rbs +132 -0
- data/sig/dataleon/models/individuals/kbis.rbs +303 -0
- data/sig/dataleon/models.rbs +31 -0
- data/sig/dataleon/request_options.rbs +34 -0
- data/sig/dataleon/resources/companies/documents.rbs +22 -0
- data/sig/dataleon/resources/companies.rbs +50 -0
- data/sig/dataleon/resources/individuals/documents.rbs +22 -0
- data/sig/dataleon/resources/individuals.rbs +50 -0
- data/sig/dataleon/version.rbs +3 -0
- metadata +206 -0
|
@@ -0,0 +1,1281 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dataleon
|
|
4
|
+
module Models
|
|
5
|
+
class Individual < Dataleon::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Dataleon::Individual, Dataleon::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Unique identifier of the individual.
|
|
12
|
+
sig { returns(T.nilable(String)) }
|
|
13
|
+
attr_reader :id
|
|
14
|
+
|
|
15
|
+
sig { params(id: String).void }
|
|
16
|
+
attr_writer :id
|
|
17
|
+
|
|
18
|
+
# List of AML (Anti-Money Laundering) suspicion entries linked to the individual.
|
|
19
|
+
sig { returns(T.nilable(T::Array[Dataleon::Individual::AmlSuspicion])) }
|
|
20
|
+
attr_reader :aml_suspicions
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
aml_suspicions: T::Array[Dataleon::Individual::AmlSuspicion::OrHash]
|
|
25
|
+
).void
|
|
26
|
+
end
|
|
27
|
+
attr_writer :aml_suspicions
|
|
28
|
+
|
|
29
|
+
# URL to authenticate the individual, usually for document signing or onboarding.
|
|
30
|
+
sig { returns(T.nilable(String)) }
|
|
31
|
+
attr_reader :auth_url
|
|
32
|
+
|
|
33
|
+
sig { params(auth_url: String).void }
|
|
34
|
+
attr_writer :auth_url
|
|
35
|
+
|
|
36
|
+
# Digital certificate associated with the individual, if any.
|
|
37
|
+
sig { returns(T.nilable(Dataleon::Individual::Certificat)) }
|
|
38
|
+
attr_reader :certificat
|
|
39
|
+
|
|
40
|
+
sig { params(certificat: Dataleon::Individual::Certificat::OrHash).void }
|
|
41
|
+
attr_writer :certificat
|
|
42
|
+
|
|
43
|
+
# List of verification or validation checks applied to the individual.
|
|
44
|
+
sig { returns(T.nilable(T::Array[Dataleon::Check])) }
|
|
45
|
+
attr_reader :checks
|
|
46
|
+
|
|
47
|
+
sig { params(checks: T::Array[Dataleon::Check::OrHash]).void }
|
|
48
|
+
attr_writer :checks
|
|
49
|
+
|
|
50
|
+
# Timestamp of the individual's creation in ISO 8601 format.
|
|
51
|
+
sig { returns(T.nilable(Time)) }
|
|
52
|
+
attr_reader :created_at
|
|
53
|
+
|
|
54
|
+
sig { params(created_at: Time).void }
|
|
55
|
+
attr_writer :created_at
|
|
56
|
+
|
|
57
|
+
# All documents submitted or associated with the individual.
|
|
58
|
+
sig do
|
|
59
|
+
returns(T.nilable(T::Array[Dataleon::Individuals::GenericDocument]))
|
|
60
|
+
end
|
|
61
|
+
attr_reader :documents
|
|
62
|
+
|
|
63
|
+
sig do
|
|
64
|
+
params(
|
|
65
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument::OrHash]
|
|
66
|
+
).void
|
|
67
|
+
end
|
|
68
|
+
attr_writer :documents
|
|
69
|
+
|
|
70
|
+
# Reference to the individual's identity document.
|
|
71
|
+
sig { returns(T.nilable(Dataleon::Individual::IdentityCard)) }
|
|
72
|
+
attr_reader :identity_card
|
|
73
|
+
|
|
74
|
+
sig do
|
|
75
|
+
params(identity_card: Dataleon::Individual::IdentityCard::OrHash).void
|
|
76
|
+
end
|
|
77
|
+
attr_writer :identity_card
|
|
78
|
+
|
|
79
|
+
# Internal sequential number or reference for the individual.
|
|
80
|
+
sig { returns(T.nilable(Integer)) }
|
|
81
|
+
attr_reader :number
|
|
82
|
+
|
|
83
|
+
sig { params(number: Integer).void }
|
|
84
|
+
attr_writer :number
|
|
85
|
+
|
|
86
|
+
# Personal details of the individual, such as name, date of birth, and contact
|
|
87
|
+
# info.
|
|
88
|
+
sig { returns(T.nilable(Dataleon::Individual::Person)) }
|
|
89
|
+
attr_reader :person
|
|
90
|
+
|
|
91
|
+
sig { params(person: Dataleon::Individual::Person::OrHash).void }
|
|
92
|
+
attr_writer :person
|
|
93
|
+
|
|
94
|
+
# Admin or internal portal URL for viewing the individual's details.
|
|
95
|
+
sig { returns(T.nilable(String)) }
|
|
96
|
+
attr_reader :portal_url
|
|
97
|
+
|
|
98
|
+
sig { params(portal_url: String).void }
|
|
99
|
+
attr_writer :portal_url
|
|
100
|
+
|
|
101
|
+
# Custom key-value metadata fields associated with the individual.
|
|
102
|
+
sig { returns(T.nilable(T::Array[Dataleon::Individual::Property])) }
|
|
103
|
+
attr_reader :properties
|
|
104
|
+
|
|
105
|
+
sig do
|
|
106
|
+
params(
|
|
107
|
+
properties: T::Array[Dataleon::Individual::Property::OrHash]
|
|
108
|
+
).void
|
|
109
|
+
end
|
|
110
|
+
attr_writer :properties
|
|
111
|
+
|
|
112
|
+
# Risk assessment associated with the individual.
|
|
113
|
+
sig { returns(T.nilable(Dataleon::Individual::Risk)) }
|
|
114
|
+
attr_reader :risk
|
|
115
|
+
|
|
116
|
+
sig { params(risk: Dataleon::Individual::Risk::OrHash).void }
|
|
117
|
+
attr_writer :risk
|
|
118
|
+
|
|
119
|
+
# Optional identifier indicating the source of the individual record.
|
|
120
|
+
sig { returns(T.nilable(String)) }
|
|
121
|
+
attr_reader :source_id
|
|
122
|
+
|
|
123
|
+
sig { params(source_id: String).void }
|
|
124
|
+
attr_writer :source_id
|
|
125
|
+
|
|
126
|
+
# Current operational state in the workflow (e.g., WAITING, IN_PROGRESS,
|
|
127
|
+
# COMPLETED).
|
|
128
|
+
sig { returns(T.nilable(String)) }
|
|
129
|
+
attr_reader :state
|
|
130
|
+
|
|
131
|
+
sig { params(state: String).void }
|
|
132
|
+
attr_writer :state
|
|
133
|
+
|
|
134
|
+
# Overall processing status of the individual (e.g., rejected, need_review,
|
|
135
|
+
# approved).
|
|
136
|
+
sig { returns(T.nilable(String)) }
|
|
137
|
+
attr_reader :status
|
|
138
|
+
|
|
139
|
+
sig { params(status: String).void }
|
|
140
|
+
attr_writer :status
|
|
141
|
+
|
|
142
|
+
# List of tags assigned to the individual for categorization or metadata purposes.
|
|
143
|
+
sig { returns(T.nilable(T::Array[Dataleon::Individual::Tag])) }
|
|
144
|
+
attr_reader :tags
|
|
145
|
+
|
|
146
|
+
sig { params(tags: T::Array[Dataleon::Individual::Tag::OrHash]).void }
|
|
147
|
+
attr_writer :tags
|
|
148
|
+
|
|
149
|
+
# Technical metadata related to the request (e.g., QR code settings, language).
|
|
150
|
+
sig { returns(T.nilable(Dataleon::Individual::TechnicalData)) }
|
|
151
|
+
attr_reader :technical_data
|
|
152
|
+
|
|
153
|
+
sig do
|
|
154
|
+
params(technical_data: Dataleon::Individual::TechnicalData::OrHash).void
|
|
155
|
+
end
|
|
156
|
+
attr_writer :technical_data
|
|
157
|
+
|
|
158
|
+
# Public-facing webview URL for the individual’s identification process.
|
|
159
|
+
sig { returns(T.nilable(String)) }
|
|
160
|
+
attr_reader :webview_url
|
|
161
|
+
|
|
162
|
+
sig { params(webview_url: String).void }
|
|
163
|
+
attr_writer :webview_url
|
|
164
|
+
|
|
165
|
+
# Identifier of the workspace to which the individual belongs.
|
|
166
|
+
sig { returns(T.nilable(String)) }
|
|
167
|
+
attr_reader :workspace_id
|
|
168
|
+
|
|
169
|
+
sig { params(workspace_id: String).void }
|
|
170
|
+
attr_writer :workspace_id
|
|
171
|
+
|
|
172
|
+
# Represents a single individual record, including identification, status, and
|
|
173
|
+
# associated metadata.
|
|
174
|
+
sig do
|
|
175
|
+
params(
|
|
176
|
+
id: String,
|
|
177
|
+
aml_suspicions: T::Array[Dataleon::Individual::AmlSuspicion::OrHash],
|
|
178
|
+
auth_url: String,
|
|
179
|
+
certificat: Dataleon::Individual::Certificat::OrHash,
|
|
180
|
+
checks: T::Array[Dataleon::Check::OrHash],
|
|
181
|
+
created_at: Time,
|
|
182
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument::OrHash],
|
|
183
|
+
identity_card: Dataleon::Individual::IdentityCard::OrHash,
|
|
184
|
+
number: Integer,
|
|
185
|
+
person: Dataleon::Individual::Person::OrHash,
|
|
186
|
+
portal_url: String,
|
|
187
|
+
properties: T::Array[Dataleon::Individual::Property::OrHash],
|
|
188
|
+
risk: Dataleon::Individual::Risk::OrHash,
|
|
189
|
+
source_id: String,
|
|
190
|
+
state: String,
|
|
191
|
+
status: String,
|
|
192
|
+
tags: T::Array[Dataleon::Individual::Tag::OrHash],
|
|
193
|
+
technical_data: Dataleon::Individual::TechnicalData::OrHash,
|
|
194
|
+
webview_url: String,
|
|
195
|
+
workspace_id: String
|
|
196
|
+
).returns(T.attached_class)
|
|
197
|
+
end
|
|
198
|
+
def self.new(
|
|
199
|
+
# Unique identifier of the individual.
|
|
200
|
+
id: nil,
|
|
201
|
+
# List of AML (Anti-Money Laundering) suspicion entries linked to the individual.
|
|
202
|
+
aml_suspicions: nil,
|
|
203
|
+
# URL to authenticate the individual, usually for document signing or onboarding.
|
|
204
|
+
auth_url: nil,
|
|
205
|
+
# Digital certificate associated with the individual, if any.
|
|
206
|
+
certificat: nil,
|
|
207
|
+
# List of verification or validation checks applied to the individual.
|
|
208
|
+
checks: nil,
|
|
209
|
+
# Timestamp of the individual's creation in ISO 8601 format.
|
|
210
|
+
created_at: nil,
|
|
211
|
+
# All documents submitted or associated with the individual.
|
|
212
|
+
documents: nil,
|
|
213
|
+
# Reference to the individual's identity document.
|
|
214
|
+
identity_card: nil,
|
|
215
|
+
# Internal sequential number or reference for the individual.
|
|
216
|
+
number: nil,
|
|
217
|
+
# Personal details of the individual, such as name, date of birth, and contact
|
|
218
|
+
# info.
|
|
219
|
+
person: nil,
|
|
220
|
+
# Admin or internal portal URL for viewing the individual's details.
|
|
221
|
+
portal_url: nil,
|
|
222
|
+
# Custom key-value metadata fields associated with the individual.
|
|
223
|
+
properties: nil,
|
|
224
|
+
# Risk assessment associated with the individual.
|
|
225
|
+
risk: nil,
|
|
226
|
+
# Optional identifier indicating the source of the individual record.
|
|
227
|
+
source_id: nil,
|
|
228
|
+
# Current operational state in the workflow (e.g., WAITING, IN_PROGRESS,
|
|
229
|
+
# COMPLETED).
|
|
230
|
+
state: nil,
|
|
231
|
+
# Overall processing status of the individual (e.g., rejected, need_review,
|
|
232
|
+
# approved).
|
|
233
|
+
status: nil,
|
|
234
|
+
# List of tags assigned to the individual for categorization or metadata purposes.
|
|
235
|
+
tags: nil,
|
|
236
|
+
# Technical metadata related to the request (e.g., QR code settings, language).
|
|
237
|
+
technical_data: nil,
|
|
238
|
+
# Public-facing webview URL for the individual’s identification process.
|
|
239
|
+
webview_url: nil,
|
|
240
|
+
# Identifier of the workspace to which the individual belongs.
|
|
241
|
+
workspace_id: nil
|
|
242
|
+
)
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
sig do
|
|
246
|
+
override.returns(
|
|
247
|
+
{
|
|
248
|
+
id: String,
|
|
249
|
+
aml_suspicions: T::Array[Dataleon::Individual::AmlSuspicion],
|
|
250
|
+
auth_url: String,
|
|
251
|
+
certificat: Dataleon::Individual::Certificat,
|
|
252
|
+
checks: T::Array[Dataleon::Check],
|
|
253
|
+
created_at: Time,
|
|
254
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument],
|
|
255
|
+
identity_card: Dataleon::Individual::IdentityCard,
|
|
256
|
+
number: Integer,
|
|
257
|
+
person: Dataleon::Individual::Person,
|
|
258
|
+
portal_url: String,
|
|
259
|
+
properties: T::Array[Dataleon::Individual::Property],
|
|
260
|
+
risk: Dataleon::Individual::Risk,
|
|
261
|
+
source_id: String,
|
|
262
|
+
state: String,
|
|
263
|
+
status: String,
|
|
264
|
+
tags: T::Array[Dataleon::Individual::Tag],
|
|
265
|
+
technical_data: Dataleon::Individual::TechnicalData,
|
|
266
|
+
webview_url: String,
|
|
267
|
+
workspace_id: String
|
|
268
|
+
}
|
|
269
|
+
)
|
|
270
|
+
end
|
|
271
|
+
def to_hash
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
class AmlSuspicion < Dataleon::Internal::Type::BaseModel
|
|
275
|
+
OrHash =
|
|
276
|
+
T.type_alias do
|
|
277
|
+
T.any(
|
|
278
|
+
Dataleon::Individual::AmlSuspicion,
|
|
279
|
+
Dataleon::Internal::AnyHash
|
|
280
|
+
)
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
# Human-readable description or title for the suspicious finding.
|
|
284
|
+
sig { returns(T.nilable(String)) }
|
|
285
|
+
attr_reader :caption
|
|
286
|
+
|
|
287
|
+
sig { params(caption: String).void }
|
|
288
|
+
attr_writer :caption
|
|
289
|
+
|
|
290
|
+
# Country associated with the suspicion (ISO 3166-1 alpha-2 code).
|
|
291
|
+
sig { returns(T.nilable(String)) }
|
|
292
|
+
attr_reader :country
|
|
293
|
+
|
|
294
|
+
sig { params(country: String).void }
|
|
295
|
+
attr_writer :country
|
|
296
|
+
|
|
297
|
+
# Gender associated with the suspicion, if applicable.
|
|
298
|
+
sig { returns(T.nilable(String)) }
|
|
299
|
+
attr_reader :gender
|
|
300
|
+
|
|
301
|
+
sig { params(gender: String).void }
|
|
302
|
+
attr_writer :gender
|
|
303
|
+
|
|
304
|
+
# Nature of the relationship between the entity and the suspicious activity (e.g.,
|
|
305
|
+
# "linked", "associated").
|
|
306
|
+
sig { returns(T.nilable(String)) }
|
|
307
|
+
attr_reader :relation
|
|
308
|
+
|
|
309
|
+
sig { params(relation: String).void }
|
|
310
|
+
attr_writer :relation
|
|
311
|
+
|
|
312
|
+
# Version of the evaluation schema or rule engine used.
|
|
313
|
+
sig { returns(T.nilable(String)) }
|
|
314
|
+
attr_reader :schema
|
|
315
|
+
|
|
316
|
+
sig { params(schema: String).void }
|
|
317
|
+
attr_writer :schema
|
|
318
|
+
|
|
319
|
+
# Risk score between 0.0 and 1 indicating the severity of the suspicion.
|
|
320
|
+
sig { returns(T.nilable(Float)) }
|
|
321
|
+
attr_reader :score
|
|
322
|
+
|
|
323
|
+
sig { params(score: Float).void }
|
|
324
|
+
attr_writer :score
|
|
325
|
+
|
|
326
|
+
# Source system or service providing this suspicion.
|
|
327
|
+
sig { returns(T.nilable(String)) }
|
|
328
|
+
attr_reader :source
|
|
329
|
+
|
|
330
|
+
sig { params(source: String).void }
|
|
331
|
+
attr_writer :source
|
|
332
|
+
|
|
333
|
+
# Status of the suspicion review process. Possible values: "true_positive",
|
|
334
|
+
# "false_positive", "pending".
|
|
335
|
+
sig do
|
|
336
|
+
returns(
|
|
337
|
+
T.nilable(Dataleon::Individual::AmlSuspicion::Status::TaggedSymbol)
|
|
338
|
+
)
|
|
339
|
+
end
|
|
340
|
+
attr_reader :status
|
|
341
|
+
|
|
342
|
+
sig do
|
|
343
|
+
params(
|
|
344
|
+
status: Dataleon::Individual::AmlSuspicion::Status::OrSymbol
|
|
345
|
+
).void
|
|
346
|
+
end
|
|
347
|
+
attr_writer :status
|
|
348
|
+
|
|
349
|
+
# Category of the suspicion. Possible values: "crime", "sanction", "pep",
|
|
350
|
+
# "adverse_news", "other".
|
|
351
|
+
sig do
|
|
352
|
+
returns(
|
|
353
|
+
T.nilable(Dataleon::Individual::AmlSuspicion::Type::TaggedSymbol)
|
|
354
|
+
)
|
|
355
|
+
end
|
|
356
|
+
attr_reader :type
|
|
357
|
+
|
|
358
|
+
sig do
|
|
359
|
+
params(type: Dataleon::Individual::AmlSuspicion::Type::OrSymbol).void
|
|
360
|
+
end
|
|
361
|
+
attr_writer :type
|
|
362
|
+
|
|
363
|
+
# Represents a record of suspicion raised during Anti-Money Laundering (AML)
|
|
364
|
+
# screening. Includes metadata such as risk score, origin, and linked watchlist
|
|
365
|
+
# types.
|
|
366
|
+
sig do
|
|
367
|
+
params(
|
|
368
|
+
caption: String,
|
|
369
|
+
country: String,
|
|
370
|
+
gender: String,
|
|
371
|
+
relation: String,
|
|
372
|
+
schema: String,
|
|
373
|
+
score: Float,
|
|
374
|
+
source: String,
|
|
375
|
+
status: Dataleon::Individual::AmlSuspicion::Status::OrSymbol,
|
|
376
|
+
type: Dataleon::Individual::AmlSuspicion::Type::OrSymbol
|
|
377
|
+
).returns(T.attached_class)
|
|
378
|
+
end
|
|
379
|
+
def self.new(
|
|
380
|
+
# Human-readable description or title for the suspicious finding.
|
|
381
|
+
caption: nil,
|
|
382
|
+
# Country associated with the suspicion (ISO 3166-1 alpha-2 code).
|
|
383
|
+
country: nil,
|
|
384
|
+
# Gender associated with the suspicion, if applicable.
|
|
385
|
+
gender: nil,
|
|
386
|
+
# Nature of the relationship between the entity and the suspicious activity (e.g.,
|
|
387
|
+
# "linked", "associated").
|
|
388
|
+
relation: nil,
|
|
389
|
+
# Version of the evaluation schema or rule engine used.
|
|
390
|
+
schema: nil,
|
|
391
|
+
# Risk score between 0.0 and 1 indicating the severity of the suspicion.
|
|
392
|
+
score: nil,
|
|
393
|
+
# Source system or service providing this suspicion.
|
|
394
|
+
source: nil,
|
|
395
|
+
# Status of the suspicion review process. Possible values: "true_positive",
|
|
396
|
+
# "false_positive", "pending".
|
|
397
|
+
status: nil,
|
|
398
|
+
# Category of the suspicion. Possible values: "crime", "sanction", "pep",
|
|
399
|
+
# "adverse_news", "other".
|
|
400
|
+
type: nil
|
|
401
|
+
)
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
sig do
|
|
405
|
+
override.returns(
|
|
406
|
+
{
|
|
407
|
+
caption: String,
|
|
408
|
+
country: String,
|
|
409
|
+
gender: String,
|
|
410
|
+
relation: String,
|
|
411
|
+
schema: String,
|
|
412
|
+
score: Float,
|
|
413
|
+
source: String,
|
|
414
|
+
status: Dataleon::Individual::AmlSuspicion::Status::TaggedSymbol,
|
|
415
|
+
type: Dataleon::Individual::AmlSuspicion::Type::TaggedSymbol
|
|
416
|
+
}
|
|
417
|
+
)
|
|
418
|
+
end
|
|
419
|
+
def to_hash
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
# Status of the suspicion review process. Possible values: "true_positive",
|
|
423
|
+
# "false_positive", "pending".
|
|
424
|
+
module Status
|
|
425
|
+
extend Dataleon::Internal::Type::Enum
|
|
426
|
+
|
|
427
|
+
TaggedSymbol =
|
|
428
|
+
T.type_alias do
|
|
429
|
+
T.all(Symbol, Dataleon::Individual::AmlSuspicion::Status)
|
|
430
|
+
end
|
|
431
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
432
|
+
|
|
433
|
+
TRUE_POSITIVE =
|
|
434
|
+
T.let(
|
|
435
|
+
:true_positive,
|
|
436
|
+
Dataleon::Individual::AmlSuspicion::Status::TaggedSymbol
|
|
437
|
+
)
|
|
438
|
+
FALSE_POSITIVE =
|
|
439
|
+
T.let(
|
|
440
|
+
:false_positive,
|
|
441
|
+
Dataleon::Individual::AmlSuspicion::Status::TaggedSymbol
|
|
442
|
+
)
|
|
443
|
+
PENDING =
|
|
444
|
+
T.let(
|
|
445
|
+
:pending,
|
|
446
|
+
Dataleon::Individual::AmlSuspicion::Status::TaggedSymbol
|
|
447
|
+
)
|
|
448
|
+
|
|
449
|
+
sig do
|
|
450
|
+
override.returns(
|
|
451
|
+
T::Array[Dataleon::Individual::AmlSuspicion::Status::TaggedSymbol]
|
|
452
|
+
)
|
|
453
|
+
end
|
|
454
|
+
def self.values
|
|
455
|
+
end
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
# Category of the suspicion. Possible values: "crime", "sanction", "pep",
|
|
459
|
+
# "adverse_news", "other".
|
|
460
|
+
module Type
|
|
461
|
+
extend Dataleon::Internal::Type::Enum
|
|
462
|
+
|
|
463
|
+
TaggedSymbol =
|
|
464
|
+
T.type_alias do
|
|
465
|
+
T.all(Symbol, Dataleon::Individual::AmlSuspicion::Type)
|
|
466
|
+
end
|
|
467
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
468
|
+
|
|
469
|
+
CRIME =
|
|
470
|
+
T.let(
|
|
471
|
+
:crime,
|
|
472
|
+
Dataleon::Individual::AmlSuspicion::Type::TaggedSymbol
|
|
473
|
+
)
|
|
474
|
+
SANCTION =
|
|
475
|
+
T.let(
|
|
476
|
+
:sanction,
|
|
477
|
+
Dataleon::Individual::AmlSuspicion::Type::TaggedSymbol
|
|
478
|
+
)
|
|
479
|
+
PEP =
|
|
480
|
+
T.let(:pep, Dataleon::Individual::AmlSuspicion::Type::TaggedSymbol)
|
|
481
|
+
ADVERSE_NEWS =
|
|
482
|
+
T.let(
|
|
483
|
+
:adverse_news,
|
|
484
|
+
Dataleon::Individual::AmlSuspicion::Type::TaggedSymbol
|
|
485
|
+
)
|
|
486
|
+
OTHER =
|
|
487
|
+
T.let(
|
|
488
|
+
:other,
|
|
489
|
+
Dataleon::Individual::AmlSuspicion::Type::TaggedSymbol
|
|
490
|
+
)
|
|
491
|
+
|
|
492
|
+
sig do
|
|
493
|
+
override.returns(
|
|
494
|
+
T::Array[Dataleon::Individual::AmlSuspicion::Type::TaggedSymbol]
|
|
495
|
+
)
|
|
496
|
+
end
|
|
497
|
+
def self.values
|
|
498
|
+
end
|
|
499
|
+
end
|
|
500
|
+
end
|
|
501
|
+
|
|
502
|
+
class Certificat < Dataleon::Internal::Type::BaseModel
|
|
503
|
+
OrHash =
|
|
504
|
+
T.type_alias do
|
|
505
|
+
T.any(Dataleon::Individual::Certificat, Dataleon::Internal::AnyHash)
|
|
506
|
+
end
|
|
507
|
+
|
|
508
|
+
# Unique identifier for the certificate.
|
|
509
|
+
sig { returns(T.nilable(String)) }
|
|
510
|
+
attr_reader :id
|
|
511
|
+
|
|
512
|
+
sig { params(id: String).void }
|
|
513
|
+
attr_writer :id
|
|
514
|
+
|
|
515
|
+
# Timestamp when the certificate was created.
|
|
516
|
+
sig { returns(T.nilable(Time)) }
|
|
517
|
+
attr_reader :created_at
|
|
518
|
+
|
|
519
|
+
sig { params(created_at: Time).void }
|
|
520
|
+
attr_writer :created_at
|
|
521
|
+
|
|
522
|
+
# Name of the certificate file.
|
|
523
|
+
sig { returns(T.nilable(String)) }
|
|
524
|
+
attr_reader :filename
|
|
525
|
+
|
|
526
|
+
sig { params(filename: String).void }
|
|
527
|
+
attr_writer :filename
|
|
528
|
+
|
|
529
|
+
# Digital certificate associated with the individual, if any.
|
|
530
|
+
sig do
|
|
531
|
+
params(id: String, created_at: Time, filename: String).returns(
|
|
532
|
+
T.attached_class
|
|
533
|
+
)
|
|
534
|
+
end
|
|
535
|
+
def self.new(
|
|
536
|
+
# Unique identifier for the certificate.
|
|
537
|
+
id: nil,
|
|
538
|
+
# Timestamp when the certificate was created.
|
|
539
|
+
created_at: nil,
|
|
540
|
+
# Name of the certificate file.
|
|
541
|
+
filename: nil
|
|
542
|
+
)
|
|
543
|
+
end
|
|
544
|
+
|
|
545
|
+
sig do
|
|
546
|
+
override.returns({ id: String, created_at: Time, filename: String })
|
|
547
|
+
end
|
|
548
|
+
def to_hash
|
|
549
|
+
end
|
|
550
|
+
end
|
|
551
|
+
|
|
552
|
+
class IdentityCard < Dataleon::Internal::Type::BaseModel
|
|
553
|
+
OrHash =
|
|
554
|
+
T.type_alias do
|
|
555
|
+
T.any(
|
|
556
|
+
Dataleon::Individual::IdentityCard,
|
|
557
|
+
Dataleon::Internal::AnyHash
|
|
558
|
+
)
|
|
559
|
+
end
|
|
560
|
+
|
|
561
|
+
# Unique identifier for the document.
|
|
562
|
+
sig { returns(T.nilable(String)) }
|
|
563
|
+
attr_reader :id
|
|
564
|
+
|
|
565
|
+
sig { params(id: String).void }
|
|
566
|
+
attr_writer :id
|
|
567
|
+
|
|
568
|
+
# Signed URL linking to the back image of the document.
|
|
569
|
+
sig { returns(T.nilable(String)) }
|
|
570
|
+
attr_reader :back_document_signed_url
|
|
571
|
+
|
|
572
|
+
sig { params(back_document_signed_url: String).void }
|
|
573
|
+
attr_writer :back_document_signed_url
|
|
574
|
+
|
|
575
|
+
# Place of birth as indicated on the document.
|
|
576
|
+
sig { returns(T.nilable(String)) }
|
|
577
|
+
attr_reader :birth_place
|
|
578
|
+
|
|
579
|
+
sig { params(birth_place: String).void }
|
|
580
|
+
attr_writer :birth_place
|
|
581
|
+
|
|
582
|
+
# Date of birth in DD/MM/YYYY format as shown on the document.
|
|
583
|
+
sig { returns(T.nilable(String)) }
|
|
584
|
+
attr_reader :birthday
|
|
585
|
+
|
|
586
|
+
sig { params(birthday: String).void }
|
|
587
|
+
attr_writer :birthday
|
|
588
|
+
|
|
589
|
+
# Country code issuing the document (ISO 3166-1 alpha-2).
|
|
590
|
+
sig { returns(T.nilable(String)) }
|
|
591
|
+
attr_reader :country
|
|
592
|
+
|
|
593
|
+
sig { params(country: String).void }
|
|
594
|
+
attr_writer :country
|
|
595
|
+
|
|
596
|
+
# Expiration date of the document, in YYYY-MM-DD format.
|
|
597
|
+
sig { returns(T.nilable(String)) }
|
|
598
|
+
attr_reader :expiration_date
|
|
599
|
+
|
|
600
|
+
sig { params(expiration_date: String).void }
|
|
601
|
+
attr_writer :expiration_date
|
|
602
|
+
|
|
603
|
+
# First name as shown on the document.
|
|
604
|
+
sig { returns(T.nilable(String)) }
|
|
605
|
+
attr_reader :first_name
|
|
606
|
+
|
|
607
|
+
sig { params(first_name: String).void }
|
|
608
|
+
attr_writer :first_name
|
|
609
|
+
|
|
610
|
+
# Signed URL linking to the front image of the document.
|
|
611
|
+
sig { returns(T.nilable(String)) }
|
|
612
|
+
attr_reader :front_document_signed_url
|
|
613
|
+
|
|
614
|
+
sig { params(front_document_signed_url: String).void }
|
|
615
|
+
attr_writer :front_document_signed_url
|
|
616
|
+
|
|
617
|
+
# Gender indicated on the document (e.g., "M" or "F").
|
|
618
|
+
sig { returns(T.nilable(String)) }
|
|
619
|
+
attr_reader :gender
|
|
620
|
+
|
|
621
|
+
sig { params(gender: String).void }
|
|
622
|
+
attr_writer :gender
|
|
623
|
+
|
|
624
|
+
# Date when the document was issued, in YYYY-MM-DD format.
|
|
625
|
+
sig { returns(T.nilable(String)) }
|
|
626
|
+
attr_reader :issue_date
|
|
627
|
+
|
|
628
|
+
sig { params(issue_date: String).void }
|
|
629
|
+
attr_writer :issue_date
|
|
630
|
+
|
|
631
|
+
# Last name as shown on the document.
|
|
632
|
+
sig { returns(T.nilable(String)) }
|
|
633
|
+
attr_reader :last_name
|
|
634
|
+
|
|
635
|
+
sig { params(last_name: String).void }
|
|
636
|
+
attr_writer :last_name
|
|
637
|
+
|
|
638
|
+
# First line of the Machine Readable Zone (MRZ) on the document.
|
|
639
|
+
sig { returns(T.nilable(String)) }
|
|
640
|
+
attr_reader :mrz_line_1
|
|
641
|
+
|
|
642
|
+
sig { params(mrz_line_1: String).void }
|
|
643
|
+
attr_writer :mrz_line_1
|
|
644
|
+
|
|
645
|
+
# Second line of the MRZ on the document.
|
|
646
|
+
sig { returns(T.nilable(String)) }
|
|
647
|
+
attr_reader :mrz_line_2
|
|
648
|
+
|
|
649
|
+
sig { params(mrz_line_2: String).void }
|
|
650
|
+
attr_writer :mrz_line_2
|
|
651
|
+
|
|
652
|
+
# Third line of the MRZ if applicable; otherwise null.
|
|
653
|
+
sig { returns(T.nilable(String)) }
|
|
654
|
+
attr_accessor :mrz_line_3
|
|
655
|
+
|
|
656
|
+
# Type of document (e.g., passport, identity card).
|
|
657
|
+
sig { returns(T.nilable(String)) }
|
|
658
|
+
attr_reader :type
|
|
659
|
+
|
|
660
|
+
sig { params(type: String).void }
|
|
661
|
+
attr_writer :type
|
|
662
|
+
|
|
663
|
+
# Reference to the individual's identity document.
|
|
664
|
+
sig do
|
|
665
|
+
params(
|
|
666
|
+
id: String,
|
|
667
|
+
back_document_signed_url: String,
|
|
668
|
+
birth_place: String,
|
|
669
|
+
birthday: String,
|
|
670
|
+
country: String,
|
|
671
|
+
expiration_date: String,
|
|
672
|
+
first_name: String,
|
|
673
|
+
front_document_signed_url: String,
|
|
674
|
+
gender: String,
|
|
675
|
+
issue_date: String,
|
|
676
|
+
last_name: String,
|
|
677
|
+
mrz_line_1: String,
|
|
678
|
+
mrz_line_2: String,
|
|
679
|
+
mrz_line_3: T.nilable(String),
|
|
680
|
+
type: String
|
|
681
|
+
).returns(T.attached_class)
|
|
682
|
+
end
|
|
683
|
+
def self.new(
|
|
684
|
+
# Unique identifier for the document.
|
|
685
|
+
id: nil,
|
|
686
|
+
# Signed URL linking to the back image of the document.
|
|
687
|
+
back_document_signed_url: nil,
|
|
688
|
+
# Place of birth as indicated on the document.
|
|
689
|
+
birth_place: nil,
|
|
690
|
+
# Date of birth in DD/MM/YYYY format as shown on the document.
|
|
691
|
+
birthday: nil,
|
|
692
|
+
# Country code issuing the document (ISO 3166-1 alpha-2).
|
|
693
|
+
country: nil,
|
|
694
|
+
# Expiration date of the document, in YYYY-MM-DD format.
|
|
695
|
+
expiration_date: nil,
|
|
696
|
+
# First name as shown on the document.
|
|
697
|
+
first_name: nil,
|
|
698
|
+
# Signed URL linking to the front image of the document.
|
|
699
|
+
front_document_signed_url: nil,
|
|
700
|
+
# Gender indicated on the document (e.g., "M" or "F").
|
|
701
|
+
gender: nil,
|
|
702
|
+
# Date when the document was issued, in YYYY-MM-DD format.
|
|
703
|
+
issue_date: nil,
|
|
704
|
+
# Last name as shown on the document.
|
|
705
|
+
last_name: nil,
|
|
706
|
+
# First line of the Machine Readable Zone (MRZ) on the document.
|
|
707
|
+
mrz_line_1: nil,
|
|
708
|
+
# Second line of the MRZ on the document.
|
|
709
|
+
mrz_line_2: nil,
|
|
710
|
+
# Third line of the MRZ if applicable; otherwise null.
|
|
711
|
+
mrz_line_3: nil,
|
|
712
|
+
# Type of document (e.g., passport, identity card).
|
|
713
|
+
type: nil
|
|
714
|
+
)
|
|
715
|
+
end
|
|
716
|
+
|
|
717
|
+
sig do
|
|
718
|
+
override.returns(
|
|
719
|
+
{
|
|
720
|
+
id: String,
|
|
721
|
+
back_document_signed_url: String,
|
|
722
|
+
birth_place: String,
|
|
723
|
+
birthday: String,
|
|
724
|
+
country: String,
|
|
725
|
+
expiration_date: String,
|
|
726
|
+
first_name: String,
|
|
727
|
+
front_document_signed_url: String,
|
|
728
|
+
gender: String,
|
|
729
|
+
issue_date: String,
|
|
730
|
+
last_name: String,
|
|
731
|
+
mrz_line_1: String,
|
|
732
|
+
mrz_line_2: String,
|
|
733
|
+
mrz_line_3: T.nilable(String),
|
|
734
|
+
type: String
|
|
735
|
+
}
|
|
736
|
+
)
|
|
737
|
+
end
|
|
738
|
+
def to_hash
|
|
739
|
+
end
|
|
740
|
+
end
|
|
741
|
+
|
|
742
|
+
class Person < Dataleon::Internal::Type::BaseModel
|
|
743
|
+
OrHash =
|
|
744
|
+
T.type_alias do
|
|
745
|
+
T.any(Dataleon::Individual::Person, Dataleon::Internal::AnyHash)
|
|
746
|
+
end
|
|
747
|
+
|
|
748
|
+
# Date of birth, formatted as DD/MM/YYYY.
|
|
749
|
+
sig { returns(T.nilable(String)) }
|
|
750
|
+
attr_reader :birthday
|
|
751
|
+
|
|
752
|
+
sig { params(birthday: String).void }
|
|
753
|
+
attr_writer :birthday
|
|
754
|
+
|
|
755
|
+
# Email address of the individual.
|
|
756
|
+
sig { returns(T.nilable(String)) }
|
|
757
|
+
attr_reader :email
|
|
758
|
+
|
|
759
|
+
sig { params(email: String).void }
|
|
760
|
+
attr_writer :email
|
|
761
|
+
|
|
762
|
+
# Signed URL linking to the person’s face image.
|
|
763
|
+
sig { returns(T.nilable(String)) }
|
|
764
|
+
attr_reader :face_image_signed_url
|
|
765
|
+
|
|
766
|
+
sig { params(face_image_signed_url: String).void }
|
|
767
|
+
attr_writer :face_image_signed_url
|
|
768
|
+
|
|
769
|
+
# First (given) name of the person.
|
|
770
|
+
sig { returns(T.nilable(String)) }
|
|
771
|
+
attr_reader :first_name
|
|
772
|
+
|
|
773
|
+
sig { params(first_name: String).void }
|
|
774
|
+
attr_writer :first_name
|
|
775
|
+
|
|
776
|
+
# Full name of the person, typically concatenation of first and last names.
|
|
777
|
+
sig { returns(T.nilable(String)) }
|
|
778
|
+
attr_reader :full_name
|
|
779
|
+
|
|
780
|
+
sig { params(full_name: String).void }
|
|
781
|
+
attr_writer :full_name
|
|
782
|
+
|
|
783
|
+
# Gender of the individual (e.g., "M" for male, "F" for female).
|
|
784
|
+
sig { returns(T.nilable(String)) }
|
|
785
|
+
attr_reader :gender
|
|
786
|
+
|
|
787
|
+
sig { params(gender: String).void }
|
|
788
|
+
attr_writer :gender
|
|
789
|
+
|
|
790
|
+
# Last (family) name of the person.
|
|
791
|
+
sig { returns(T.nilable(String)) }
|
|
792
|
+
attr_reader :last_name
|
|
793
|
+
|
|
794
|
+
sig { params(last_name: String).void }
|
|
795
|
+
attr_writer :last_name
|
|
796
|
+
|
|
797
|
+
# Maiden name of the person, if applicable.
|
|
798
|
+
sig { returns(T.nilable(String)) }
|
|
799
|
+
attr_reader :maiden_name
|
|
800
|
+
|
|
801
|
+
sig { params(maiden_name: String).void }
|
|
802
|
+
attr_writer :maiden_name
|
|
803
|
+
|
|
804
|
+
# Contact phone number including country code.
|
|
805
|
+
sig { returns(T.nilable(String)) }
|
|
806
|
+
attr_reader :phone_number
|
|
807
|
+
|
|
808
|
+
sig { params(phone_number: String).void }
|
|
809
|
+
attr_writer :phone_number
|
|
810
|
+
|
|
811
|
+
# Personal details of the individual, such as name, date of birth, and contact
|
|
812
|
+
# info.
|
|
813
|
+
sig do
|
|
814
|
+
params(
|
|
815
|
+
birthday: String,
|
|
816
|
+
email: String,
|
|
817
|
+
face_image_signed_url: String,
|
|
818
|
+
first_name: String,
|
|
819
|
+
full_name: String,
|
|
820
|
+
gender: String,
|
|
821
|
+
last_name: String,
|
|
822
|
+
maiden_name: String,
|
|
823
|
+
phone_number: String
|
|
824
|
+
).returns(T.attached_class)
|
|
825
|
+
end
|
|
826
|
+
def self.new(
|
|
827
|
+
# Date of birth, formatted as DD/MM/YYYY.
|
|
828
|
+
birthday: nil,
|
|
829
|
+
# Email address of the individual.
|
|
830
|
+
email: nil,
|
|
831
|
+
# Signed URL linking to the person’s face image.
|
|
832
|
+
face_image_signed_url: nil,
|
|
833
|
+
# First (given) name of the person.
|
|
834
|
+
first_name: nil,
|
|
835
|
+
# Full name of the person, typically concatenation of first and last names.
|
|
836
|
+
full_name: nil,
|
|
837
|
+
# Gender of the individual (e.g., "M" for male, "F" for female).
|
|
838
|
+
gender: nil,
|
|
839
|
+
# Last (family) name of the person.
|
|
840
|
+
last_name: nil,
|
|
841
|
+
# Maiden name of the person, if applicable.
|
|
842
|
+
maiden_name: nil,
|
|
843
|
+
# Contact phone number including country code.
|
|
844
|
+
phone_number: nil
|
|
845
|
+
)
|
|
846
|
+
end
|
|
847
|
+
|
|
848
|
+
sig do
|
|
849
|
+
override.returns(
|
|
850
|
+
{
|
|
851
|
+
birthday: String,
|
|
852
|
+
email: String,
|
|
853
|
+
face_image_signed_url: String,
|
|
854
|
+
first_name: String,
|
|
855
|
+
full_name: String,
|
|
856
|
+
gender: String,
|
|
857
|
+
last_name: String,
|
|
858
|
+
maiden_name: String,
|
|
859
|
+
phone_number: String
|
|
860
|
+
}
|
|
861
|
+
)
|
|
862
|
+
end
|
|
863
|
+
def to_hash
|
|
864
|
+
end
|
|
865
|
+
end
|
|
866
|
+
|
|
867
|
+
class Property < Dataleon::Internal::Type::BaseModel
|
|
868
|
+
OrHash =
|
|
869
|
+
T.type_alias do
|
|
870
|
+
T.any(Dataleon::Individual::Property, Dataleon::Internal::AnyHash)
|
|
871
|
+
end
|
|
872
|
+
|
|
873
|
+
# Name/key of the property.
|
|
874
|
+
sig { returns(T.nilable(String)) }
|
|
875
|
+
attr_reader :name
|
|
876
|
+
|
|
877
|
+
sig { params(name: String).void }
|
|
878
|
+
attr_writer :name
|
|
879
|
+
|
|
880
|
+
# Data type of the property value.
|
|
881
|
+
sig { returns(T.nilable(String)) }
|
|
882
|
+
attr_reader :type
|
|
883
|
+
|
|
884
|
+
sig { params(type: String).void }
|
|
885
|
+
attr_writer :type
|
|
886
|
+
|
|
887
|
+
# Value associated with the property name.
|
|
888
|
+
sig { returns(T.nilable(String)) }
|
|
889
|
+
attr_reader :value
|
|
890
|
+
|
|
891
|
+
sig { params(value: String).void }
|
|
892
|
+
attr_writer :value
|
|
893
|
+
|
|
894
|
+
# Represents a generic property key-value pair with a specified type.
|
|
895
|
+
sig do
|
|
896
|
+
params(name: String, type: String, value: String).returns(
|
|
897
|
+
T.attached_class
|
|
898
|
+
)
|
|
899
|
+
end
|
|
900
|
+
def self.new(
|
|
901
|
+
# Name/key of the property.
|
|
902
|
+
name: nil,
|
|
903
|
+
# Data type of the property value.
|
|
904
|
+
type: nil,
|
|
905
|
+
# Value associated with the property name.
|
|
906
|
+
value: nil
|
|
907
|
+
)
|
|
908
|
+
end
|
|
909
|
+
|
|
910
|
+
sig { override.returns({ name: String, type: String, value: String }) }
|
|
911
|
+
def to_hash
|
|
912
|
+
end
|
|
913
|
+
end
|
|
914
|
+
|
|
915
|
+
class Risk < Dataleon::Internal::Type::BaseModel
|
|
916
|
+
OrHash =
|
|
917
|
+
T.type_alias do
|
|
918
|
+
T.any(Dataleon::Individual::Risk, Dataleon::Internal::AnyHash)
|
|
919
|
+
end
|
|
920
|
+
|
|
921
|
+
# Risk category or code identifier.
|
|
922
|
+
sig { returns(T.nilable(String)) }
|
|
923
|
+
attr_reader :code
|
|
924
|
+
|
|
925
|
+
sig { params(code: String).void }
|
|
926
|
+
attr_writer :code
|
|
927
|
+
|
|
928
|
+
# Explanation or justification for the assigned risk.
|
|
929
|
+
sig { returns(T.nilable(String)) }
|
|
930
|
+
attr_reader :reason
|
|
931
|
+
|
|
932
|
+
sig { params(reason: String).void }
|
|
933
|
+
attr_writer :reason
|
|
934
|
+
|
|
935
|
+
# Numeric risk score between 0.0 and 1.0 indicating severity or confidence.
|
|
936
|
+
sig { returns(T.nilable(Float)) }
|
|
937
|
+
attr_reader :score
|
|
938
|
+
|
|
939
|
+
sig { params(score: Float).void }
|
|
940
|
+
attr_writer :score
|
|
941
|
+
|
|
942
|
+
# Risk assessment associated with the individual.
|
|
943
|
+
sig do
|
|
944
|
+
params(code: String, reason: String, score: Float).returns(
|
|
945
|
+
T.attached_class
|
|
946
|
+
)
|
|
947
|
+
end
|
|
948
|
+
def self.new(
|
|
949
|
+
# Risk category or code identifier.
|
|
950
|
+
code: nil,
|
|
951
|
+
# Explanation or justification for the assigned risk.
|
|
952
|
+
reason: nil,
|
|
953
|
+
# Numeric risk score between 0.0 and 1.0 indicating severity or confidence.
|
|
954
|
+
score: nil
|
|
955
|
+
)
|
|
956
|
+
end
|
|
957
|
+
|
|
958
|
+
sig { override.returns({ code: String, reason: String, score: Float }) }
|
|
959
|
+
def to_hash
|
|
960
|
+
end
|
|
961
|
+
end
|
|
962
|
+
|
|
963
|
+
class Tag < Dataleon::Internal::Type::BaseModel
|
|
964
|
+
OrHash =
|
|
965
|
+
T.type_alias do
|
|
966
|
+
T.any(Dataleon::Individual::Tag, Dataleon::Internal::AnyHash)
|
|
967
|
+
end
|
|
968
|
+
|
|
969
|
+
# Name of the tag used to identify the metadata field.
|
|
970
|
+
sig { returns(T.nilable(String)) }
|
|
971
|
+
attr_reader :key
|
|
972
|
+
|
|
973
|
+
sig { params(key: String).void }
|
|
974
|
+
attr_writer :key
|
|
975
|
+
|
|
976
|
+
# Indicates whether the tag is private (not visible to external users).
|
|
977
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
978
|
+
attr_reader :private
|
|
979
|
+
|
|
980
|
+
sig { params(private: T::Boolean).void }
|
|
981
|
+
attr_writer :private
|
|
982
|
+
|
|
983
|
+
# Data type of the tag value (e.g., "string", "number", "boolean").
|
|
984
|
+
sig { returns(T.nilable(String)) }
|
|
985
|
+
attr_reader :type
|
|
986
|
+
|
|
987
|
+
sig { params(type: String).void }
|
|
988
|
+
attr_writer :type
|
|
989
|
+
|
|
990
|
+
# Value assigned to the tag.
|
|
991
|
+
sig { returns(T.nilable(String)) }
|
|
992
|
+
attr_reader :value
|
|
993
|
+
|
|
994
|
+
sig { params(value: String).void }
|
|
995
|
+
attr_writer :value
|
|
996
|
+
|
|
997
|
+
# Represents a key-value metadata tag that can be associated with entities such as
|
|
998
|
+
# individuals or companies.
|
|
999
|
+
sig do
|
|
1000
|
+
params(
|
|
1001
|
+
key: String,
|
|
1002
|
+
private: T::Boolean,
|
|
1003
|
+
type: String,
|
|
1004
|
+
value: String
|
|
1005
|
+
).returns(T.attached_class)
|
|
1006
|
+
end
|
|
1007
|
+
def self.new(
|
|
1008
|
+
# Name of the tag used to identify the metadata field.
|
|
1009
|
+
key: nil,
|
|
1010
|
+
# Indicates whether the tag is private (not visible to external users).
|
|
1011
|
+
private: nil,
|
|
1012
|
+
# Data type of the tag value (e.g., "string", "number", "boolean").
|
|
1013
|
+
type: nil,
|
|
1014
|
+
# Value assigned to the tag.
|
|
1015
|
+
value: nil
|
|
1016
|
+
)
|
|
1017
|
+
end
|
|
1018
|
+
|
|
1019
|
+
sig do
|
|
1020
|
+
override.returns(
|
|
1021
|
+
{ key: String, private: T::Boolean, type: String, value: String }
|
|
1022
|
+
)
|
|
1023
|
+
end
|
|
1024
|
+
def to_hash
|
|
1025
|
+
end
|
|
1026
|
+
end
|
|
1027
|
+
|
|
1028
|
+
class TechnicalData < Dataleon::Internal::Type::BaseModel
|
|
1029
|
+
OrHash =
|
|
1030
|
+
T.type_alias do
|
|
1031
|
+
T.any(
|
|
1032
|
+
Dataleon::Individual::TechnicalData,
|
|
1033
|
+
Dataleon::Internal::AnyHash
|
|
1034
|
+
)
|
|
1035
|
+
end
|
|
1036
|
+
|
|
1037
|
+
# Flag indicating whether there are active research AML (Anti-Money Laundering)
|
|
1038
|
+
# suspicions for the object when you apply for a new entry or get an existing one.
|
|
1039
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1040
|
+
attr_reader :active_aml_suspicions
|
|
1041
|
+
|
|
1042
|
+
sig { params(active_aml_suspicions: T::Boolean).void }
|
|
1043
|
+
attr_writer :active_aml_suspicions
|
|
1044
|
+
|
|
1045
|
+
# Version number of the API used.
|
|
1046
|
+
sig { returns(T.nilable(Integer)) }
|
|
1047
|
+
attr_reader :api_version
|
|
1048
|
+
|
|
1049
|
+
sig { params(api_version: Integer).void }
|
|
1050
|
+
attr_writer :api_version
|
|
1051
|
+
|
|
1052
|
+
# Timestamp when the request or process was approved.
|
|
1053
|
+
sig { returns(T.nilable(Time)) }
|
|
1054
|
+
attr_reader :approved_at
|
|
1055
|
+
|
|
1056
|
+
sig { params(approved_at: Time).void }
|
|
1057
|
+
attr_writer :approved_at
|
|
1058
|
+
|
|
1059
|
+
# URL to receive callback data from the AML system.
|
|
1060
|
+
sig { returns(T.nilable(String)) }
|
|
1061
|
+
attr_reader :callback_url
|
|
1062
|
+
|
|
1063
|
+
sig { params(callback_url: String).void }
|
|
1064
|
+
attr_writer :callback_url
|
|
1065
|
+
|
|
1066
|
+
# URL to receive notification updates about the processing status.
|
|
1067
|
+
sig { returns(T.nilable(String)) }
|
|
1068
|
+
attr_reader :callback_url_notification
|
|
1069
|
+
|
|
1070
|
+
sig { params(callback_url_notification: String).void }
|
|
1071
|
+
attr_writer :callback_url_notification
|
|
1072
|
+
|
|
1073
|
+
# Flag to indicate if notifications are disabled.
|
|
1074
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1075
|
+
attr_reader :disable_notification
|
|
1076
|
+
|
|
1077
|
+
sig { params(disable_notification: T::Boolean).void }
|
|
1078
|
+
attr_writer :disable_notification
|
|
1079
|
+
|
|
1080
|
+
# Timestamp when notifications were disabled; null if never disabled.
|
|
1081
|
+
sig { returns(T.nilable(Time)) }
|
|
1082
|
+
attr_accessor :disable_notification_date
|
|
1083
|
+
|
|
1084
|
+
# Export format defined by the API (e.g., "json", "xml").
|
|
1085
|
+
sig { returns(T.nilable(String)) }
|
|
1086
|
+
attr_reader :export_type
|
|
1087
|
+
|
|
1088
|
+
sig { params(export_type: String).void }
|
|
1089
|
+
attr_writer :export_type
|
|
1090
|
+
|
|
1091
|
+
# Timestamp when the process finished.
|
|
1092
|
+
sig { returns(T.nilable(Time)) }
|
|
1093
|
+
attr_reader :finished_at
|
|
1094
|
+
|
|
1095
|
+
sig { params(finished_at: Time).void }
|
|
1096
|
+
attr_writer :finished_at
|
|
1097
|
+
|
|
1098
|
+
# IP address of the our system handling the request.
|
|
1099
|
+
sig { returns(T.nilable(String)) }
|
|
1100
|
+
attr_reader :ip
|
|
1101
|
+
|
|
1102
|
+
sig { params(ip: String).void }
|
|
1103
|
+
attr_writer :ip
|
|
1104
|
+
|
|
1105
|
+
# Language preference used in the client workspace (e.g., "fra").
|
|
1106
|
+
sig { returns(T.nilable(String)) }
|
|
1107
|
+
attr_reader :language
|
|
1108
|
+
|
|
1109
|
+
sig { params(language: String).void }
|
|
1110
|
+
attr_writer :language
|
|
1111
|
+
|
|
1112
|
+
# IP address of the end client (final user) captured.
|
|
1113
|
+
sig { returns(T.nilable(String)) }
|
|
1114
|
+
attr_reader :location_ip
|
|
1115
|
+
|
|
1116
|
+
sig { params(location_ip: String).void }
|
|
1117
|
+
attr_writer :location_ip
|
|
1118
|
+
|
|
1119
|
+
# Timestamp indicating when the request or process needs review; null if none.
|
|
1120
|
+
sig { returns(T.nilable(Time)) }
|
|
1121
|
+
attr_accessor :need_review_at
|
|
1122
|
+
|
|
1123
|
+
# Flag indicating if notification confirmation is required or received.
|
|
1124
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1125
|
+
attr_reader :notification_confirmation
|
|
1126
|
+
|
|
1127
|
+
sig { params(notification_confirmation: T::Boolean).void }
|
|
1128
|
+
attr_writer :notification_confirmation
|
|
1129
|
+
|
|
1130
|
+
# Indicates whether QR code is enabled ("true" or "false").
|
|
1131
|
+
sig { returns(T.nilable(String)) }
|
|
1132
|
+
attr_reader :qr_code
|
|
1133
|
+
|
|
1134
|
+
sig { params(qr_code: String).void }
|
|
1135
|
+
attr_writer :qr_code
|
|
1136
|
+
|
|
1137
|
+
# Flag indicating whether to include raw data in the response.
|
|
1138
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1139
|
+
attr_reader :raw_data
|
|
1140
|
+
|
|
1141
|
+
sig { params(raw_data: T::Boolean).void }
|
|
1142
|
+
attr_writer :raw_data
|
|
1143
|
+
|
|
1144
|
+
# Timestamp when the request or process was rejected; null if not rejected.
|
|
1145
|
+
sig { returns(T.nilable(Time)) }
|
|
1146
|
+
attr_accessor :rejected_at
|
|
1147
|
+
|
|
1148
|
+
# Duration of the user session in seconds.
|
|
1149
|
+
sig { returns(T.nilable(Integer)) }
|
|
1150
|
+
attr_reader :session_duration
|
|
1151
|
+
|
|
1152
|
+
sig { params(session_duration: Integer).void }
|
|
1153
|
+
attr_writer :session_duration
|
|
1154
|
+
|
|
1155
|
+
# Timestamp when the process started.
|
|
1156
|
+
sig { returns(T.nilable(Time)) }
|
|
1157
|
+
attr_reader :started_at
|
|
1158
|
+
|
|
1159
|
+
sig { params(started_at: Time).void }
|
|
1160
|
+
attr_writer :started_at
|
|
1161
|
+
|
|
1162
|
+
# Date/time of data transfer.
|
|
1163
|
+
sig { returns(T.nilable(Time)) }
|
|
1164
|
+
attr_reader :transfer_at
|
|
1165
|
+
|
|
1166
|
+
sig { params(transfer_at: Time).void }
|
|
1167
|
+
attr_writer :transfer_at
|
|
1168
|
+
|
|
1169
|
+
# Mode of data transfer.
|
|
1170
|
+
sig { returns(T.nilable(String)) }
|
|
1171
|
+
attr_reader :transfer_mode
|
|
1172
|
+
|
|
1173
|
+
sig { params(transfer_mode: String).void }
|
|
1174
|
+
attr_writer :transfer_mode
|
|
1175
|
+
|
|
1176
|
+
# Technical metadata related to the request (e.g., QR code settings, language).
|
|
1177
|
+
sig do
|
|
1178
|
+
params(
|
|
1179
|
+
active_aml_suspicions: T::Boolean,
|
|
1180
|
+
api_version: Integer,
|
|
1181
|
+
approved_at: Time,
|
|
1182
|
+
callback_url: String,
|
|
1183
|
+
callback_url_notification: String,
|
|
1184
|
+
disable_notification: T::Boolean,
|
|
1185
|
+
disable_notification_date: T.nilable(Time),
|
|
1186
|
+
export_type: String,
|
|
1187
|
+
finished_at: Time,
|
|
1188
|
+
ip: String,
|
|
1189
|
+
language: String,
|
|
1190
|
+
location_ip: String,
|
|
1191
|
+
need_review_at: T.nilable(Time),
|
|
1192
|
+
notification_confirmation: T::Boolean,
|
|
1193
|
+
qr_code: String,
|
|
1194
|
+
raw_data: T::Boolean,
|
|
1195
|
+
rejected_at: T.nilable(Time),
|
|
1196
|
+
session_duration: Integer,
|
|
1197
|
+
started_at: Time,
|
|
1198
|
+
transfer_at: Time,
|
|
1199
|
+
transfer_mode: String
|
|
1200
|
+
).returns(T.attached_class)
|
|
1201
|
+
end
|
|
1202
|
+
def self.new(
|
|
1203
|
+
# Flag indicating whether there are active research AML (Anti-Money Laundering)
|
|
1204
|
+
# suspicions for the object when you apply for a new entry or get an existing one.
|
|
1205
|
+
active_aml_suspicions: nil,
|
|
1206
|
+
# Version number of the API used.
|
|
1207
|
+
api_version: nil,
|
|
1208
|
+
# Timestamp when the request or process was approved.
|
|
1209
|
+
approved_at: nil,
|
|
1210
|
+
# URL to receive callback data from the AML system.
|
|
1211
|
+
callback_url: nil,
|
|
1212
|
+
# URL to receive notification updates about the processing status.
|
|
1213
|
+
callback_url_notification: nil,
|
|
1214
|
+
# Flag to indicate if notifications are disabled.
|
|
1215
|
+
disable_notification: nil,
|
|
1216
|
+
# Timestamp when notifications were disabled; null if never disabled.
|
|
1217
|
+
disable_notification_date: nil,
|
|
1218
|
+
# Export format defined by the API (e.g., "json", "xml").
|
|
1219
|
+
export_type: nil,
|
|
1220
|
+
# Timestamp when the process finished.
|
|
1221
|
+
finished_at: nil,
|
|
1222
|
+
# IP address of the our system handling the request.
|
|
1223
|
+
ip: nil,
|
|
1224
|
+
# Language preference used in the client workspace (e.g., "fra").
|
|
1225
|
+
language: nil,
|
|
1226
|
+
# IP address of the end client (final user) captured.
|
|
1227
|
+
location_ip: nil,
|
|
1228
|
+
# Timestamp indicating when the request or process needs review; null if none.
|
|
1229
|
+
need_review_at: nil,
|
|
1230
|
+
# Flag indicating if notification confirmation is required or received.
|
|
1231
|
+
notification_confirmation: nil,
|
|
1232
|
+
# Indicates whether QR code is enabled ("true" or "false").
|
|
1233
|
+
qr_code: nil,
|
|
1234
|
+
# Flag indicating whether to include raw data in the response.
|
|
1235
|
+
raw_data: nil,
|
|
1236
|
+
# Timestamp when the request or process was rejected; null if not rejected.
|
|
1237
|
+
rejected_at: nil,
|
|
1238
|
+
# Duration of the user session in seconds.
|
|
1239
|
+
session_duration: nil,
|
|
1240
|
+
# Timestamp when the process started.
|
|
1241
|
+
started_at: nil,
|
|
1242
|
+
# Date/time of data transfer.
|
|
1243
|
+
transfer_at: nil,
|
|
1244
|
+
# Mode of data transfer.
|
|
1245
|
+
transfer_mode: nil
|
|
1246
|
+
)
|
|
1247
|
+
end
|
|
1248
|
+
|
|
1249
|
+
sig do
|
|
1250
|
+
override.returns(
|
|
1251
|
+
{
|
|
1252
|
+
active_aml_suspicions: T::Boolean,
|
|
1253
|
+
api_version: Integer,
|
|
1254
|
+
approved_at: Time,
|
|
1255
|
+
callback_url: String,
|
|
1256
|
+
callback_url_notification: String,
|
|
1257
|
+
disable_notification: T::Boolean,
|
|
1258
|
+
disable_notification_date: T.nilable(Time),
|
|
1259
|
+
export_type: String,
|
|
1260
|
+
finished_at: Time,
|
|
1261
|
+
ip: String,
|
|
1262
|
+
language: String,
|
|
1263
|
+
location_ip: String,
|
|
1264
|
+
need_review_at: T.nilable(Time),
|
|
1265
|
+
notification_confirmation: T::Boolean,
|
|
1266
|
+
qr_code: String,
|
|
1267
|
+
raw_data: T::Boolean,
|
|
1268
|
+
rejected_at: T.nilable(Time),
|
|
1269
|
+
session_duration: Integer,
|
|
1270
|
+
started_at: Time,
|
|
1271
|
+
transfer_at: Time,
|
|
1272
|
+
transfer_mode: String
|
|
1273
|
+
}
|
|
1274
|
+
)
|
|
1275
|
+
end
|
|
1276
|
+
def to_hash
|
|
1277
|
+
end
|
|
1278
|
+
end
|
|
1279
|
+
end
|
|
1280
|
+
end
|
|
1281
|
+
end
|