verisec 1.0.0
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/README.md +211 -0
- data/examples/quickstart.rb +32 -0
- data/lib/verisec/auth.rb +89 -0
- data/lib/verisec/client.rb +76 -0
- data/lib/verisec/errors.rb +125 -0
- data/lib/verisec/file_input.rb +125 -0
- data/lib/verisec/generated/resources.rb +1800 -0
- data/lib/verisec/generated/types.rb +4695 -0
- data/lib/verisec/image.rb +160 -0
- data/lib/verisec/multipart.rb +36 -0
- data/lib/verisec/resource.rb +66 -0
- data/lib/verisec/response_info.rb +34 -0
- data/lib/verisec/transport.rb +322 -0
- data/lib/verisec/util.rb +171 -0
- data/lib/verisec/verisec_object.rb +187 -0
- data/lib/verisec/version.rb +6 -0
- data/lib/verisec/webhook.rb +136 -0
- data/lib/verisec.rb +43 -0
- data/sig/generated/verisec.rbs +2212 -0
- data/sig/verisec.rbs +213 -0
- metadata +68 -0
|
@@ -0,0 +1,4695 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Generated by script/generate from spec/openapi.json. Do not edit by hand.
|
|
4
|
+
|
|
5
|
+
module VeriSec
|
|
6
|
+
# The API's answer types, one class per schema (see {VeriSec::VeriSecObject}
|
|
7
|
+
# for how to read them). Nested objects are wrapped in their own type.
|
|
8
|
+
module Types
|
|
9
|
+
# The full result of Face Analyze: everything the check found. See the fields listed in the operation.
|
|
10
|
+
#
|
|
11
|
+
# Returned by {VeriSec::Resources::Face#analyze}.
|
|
12
|
+
#
|
|
13
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
14
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
15
|
+
class FaceAnalyze < VeriSecObject
|
|
16
|
+
FIELDS = {}.freeze
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# The answer of Face Detect.
|
|
20
|
+
#
|
|
21
|
+
# Returned by {VeriSec::Resources::Face#detect}.
|
|
22
|
+
#
|
|
23
|
+
# @!attribute [r] code
|
|
24
|
+
# @return [Numeric, nil]
|
|
25
|
+
# @!attribute [r] msg
|
|
26
|
+
# @return [String, nil]
|
|
27
|
+
# @!attribute [r] faceCount
|
|
28
|
+
# @return [Numeric, nil]
|
|
29
|
+
# @!attribute [r] faces
|
|
30
|
+
# @return [Array<VeriSec::Types::FaceDetectFace>, nil]
|
|
31
|
+
# @!attribute [r] elapsedTime
|
|
32
|
+
# @return [Numeric, nil]
|
|
33
|
+
# @!attribute [r] metadata
|
|
34
|
+
# @return [VeriSec::Types::FaceDetectMetadata, nil]
|
|
35
|
+
class FaceDetect < VeriSecObject
|
|
36
|
+
FIELDS = {
|
|
37
|
+
"code" => nil,
|
|
38
|
+
"msg" => nil,
|
|
39
|
+
"faceCount" => nil,
|
|
40
|
+
"faces" => "FaceDetectFace",
|
|
41
|
+
"elapsedTime" => nil,
|
|
42
|
+
"metadata" => "FaceDetectMetadata"
|
|
43
|
+
}.freeze
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# FaceDetectFace.
|
|
47
|
+
#
|
|
48
|
+
# @!attribute [r] roi
|
|
49
|
+
# @return [Array<Numeric>, nil]
|
|
50
|
+
# @!attribute [r] rotationAngle
|
|
51
|
+
# @return [Numeric, nil]
|
|
52
|
+
# @!attribute [r] landmarks
|
|
53
|
+
# @return [Array<Array<Numeric>>, nil]
|
|
54
|
+
class FaceDetectFace < VeriSecObject
|
|
55
|
+
FIELDS = {
|
|
56
|
+
"roi" => nil,
|
|
57
|
+
"rotationAngle" => nil,
|
|
58
|
+
"landmarks" => nil
|
|
59
|
+
}.freeze
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# FaceDetectMetadata.
|
|
63
|
+
#
|
|
64
|
+
# @!attribute [r] serverTime
|
|
65
|
+
# @return [String, nil]
|
|
66
|
+
# @!attribute [r] ctx
|
|
67
|
+
# @return [VeriSec::Types::FaceDetectMetadataCtx, nil]
|
|
68
|
+
class FaceDetectMetadata < VeriSecObject
|
|
69
|
+
FIELDS = {
|
|
70
|
+
"serverTime" => nil,
|
|
71
|
+
"ctx" => "FaceDetectMetadataCtx"
|
|
72
|
+
}.freeze
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# FaceDetectMetadataCtx.
|
|
76
|
+
#
|
|
77
|
+
# @!attribute [r] userIp
|
|
78
|
+
# @return [String, nil]
|
|
79
|
+
class FaceDetectMetadataCtx < VeriSecObject
|
|
80
|
+
FIELDS = {
|
|
81
|
+
"userIp" => nil
|
|
82
|
+
}.freeze
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# The answer of Face Count.
|
|
86
|
+
#
|
|
87
|
+
# Returned by {VeriSec::Resources::Face#count}.
|
|
88
|
+
#
|
|
89
|
+
# @!attribute [r] code
|
|
90
|
+
# @return [Numeric, nil]
|
|
91
|
+
# @!attribute [r] msg
|
|
92
|
+
# @return [String, nil]
|
|
93
|
+
# @!attribute [r] faceCount
|
|
94
|
+
# @return [Numeric, nil]
|
|
95
|
+
# @!attribute [r] ok
|
|
96
|
+
# @return [Boolean, nil]
|
|
97
|
+
# @!attribute [r] rule
|
|
98
|
+
# @return [String, nil]
|
|
99
|
+
# @!attribute [r] faces
|
|
100
|
+
# @return [Array<VeriSec::Types::FaceCountFace>, nil]
|
|
101
|
+
# @!attribute [r] elapsedTime
|
|
102
|
+
# @return [Numeric, nil]
|
|
103
|
+
# @!attribute [r] metadata
|
|
104
|
+
# @return [VeriSec::Types::FaceCountMetadata, nil]
|
|
105
|
+
class FaceCount < VeriSecObject
|
|
106
|
+
FIELDS = {
|
|
107
|
+
"code" => nil,
|
|
108
|
+
"msg" => nil,
|
|
109
|
+
"faceCount" => nil,
|
|
110
|
+
"ok" => nil,
|
|
111
|
+
"rule" => nil,
|
|
112
|
+
"faces" => "FaceCountFace",
|
|
113
|
+
"elapsedTime" => nil,
|
|
114
|
+
"metadata" => "FaceCountMetadata"
|
|
115
|
+
}.freeze
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# FaceCountFace.
|
|
119
|
+
#
|
|
120
|
+
# @!attribute [r] roi
|
|
121
|
+
# @return [Array<Numeric>, nil]
|
|
122
|
+
class FaceCountFace < VeriSecObject
|
|
123
|
+
FIELDS = {
|
|
124
|
+
"roi" => nil
|
|
125
|
+
}.freeze
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# FaceCountMetadata.
|
|
129
|
+
#
|
|
130
|
+
# @!attribute [r] serverTime
|
|
131
|
+
# @return [String, nil]
|
|
132
|
+
# @!attribute [r] ctx
|
|
133
|
+
# @return [VeriSec::Types::FaceCountMetadataCtx, nil]
|
|
134
|
+
class FaceCountMetadata < VeriSecObject
|
|
135
|
+
FIELDS = {
|
|
136
|
+
"serverTime" => nil,
|
|
137
|
+
"ctx" => "FaceCountMetadataCtx"
|
|
138
|
+
}.freeze
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# FaceCountMetadataCtx.
|
|
142
|
+
#
|
|
143
|
+
# @!attribute [r] userIp
|
|
144
|
+
# @return [String, nil]
|
|
145
|
+
class FaceCountMetadataCtx < VeriSecObject
|
|
146
|
+
FIELDS = {
|
|
147
|
+
"userIp" => nil
|
|
148
|
+
}.freeze
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# The answer of Face Attributes.
|
|
152
|
+
#
|
|
153
|
+
# Returned by {VeriSec::Resources::Face#attributes}.
|
|
154
|
+
#
|
|
155
|
+
# @!attribute [r] code
|
|
156
|
+
# @return [Numeric, nil]
|
|
157
|
+
# @!attribute [r] msg
|
|
158
|
+
# @return [String, nil]
|
|
159
|
+
# @!attribute [r] faces
|
|
160
|
+
# @return [Array<VeriSec::Types::FaceAttributesFace>, nil]
|
|
161
|
+
# @!attribute [r] elapsedTime
|
|
162
|
+
# @return [Numeric, nil]
|
|
163
|
+
# @!attribute [r] metadata
|
|
164
|
+
# @return [VeriSec::Types::FaceAttributesMetadata, nil]
|
|
165
|
+
class FaceAttributes < VeriSecObject
|
|
166
|
+
FIELDS = {
|
|
167
|
+
"code" => nil,
|
|
168
|
+
"msg" => nil,
|
|
169
|
+
"faces" => "FaceAttributesFace",
|
|
170
|
+
"elapsedTime" => nil,
|
|
171
|
+
"metadata" => "FaceAttributesMetadata"
|
|
172
|
+
}.freeze
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# FaceAttributesFace.
|
|
176
|
+
#
|
|
177
|
+
# @!attribute [r] roi
|
|
178
|
+
# @return [Array<Numeric>, nil]
|
|
179
|
+
# @!attribute [r] attributes
|
|
180
|
+
# @return [Array<VeriSec::Types::FaceAttributesFaceAttribute>, nil]
|
|
181
|
+
class FaceAttributesFace < VeriSecObject
|
|
182
|
+
FIELDS = {
|
|
183
|
+
"roi" => nil,
|
|
184
|
+
"attributes" => "FaceAttributesFaceAttribute"
|
|
185
|
+
}.freeze
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
# FaceAttributesFaceAttribute.
|
|
189
|
+
#
|
|
190
|
+
# @!attribute [r] name
|
|
191
|
+
# @return [String, nil]
|
|
192
|
+
# @!attribute [r] value
|
|
193
|
+
# @return [Object, nil]
|
|
194
|
+
# @!attribute [r] confidence
|
|
195
|
+
# @return [Numeric, nil]
|
|
196
|
+
class FaceAttributesFaceAttribute < VeriSecObject
|
|
197
|
+
FIELDS = {
|
|
198
|
+
"name" => nil,
|
|
199
|
+
"value" => nil,
|
|
200
|
+
"confidence" => nil
|
|
201
|
+
}.freeze
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
# FaceAttributesMetadata.
|
|
205
|
+
#
|
|
206
|
+
# @!attribute [r] serverTime
|
|
207
|
+
# @return [String, nil]
|
|
208
|
+
# @!attribute [r] ctx
|
|
209
|
+
# @return [VeriSec::Types::FaceAttributesMetadataCtx, nil]
|
|
210
|
+
class FaceAttributesMetadata < VeriSecObject
|
|
211
|
+
FIELDS = {
|
|
212
|
+
"serverTime" => nil,
|
|
213
|
+
"ctx" => "FaceAttributesMetadataCtx"
|
|
214
|
+
}.freeze
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
# FaceAttributesMetadataCtx.
|
|
218
|
+
#
|
|
219
|
+
# @!attribute [r] userIp
|
|
220
|
+
# @return [String, nil]
|
|
221
|
+
class FaceAttributesMetadataCtx < VeriSecObject
|
|
222
|
+
FIELDS = {
|
|
223
|
+
"userIp" => nil
|
|
224
|
+
}.freeze
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# The answer of Mask & Glasses (PPE).
|
|
228
|
+
#
|
|
229
|
+
# Returned by {VeriSec::Resources::Face#ppe}.
|
|
230
|
+
#
|
|
231
|
+
# @!attribute [r] code
|
|
232
|
+
# @return [Numeric, nil]
|
|
233
|
+
# @!attribute [r] msg
|
|
234
|
+
# @return [String, nil]
|
|
235
|
+
# @!attribute [r] faces
|
|
236
|
+
# @return [Array<VeriSec::Types::FacePpeFace>, nil]
|
|
237
|
+
# @!attribute [r] elapsedTime
|
|
238
|
+
# @return [Numeric, nil]
|
|
239
|
+
# @!attribute [r] metadata
|
|
240
|
+
# @return [VeriSec::Types::FacePpeMetadata, nil]
|
|
241
|
+
class FacePpe < VeriSecObject
|
|
242
|
+
FIELDS = {
|
|
243
|
+
"code" => nil,
|
|
244
|
+
"msg" => nil,
|
|
245
|
+
"faces" => "FacePpeFace",
|
|
246
|
+
"elapsedTime" => nil,
|
|
247
|
+
"metadata" => "FacePpeMetadata"
|
|
248
|
+
}.freeze
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
# FacePpeFace.
|
|
252
|
+
#
|
|
253
|
+
# @!attribute [r] roi
|
|
254
|
+
# @return [Array<Numeric>, nil]
|
|
255
|
+
# @!attribute [r] MedicalMask
|
|
256
|
+
# @return [String, nil]
|
|
257
|
+
# @!attribute [r] Glasses
|
|
258
|
+
# @return [String, nil]
|
|
259
|
+
# @!attribute [r] HeadCovering
|
|
260
|
+
# @return [String, nil]
|
|
261
|
+
# @!attribute [r] Headphones
|
|
262
|
+
# @return [String, nil]
|
|
263
|
+
class FacePpeFace < VeriSecObject
|
|
264
|
+
FIELDS = {
|
|
265
|
+
"roi" => nil,
|
|
266
|
+
"MedicalMask" => nil,
|
|
267
|
+
"Glasses" => nil,
|
|
268
|
+
"HeadCovering" => nil,
|
|
269
|
+
"Headphones" => nil
|
|
270
|
+
}.freeze
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
# FacePpeMetadata.
|
|
274
|
+
#
|
|
275
|
+
# @!attribute [r] serverTime
|
|
276
|
+
# @return [String, nil]
|
|
277
|
+
# @!attribute [r] ctx
|
|
278
|
+
# @return [VeriSec::Types::FacePpeMetadataCtx, nil]
|
|
279
|
+
class FacePpeMetadata < VeriSecObject
|
|
280
|
+
FIELDS = {
|
|
281
|
+
"serverTime" => nil,
|
|
282
|
+
"ctx" => "FacePpeMetadataCtx"
|
|
283
|
+
}.freeze
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
# FacePpeMetadataCtx.
|
|
287
|
+
#
|
|
288
|
+
# @!attribute [r] userIp
|
|
289
|
+
# @return [String, nil]
|
|
290
|
+
class FacePpeMetadataCtx < VeriSecObject
|
|
291
|
+
FIELDS = {
|
|
292
|
+
"userIp" => nil
|
|
293
|
+
}.freeze
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
# The answer of Emotion.
|
|
297
|
+
#
|
|
298
|
+
# Returned by {VeriSec::Resources::Face#emotion}.
|
|
299
|
+
#
|
|
300
|
+
# @!attribute [r] code
|
|
301
|
+
# @return [Numeric, nil]
|
|
302
|
+
# @!attribute [r] msg
|
|
303
|
+
# @return [String, nil]
|
|
304
|
+
# @!attribute [r] faces
|
|
305
|
+
# @return [Array<VeriSec::Types::FaceEmotionFace>, nil]
|
|
306
|
+
# @!attribute [r] elapsedTime
|
|
307
|
+
# @return [Numeric, nil]
|
|
308
|
+
# @!attribute [r] metadata
|
|
309
|
+
# @return [VeriSec::Types::FaceEmotionMetadata, nil]
|
|
310
|
+
class FaceEmotion < VeriSecObject
|
|
311
|
+
FIELDS = {
|
|
312
|
+
"code" => nil,
|
|
313
|
+
"msg" => nil,
|
|
314
|
+
"faces" => "FaceEmotionFace",
|
|
315
|
+
"elapsedTime" => nil,
|
|
316
|
+
"metadata" => "FaceEmotionMetadata"
|
|
317
|
+
}.freeze
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
# FaceEmotionFace.
|
|
321
|
+
#
|
|
322
|
+
# @!attribute [r] roi
|
|
323
|
+
# @return [Array<Numeric>, nil]
|
|
324
|
+
# @!attribute [r] emotion
|
|
325
|
+
# @return [String, nil]
|
|
326
|
+
# @!attribute [r] confidence
|
|
327
|
+
# @return [Numeric, nil]
|
|
328
|
+
class FaceEmotionFace < VeriSecObject
|
|
329
|
+
FIELDS = {
|
|
330
|
+
"roi" => nil,
|
|
331
|
+
"emotion" => nil,
|
|
332
|
+
"confidence" => nil
|
|
333
|
+
}.freeze
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
# FaceEmotionMetadata.
|
|
337
|
+
#
|
|
338
|
+
# @!attribute [r] serverTime
|
|
339
|
+
# @return [String, nil]
|
|
340
|
+
# @!attribute [r] ctx
|
|
341
|
+
# @return [VeriSec::Types::FaceEmotionMetadataCtx, nil]
|
|
342
|
+
class FaceEmotionMetadata < VeriSecObject
|
|
343
|
+
FIELDS = {
|
|
344
|
+
"serverTime" => nil,
|
|
345
|
+
"ctx" => "FaceEmotionMetadataCtx"
|
|
346
|
+
}.freeze
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
# FaceEmotionMetadataCtx.
|
|
350
|
+
#
|
|
351
|
+
# @!attribute [r] userIp
|
|
352
|
+
# @return [String, nil]
|
|
353
|
+
class FaceEmotionMetadataCtx < VeriSecObject
|
|
354
|
+
FIELDS = {
|
|
355
|
+
"userIp" => nil
|
|
356
|
+
}.freeze
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
# The answer of Smart Crop.
|
|
360
|
+
#
|
|
361
|
+
# Returned by {VeriSec::Resources::Face#crop}.
|
|
362
|
+
#
|
|
363
|
+
# @!attribute [r] code
|
|
364
|
+
# @return [Numeric, nil]
|
|
365
|
+
# @!attribute [r] msg
|
|
366
|
+
# @return [String, nil]
|
|
367
|
+
# @!attribute [r] crops
|
|
368
|
+
# @return [Array<VeriSec::Types::FaceCropCrop>, nil]
|
|
369
|
+
# @!attribute [r] elapsedTime
|
|
370
|
+
# @return [Numeric, nil]
|
|
371
|
+
# @!attribute [r] metadata
|
|
372
|
+
# @return [VeriSec::Types::FaceCropMetadata, nil]
|
|
373
|
+
class FaceCrop < VeriSecObject
|
|
374
|
+
FIELDS = {
|
|
375
|
+
"code" => nil,
|
|
376
|
+
"msg" => nil,
|
|
377
|
+
"crops" => "FaceCropCrop",
|
|
378
|
+
"elapsedTime" => nil,
|
|
379
|
+
"metadata" => "FaceCropMetadata"
|
|
380
|
+
}.freeze
|
|
381
|
+
end
|
|
382
|
+
|
|
383
|
+
# FaceCropCrop.
|
|
384
|
+
#
|
|
385
|
+
# @!attribute [r] roi
|
|
386
|
+
# @return [Array<Numeric>, nil]
|
|
387
|
+
# @!attribute [r] rotationAngle
|
|
388
|
+
# @return [Numeric, nil]
|
|
389
|
+
# @!attribute [r] crop
|
|
390
|
+
# @return [String, nil]
|
|
391
|
+
class FaceCropCrop < VeriSecObject
|
|
392
|
+
FIELDS = {
|
|
393
|
+
"roi" => nil,
|
|
394
|
+
"rotationAngle" => nil,
|
|
395
|
+
"crop" => nil
|
|
396
|
+
}.freeze
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
# FaceCropMetadata.
|
|
400
|
+
#
|
|
401
|
+
# @!attribute [r] serverTime
|
|
402
|
+
# @return [String, nil]
|
|
403
|
+
# @!attribute [r] ctx
|
|
404
|
+
# @return [VeriSec::Types::FaceCropMetadataCtx, nil]
|
|
405
|
+
class FaceCropMetadata < VeriSecObject
|
|
406
|
+
FIELDS = {
|
|
407
|
+
"serverTime" => nil,
|
|
408
|
+
"ctx" => "FaceCropMetadataCtx"
|
|
409
|
+
}.freeze
|
|
410
|
+
end
|
|
411
|
+
|
|
412
|
+
# FaceCropMetadataCtx.
|
|
413
|
+
#
|
|
414
|
+
# @!attribute [r] userIp
|
|
415
|
+
# @return [String, nil]
|
|
416
|
+
class FaceCropMetadataCtx < VeriSecObject
|
|
417
|
+
FIELDS = {
|
|
418
|
+
"userIp" => nil
|
|
419
|
+
}.freeze
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
# The answer of Face Redact.
|
|
423
|
+
#
|
|
424
|
+
# Returned by {VeriSec::Resources::Face#redact}.
|
|
425
|
+
#
|
|
426
|
+
# @!attribute [r] code
|
|
427
|
+
# @return [Numeric, nil]
|
|
428
|
+
# @!attribute [r] msg
|
|
429
|
+
# @return [String, nil]
|
|
430
|
+
# @!attribute [r] faceCount
|
|
431
|
+
# @return [Numeric, nil]
|
|
432
|
+
# @!attribute [r] image
|
|
433
|
+
# @return [String, nil]
|
|
434
|
+
# @!attribute [r] boxes
|
|
435
|
+
# @return [Array<Array<Numeric>>, nil]
|
|
436
|
+
# @!attribute [r] elapsedTime
|
|
437
|
+
# @return [Numeric, nil]
|
|
438
|
+
# @!attribute [r] metadata
|
|
439
|
+
# @return [VeriSec::Types::FaceRedactMetadata, nil]
|
|
440
|
+
class FaceRedact < VeriSecObject
|
|
441
|
+
FIELDS = {
|
|
442
|
+
"code" => nil,
|
|
443
|
+
"msg" => nil,
|
|
444
|
+
"faceCount" => nil,
|
|
445
|
+
"image" => nil,
|
|
446
|
+
"boxes" => nil,
|
|
447
|
+
"elapsedTime" => nil,
|
|
448
|
+
"metadata" => "FaceRedactMetadata"
|
|
449
|
+
}.freeze
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
# FaceRedactMetadata.
|
|
453
|
+
#
|
|
454
|
+
# @!attribute [r] serverTime
|
|
455
|
+
# @return [String, nil]
|
|
456
|
+
# @!attribute [r] ctx
|
|
457
|
+
# @return [VeriSec::Types::FaceRedactMetadataCtx, nil]
|
|
458
|
+
class FaceRedactMetadata < VeriSecObject
|
|
459
|
+
FIELDS = {
|
|
460
|
+
"serverTime" => nil,
|
|
461
|
+
"ctx" => "FaceRedactMetadataCtx"
|
|
462
|
+
}.freeze
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
# FaceRedactMetadataCtx.
|
|
466
|
+
#
|
|
467
|
+
# @!attribute [r] userIp
|
|
468
|
+
# @return [String, nil]
|
|
469
|
+
class FaceRedactMetadataCtx < VeriSecObject
|
|
470
|
+
FIELDS = {
|
|
471
|
+
"userIp" => nil
|
|
472
|
+
}.freeze
|
|
473
|
+
end
|
|
474
|
+
|
|
475
|
+
# The full result of Face Match: everything the check found. See the fields listed in the operation.
|
|
476
|
+
#
|
|
477
|
+
# Returned by {VeriSec::Resources::Face#match}.
|
|
478
|
+
#
|
|
479
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
480
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
481
|
+
class FaceMatch < VeriSecObject
|
|
482
|
+
FIELDS = {}.freeze
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
# The answer of Face Verify (1:1).
|
|
486
|
+
#
|
|
487
|
+
# Returned by {VeriSec::Resources::Face#verify}.
|
|
488
|
+
#
|
|
489
|
+
# @!attribute [r] code
|
|
490
|
+
# @return [Numeric, nil]
|
|
491
|
+
# @!attribute [r] msg
|
|
492
|
+
# @return [String, nil]
|
|
493
|
+
# @!attribute [r] similarity
|
|
494
|
+
# @return [Numeric, nil]
|
|
495
|
+
# @!attribute [r] score
|
|
496
|
+
# @return [Numeric, nil]
|
|
497
|
+
# @!attribute [r] match
|
|
498
|
+
# @return [Boolean, nil]
|
|
499
|
+
# @!attribute [r] threshold
|
|
500
|
+
# @return [Numeric, nil]
|
|
501
|
+
# @!attribute [r] compared
|
|
502
|
+
# @return [Array<VeriSec::Types::FaceVerifyCompared>, nil]
|
|
503
|
+
# @!attribute [r] elapsedTime
|
|
504
|
+
# @return [Numeric, nil]
|
|
505
|
+
# @!attribute [r] metadata
|
|
506
|
+
# @return [VeriSec::Types::FaceVerifyMetadata, nil]
|
|
507
|
+
class FaceVerify < VeriSecObject
|
|
508
|
+
FIELDS = {
|
|
509
|
+
"code" => nil,
|
|
510
|
+
"msg" => nil,
|
|
511
|
+
"similarity" => nil,
|
|
512
|
+
"score" => nil,
|
|
513
|
+
"match" => nil,
|
|
514
|
+
"threshold" => nil,
|
|
515
|
+
"compared" => "FaceVerifyCompared",
|
|
516
|
+
"elapsedTime" => nil,
|
|
517
|
+
"metadata" => "FaceVerifyMetadata"
|
|
518
|
+
}.freeze
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
# FaceVerifyCompared.
|
|
522
|
+
#
|
|
523
|
+
# @!attribute [r] image
|
|
524
|
+
# @return [String, nil]
|
|
525
|
+
# @!attribute [r] roi
|
|
526
|
+
# @return [Array<Numeric>, nil]
|
|
527
|
+
class FaceVerifyCompared < VeriSecObject
|
|
528
|
+
FIELDS = {
|
|
529
|
+
"image" => nil,
|
|
530
|
+
"roi" => nil
|
|
531
|
+
}.freeze
|
|
532
|
+
end
|
|
533
|
+
|
|
534
|
+
# FaceVerifyMetadata.
|
|
535
|
+
#
|
|
536
|
+
# @!attribute [r] serverTime
|
|
537
|
+
# @return [String, nil]
|
|
538
|
+
# @!attribute [r] ctx
|
|
539
|
+
# @return [VeriSec::Types::FaceVerifyMetadataCtx, nil]
|
|
540
|
+
class FaceVerifyMetadata < VeriSecObject
|
|
541
|
+
FIELDS = {
|
|
542
|
+
"serverTime" => nil,
|
|
543
|
+
"ctx" => "FaceVerifyMetadataCtx"
|
|
544
|
+
}.freeze
|
|
545
|
+
end
|
|
546
|
+
|
|
547
|
+
# FaceVerifyMetadataCtx.
|
|
548
|
+
#
|
|
549
|
+
# @!attribute [r] userIp
|
|
550
|
+
# @return [String, nil]
|
|
551
|
+
class FaceVerifyMetadataCtx < VeriSecObject
|
|
552
|
+
FIELDS = {
|
|
553
|
+
"userIp" => nil
|
|
554
|
+
}.freeze
|
|
555
|
+
end
|
|
556
|
+
|
|
557
|
+
# The answer of Similarity Score.
|
|
558
|
+
#
|
|
559
|
+
# Returned by {VeriSec::Resources::Face#similarity}.
|
|
560
|
+
#
|
|
561
|
+
# @!attribute [r] code
|
|
562
|
+
# @return [Numeric, nil]
|
|
563
|
+
# @!attribute [r] msg
|
|
564
|
+
# @return [String, nil]
|
|
565
|
+
# @!attribute [r] similarity
|
|
566
|
+
# @return [Numeric, nil]
|
|
567
|
+
# @!attribute [r] score
|
|
568
|
+
# @return [Numeric, nil]
|
|
569
|
+
# @!attribute [r] compared
|
|
570
|
+
# @return [Array<VeriSec::Types::FaceSimilarityCompared>, nil]
|
|
571
|
+
# @!attribute [r] elapsedTime
|
|
572
|
+
# @return [Numeric, nil]
|
|
573
|
+
# @!attribute [r] metadata
|
|
574
|
+
# @return [VeriSec::Types::FaceSimilarityMetadata, nil]
|
|
575
|
+
class FaceSimilarity < VeriSecObject
|
|
576
|
+
FIELDS = {
|
|
577
|
+
"code" => nil,
|
|
578
|
+
"msg" => nil,
|
|
579
|
+
"similarity" => nil,
|
|
580
|
+
"score" => nil,
|
|
581
|
+
"compared" => "FaceSimilarityCompared",
|
|
582
|
+
"elapsedTime" => nil,
|
|
583
|
+
"metadata" => "FaceSimilarityMetadata"
|
|
584
|
+
}.freeze
|
|
585
|
+
end
|
|
586
|
+
|
|
587
|
+
# FaceSimilarityCompared.
|
|
588
|
+
#
|
|
589
|
+
# @!attribute [r] image
|
|
590
|
+
# @return [String, nil]
|
|
591
|
+
# @!attribute [r] roi
|
|
592
|
+
# @return [Array<Numeric>, nil]
|
|
593
|
+
class FaceSimilarityCompared < VeriSecObject
|
|
594
|
+
FIELDS = {
|
|
595
|
+
"image" => nil,
|
|
596
|
+
"roi" => nil
|
|
597
|
+
}.freeze
|
|
598
|
+
end
|
|
599
|
+
|
|
600
|
+
# FaceSimilarityMetadata.
|
|
601
|
+
#
|
|
602
|
+
# @!attribute [r] serverTime
|
|
603
|
+
# @return [String, nil]
|
|
604
|
+
# @!attribute [r] ctx
|
|
605
|
+
# @return [VeriSec::Types::FaceSimilarityMetadataCtx, nil]
|
|
606
|
+
class FaceSimilarityMetadata < VeriSecObject
|
|
607
|
+
FIELDS = {
|
|
608
|
+
"serverTime" => nil,
|
|
609
|
+
"ctx" => "FaceSimilarityMetadataCtx"
|
|
610
|
+
}.freeze
|
|
611
|
+
end
|
|
612
|
+
|
|
613
|
+
# FaceSimilarityMetadataCtx.
|
|
614
|
+
#
|
|
615
|
+
# @!attribute [r] userIp
|
|
616
|
+
# @return [String, nil]
|
|
617
|
+
class FaceSimilarityMetadataCtx < VeriSecObject
|
|
618
|
+
FIELDS = {
|
|
619
|
+
"userIp" => nil
|
|
620
|
+
}.freeze
|
|
621
|
+
end
|
|
622
|
+
|
|
623
|
+
# The answer of Face Search (1:N).
|
|
624
|
+
#
|
|
625
|
+
# Returned by {VeriSec::Resources::Face#search}.
|
|
626
|
+
#
|
|
627
|
+
# @!attribute [r] code
|
|
628
|
+
# @return [Numeric, nil]
|
|
629
|
+
# @!attribute [r] msg
|
|
630
|
+
# @return [String, nil]
|
|
631
|
+
# @!attribute [r] matches
|
|
632
|
+
# @return [Array<VeriSec::Types::FaceSearchMatch>, nil]
|
|
633
|
+
# @!attribute [r] best
|
|
634
|
+
# @return [VeriSec::Types::FaceSearchBest, nil]
|
|
635
|
+
# @!attribute [r] elapsedTime
|
|
636
|
+
# @return [Numeric, nil]
|
|
637
|
+
# @!attribute [r] metadata
|
|
638
|
+
# @return [VeriSec::Types::FaceSearchMetadata, nil]
|
|
639
|
+
class FaceSearch < VeriSecObject
|
|
640
|
+
FIELDS = {
|
|
641
|
+
"code" => nil,
|
|
642
|
+
"msg" => nil,
|
|
643
|
+
"matches" => "FaceSearchMatch",
|
|
644
|
+
"best" => "FaceSearchBest",
|
|
645
|
+
"elapsedTime" => nil,
|
|
646
|
+
"metadata" => "FaceSearchMetadata"
|
|
647
|
+
}.freeze
|
|
648
|
+
end
|
|
649
|
+
|
|
650
|
+
# FaceSearchMatch.
|
|
651
|
+
#
|
|
652
|
+
# @!attribute [r] id
|
|
653
|
+
# @return [String, nil]
|
|
654
|
+
# @!attribute [r] similarity
|
|
655
|
+
# @return [Numeric, nil]
|
|
656
|
+
# @!attribute [r] rank
|
|
657
|
+
# @return [Numeric, nil]
|
|
658
|
+
class FaceSearchMatch < VeriSecObject
|
|
659
|
+
FIELDS = {
|
|
660
|
+
"id" => nil,
|
|
661
|
+
"similarity" => nil,
|
|
662
|
+
"rank" => nil
|
|
663
|
+
}.freeze
|
|
664
|
+
end
|
|
665
|
+
|
|
666
|
+
# FaceSearchBest.
|
|
667
|
+
#
|
|
668
|
+
# @!attribute [r] id
|
|
669
|
+
# @return [String, nil]
|
|
670
|
+
# @!attribute [r] similarity
|
|
671
|
+
# @return [Numeric, nil]
|
|
672
|
+
class FaceSearchBest < VeriSecObject
|
|
673
|
+
FIELDS = {
|
|
674
|
+
"id" => nil,
|
|
675
|
+
"similarity" => nil
|
|
676
|
+
}.freeze
|
|
677
|
+
end
|
|
678
|
+
|
|
679
|
+
# FaceSearchMetadata.
|
|
680
|
+
#
|
|
681
|
+
# @!attribute [r] serverTime
|
|
682
|
+
# @return [String, nil]
|
|
683
|
+
# @!attribute [r] ctx
|
|
684
|
+
# @return [VeriSec::Types::FaceSearchMetadataCtx, nil]
|
|
685
|
+
class FaceSearchMetadata < VeriSecObject
|
|
686
|
+
FIELDS = {
|
|
687
|
+
"serverTime" => nil,
|
|
688
|
+
"ctx" => "FaceSearchMetadataCtx"
|
|
689
|
+
}.freeze
|
|
690
|
+
end
|
|
691
|
+
|
|
692
|
+
# FaceSearchMetadataCtx.
|
|
693
|
+
#
|
|
694
|
+
# @!attribute [r] userIp
|
|
695
|
+
# @return [String, nil]
|
|
696
|
+
class FaceSearchMetadataCtx < VeriSecObject
|
|
697
|
+
FIELDS = {
|
|
698
|
+
"userIp" => nil
|
|
699
|
+
}.freeze
|
|
700
|
+
end
|
|
701
|
+
|
|
702
|
+
# The answer of Duplicate Check.
|
|
703
|
+
#
|
|
704
|
+
# Returned by {VeriSec::Resources::Face#dedupe}.
|
|
705
|
+
#
|
|
706
|
+
# @!attribute [r] code
|
|
707
|
+
# @return [Numeric, nil]
|
|
708
|
+
# @!attribute [r] msg
|
|
709
|
+
# @return [String, nil]
|
|
710
|
+
# @!attribute [r] duplicate
|
|
711
|
+
# @return [Boolean, nil]
|
|
712
|
+
# @!attribute [r] matchedId
|
|
713
|
+
# @return [String, nil]
|
|
714
|
+
# @!attribute [r] similarity
|
|
715
|
+
# @return [Numeric, nil]
|
|
716
|
+
# @!attribute [r] elapsedTime
|
|
717
|
+
# @return [Numeric, nil]
|
|
718
|
+
# @!attribute [r] metadata
|
|
719
|
+
# @return [VeriSec::Types::FaceDedupeMetadata, nil]
|
|
720
|
+
class FaceDedupe < VeriSecObject
|
|
721
|
+
FIELDS = {
|
|
722
|
+
"code" => nil,
|
|
723
|
+
"msg" => nil,
|
|
724
|
+
"duplicate" => nil,
|
|
725
|
+
"matchedId" => nil,
|
|
726
|
+
"similarity" => nil,
|
|
727
|
+
"elapsedTime" => nil,
|
|
728
|
+
"metadata" => "FaceDedupeMetadata"
|
|
729
|
+
}.freeze
|
|
730
|
+
end
|
|
731
|
+
|
|
732
|
+
# FaceDedupeMetadata.
|
|
733
|
+
#
|
|
734
|
+
# @!attribute [r] serverTime
|
|
735
|
+
# @return [String, nil]
|
|
736
|
+
# @!attribute [r] ctx
|
|
737
|
+
# @return [VeriSec::Types::FaceDedupeMetadataCtx, nil]
|
|
738
|
+
class FaceDedupeMetadata < VeriSecObject
|
|
739
|
+
FIELDS = {
|
|
740
|
+
"serverTime" => nil,
|
|
741
|
+
"ctx" => "FaceDedupeMetadataCtx"
|
|
742
|
+
}.freeze
|
|
743
|
+
end
|
|
744
|
+
|
|
745
|
+
# FaceDedupeMetadataCtx.
|
|
746
|
+
#
|
|
747
|
+
# @!attribute [r] userIp
|
|
748
|
+
# @return [String, nil]
|
|
749
|
+
class FaceDedupeMetadataCtx < VeriSecObject
|
|
750
|
+
FIELDS = {
|
|
751
|
+
"userIp" => nil
|
|
752
|
+
}.freeze
|
|
753
|
+
end
|
|
754
|
+
|
|
755
|
+
# The answer of Watchlist Screening.
|
|
756
|
+
#
|
|
757
|
+
# Returned by {VeriSec::Resources::Face#watchlist}.
|
|
758
|
+
#
|
|
759
|
+
# @!attribute [r] code
|
|
760
|
+
# @return [Numeric, nil]
|
|
761
|
+
# @!attribute [r] msg
|
|
762
|
+
# @return [String, nil]
|
|
763
|
+
# @!attribute [r] hit
|
|
764
|
+
# @return [Boolean, nil]
|
|
765
|
+
# @!attribute [r] entry
|
|
766
|
+
# @return [VeriSec::Types::FaceWatchlistEntry, nil]
|
|
767
|
+
# @!attribute [r] elapsedTime
|
|
768
|
+
# @return [Numeric, nil]
|
|
769
|
+
# @!attribute [r] metadata
|
|
770
|
+
# @return [VeriSec::Types::FaceWatchlistMetadata, nil]
|
|
771
|
+
class FaceWatchlist < VeriSecObject
|
|
772
|
+
FIELDS = {
|
|
773
|
+
"code" => nil,
|
|
774
|
+
"msg" => nil,
|
|
775
|
+
"hit" => nil,
|
|
776
|
+
"entry" => "FaceWatchlistEntry",
|
|
777
|
+
"elapsedTime" => nil,
|
|
778
|
+
"metadata" => "FaceWatchlistMetadata"
|
|
779
|
+
}.freeze
|
|
780
|
+
end
|
|
781
|
+
|
|
782
|
+
# FaceWatchlistEntry.
|
|
783
|
+
#
|
|
784
|
+
# @!attribute [r] id
|
|
785
|
+
# @return [String, nil]
|
|
786
|
+
# @!attribute [r] label
|
|
787
|
+
# @return [String, nil]
|
|
788
|
+
# @!attribute [r] similarity
|
|
789
|
+
# @return [Numeric, nil]
|
|
790
|
+
class FaceWatchlistEntry < VeriSecObject
|
|
791
|
+
FIELDS = {
|
|
792
|
+
"id" => nil,
|
|
793
|
+
"label" => nil,
|
|
794
|
+
"similarity" => nil
|
|
795
|
+
}.freeze
|
|
796
|
+
end
|
|
797
|
+
|
|
798
|
+
# FaceWatchlistMetadata.
|
|
799
|
+
#
|
|
800
|
+
# @!attribute [r] serverTime
|
|
801
|
+
# @return [String, nil]
|
|
802
|
+
# @!attribute [r] ctx
|
|
803
|
+
# @return [VeriSec::Types::FaceWatchlistMetadataCtx, nil]
|
|
804
|
+
class FaceWatchlistMetadata < VeriSecObject
|
|
805
|
+
FIELDS = {
|
|
806
|
+
"serverTime" => nil,
|
|
807
|
+
"ctx" => "FaceWatchlistMetadataCtx"
|
|
808
|
+
}.freeze
|
|
809
|
+
end
|
|
810
|
+
|
|
811
|
+
# FaceWatchlistMetadataCtx.
|
|
812
|
+
#
|
|
813
|
+
# @!attribute [r] userIp
|
|
814
|
+
# @return [String, nil]
|
|
815
|
+
class FaceWatchlistMetadataCtx < VeriSecObject
|
|
816
|
+
FIELDS = {
|
|
817
|
+
"userIp" => nil
|
|
818
|
+
}.freeze
|
|
819
|
+
end
|
|
820
|
+
|
|
821
|
+
# The answer of Face Cluster.
|
|
822
|
+
#
|
|
823
|
+
# Returned by {VeriSec::Resources::Face#cluster}.
|
|
824
|
+
#
|
|
825
|
+
# @!attribute [r] code
|
|
826
|
+
# @return [Numeric, nil]
|
|
827
|
+
# @!attribute [r] msg
|
|
828
|
+
# @return [String, nil]
|
|
829
|
+
# @!attribute [r] clusters
|
|
830
|
+
# @return [Array<Array<String>>, nil]
|
|
831
|
+
# @!attribute [r] pairs
|
|
832
|
+
# @return [Array<VeriSec::Types::FaceClusterPair>, nil]
|
|
833
|
+
# @!attribute [r] elapsedTime
|
|
834
|
+
# @return [Numeric, nil]
|
|
835
|
+
# @!attribute [r] metadata
|
|
836
|
+
# @return [VeriSec::Types::FaceClusterMetadata, nil]
|
|
837
|
+
class FaceCluster < VeriSecObject
|
|
838
|
+
FIELDS = {
|
|
839
|
+
"code" => nil,
|
|
840
|
+
"msg" => nil,
|
|
841
|
+
"clusters" => nil,
|
|
842
|
+
"pairs" => "FaceClusterPair",
|
|
843
|
+
"elapsedTime" => nil,
|
|
844
|
+
"metadata" => "FaceClusterMetadata"
|
|
845
|
+
}.freeze
|
|
846
|
+
end
|
|
847
|
+
|
|
848
|
+
# FaceClusterPair.
|
|
849
|
+
#
|
|
850
|
+
# @!attribute [r] a
|
|
851
|
+
# @return [String, nil]
|
|
852
|
+
# @!attribute [r] b
|
|
853
|
+
# @return [String, nil]
|
|
854
|
+
# @!attribute [r] similarity
|
|
855
|
+
# @return [Numeric, nil]
|
|
856
|
+
class FaceClusterPair < VeriSecObject
|
|
857
|
+
FIELDS = {
|
|
858
|
+
"a" => nil,
|
|
859
|
+
"b" => nil,
|
|
860
|
+
"similarity" => nil
|
|
861
|
+
}.freeze
|
|
862
|
+
end
|
|
863
|
+
|
|
864
|
+
# FaceClusterMetadata.
|
|
865
|
+
#
|
|
866
|
+
# @!attribute [r] serverTime
|
|
867
|
+
# @return [String, nil]
|
|
868
|
+
# @!attribute [r] ctx
|
|
869
|
+
# @return [VeriSec::Types::FaceClusterMetadataCtx, nil]
|
|
870
|
+
class FaceClusterMetadata < VeriSecObject
|
|
871
|
+
FIELDS = {
|
|
872
|
+
"serverTime" => nil,
|
|
873
|
+
"ctx" => "FaceClusterMetadataCtx"
|
|
874
|
+
}.freeze
|
|
875
|
+
end
|
|
876
|
+
|
|
877
|
+
# FaceClusterMetadataCtx.
|
|
878
|
+
#
|
|
879
|
+
# @!attribute [r] userIp
|
|
880
|
+
# @return [String, nil]
|
|
881
|
+
class FaceClusterMetadataCtx < VeriSecObject
|
|
882
|
+
FIELDS = {
|
|
883
|
+
"userIp" => nil
|
|
884
|
+
}.freeze
|
|
885
|
+
end
|
|
886
|
+
|
|
887
|
+
# The full result of Age Estimation: everything the check found. See the fields listed in the operation.
|
|
888
|
+
#
|
|
889
|
+
# Returned by {VeriSec::Resources::Face#age}.
|
|
890
|
+
#
|
|
891
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
892
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
893
|
+
class FaceAge < VeriSecObject
|
|
894
|
+
FIELDS = {}.freeze
|
|
895
|
+
end
|
|
896
|
+
|
|
897
|
+
# The answer of Age Check.
|
|
898
|
+
#
|
|
899
|
+
# Returned by {VeriSec::Resources::Age#verify}.
|
|
900
|
+
#
|
|
901
|
+
# @!attribute [r] code
|
|
902
|
+
# @return [Numeric, nil]
|
|
903
|
+
# @!attribute [r] msg
|
|
904
|
+
# @return [String, nil]
|
|
905
|
+
# @!attribute [r] age
|
|
906
|
+
# @return [Array<Numeric>, nil]
|
|
907
|
+
# @!attribute [r] allowed
|
|
908
|
+
# @return [Boolean, nil]
|
|
909
|
+
# @!attribute [r] minAge
|
|
910
|
+
# @return [Numeric, nil]
|
|
911
|
+
# @!attribute [r] basis
|
|
912
|
+
# @return [String, nil]
|
|
913
|
+
# @!attribute [r] elapsedTime
|
|
914
|
+
# @return [Numeric, nil]
|
|
915
|
+
# @!attribute [r] metadata
|
|
916
|
+
# @return [VeriSec::Types::AgeVerifyMetadata, nil]
|
|
917
|
+
class AgeVerify < VeriSecObject
|
|
918
|
+
FIELDS = {
|
|
919
|
+
"code" => nil,
|
|
920
|
+
"msg" => nil,
|
|
921
|
+
"age" => nil,
|
|
922
|
+
"allowed" => nil,
|
|
923
|
+
"minAge" => nil,
|
|
924
|
+
"basis" => nil,
|
|
925
|
+
"elapsedTime" => nil,
|
|
926
|
+
"metadata" => "AgeVerifyMetadata"
|
|
927
|
+
}.freeze
|
|
928
|
+
end
|
|
929
|
+
|
|
930
|
+
# AgeVerifyMetadata.
|
|
931
|
+
#
|
|
932
|
+
# @!attribute [r] serverTime
|
|
933
|
+
# @return [String, nil]
|
|
934
|
+
# @!attribute [r] ctx
|
|
935
|
+
# @return [VeriSec::Types::AgeVerifyMetadataCtx, nil]
|
|
936
|
+
class AgeVerifyMetadata < VeriSecObject
|
|
937
|
+
FIELDS = {
|
|
938
|
+
"serverTime" => nil,
|
|
939
|
+
"ctx" => "AgeVerifyMetadataCtx"
|
|
940
|
+
}.freeze
|
|
941
|
+
end
|
|
942
|
+
|
|
943
|
+
# AgeVerifyMetadataCtx.
|
|
944
|
+
#
|
|
945
|
+
# @!attribute [r] userIp
|
|
946
|
+
# @return [String, nil]
|
|
947
|
+
class AgeVerifyMetadataCtx < VeriSecObject
|
|
948
|
+
FIELDS = {
|
|
949
|
+
"userIp" => nil
|
|
950
|
+
}.freeze
|
|
951
|
+
end
|
|
952
|
+
|
|
953
|
+
# The answer of Age Check + Liveness.
|
|
954
|
+
#
|
|
955
|
+
# Returned by {VeriSec::Resources::Age#verify_live}.
|
|
956
|
+
#
|
|
957
|
+
# @!attribute [r] code
|
|
958
|
+
# @return [Numeric, nil]
|
|
959
|
+
# @!attribute [r] msg
|
|
960
|
+
# @return [String, nil]
|
|
961
|
+
# @!attribute [r] age
|
|
962
|
+
# @return [Array<Numeric>, nil]
|
|
963
|
+
# @!attribute [r] allowed
|
|
964
|
+
# @return [Boolean, nil]
|
|
965
|
+
# @!attribute [r] live
|
|
966
|
+
# @return [Boolean, nil]
|
|
967
|
+
# @!attribute [r] basis
|
|
968
|
+
# @return [String, nil]
|
|
969
|
+
# @!attribute [r] elapsedTime
|
|
970
|
+
# @return [Numeric, nil]
|
|
971
|
+
# @!attribute [r] metadata
|
|
972
|
+
# @return [VeriSec::Types::AgeVerifyLiveMetadata, nil]
|
|
973
|
+
class AgeVerifyLive < VeriSecObject
|
|
974
|
+
FIELDS = {
|
|
975
|
+
"code" => nil,
|
|
976
|
+
"msg" => nil,
|
|
977
|
+
"age" => nil,
|
|
978
|
+
"allowed" => nil,
|
|
979
|
+
"live" => nil,
|
|
980
|
+
"basis" => nil,
|
|
981
|
+
"elapsedTime" => nil,
|
|
982
|
+
"metadata" => "AgeVerifyLiveMetadata"
|
|
983
|
+
}.freeze
|
|
984
|
+
end
|
|
985
|
+
|
|
986
|
+
# AgeVerifyLiveMetadata.
|
|
987
|
+
#
|
|
988
|
+
# @!attribute [r] serverTime
|
|
989
|
+
# @return [String, nil]
|
|
990
|
+
# @!attribute [r] ctx
|
|
991
|
+
# @return [VeriSec::Types::AgeVerifyLiveMetadataCtx, nil]
|
|
992
|
+
class AgeVerifyLiveMetadata < VeriSecObject
|
|
993
|
+
FIELDS = {
|
|
994
|
+
"serverTime" => nil,
|
|
995
|
+
"ctx" => "AgeVerifyLiveMetadataCtx"
|
|
996
|
+
}.freeze
|
|
997
|
+
end
|
|
998
|
+
|
|
999
|
+
# AgeVerifyLiveMetadataCtx.
|
|
1000
|
+
#
|
|
1001
|
+
# @!attribute [r] userIp
|
|
1002
|
+
# @return [String, nil]
|
|
1003
|
+
class AgeVerifyLiveMetadataCtx < VeriSecObject
|
|
1004
|
+
FIELDS = {
|
|
1005
|
+
"userIp" => nil
|
|
1006
|
+
}.freeze
|
|
1007
|
+
end
|
|
1008
|
+
|
|
1009
|
+
# The full result of Photo Quality: everything the check found. See the fields listed in the operation.
|
|
1010
|
+
#
|
|
1011
|
+
# Returned by {VeriSec::Resources::Face#quality}.
|
|
1012
|
+
#
|
|
1013
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
1014
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
1015
|
+
class FaceQuality < VeriSecObject
|
|
1016
|
+
FIELDS = {}.freeze
|
|
1017
|
+
end
|
|
1018
|
+
|
|
1019
|
+
# The answer of Photo Compliance.
|
|
1020
|
+
#
|
|
1021
|
+
# Returned by {VeriSec::Resources::Photo#compliance}.
|
|
1022
|
+
#
|
|
1023
|
+
# @!attribute [r] code
|
|
1024
|
+
# @return [Numeric, nil]
|
|
1025
|
+
# @!attribute [r] msg
|
|
1026
|
+
# @return [String, nil]
|
|
1027
|
+
# @!attribute [r] compliant
|
|
1028
|
+
# @return [Boolean, nil]
|
|
1029
|
+
# @!attribute [r] nonCompliant
|
|
1030
|
+
# @return [Array<Object>, nil]
|
|
1031
|
+
# @!attribute [r] checks
|
|
1032
|
+
# @return [Array<VeriSec::Types::PhotoComplianceCheck>, nil]
|
|
1033
|
+
# @!attribute [r] standard
|
|
1034
|
+
# @return [String, nil]
|
|
1035
|
+
# @!attribute [r] elapsedTime
|
|
1036
|
+
# @return [Numeric, nil]
|
|
1037
|
+
# @!attribute [r] metadata
|
|
1038
|
+
# @return [VeriSec::Types::PhotoComplianceMetadata, nil]
|
|
1039
|
+
class PhotoCompliance < VeriSecObject
|
|
1040
|
+
FIELDS = {
|
|
1041
|
+
"code" => nil,
|
|
1042
|
+
"msg" => nil,
|
|
1043
|
+
"compliant" => nil,
|
|
1044
|
+
"nonCompliant" => nil,
|
|
1045
|
+
"checks" => "PhotoComplianceCheck",
|
|
1046
|
+
"standard" => nil,
|
|
1047
|
+
"elapsedTime" => nil,
|
|
1048
|
+
"metadata" => "PhotoComplianceMetadata"
|
|
1049
|
+
}.freeze
|
|
1050
|
+
end
|
|
1051
|
+
|
|
1052
|
+
# PhotoComplianceCheck.
|
|
1053
|
+
#
|
|
1054
|
+
# @!attribute [r] groupId
|
|
1055
|
+
# @return [Numeric, nil]
|
|
1056
|
+
# @!attribute [r] name
|
|
1057
|
+
# @return [String, nil]
|
|
1058
|
+
# @!attribute [r] range
|
|
1059
|
+
# @return [Array<Numeric>, nil]
|
|
1060
|
+
# @!attribute [r] status
|
|
1061
|
+
# @return [Numeric, nil]
|
|
1062
|
+
# @!attribute [r] value
|
|
1063
|
+
# @return [Numeric, nil]
|
|
1064
|
+
class PhotoComplianceCheck < VeriSecObject
|
|
1065
|
+
FIELDS = {
|
|
1066
|
+
"groupId" => nil,
|
|
1067
|
+
"name" => nil,
|
|
1068
|
+
"range" => nil,
|
|
1069
|
+
"status" => nil,
|
|
1070
|
+
"value" => nil
|
|
1071
|
+
}.freeze
|
|
1072
|
+
end
|
|
1073
|
+
|
|
1074
|
+
# PhotoComplianceMetadata.
|
|
1075
|
+
#
|
|
1076
|
+
# @!attribute [r] serverTime
|
|
1077
|
+
# @return [String, nil]
|
|
1078
|
+
# @!attribute [r] ctx
|
|
1079
|
+
# @return [VeriSec::Types::PhotoComplianceMetadataCtx, nil]
|
|
1080
|
+
class PhotoComplianceMetadata < VeriSecObject
|
|
1081
|
+
FIELDS = {
|
|
1082
|
+
"serverTime" => nil,
|
|
1083
|
+
"ctx" => "PhotoComplianceMetadataCtx"
|
|
1084
|
+
}.freeze
|
|
1085
|
+
end
|
|
1086
|
+
|
|
1087
|
+
# PhotoComplianceMetadataCtx.
|
|
1088
|
+
#
|
|
1089
|
+
# @!attribute [r] userIp
|
|
1090
|
+
# @return [String, nil]
|
|
1091
|
+
class PhotoComplianceMetadataCtx < VeriSecObject
|
|
1092
|
+
FIELDS = {
|
|
1093
|
+
"userIp" => nil
|
|
1094
|
+
}.freeze
|
|
1095
|
+
end
|
|
1096
|
+
|
|
1097
|
+
# The answer of Photo Policy.
|
|
1098
|
+
#
|
|
1099
|
+
# Returned by {VeriSec::Resources::Photo#policy}.
|
|
1100
|
+
#
|
|
1101
|
+
# @!attribute [r] code
|
|
1102
|
+
# @return [Numeric, nil]
|
|
1103
|
+
# @!attribute [r] msg
|
|
1104
|
+
# @return [String, nil]
|
|
1105
|
+
# @!attribute [r] pass
|
|
1106
|
+
# @return [Boolean, nil]
|
|
1107
|
+
# @!attribute [r] failed
|
|
1108
|
+
# @return [Array<Object>, nil]
|
|
1109
|
+
# @!attribute [r] checks
|
|
1110
|
+
# @return [Array<VeriSec::Types::PhotoPolicyCheck>, nil]
|
|
1111
|
+
# @!attribute [r] elapsedTime
|
|
1112
|
+
# @return [Numeric, nil]
|
|
1113
|
+
# @!attribute [r] metadata
|
|
1114
|
+
# @return [VeriSec::Types::PhotoPolicyMetadata, nil]
|
|
1115
|
+
class PhotoPolicy < VeriSecObject
|
|
1116
|
+
FIELDS = {
|
|
1117
|
+
"code" => nil,
|
|
1118
|
+
"msg" => nil,
|
|
1119
|
+
"pass" => nil,
|
|
1120
|
+
"failed" => nil,
|
|
1121
|
+
"checks" => "PhotoPolicyCheck",
|
|
1122
|
+
"elapsedTime" => nil,
|
|
1123
|
+
"metadata" => "PhotoPolicyMetadata"
|
|
1124
|
+
}.freeze
|
|
1125
|
+
end
|
|
1126
|
+
|
|
1127
|
+
# PhotoPolicyCheck.
|
|
1128
|
+
#
|
|
1129
|
+
# @!attribute [r] name
|
|
1130
|
+
# @return [String, nil]
|
|
1131
|
+
# @!attribute [r] range
|
|
1132
|
+
# @return [Array<Numeric>, nil]
|
|
1133
|
+
# @!attribute [r] value
|
|
1134
|
+
# @return [Numeric, nil]
|
|
1135
|
+
# @!attribute [r] status
|
|
1136
|
+
# @return [Numeric, nil]
|
|
1137
|
+
class PhotoPolicyCheck < VeriSecObject
|
|
1138
|
+
FIELDS = {
|
|
1139
|
+
"name" => nil,
|
|
1140
|
+
"range" => nil,
|
|
1141
|
+
"value" => nil,
|
|
1142
|
+
"status" => nil
|
|
1143
|
+
}.freeze
|
|
1144
|
+
end
|
|
1145
|
+
|
|
1146
|
+
# PhotoPolicyMetadata.
|
|
1147
|
+
#
|
|
1148
|
+
# @!attribute [r] serverTime
|
|
1149
|
+
# @return [String, nil]
|
|
1150
|
+
# @!attribute [r] ctx
|
|
1151
|
+
# @return [VeriSec::Types::PhotoPolicyMetadataCtx, nil]
|
|
1152
|
+
class PhotoPolicyMetadata < VeriSecObject
|
|
1153
|
+
FIELDS = {
|
|
1154
|
+
"serverTime" => nil,
|
|
1155
|
+
"ctx" => "PhotoPolicyMetadataCtx"
|
|
1156
|
+
}.freeze
|
|
1157
|
+
end
|
|
1158
|
+
|
|
1159
|
+
# PhotoPolicyMetadataCtx.
|
|
1160
|
+
#
|
|
1161
|
+
# @!attribute [r] userIp
|
|
1162
|
+
# @return [String, nil]
|
|
1163
|
+
class PhotoPolicyMetadataCtx < VeriSecObject
|
|
1164
|
+
FIELDS = {
|
|
1165
|
+
"userIp" => nil
|
|
1166
|
+
}.freeze
|
|
1167
|
+
end
|
|
1168
|
+
|
|
1169
|
+
# The answer of Quality Gate.
|
|
1170
|
+
#
|
|
1171
|
+
# Returned by {VeriSec::Resources::Photo#gate}.
|
|
1172
|
+
#
|
|
1173
|
+
# @!attribute [r] code
|
|
1174
|
+
# @return [Numeric, nil]
|
|
1175
|
+
# @!attribute [r] msg
|
|
1176
|
+
# @return [String, nil]
|
|
1177
|
+
# @!attribute [r] ok
|
|
1178
|
+
# @return [Boolean, nil]
|
|
1179
|
+
# @!attribute [r] failed
|
|
1180
|
+
# @return [Array<Object>, nil]
|
|
1181
|
+
# @!attribute [r] elapsedTime
|
|
1182
|
+
# @return [Numeric, nil]
|
|
1183
|
+
# @!attribute [r] metadata
|
|
1184
|
+
# @return [VeriSec::Types::PhotoGateMetadata, nil]
|
|
1185
|
+
class PhotoGate < VeriSecObject
|
|
1186
|
+
FIELDS = {
|
|
1187
|
+
"code" => nil,
|
|
1188
|
+
"msg" => nil,
|
|
1189
|
+
"ok" => nil,
|
|
1190
|
+
"failed" => nil,
|
|
1191
|
+
"elapsedTime" => nil,
|
|
1192
|
+
"metadata" => "PhotoGateMetadata"
|
|
1193
|
+
}.freeze
|
|
1194
|
+
end
|
|
1195
|
+
|
|
1196
|
+
# PhotoGateMetadata.
|
|
1197
|
+
#
|
|
1198
|
+
# @!attribute [r] serverTime
|
|
1199
|
+
# @return [String, nil]
|
|
1200
|
+
# @!attribute [r] ctx
|
|
1201
|
+
# @return [VeriSec::Types::PhotoGateMetadataCtx, nil]
|
|
1202
|
+
class PhotoGateMetadata < VeriSecObject
|
|
1203
|
+
FIELDS = {
|
|
1204
|
+
"serverTime" => nil,
|
|
1205
|
+
"ctx" => "PhotoGateMetadataCtx"
|
|
1206
|
+
}.freeze
|
|
1207
|
+
end
|
|
1208
|
+
|
|
1209
|
+
# PhotoGateMetadataCtx.
|
|
1210
|
+
#
|
|
1211
|
+
# @!attribute [r] userIp
|
|
1212
|
+
# @return [String, nil]
|
|
1213
|
+
class PhotoGateMetadataCtx < VeriSecObject
|
|
1214
|
+
FIELDS = {
|
|
1215
|
+
"userIp" => nil
|
|
1216
|
+
}.freeze
|
|
1217
|
+
end
|
|
1218
|
+
|
|
1219
|
+
# The answer of Photo Auto-fix.
|
|
1220
|
+
#
|
|
1221
|
+
# Returned by {VeriSec::Resources::Photo#autofix}.
|
|
1222
|
+
#
|
|
1223
|
+
# @!attribute [r] code
|
|
1224
|
+
# @return [Numeric, nil]
|
|
1225
|
+
# @!attribute [r] msg
|
|
1226
|
+
# @return [String, nil]
|
|
1227
|
+
# @!attribute [r] image
|
|
1228
|
+
# @return [String, nil]
|
|
1229
|
+
# @!attribute [r] aspect
|
|
1230
|
+
# @return [String, nil]
|
|
1231
|
+
# @!attribute [r] elapsedTime
|
|
1232
|
+
# @return [Numeric, nil]
|
|
1233
|
+
# @!attribute [r] metadata
|
|
1234
|
+
# @return [VeriSec::Types::PhotoAutofixMetadata, nil]
|
|
1235
|
+
class PhotoAutofix < VeriSecObject
|
|
1236
|
+
FIELDS = {
|
|
1237
|
+
"code" => nil,
|
|
1238
|
+
"msg" => nil,
|
|
1239
|
+
"image" => nil,
|
|
1240
|
+
"aspect" => nil,
|
|
1241
|
+
"elapsedTime" => nil,
|
|
1242
|
+
"metadata" => "PhotoAutofixMetadata"
|
|
1243
|
+
}.freeze
|
|
1244
|
+
end
|
|
1245
|
+
|
|
1246
|
+
# PhotoAutofixMetadata.
|
|
1247
|
+
#
|
|
1248
|
+
# @!attribute [r] serverTime
|
|
1249
|
+
# @return [String, nil]
|
|
1250
|
+
# @!attribute [r] ctx
|
|
1251
|
+
# @return [VeriSec::Types::PhotoAutofixMetadataCtx, nil]
|
|
1252
|
+
class PhotoAutofixMetadata < VeriSecObject
|
|
1253
|
+
FIELDS = {
|
|
1254
|
+
"serverTime" => nil,
|
|
1255
|
+
"ctx" => "PhotoAutofixMetadataCtx"
|
|
1256
|
+
}.freeze
|
|
1257
|
+
end
|
|
1258
|
+
|
|
1259
|
+
# PhotoAutofixMetadataCtx.
|
|
1260
|
+
#
|
|
1261
|
+
# @!attribute [r] userIp
|
|
1262
|
+
# @return [String, nil]
|
|
1263
|
+
class PhotoAutofixMetadataCtx < VeriSecObject
|
|
1264
|
+
FIELDS = {
|
|
1265
|
+
"userIp" => nil
|
|
1266
|
+
}.freeze
|
|
1267
|
+
end
|
|
1268
|
+
|
|
1269
|
+
# The answer of Best Frame.
|
|
1270
|
+
#
|
|
1271
|
+
# Returned by {VeriSec::Resources::Photo#best_frame}.
|
|
1272
|
+
#
|
|
1273
|
+
# @!attribute [r] code
|
|
1274
|
+
# @return [Numeric, nil]
|
|
1275
|
+
# @!attribute [r] msg
|
|
1276
|
+
# @return [String, nil]
|
|
1277
|
+
# @!attribute [r] bestIndex
|
|
1278
|
+
# @return [Numeric, nil]
|
|
1279
|
+
# @!attribute [r] ranking
|
|
1280
|
+
# @return [Array<VeriSec::Types::PhotoBestFrameRanking>, nil]
|
|
1281
|
+
# @!attribute [r] elapsedTime
|
|
1282
|
+
# @return [Numeric, nil]
|
|
1283
|
+
# @!attribute [r] metadata
|
|
1284
|
+
# @return [VeriSec::Types::PhotoBestFrameMetadata, nil]
|
|
1285
|
+
class PhotoBestFrame < VeriSecObject
|
|
1286
|
+
FIELDS = {
|
|
1287
|
+
"code" => nil,
|
|
1288
|
+
"msg" => nil,
|
|
1289
|
+
"bestIndex" => nil,
|
|
1290
|
+
"ranking" => "PhotoBestFrameRanking",
|
|
1291
|
+
"elapsedTime" => nil,
|
|
1292
|
+
"metadata" => "PhotoBestFrameMetadata"
|
|
1293
|
+
}.freeze
|
|
1294
|
+
end
|
|
1295
|
+
|
|
1296
|
+
# PhotoBestFrameRanking.
|
|
1297
|
+
#
|
|
1298
|
+
# @!attribute [r] index
|
|
1299
|
+
# @return [Numeric, nil]
|
|
1300
|
+
# @!attribute [r] compliant
|
|
1301
|
+
# @return [Boolean, nil]
|
|
1302
|
+
# @!attribute [r] failedCount
|
|
1303
|
+
# @return [Object, nil]
|
|
1304
|
+
class PhotoBestFrameRanking < VeriSecObject
|
|
1305
|
+
FIELDS = {
|
|
1306
|
+
"index" => nil,
|
|
1307
|
+
"compliant" => nil,
|
|
1308
|
+
"failedCount" => nil
|
|
1309
|
+
}.freeze
|
|
1310
|
+
end
|
|
1311
|
+
|
|
1312
|
+
# PhotoBestFrameMetadata.
|
|
1313
|
+
#
|
|
1314
|
+
# @!attribute [r] serverTime
|
|
1315
|
+
# @return [String, nil]
|
|
1316
|
+
# @!attribute [r] ctx
|
|
1317
|
+
# @return [VeriSec::Types::PhotoBestFrameMetadataCtx, nil]
|
|
1318
|
+
class PhotoBestFrameMetadata < VeriSecObject
|
|
1319
|
+
FIELDS = {
|
|
1320
|
+
"serverTime" => nil,
|
|
1321
|
+
"ctx" => "PhotoBestFrameMetadataCtx"
|
|
1322
|
+
}.freeze
|
|
1323
|
+
end
|
|
1324
|
+
|
|
1325
|
+
# PhotoBestFrameMetadataCtx.
|
|
1326
|
+
#
|
|
1327
|
+
# @!attribute [r] userIp
|
|
1328
|
+
# @return [String, nil]
|
|
1329
|
+
class PhotoBestFrameMetadataCtx < VeriSecObject
|
|
1330
|
+
FIELDS = {
|
|
1331
|
+
"userIp" => nil
|
|
1332
|
+
}.freeze
|
|
1333
|
+
end
|
|
1334
|
+
|
|
1335
|
+
# The full result of Liveness: everything the check found. See the fields listed in the operation.
|
|
1336
|
+
#
|
|
1337
|
+
# Returned by {VeriSec::Resources::Liveness#check}.
|
|
1338
|
+
#
|
|
1339
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
1340
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
1341
|
+
class LivenessCheck < VeriSecObject
|
|
1342
|
+
FIELDS = {}.freeze
|
|
1343
|
+
end
|
|
1344
|
+
|
|
1345
|
+
# The answer of Anti-spoof Reason.
|
|
1346
|
+
#
|
|
1347
|
+
# Returned by {VeriSec::Resources::Liveness#antispoof}.
|
|
1348
|
+
#
|
|
1349
|
+
# @!attribute [r] code
|
|
1350
|
+
# @return [Numeric, nil]
|
|
1351
|
+
# @!attribute [r] live
|
|
1352
|
+
# @return [Boolean, nil]
|
|
1353
|
+
# @!attribute [r] reason
|
|
1354
|
+
# @return [String, nil]
|
|
1355
|
+
# @!attribute [r] reasonCode
|
|
1356
|
+
# @return [Numeric, nil]
|
|
1357
|
+
# @!attribute [r] category
|
|
1358
|
+
# @return [String, nil]
|
|
1359
|
+
# @!attribute [r] elapsedTime
|
|
1360
|
+
# @return [Numeric, nil]
|
|
1361
|
+
# @!attribute [r] metadata
|
|
1362
|
+
# @return [VeriSec::Types::LivenessAntispoofMetadata, nil]
|
|
1363
|
+
class LivenessAntispoof < VeriSecObject
|
|
1364
|
+
FIELDS = {
|
|
1365
|
+
"code" => nil,
|
|
1366
|
+
"live" => nil,
|
|
1367
|
+
"reason" => nil,
|
|
1368
|
+
"reasonCode" => nil,
|
|
1369
|
+
"category" => nil,
|
|
1370
|
+
"elapsedTime" => nil,
|
|
1371
|
+
"metadata" => "LivenessAntispoofMetadata"
|
|
1372
|
+
}.freeze
|
|
1373
|
+
end
|
|
1374
|
+
|
|
1375
|
+
# LivenessAntispoofMetadata.
|
|
1376
|
+
#
|
|
1377
|
+
# @!attribute [r] elapsedTime
|
|
1378
|
+
# @return [Numeric, nil]
|
|
1379
|
+
# @!attribute [r] serverTime
|
|
1380
|
+
# @return [String, nil]
|
|
1381
|
+
# @!attribute [r] ctx
|
|
1382
|
+
# @return [VeriSec::Types::LivenessAntispoofMetadataCtx, nil]
|
|
1383
|
+
class LivenessAntispoofMetadata < VeriSecObject
|
|
1384
|
+
FIELDS = {
|
|
1385
|
+
"elapsedTime" => nil,
|
|
1386
|
+
"serverTime" => nil,
|
|
1387
|
+
"ctx" => "LivenessAntispoofMetadataCtx"
|
|
1388
|
+
}.freeze
|
|
1389
|
+
end
|
|
1390
|
+
|
|
1391
|
+
# LivenessAntispoofMetadataCtx.
|
|
1392
|
+
#
|
|
1393
|
+
# @!attribute [r] userIp
|
|
1394
|
+
# @return [String, nil]
|
|
1395
|
+
class LivenessAntispoofMetadataCtx < VeriSecObject
|
|
1396
|
+
FIELDS = {
|
|
1397
|
+
"userIp" => nil
|
|
1398
|
+
}.freeze
|
|
1399
|
+
end
|
|
1400
|
+
|
|
1401
|
+
# The answer of Liveness Gate.
|
|
1402
|
+
#
|
|
1403
|
+
# Returned by {VeriSec::Resources::Liveness#gate}.
|
|
1404
|
+
#
|
|
1405
|
+
# @!attribute [r] code
|
|
1406
|
+
# @return [Numeric, nil]
|
|
1407
|
+
# @!attribute [r] pass
|
|
1408
|
+
# @return [Boolean, nil]
|
|
1409
|
+
# @!attribute [r] status
|
|
1410
|
+
# @return [Numeric, nil]
|
|
1411
|
+
# @!attribute [r] elapsedTime
|
|
1412
|
+
# @return [Numeric, nil]
|
|
1413
|
+
# @!attribute [r] metadata
|
|
1414
|
+
# @return [VeriSec::Types::LivenessGateMetadata, nil]
|
|
1415
|
+
class LivenessGate < VeriSecObject
|
|
1416
|
+
FIELDS = {
|
|
1417
|
+
"code" => nil,
|
|
1418
|
+
"pass" => nil,
|
|
1419
|
+
"status" => nil,
|
|
1420
|
+
"elapsedTime" => nil,
|
|
1421
|
+
"metadata" => "LivenessGateMetadata"
|
|
1422
|
+
}.freeze
|
|
1423
|
+
end
|
|
1424
|
+
|
|
1425
|
+
# LivenessGateMetadata.
|
|
1426
|
+
#
|
|
1427
|
+
# @!attribute [r] elapsedTime
|
|
1428
|
+
# @return [Numeric, nil]
|
|
1429
|
+
# @!attribute [r] serverTime
|
|
1430
|
+
# @return [String, nil]
|
|
1431
|
+
# @!attribute [r] ctx
|
|
1432
|
+
# @return [VeriSec::Types::LivenessGateMetadataCtx, nil]
|
|
1433
|
+
class LivenessGateMetadata < VeriSecObject
|
|
1434
|
+
FIELDS = {
|
|
1435
|
+
"elapsedTime" => nil,
|
|
1436
|
+
"serverTime" => nil,
|
|
1437
|
+
"ctx" => "LivenessGateMetadataCtx"
|
|
1438
|
+
}.freeze
|
|
1439
|
+
end
|
|
1440
|
+
|
|
1441
|
+
# LivenessGateMetadataCtx.
|
|
1442
|
+
#
|
|
1443
|
+
# @!attribute [r] userIp
|
|
1444
|
+
# @return [String, nil]
|
|
1445
|
+
class LivenessGateMetadataCtx < VeriSecObject
|
|
1446
|
+
FIELDS = {
|
|
1447
|
+
"userIp" => nil
|
|
1448
|
+
}.freeze
|
|
1449
|
+
end
|
|
1450
|
+
|
|
1451
|
+
# The answer of Identity Verification.
|
|
1452
|
+
#
|
|
1453
|
+
# Returned by {VeriSec::Resources::Identity#verify}.
|
|
1454
|
+
#
|
|
1455
|
+
# @!attribute [r] code
|
|
1456
|
+
# @return [Numeric, nil]
|
|
1457
|
+
# @!attribute [r] msg
|
|
1458
|
+
# @return [String, nil]
|
|
1459
|
+
# @!attribute [r] verified
|
|
1460
|
+
# @return [Boolean, nil]
|
|
1461
|
+
# @!attribute [r] live
|
|
1462
|
+
# @return [Boolean, nil]
|
|
1463
|
+
# @!attribute [r] qualityOk
|
|
1464
|
+
# @return [Boolean, nil]
|
|
1465
|
+
# @!attribute [r] similarity
|
|
1466
|
+
# @return [Numeric, nil]
|
|
1467
|
+
# @!attribute [r] steps
|
|
1468
|
+
# @return [VeriSec::Types::IdentityVerifySteps, nil]
|
|
1469
|
+
# @!attribute [r] elapsedTime
|
|
1470
|
+
# @return [Numeric, nil]
|
|
1471
|
+
# @!attribute [r] metadata
|
|
1472
|
+
# @return [VeriSec::Types::IdentityVerifyMetadata, nil]
|
|
1473
|
+
class IdentityVerify < VeriSecObject
|
|
1474
|
+
FIELDS = {
|
|
1475
|
+
"code" => nil,
|
|
1476
|
+
"msg" => nil,
|
|
1477
|
+
"verified" => nil,
|
|
1478
|
+
"live" => nil,
|
|
1479
|
+
"qualityOk" => nil,
|
|
1480
|
+
"similarity" => nil,
|
|
1481
|
+
"steps" => "IdentityVerifySteps",
|
|
1482
|
+
"elapsedTime" => nil,
|
|
1483
|
+
"metadata" => "IdentityVerifyMetadata"
|
|
1484
|
+
}.freeze
|
|
1485
|
+
end
|
|
1486
|
+
|
|
1487
|
+
# IdentityVerifySteps.
|
|
1488
|
+
#
|
|
1489
|
+
# @!attribute [r] liveness
|
|
1490
|
+
# @return [VeriSec::Types::IdentityVerifyStepsLiveness, nil]
|
|
1491
|
+
# @!attribute [r] quality
|
|
1492
|
+
# @return [VeriSec::Types::IdentityVerifyStepsQuality, nil]
|
|
1493
|
+
# @!attribute [r] match
|
|
1494
|
+
# @return [VeriSec::Types::IdentityVerifyStepsMatch, nil]
|
|
1495
|
+
class IdentityVerifySteps < VeriSecObject
|
|
1496
|
+
FIELDS = {
|
|
1497
|
+
"liveness" => "IdentityVerifyStepsLiveness",
|
|
1498
|
+
"quality" => "IdentityVerifyStepsQuality",
|
|
1499
|
+
"match" => "IdentityVerifyStepsMatch"
|
|
1500
|
+
}.freeze
|
|
1501
|
+
end
|
|
1502
|
+
|
|
1503
|
+
# IdentityVerifyStepsLiveness.
|
|
1504
|
+
#
|
|
1505
|
+
# @!attribute [r] live
|
|
1506
|
+
# @return [Boolean, nil]
|
|
1507
|
+
# @!attribute [r] status
|
|
1508
|
+
# @return [Numeric, nil]
|
|
1509
|
+
# @!attribute [r] reasonCode
|
|
1510
|
+
# @return [Numeric, nil]
|
|
1511
|
+
class IdentityVerifyStepsLiveness < VeriSecObject
|
|
1512
|
+
FIELDS = {
|
|
1513
|
+
"live" => nil,
|
|
1514
|
+
"status" => nil,
|
|
1515
|
+
"reasonCode" => nil
|
|
1516
|
+
}.freeze
|
|
1517
|
+
end
|
|
1518
|
+
|
|
1519
|
+
# IdentityVerifyStepsQuality.
|
|
1520
|
+
#
|
|
1521
|
+
# @!attribute [r] ok
|
|
1522
|
+
# @return [Boolean, nil]
|
|
1523
|
+
# @!attribute [r] failed
|
|
1524
|
+
# @return [Array<String>, nil]
|
|
1525
|
+
# @!attribute [r] checked
|
|
1526
|
+
# @return [Array<String>, nil]
|
|
1527
|
+
class IdentityVerifyStepsQuality < VeriSecObject
|
|
1528
|
+
FIELDS = {
|
|
1529
|
+
"ok" => nil,
|
|
1530
|
+
"failed" => nil,
|
|
1531
|
+
"checked" => nil
|
|
1532
|
+
}.freeze
|
|
1533
|
+
end
|
|
1534
|
+
|
|
1535
|
+
# IdentityVerifyStepsMatch.
|
|
1536
|
+
#
|
|
1537
|
+
# @!attribute [r] similarity
|
|
1538
|
+
# @return [Numeric, nil]
|
|
1539
|
+
# @!attribute [r] score
|
|
1540
|
+
# @return [Numeric, nil]
|
|
1541
|
+
# @!attribute [r] match
|
|
1542
|
+
# @return [Boolean, nil]
|
|
1543
|
+
# @!attribute [r] threshold
|
|
1544
|
+
# @return [Numeric, nil]
|
|
1545
|
+
class IdentityVerifyStepsMatch < VeriSecObject
|
|
1546
|
+
FIELDS = {
|
|
1547
|
+
"similarity" => nil,
|
|
1548
|
+
"score" => nil,
|
|
1549
|
+
"match" => nil,
|
|
1550
|
+
"threshold" => nil
|
|
1551
|
+
}.freeze
|
|
1552
|
+
end
|
|
1553
|
+
|
|
1554
|
+
# IdentityVerifyMetadata.
|
|
1555
|
+
#
|
|
1556
|
+
# @!attribute [r] serverTime
|
|
1557
|
+
# @return [String, nil]
|
|
1558
|
+
# @!attribute [r] ctx
|
|
1559
|
+
# @return [VeriSec::Types::IdentityVerifyMetadataCtx, nil]
|
|
1560
|
+
class IdentityVerifyMetadata < VeriSecObject
|
|
1561
|
+
FIELDS = {
|
|
1562
|
+
"serverTime" => nil,
|
|
1563
|
+
"ctx" => "IdentityVerifyMetadataCtx"
|
|
1564
|
+
}.freeze
|
|
1565
|
+
end
|
|
1566
|
+
|
|
1567
|
+
# IdentityVerifyMetadataCtx.
|
|
1568
|
+
#
|
|
1569
|
+
# @!attribute [r] userIp
|
|
1570
|
+
# @return [String, nil]
|
|
1571
|
+
class IdentityVerifyMetadataCtx < VeriSecObject
|
|
1572
|
+
FIELDS = {
|
|
1573
|
+
"userIp" => nil
|
|
1574
|
+
}.freeze
|
|
1575
|
+
end
|
|
1576
|
+
|
|
1577
|
+
# The answer of Face Login.
|
|
1578
|
+
#
|
|
1579
|
+
# Returned by {VeriSec::Resources::FaceLogin#authenticate}.
|
|
1580
|
+
#
|
|
1581
|
+
# @!attribute [r] code
|
|
1582
|
+
# @return [Numeric, nil]
|
|
1583
|
+
# @!attribute [r] msg
|
|
1584
|
+
# @return [String, nil]
|
|
1585
|
+
# @!attribute [r] authenticated
|
|
1586
|
+
# @return [Boolean, nil]
|
|
1587
|
+
# @!attribute [r] userId
|
|
1588
|
+
# @return [Object, nil]
|
|
1589
|
+
# @!attribute [r] similarity
|
|
1590
|
+
# @return [Numeric, nil]
|
|
1591
|
+
# @!attribute [r] live
|
|
1592
|
+
# @return [Boolean, nil]
|
|
1593
|
+
# @!attribute [r] elapsedTime
|
|
1594
|
+
# @return [Numeric, nil]
|
|
1595
|
+
# @!attribute [r] metadata
|
|
1596
|
+
# @return [VeriSec::Types::FaceLoginAuthenticateMetadata, nil]
|
|
1597
|
+
class FaceLoginAuthenticate < VeriSecObject
|
|
1598
|
+
FIELDS = {
|
|
1599
|
+
"code" => nil,
|
|
1600
|
+
"msg" => nil,
|
|
1601
|
+
"authenticated" => nil,
|
|
1602
|
+
"userId" => nil,
|
|
1603
|
+
"similarity" => nil,
|
|
1604
|
+
"live" => nil,
|
|
1605
|
+
"elapsedTime" => nil,
|
|
1606
|
+
"metadata" => "FaceLoginAuthenticateMetadata"
|
|
1607
|
+
}.freeze
|
|
1608
|
+
end
|
|
1609
|
+
|
|
1610
|
+
# FaceLoginAuthenticateMetadata.
|
|
1611
|
+
#
|
|
1612
|
+
# @!attribute [r] serverTime
|
|
1613
|
+
# @return [String, nil]
|
|
1614
|
+
# @!attribute [r] ctx
|
|
1615
|
+
# @return [VeriSec::Types::FaceLoginAuthenticateMetadataCtx, nil]
|
|
1616
|
+
class FaceLoginAuthenticateMetadata < VeriSecObject
|
|
1617
|
+
FIELDS = {
|
|
1618
|
+
"serverTime" => nil,
|
|
1619
|
+
"ctx" => "FaceLoginAuthenticateMetadataCtx"
|
|
1620
|
+
}.freeze
|
|
1621
|
+
end
|
|
1622
|
+
|
|
1623
|
+
# FaceLoginAuthenticateMetadataCtx.
|
|
1624
|
+
#
|
|
1625
|
+
# @!attribute [r] userIp
|
|
1626
|
+
# @return [String, nil]
|
|
1627
|
+
class FaceLoginAuthenticateMetadataCtx < VeriSecObject
|
|
1628
|
+
FIELDS = {
|
|
1629
|
+
"userIp" => nil
|
|
1630
|
+
}.freeze
|
|
1631
|
+
end
|
|
1632
|
+
|
|
1633
|
+
# The answer of Sign-up Fraud Check.
|
|
1634
|
+
#
|
|
1635
|
+
# Returned by {VeriSec::Resources::Fraud#signup_check}.
|
|
1636
|
+
#
|
|
1637
|
+
# @!attribute [r] code
|
|
1638
|
+
# @return [Numeric, nil]
|
|
1639
|
+
# @!attribute [r] msg
|
|
1640
|
+
# @return [String, nil]
|
|
1641
|
+
# @!attribute [r] allow
|
|
1642
|
+
# @return [Boolean, nil]
|
|
1643
|
+
# @!attribute [r] reason
|
|
1644
|
+
# @return [String, nil]
|
|
1645
|
+
# @!attribute [r] matchedId
|
|
1646
|
+
# @return [String, nil]
|
|
1647
|
+
# @!attribute [r] live
|
|
1648
|
+
# @return [Boolean, nil]
|
|
1649
|
+
# @!attribute [r] elapsedTime
|
|
1650
|
+
# @return [Numeric, nil]
|
|
1651
|
+
# @!attribute [r] metadata
|
|
1652
|
+
# @return [VeriSec::Types::FraudSignupCheckMetadata, nil]
|
|
1653
|
+
class FraudSignupCheck < VeriSecObject
|
|
1654
|
+
FIELDS = {
|
|
1655
|
+
"code" => nil,
|
|
1656
|
+
"msg" => nil,
|
|
1657
|
+
"allow" => nil,
|
|
1658
|
+
"reason" => nil,
|
|
1659
|
+
"matchedId" => nil,
|
|
1660
|
+
"live" => nil,
|
|
1661
|
+
"elapsedTime" => nil,
|
|
1662
|
+
"metadata" => "FraudSignupCheckMetadata"
|
|
1663
|
+
}.freeze
|
|
1664
|
+
end
|
|
1665
|
+
|
|
1666
|
+
# FraudSignupCheckMetadata.
|
|
1667
|
+
#
|
|
1668
|
+
# @!attribute [r] serverTime
|
|
1669
|
+
# @return [String, nil]
|
|
1670
|
+
# @!attribute [r] ctx
|
|
1671
|
+
# @return [VeriSec::Types::FraudSignupCheckMetadataCtx, nil]
|
|
1672
|
+
class FraudSignupCheckMetadata < VeriSecObject
|
|
1673
|
+
FIELDS = {
|
|
1674
|
+
"serverTime" => nil,
|
|
1675
|
+
"ctx" => "FraudSignupCheckMetadataCtx"
|
|
1676
|
+
}.freeze
|
|
1677
|
+
end
|
|
1678
|
+
|
|
1679
|
+
# FraudSignupCheckMetadataCtx.
|
|
1680
|
+
#
|
|
1681
|
+
# @!attribute [r] userIp
|
|
1682
|
+
# @return [String, nil]
|
|
1683
|
+
class FraudSignupCheckMetadataCtx < VeriSecObject
|
|
1684
|
+
FIELDS = {
|
|
1685
|
+
"userIp" => nil
|
|
1686
|
+
}.freeze
|
|
1687
|
+
end
|
|
1688
|
+
|
|
1689
|
+
# The answer of Proctoring Check.
|
|
1690
|
+
#
|
|
1691
|
+
# Returned by {VeriSec::Resources::Proctor#check}.
|
|
1692
|
+
#
|
|
1693
|
+
# @!attribute [r] code
|
|
1694
|
+
# @return [Numeric, nil]
|
|
1695
|
+
# @!attribute [r] msg
|
|
1696
|
+
# @return [String, nil]
|
|
1697
|
+
# @!attribute [r] ok
|
|
1698
|
+
# @return [Boolean, nil]
|
|
1699
|
+
# @!attribute [r] live
|
|
1700
|
+
# @return [Boolean, nil]
|
|
1701
|
+
# @!attribute [r] faceCount
|
|
1702
|
+
# @return [Numeric, nil]
|
|
1703
|
+
# @!attribute [r] offGaze
|
|
1704
|
+
# @return [Numeric, nil]
|
|
1705
|
+
# @!attribute [r] lookingAway
|
|
1706
|
+
# @return [Boolean, nil]
|
|
1707
|
+
# @!attribute [r] maskWorn
|
|
1708
|
+
# @return [Boolean, nil]
|
|
1709
|
+
# @!attribute [r] elapsedTime
|
|
1710
|
+
# @return [Numeric, nil]
|
|
1711
|
+
# @!attribute [r] metadata
|
|
1712
|
+
# @return [VeriSec::Types::ProctorCheckMetadata, nil]
|
|
1713
|
+
class ProctorCheck < VeriSecObject
|
|
1714
|
+
FIELDS = {
|
|
1715
|
+
"code" => nil,
|
|
1716
|
+
"msg" => nil,
|
|
1717
|
+
"ok" => nil,
|
|
1718
|
+
"live" => nil,
|
|
1719
|
+
"faceCount" => nil,
|
|
1720
|
+
"offGaze" => nil,
|
|
1721
|
+
"lookingAway" => nil,
|
|
1722
|
+
"maskWorn" => nil,
|
|
1723
|
+
"elapsedTime" => nil,
|
|
1724
|
+
"metadata" => "ProctorCheckMetadata"
|
|
1725
|
+
}.freeze
|
|
1726
|
+
end
|
|
1727
|
+
|
|
1728
|
+
# ProctorCheckMetadata.
|
|
1729
|
+
#
|
|
1730
|
+
# @!attribute [r] serverTime
|
|
1731
|
+
# @return [String, nil]
|
|
1732
|
+
# @!attribute [r] ctx
|
|
1733
|
+
# @return [VeriSec::Types::ProctorCheckMetadataCtx, nil]
|
|
1734
|
+
class ProctorCheckMetadata < VeriSecObject
|
|
1735
|
+
FIELDS = {
|
|
1736
|
+
"serverTime" => nil,
|
|
1737
|
+
"ctx" => "ProctorCheckMetadataCtx"
|
|
1738
|
+
}.freeze
|
|
1739
|
+
end
|
|
1740
|
+
|
|
1741
|
+
# ProctorCheckMetadataCtx.
|
|
1742
|
+
#
|
|
1743
|
+
# @!attribute [r] userIp
|
|
1744
|
+
# @return [String, nil]
|
|
1745
|
+
class ProctorCheckMetadataCtx < VeriSecObject
|
|
1746
|
+
FIELDS = {
|
|
1747
|
+
"userIp" => nil
|
|
1748
|
+
}.freeze
|
|
1749
|
+
end
|
|
1750
|
+
|
|
1751
|
+
# The answer of Age-gated Checkout.
|
|
1752
|
+
#
|
|
1753
|
+
# Returned by {VeriSec::Resources::AgeGate#checkout}.
|
|
1754
|
+
#
|
|
1755
|
+
# @!attribute [r] code
|
|
1756
|
+
# @return [Numeric, nil]
|
|
1757
|
+
# @!attribute [r] msg
|
|
1758
|
+
# @return [String, nil]
|
|
1759
|
+
# @!attribute [r] allowed
|
|
1760
|
+
# @return [Boolean, nil]
|
|
1761
|
+
# @!attribute [r] age
|
|
1762
|
+
# @return [Array<Numeric>, nil]
|
|
1763
|
+
# @!attribute [r] live
|
|
1764
|
+
# @return [Boolean, nil]
|
|
1765
|
+
# @!attribute [r] elapsedTime
|
|
1766
|
+
# @return [Numeric, nil]
|
|
1767
|
+
# @!attribute [r] metadata
|
|
1768
|
+
# @return [VeriSec::Types::AgeGateCheckoutMetadata, nil]
|
|
1769
|
+
class AgeGateCheckout < VeriSecObject
|
|
1770
|
+
FIELDS = {
|
|
1771
|
+
"code" => nil,
|
|
1772
|
+
"msg" => nil,
|
|
1773
|
+
"allowed" => nil,
|
|
1774
|
+
"age" => nil,
|
|
1775
|
+
"live" => nil,
|
|
1776
|
+
"elapsedTime" => nil,
|
|
1777
|
+
"metadata" => "AgeGateCheckoutMetadata"
|
|
1778
|
+
}.freeze
|
|
1779
|
+
end
|
|
1780
|
+
|
|
1781
|
+
# AgeGateCheckoutMetadata.
|
|
1782
|
+
#
|
|
1783
|
+
# @!attribute [r] serverTime
|
|
1784
|
+
# @return [String, nil]
|
|
1785
|
+
# @!attribute [r] ctx
|
|
1786
|
+
# @return [VeriSec::Types::AgeGateCheckoutMetadataCtx, nil]
|
|
1787
|
+
class AgeGateCheckoutMetadata < VeriSecObject
|
|
1788
|
+
FIELDS = {
|
|
1789
|
+
"serverTime" => nil,
|
|
1790
|
+
"ctx" => "AgeGateCheckoutMetadataCtx"
|
|
1791
|
+
}.freeze
|
|
1792
|
+
end
|
|
1793
|
+
|
|
1794
|
+
# AgeGateCheckoutMetadataCtx.
|
|
1795
|
+
#
|
|
1796
|
+
# @!attribute [r] userIp
|
|
1797
|
+
# @return [String, nil]
|
|
1798
|
+
class AgeGateCheckoutMetadataCtx < VeriSecObject
|
|
1799
|
+
FIELDS = {
|
|
1800
|
+
"userIp" => nil
|
|
1801
|
+
}.freeze
|
|
1802
|
+
end
|
|
1803
|
+
|
|
1804
|
+
# The answer of Photo Kiosk.
|
|
1805
|
+
#
|
|
1806
|
+
# Returned by {VeriSec::Resources::Kiosk#photo}.
|
|
1807
|
+
#
|
|
1808
|
+
# @!attribute [r] code
|
|
1809
|
+
# @return [Numeric, nil]
|
|
1810
|
+
# @!attribute [r] msg
|
|
1811
|
+
# @return [String, nil]
|
|
1812
|
+
# @!attribute [r] compliant
|
|
1813
|
+
# @return [Boolean, nil]
|
|
1814
|
+
# @!attribute [r] nonCompliant
|
|
1815
|
+
# @return [Array<Object>, nil]
|
|
1816
|
+
# @!attribute [r] fixedImage
|
|
1817
|
+
# @return [String, nil]
|
|
1818
|
+
# @!attribute [r] printReady
|
|
1819
|
+
# @return [Boolean, nil]
|
|
1820
|
+
# @!attribute [r] elapsedTime
|
|
1821
|
+
# @return [Numeric, nil]
|
|
1822
|
+
# @!attribute [r] metadata
|
|
1823
|
+
# @return [VeriSec::Types::KioskPhotoMetadata, nil]
|
|
1824
|
+
class KioskPhoto < VeriSecObject
|
|
1825
|
+
FIELDS = {
|
|
1826
|
+
"code" => nil,
|
|
1827
|
+
"msg" => nil,
|
|
1828
|
+
"compliant" => nil,
|
|
1829
|
+
"nonCompliant" => nil,
|
|
1830
|
+
"fixedImage" => nil,
|
|
1831
|
+
"printReady" => nil,
|
|
1832
|
+
"elapsedTime" => nil,
|
|
1833
|
+
"metadata" => "KioskPhotoMetadata"
|
|
1834
|
+
}.freeze
|
|
1835
|
+
end
|
|
1836
|
+
|
|
1837
|
+
# KioskPhotoMetadata.
|
|
1838
|
+
#
|
|
1839
|
+
# @!attribute [r] serverTime
|
|
1840
|
+
# @return [String, nil]
|
|
1841
|
+
# @!attribute [r] ctx
|
|
1842
|
+
# @return [VeriSec::Types::KioskPhotoMetadataCtx, nil]
|
|
1843
|
+
class KioskPhotoMetadata < VeriSecObject
|
|
1844
|
+
FIELDS = {
|
|
1845
|
+
"serverTime" => nil,
|
|
1846
|
+
"ctx" => "KioskPhotoMetadataCtx"
|
|
1847
|
+
}.freeze
|
|
1848
|
+
end
|
|
1849
|
+
|
|
1850
|
+
# KioskPhotoMetadataCtx.
|
|
1851
|
+
#
|
|
1852
|
+
# @!attribute [r] userIp
|
|
1853
|
+
# @return [String, nil]
|
|
1854
|
+
class KioskPhotoMetadataCtx < VeriSecObject
|
|
1855
|
+
FIELDS = {
|
|
1856
|
+
"userIp" => nil
|
|
1857
|
+
}.freeze
|
|
1858
|
+
end
|
|
1859
|
+
|
|
1860
|
+
# The full result of Document Read: everything the check found. See the fields listed in the operation.
|
|
1861
|
+
#
|
|
1862
|
+
# Returned by {VeriSec::Resources::Documents#read}.
|
|
1863
|
+
#
|
|
1864
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
1865
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
1866
|
+
class DocumentRead < VeriSecObject
|
|
1867
|
+
FIELDS = {}.freeze
|
|
1868
|
+
end
|
|
1869
|
+
|
|
1870
|
+
# The answer of Document Classify.
|
|
1871
|
+
#
|
|
1872
|
+
# Returned by {VeriSec::Resources::Documents#classify}.
|
|
1873
|
+
#
|
|
1874
|
+
# @!attribute [r] document_name
|
|
1875
|
+
# @return [String, nil]
|
|
1876
|
+
# @!attribute [r] doc_type
|
|
1877
|
+
# @return [String, nil]
|
|
1878
|
+
# @!attribute [r] category
|
|
1879
|
+
# @return [String, nil]
|
|
1880
|
+
# @!attribute [r] country
|
|
1881
|
+
# @return [String, nil]
|
|
1882
|
+
# @!attribute [r] country_name
|
|
1883
|
+
# @return [String, nil]
|
|
1884
|
+
# @!attribute [r] state
|
|
1885
|
+
# @return [Object, nil]
|
|
1886
|
+
# @!attribute [r] year
|
|
1887
|
+
# @return [String, nil]
|
|
1888
|
+
# @!attribute [r] size
|
|
1889
|
+
# @return [String, nil]
|
|
1890
|
+
# @!attribute [r] has_mrz
|
|
1891
|
+
# @return [Boolean, nil]
|
|
1892
|
+
# @!attribute [r] has_chip
|
|
1893
|
+
# @return [Boolean, nil]
|
|
1894
|
+
# @!attribute [r] deprecated
|
|
1895
|
+
# @return [Boolean, nil]
|
|
1896
|
+
# @!attribute [r] confidence
|
|
1897
|
+
# @return [Numeric, nil]
|
|
1898
|
+
class DocumentClassify < VeriSecObject
|
|
1899
|
+
FIELDS = {
|
|
1900
|
+
"document_name" => nil,
|
|
1901
|
+
"doc_type" => nil,
|
|
1902
|
+
"category" => nil,
|
|
1903
|
+
"country" => nil,
|
|
1904
|
+
"country_name" => nil,
|
|
1905
|
+
"state" => nil,
|
|
1906
|
+
"year" => nil,
|
|
1907
|
+
"size" => nil,
|
|
1908
|
+
"has_mrz" => nil,
|
|
1909
|
+
"has_chip" => nil,
|
|
1910
|
+
"deprecated" => nil,
|
|
1911
|
+
"confidence" => nil
|
|
1912
|
+
}.freeze
|
|
1913
|
+
end
|
|
1914
|
+
|
|
1915
|
+
# The answer of Document MRZ.
|
|
1916
|
+
#
|
|
1917
|
+
# Returned by {VeriSec::Resources::Documents#mrz}.
|
|
1918
|
+
#
|
|
1919
|
+
# @!attribute [r] lines
|
|
1920
|
+
# @return [Array<String>, nil]
|
|
1921
|
+
# @!attribute [r] format
|
|
1922
|
+
# @return [String, nil]
|
|
1923
|
+
# @!attribute [r] valid
|
|
1924
|
+
# @return [Boolean, nil]
|
|
1925
|
+
# @!attribute [r] expired
|
|
1926
|
+
# @return [Boolean, nil]
|
|
1927
|
+
# @!attribute [r] problems
|
|
1928
|
+
# @return [Array<VeriSec::Types::DocumentMrzProblem>, nil]
|
|
1929
|
+
# @!attribute [r] check_digits
|
|
1930
|
+
# @return [VeriSec::Types::DocumentMrzCheckDigits, nil]
|
|
1931
|
+
# @!attribute [r] print_quality
|
|
1932
|
+
# @return [VeriSec::Types::DocumentMrzPrintQuality, nil]
|
|
1933
|
+
# @!attribute [r] parsed
|
|
1934
|
+
# @return [VeriSec::Types::DocumentMrzParsed, nil]
|
|
1935
|
+
class DocumentMrz < VeriSecObject
|
|
1936
|
+
FIELDS = {
|
|
1937
|
+
"lines" => nil,
|
|
1938
|
+
"format" => nil,
|
|
1939
|
+
"valid" => nil,
|
|
1940
|
+
"expired" => nil,
|
|
1941
|
+
"problems" => "DocumentMrzProblem",
|
|
1942
|
+
"check_digits" => "DocumentMrzCheckDigits",
|
|
1943
|
+
"print_quality" => "DocumentMrzPrintQuality",
|
|
1944
|
+
"parsed" => "DocumentMrzParsed"
|
|
1945
|
+
}.freeze
|
|
1946
|
+
end
|
|
1947
|
+
|
|
1948
|
+
# DocumentMrzProblem.
|
|
1949
|
+
#
|
|
1950
|
+
# @!attribute [r] field
|
|
1951
|
+
# @return [String, nil]
|
|
1952
|
+
# @!attribute [r] issue
|
|
1953
|
+
# @return [String, nil]
|
|
1954
|
+
class DocumentMrzProblem < VeriSecObject
|
|
1955
|
+
FIELDS = {
|
|
1956
|
+
"field" => nil,
|
|
1957
|
+
"issue" => nil
|
|
1958
|
+
}.freeze
|
|
1959
|
+
end
|
|
1960
|
+
|
|
1961
|
+
# DocumentMrzCheckDigits.
|
|
1962
|
+
#
|
|
1963
|
+
# @!attribute [r] doc_number
|
|
1964
|
+
# @return [VeriSec::Types::DocumentMrzCheckDigitsDocNumber, nil]
|
|
1965
|
+
# @!attribute [r] birth_date
|
|
1966
|
+
# @return [VeriSec::Types::DocumentMrzCheckDigitsBirthDate, nil]
|
|
1967
|
+
# @!attribute [r] expiry
|
|
1968
|
+
# @return [VeriSec::Types::DocumentMrzCheckDigitsExpiry, nil]
|
|
1969
|
+
# @!attribute [r] personal_number
|
|
1970
|
+
# @return [VeriSec::Types::DocumentMrzCheckDigitsPersonalNumber, nil]
|
|
1971
|
+
# @!attribute [r] composite
|
|
1972
|
+
# @return [VeriSec::Types::DocumentMrzCheckDigitsComposite, nil]
|
|
1973
|
+
class DocumentMrzCheckDigits < VeriSecObject
|
|
1974
|
+
FIELDS = {
|
|
1975
|
+
"doc_number" => "DocumentMrzCheckDigitsDocNumber",
|
|
1976
|
+
"birth_date" => "DocumentMrzCheckDigitsBirthDate",
|
|
1977
|
+
"expiry" => "DocumentMrzCheckDigitsExpiry",
|
|
1978
|
+
"personal_number" => "DocumentMrzCheckDigitsPersonalNumber",
|
|
1979
|
+
"composite" => "DocumentMrzCheckDigitsComposite"
|
|
1980
|
+
}.freeze
|
|
1981
|
+
end
|
|
1982
|
+
|
|
1983
|
+
# DocumentMrzCheckDigitsDocNumber.
|
|
1984
|
+
#
|
|
1985
|
+
# @!attribute [r] digit
|
|
1986
|
+
# @return [String, nil]
|
|
1987
|
+
# @!attribute [r] ok
|
|
1988
|
+
# @return [Boolean, nil]
|
|
1989
|
+
class DocumentMrzCheckDigitsDocNumber < VeriSecObject
|
|
1990
|
+
FIELDS = {
|
|
1991
|
+
"digit" => nil,
|
|
1992
|
+
"ok" => nil
|
|
1993
|
+
}.freeze
|
|
1994
|
+
end
|
|
1995
|
+
|
|
1996
|
+
# DocumentMrzCheckDigitsBirthDate.
|
|
1997
|
+
#
|
|
1998
|
+
# @!attribute [r] digit
|
|
1999
|
+
# @return [String, nil]
|
|
2000
|
+
# @!attribute [r] ok
|
|
2001
|
+
# @return [Boolean, nil]
|
|
2002
|
+
class DocumentMrzCheckDigitsBirthDate < VeriSecObject
|
|
2003
|
+
FIELDS = {
|
|
2004
|
+
"digit" => nil,
|
|
2005
|
+
"ok" => nil
|
|
2006
|
+
}.freeze
|
|
2007
|
+
end
|
|
2008
|
+
|
|
2009
|
+
# DocumentMrzCheckDigitsExpiry.
|
|
2010
|
+
#
|
|
2011
|
+
# @!attribute [r] digit
|
|
2012
|
+
# @return [String, nil]
|
|
2013
|
+
# @!attribute [r] ok
|
|
2014
|
+
# @return [Boolean, nil]
|
|
2015
|
+
class DocumentMrzCheckDigitsExpiry < VeriSecObject
|
|
2016
|
+
FIELDS = {
|
|
2017
|
+
"digit" => nil,
|
|
2018
|
+
"ok" => nil
|
|
2019
|
+
}.freeze
|
|
2020
|
+
end
|
|
2021
|
+
|
|
2022
|
+
# DocumentMrzCheckDigitsPersonalNumber.
|
|
2023
|
+
#
|
|
2024
|
+
# @!attribute [r] digit
|
|
2025
|
+
# @return [String, nil]
|
|
2026
|
+
# @!attribute [r] ok
|
|
2027
|
+
# @return [Boolean, nil]
|
|
2028
|
+
class DocumentMrzCheckDigitsPersonalNumber < VeriSecObject
|
|
2029
|
+
FIELDS = {
|
|
2030
|
+
"digit" => nil,
|
|
2031
|
+
"ok" => nil
|
|
2032
|
+
}.freeze
|
|
2033
|
+
end
|
|
2034
|
+
|
|
2035
|
+
# DocumentMrzCheckDigitsComposite.
|
|
2036
|
+
#
|
|
2037
|
+
# @!attribute [r] digit
|
|
2038
|
+
# @return [String, nil]
|
|
2039
|
+
# @!attribute [r] ok
|
|
2040
|
+
# @return [Boolean, nil]
|
|
2041
|
+
class DocumentMrzCheckDigitsComposite < VeriSecObject
|
|
2042
|
+
FIELDS = {
|
|
2043
|
+
"digit" => nil,
|
|
2044
|
+
"ok" => nil
|
|
2045
|
+
}.freeze
|
|
2046
|
+
end
|
|
2047
|
+
|
|
2048
|
+
# DocumentMrzPrintQuality.
|
|
2049
|
+
#
|
|
2050
|
+
# @!attribute [r] check_sums
|
|
2051
|
+
# @return [String, nil]
|
|
2052
|
+
# @!attribute [r] contrast
|
|
2053
|
+
# @return [String, nil]
|
|
2054
|
+
# @!attribute [r] doc_format
|
|
2055
|
+
# @return [String, nil]
|
|
2056
|
+
# @!attribute [r] mrz_format
|
|
2057
|
+
# @return [String, nil]
|
|
2058
|
+
# @!attribute [r] print_position
|
|
2059
|
+
# @return [String, nil]
|
|
2060
|
+
# @!attribute [r] stains
|
|
2061
|
+
# @return [String, nil]
|
|
2062
|
+
# @!attribute [r] symbols
|
|
2063
|
+
# @return [String, nil]
|
|
2064
|
+
class DocumentMrzPrintQuality < VeriSecObject
|
|
2065
|
+
FIELDS = {
|
|
2066
|
+
"check_sums" => nil,
|
|
2067
|
+
"contrast" => nil,
|
|
2068
|
+
"doc_format" => nil,
|
|
2069
|
+
"mrz_format" => nil,
|
|
2070
|
+
"print_position" => nil,
|
|
2071
|
+
"stains" => nil,
|
|
2072
|
+
"symbols" => nil
|
|
2073
|
+
}.freeze
|
|
2074
|
+
end
|
|
2075
|
+
|
|
2076
|
+
# DocumentMrzParsed.
|
|
2077
|
+
#
|
|
2078
|
+
# @!attribute [r] RemainderTerm
|
|
2079
|
+
# @return [String, nil]
|
|
2080
|
+
# @!attribute [r] Surname
|
|
2081
|
+
# @return [String, nil]
|
|
2082
|
+
# @!attribute [r] Sex
|
|
2083
|
+
# @return [String, nil]
|
|
2084
|
+
#
|
|
2085
|
+
# Read with `[]`: `Surname And Given Names`, `Date of Birth`, `Given Names`, `Date of Expiry`, `Document
|
|
2086
|
+
# Class Code`, `Issuing State Name`, `Final Checkdigit`, `Optional Data CheckDigit`, `Optional Data`,
|
|
2087
|
+
# `Issuing State Code`, `Document Number`, `Document Number Checkdigit`, `Nationality Code`, `Date of
|
|
2088
|
+
# Birth Checkdigit`, `Date of Expiry Checkdigit`, `Personal Number`, `MRZ Type`.
|
|
2089
|
+
class DocumentMrzParsed < VeriSecObject
|
|
2090
|
+
FIELDS = {
|
|
2091
|
+
"Surname And Given Names" => nil,
|
|
2092
|
+
"RemainderTerm" => nil,
|
|
2093
|
+
"Date of Birth" => nil,
|
|
2094
|
+
"Given Names" => nil,
|
|
2095
|
+
"Surname" => nil,
|
|
2096
|
+
"Date of Expiry" => nil,
|
|
2097
|
+
"Document Class Code" => nil,
|
|
2098
|
+
"Issuing State Name" => nil,
|
|
2099
|
+
"Final Checkdigit" => nil,
|
|
2100
|
+
"Optional Data CheckDigit" => nil,
|
|
2101
|
+
"Optional Data" => nil,
|
|
2102
|
+
"Issuing State Code" => nil,
|
|
2103
|
+
"Document Number" => nil,
|
|
2104
|
+
"Document Number Checkdigit" => nil,
|
|
2105
|
+
"Nationality Code" => nil,
|
|
2106
|
+
"Date of Birth Checkdigit" => nil,
|
|
2107
|
+
"Sex" => nil,
|
|
2108
|
+
"Date of Expiry Checkdigit" => nil,
|
|
2109
|
+
"Personal Number" => nil,
|
|
2110
|
+
"MRZ Type" => nil
|
|
2111
|
+
}.freeze
|
|
2112
|
+
end
|
|
2113
|
+
|
|
2114
|
+
# The answer of Document Portrait.
|
|
2115
|
+
#
|
|
2116
|
+
# Returned by {VeriSec::Resources::Documents#portrait}.
|
|
2117
|
+
#
|
|
2118
|
+
# @!attribute [r] portrait_ref
|
|
2119
|
+
# @return [String, nil]
|
|
2120
|
+
# @!attribute [r] face_detected
|
|
2121
|
+
# @return [Boolean, nil]
|
|
2122
|
+
# @!attribute [r] faces_on_document
|
|
2123
|
+
# @return [Numeric, nil]
|
|
2124
|
+
# @!attribute [r] face_confidence
|
|
2125
|
+
# @return [Numeric, nil]
|
|
2126
|
+
# @!attribute [r] portrait
|
|
2127
|
+
# @return [String, nil]
|
|
2128
|
+
class DocumentPortrait < VeriSecObject
|
|
2129
|
+
FIELDS = {
|
|
2130
|
+
"portrait_ref" => nil,
|
|
2131
|
+
"face_detected" => nil,
|
|
2132
|
+
"faces_on_document" => nil,
|
|
2133
|
+
"face_confidence" => nil,
|
|
2134
|
+
"portrait" => nil
|
|
2135
|
+
}.freeze
|
|
2136
|
+
end
|
|
2137
|
+
|
|
2138
|
+
# The answer of Document Authenticity.
|
|
2139
|
+
#
|
|
2140
|
+
# Returned by {VeriSec::Resources::Documents#authenticity}.
|
|
2141
|
+
#
|
|
2142
|
+
# @!attribute [r] overall
|
|
2143
|
+
# @return [String, nil]
|
|
2144
|
+
# @!attribute [r] failed
|
|
2145
|
+
# @return [Array<String>, nil]
|
|
2146
|
+
# @!attribute [r] summary
|
|
2147
|
+
# @return [VeriSec::Types::DocumentAuthenticitySummary, nil]
|
|
2148
|
+
# @!attribute [r] checks
|
|
2149
|
+
# @return [Array<VeriSec::Types::DocumentAuthenticityCheck>, nil]
|
|
2150
|
+
# @!attribute [r] image_quality
|
|
2151
|
+
# @return [VeriSec::Types::DocumentAuthenticityImageQuality, nil]
|
|
2152
|
+
class DocumentAuthenticity < VeriSecObject
|
|
2153
|
+
FIELDS = {
|
|
2154
|
+
"overall" => nil,
|
|
2155
|
+
"failed" => nil,
|
|
2156
|
+
"summary" => "DocumentAuthenticitySummary",
|
|
2157
|
+
"checks" => "DocumentAuthenticityCheck",
|
|
2158
|
+
"image_quality" => "DocumentAuthenticityImageQuality"
|
|
2159
|
+
}.freeze
|
|
2160
|
+
end
|
|
2161
|
+
|
|
2162
|
+
# DocumentAuthenticitySummary.
|
|
2163
|
+
#
|
|
2164
|
+
# @!attribute [r] pass
|
|
2165
|
+
# @return [Numeric, nil]
|
|
2166
|
+
# @!attribute [r] fail
|
|
2167
|
+
# @return [Numeric, nil]
|
|
2168
|
+
# @!attribute [r] not_checked
|
|
2169
|
+
# @return [Numeric, nil]
|
|
2170
|
+
class DocumentAuthenticitySummary < VeriSecObject
|
|
2171
|
+
FIELDS = {
|
|
2172
|
+
"pass" => nil,
|
|
2173
|
+
"fail" => nil,
|
|
2174
|
+
"not_checked" => nil
|
|
2175
|
+
}.freeze
|
|
2176
|
+
end
|
|
2177
|
+
|
|
2178
|
+
# DocumentAuthenticityCheck.
|
|
2179
|
+
#
|
|
2180
|
+
# @!attribute [r] name
|
|
2181
|
+
# @return [String, nil]
|
|
2182
|
+
# @!attribute [r] status
|
|
2183
|
+
# @return [String, nil]
|
|
2184
|
+
class DocumentAuthenticityCheck < VeriSecObject
|
|
2185
|
+
FIELDS = {
|
|
2186
|
+
"name" => nil,
|
|
2187
|
+
"status" => nil
|
|
2188
|
+
}.freeze
|
|
2189
|
+
end
|
|
2190
|
+
|
|
2191
|
+
# DocumentAuthenticityImageQuality.
|
|
2192
|
+
#
|
|
2193
|
+
# @!attribute [r] focus
|
|
2194
|
+
# @return [String, nil]
|
|
2195
|
+
# @!attribute [r] glare
|
|
2196
|
+
# @return [String, nil]
|
|
2197
|
+
# @!attribute [r] portrait
|
|
2198
|
+
# @return [String, nil]
|
|
2199
|
+
# @!attribute [r] bounds
|
|
2200
|
+
# @return [String, nil]
|
|
2201
|
+
# @!attribute [r] perspective
|
|
2202
|
+
# @return [String, nil]
|
|
2203
|
+
# @!attribute [r] resolution
|
|
2204
|
+
# @return [String, nil]
|
|
2205
|
+
class DocumentAuthenticityImageQuality < VeriSecObject
|
|
2206
|
+
FIELDS = {
|
|
2207
|
+
"focus" => nil,
|
|
2208
|
+
"glare" => nil,
|
|
2209
|
+
"portrait" => nil,
|
|
2210
|
+
"bounds" => nil,
|
|
2211
|
+
"perspective" => nil,
|
|
2212
|
+
"resolution" => nil
|
|
2213
|
+
}.freeze
|
|
2214
|
+
end
|
|
2215
|
+
|
|
2216
|
+
# The answer of Document Fields.
|
|
2217
|
+
#
|
|
2218
|
+
# Returned by {VeriSec::Resources::Documents#fields}.
|
|
2219
|
+
#
|
|
2220
|
+
# @!attribute [r] date_format
|
|
2221
|
+
# @return [String, nil]
|
|
2222
|
+
# @!attribute [r] count
|
|
2223
|
+
# @return [Numeric, nil]
|
|
2224
|
+
# @!attribute [r] summary
|
|
2225
|
+
# @return [VeriSec::Types::DocumentFieldsSummary, nil]
|
|
2226
|
+
# @!attribute [r] fields
|
|
2227
|
+
# @return [Array<VeriSec::Types::DocumentFieldsField>, nil]
|
|
2228
|
+
class DocumentFields < VeriSecObject
|
|
2229
|
+
FIELDS = {
|
|
2230
|
+
"date_format" => nil,
|
|
2231
|
+
"count" => nil,
|
|
2232
|
+
"summary" => "DocumentFieldsSummary",
|
|
2233
|
+
"fields" => "DocumentFieldsField"
|
|
2234
|
+
}.freeze
|
|
2235
|
+
end
|
|
2236
|
+
|
|
2237
|
+
# DocumentFieldsSummary.
|
|
2238
|
+
#
|
|
2239
|
+
# @!attribute [r] pass
|
|
2240
|
+
# @return [Numeric, nil]
|
|
2241
|
+
# @!attribute [r] fail
|
|
2242
|
+
# @return [Numeric, nil]
|
|
2243
|
+
# @!attribute [r] not_checked
|
|
2244
|
+
# @return [Numeric, nil]
|
|
2245
|
+
# @!attribute [r] sources_disagree
|
|
2246
|
+
# @return [Numeric, nil]
|
|
2247
|
+
class DocumentFieldsSummary < VeriSecObject
|
|
2248
|
+
FIELDS = {
|
|
2249
|
+
"pass" => nil,
|
|
2250
|
+
"fail" => nil,
|
|
2251
|
+
"not_checked" => nil,
|
|
2252
|
+
"sources_disagree" => nil
|
|
2253
|
+
}.freeze
|
|
2254
|
+
end
|
|
2255
|
+
|
|
2256
|
+
# DocumentFieldsField.
|
|
2257
|
+
#
|
|
2258
|
+
# @!attribute [r] type
|
|
2259
|
+
# @return [Numeric, nil]
|
|
2260
|
+
# @!attribute [r] label
|
|
2261
|
+
# @return [String, nil]
|
|
2262
|
+
# @!attribute [r] status
|
|
2263
|
+
# @return [String, nil]
|
|
2264
|
+
# @!attribute [r] sources
|
|
2265
|
+
# @return [Array<String>, nil]
|
|
2266
|
+
# @!attribute [r] sources_agree
|
|
2267
|
+
# @return [String, nil]
|
|
2268
|
+
# @!attribute [r] value_masked
|
|
2269
|
+
# @return [String, nil]
|
|
2270
|
+
class DocumentFieldsField < VeriSecObject
|
|
2271
|
+
FIELDS = {
|
|
2272
|
+
"type" => nil,
|
|
2273
|
+
"label" => nil,
|
|
2274
|
+
"status" => nil,
|
|
2275
|
+
"sources" => nil,
|
|
2276
|
+
"sources_agree" => nil,
|
|
2277
|
+
"value_masked" => nil
|
|
2278
|
+
}.freeze
|
|
2279
|
+
end
|
|
2280
|
+
|
|
2281
|
+
# The full result of Proof of Address: everything the check found. See the fields listed in the operation.
|
|
2282
|
+
#
|
|
2283
|
+
# Returned by {VeriSec::Resources::ProofOfAddress#analyze}.
|
|
2284
|
+
#
|
|
2285
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
2286
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
2287
|
+
class ProofOfAddressAnalyze < VeriSecObject
|
|
2288
|
+
FIELDS = {}.freeze
|
|
2289
|
+
end
|
|
2290
|
+
|
|
2291
|
+
# The full result of MRZ Read: everything the check found. See the fields listed in the operation.
|
|
2292
|
+
#
|
|
2293
|
+
# Returned by {VeriSec::Resources::Mrz#read}.
|
|
2294
|
+
#
|
|
2295
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
2296
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
2297
|
+
class MrzRead < VeriSecObject
|
|
2298
|
+
FIELDS = {}.freeze
|
|
2299
|
+
end
|
|
2300
|
+
|
|
2301
|
+
# The answer of MRZ Recognize.
|
|
2302
|
+
#
|
|
2303
|
+
# Returned by {VeriSec::Resources::Mrz#recognize}.
|
|
2304
|
+
#
|
|
2305
|
+
# @!attribute [r] lines
|
|
2306
|
+
# @return [Array<String>, nil]
|
|
2307
|
+
# @!attribute [r] warped_box
|
|
2308
|
+
# @return [Array<Numeric>, nil]
|
|
2309
|
+
# @!attribute [r] confidence
|
|
2310
|
+
# @return [Array<Numeric>, nil]
|
|
2311
|
+
class MrzRecognize < VeriSecObject
|
|
2312
|
+
FIELDS = {
|
|
2313
|
+
"lines" => nil,
|
|
2314
|
+
"warped_box" => nil,
|
|
2315
|
+
"confidence" => nil
|
|
2316
|
+
}.freeze
|
|
2317
|
+
end
|
|
2318
|
+
|
|
2319
|
+
# The answer of MRZ Parse.
|
|
2320
|
+
#
|
|
2321
|
+
# Returned by {VeriSec::Resources::Mrz#parse}.
|
|
2322
|
+
#
|
|
2323
|
+
# @!attribute [r] format
|
|
2324
|
+
# @return [String, nil]
|
|
2325
|
+
# @!attribute [r] valid
|
|
2326
|
+
# @return [Boolean, nil]
|
|
2327
|
+
# @!attribute [r] expired
|
|
2328
|
+
# @return [Boolean, nil]
|
|
2329
|
+
# @!attribute [r] problems
|
|
2330
|
+
# @return [Array<Object>, nil]
|
|
2331
|
+
# @!attribute [r] parsed
|
|
2332
|
+
# @return [VeriSec::Types::MrzParseParsed, nil]
|
|
2333
|
+
class MrzParse < VeriSecObject
|
|
2334
|
+
FIELDS = {
|
|
2335
|
+
"format" => nil,
|
|
2336
|
+
"valid" => nil,
|
|
2337
|
+
"expired" => nil,
|
|
2338
|
+
"problems" => nil,
|
|
2339
|
+
"parsed" => "MrzParseParsed"
|
|
2340
|
+
}.freeze
|
|
2341
|
+
end
|
|
2342
|
+
|
|
2343
|
+
# MrzParseParsed.
|
|
2344
|
+
#
|
|
2345
|
+
# @!attribute [r] doc
|
|
2346
|
+
# @return [String, nil]
|
|
2347
|
+
# @!attribute [r] country
|
|
2348
|
+
# @return [String, nil]
|
|
2349
|
+
# @!attribute [r] surname
|
|
2350
|
+
# @return [String, nil]
|
|
2351
|
+
# @!attribute [r] given_name
|
|
2352
|
+
# @return [String, nil]
|
|
2353
|
+
# @!attribute [r] doc_number
|
|
2354
|
+
# @return [String, nil]
|
|
2355
|
+
# @!attribute [r] nationality
|
|
2356
|
+
# @return [String, nil]
|
|
2357
|
+
# @!attribute [r] birth_date
|
|
2358
|
+
# @return [String, nil]
|
|
2359
|
+
# @!attribute [r] sex
|
|
2360
|
+
# @return [String, nil]
|
|
2361
|
+
# @!attribute [r] expiry
|
|
2362
|
+
# @return [String, nil]
|
|
2363
|
+
# @!attribute [r] personal_number
|
|
2364
|
+
# @return [String, nil]
|
|
2365
|
+
# @!attribute [r] check_digits
|
|
2366
|
+
# @return [VeriSec::Types::MrzParseParsedCheckDigits, nil]
|
|
2367
|
+
class MrzParseParsed < VeriSecObject
|
|
2368
|
+
FIELDS = {
|
|
2369
|
+
"doc" => nil,
|
|
2370
|
+
"country" => nil,
|
|
2371
|
+
"surname" => nil,
|
|
2372
|
+
"given_name" => nil,
|
|
2373
|
+
"doc_number" => nil,
|
|
2374
|
+
"nationality" => nil,
|
|
2375
|
+
"birth_date" => nil,
|
|
2376
|
+
"sex" => nil,
|
|
2377
|
+
"expiry" => nil,
|
|
2378
|
+
"personal_number" => nil,
|
|
2379
|
+
"check_digits" => "MrzParseParsedCheckDigits"
|
|
2380
|
+
}.freeze
|
|
2381
|
+
end
|
|
2382
|
+
|
|
2383
|
+
# MrzParseParsedCheckDigits.
|
|
2384
|
+
#
|
|
2385
|
+
# @!attribute [r] doc_number
|
|
2386
|
+
# @return [VeriSec::Types::MrzParseParsedCheckDigitsDocNumber, nil]
|
|
2387
|
+
# @!attribute [r] birth_date
|
|
2388
|
+
# @return [VeriSec::Types::MrzParseParsedCheckDigitsBirthDate, nil]
|
|
2389
|
+
# @!attribute [r] expiry
|
|
2390
|
+
# @return [VeriSec::Types::MrzParseParsedCheckDigitsExpiry, nil]
|
|
2391
|
+
# @!attribute [r] personal_number
|
|
2392
|
+
# @return [VeriSec::Types::MrzParseParsedCheckDigitsPersonalNumber, nil]
|
|
2393
|
+
# @!attribute [r] composite
|
|
2394
|
+
# @return [VeriSec::Types::MrzParseParsedCheckDigitsComposite, nil]
|
|
2395
|
+
class MrzParseParsedCheckDigits < VeriSecObject
|
|
2396
|
+
FIELDS = {
|
|
2397
|
+
"doc_number" => "MrzParseParsedCheckDigitsDocNumber",
|
|
2398
|
+
"birth_date" => "MrzParseParsedCheckDigitsBirthDate",
|
|
2399
|
+
"expiry" => "MrzParseParsedCheckDigitsExpiry",
|
|
2400
|
+
"personal_number" => "MrzParseParsedCheckDigitsPersonalNumber",
|
|
2401
|
+
"composite" => "MrzParseParsedCheckDigitsComposite"
|
|
2402
|
+
}.freeze
|
|
2403
|
+
end
|
|
2404
|
+
|
|
2405
|
+
# MrzParseParsedCheckDigitsDocNumber.
|
|
2406
|
+
#
|
|
2407
|
+
# @!attribute [r] digit
|
|
2408
|
+
# @return [String, nil]
|
|
2409
|
+
# @!attribute [r] ok
|
|
2410
|
+
# @return [Boolean, nil]
|
|
2411
|
+
class MrzParseParsedCheckDigitsDocNumber < VeriSecObject
|
|
2412
|
+
FIELDS = {
|
|
2413
|
+
"digit" => nil,
|
|
2414
|
+
"ok" => nil
|
|
2415
|
+
}.freeze
|
|
2416
|
+
end
|
|
2417
|
+
|
|
2418
|
+
# MrzParseParsedCheckDigitsBirthDate.
|
|
2419
|
+
#
|
|
2420
|
+
# @!attribute [r] digit
|
|
2421
|
+
# @return [String, nil]
|
|
2422
|
+
# @!attribute [r] ok
|
|
2423
|
+
# @return [Boolean, nil]
|
|
2424
|
+
class MrzParseParsedCheckDigitsBirthDate < VeriSecObject
|
|
2425
|
+
FIELDS = {
|
|
2426
|
+
"digit" => nil,
|
|
2427
|
+
"ok" => nil
|
|
2428
|
+
}.freeze
|
|
2429
|
+
end
|
|
2430
|
+
|
|
2431
|
+
# MrzParseParsedCheckDigitsExpiry.
|
|
2432
|
+
#
|
|
2433
|
+
# @!attribute [r] digit
|
|
2434
|
+
# @return [String, nil]
|
|
2435
|
+
# @!attribute [r] ok
|
|
2436
|
+
# @return [Boolean, nil]
|
|
2437
|
+
class MrzParseParsedCheckDigitsExpiry < VeriSecObject
|
|
2438
|
+
FIELDS = {
|
|
2439
|
+
"digit" => nil,
|
|
2440
|
+
"ok" => nil
|
|
2441
|
+
}.freeze
|
|
2442
|
+
end
|
|
2443
|
+
|
|
2444
|
+
# MrzParseParsedCheckDigitsPersonalNumber.
|
|
2445
|
+
#
|
|
2446
|
+
# @!attribute [r] digit
|
|
2447
|
+
# @return [String, nil]
|
|
2448
|
+
# @!attribute [r] ok
|
|
2449
|
+
# @return [Boolean, nil]
|
|
2450
|
+
class MrzParseParsedCheckDigitsPersonalNumber < VeriSecObject
|
|
2451
|
+
FIELDS = {
|
|
2452
|
+
"digit" => nil,
|
|
2453
|
+
"ok" => nil
|
|
2454
|
+
}.freeze
|
|
2455
|
+
end
|
|
2456
|
+
|
|
2457
|
+
# MrzParseParsedCheckDigitsComposite.
|
|
2458
|
+
#
|
|
2459
|
+
# @!attribute [r] digit
|
|
2460
|
+
# @return [String, nil]
|
|
2461
|
+
# @!attribute [r] ok
|
|
2462
|
+
# @return [Boolean, nil]
|
|
2463
|
+
class MrzParseParsedCheckDigitsComposite < VeriSecObject
|
|
2464
|
+
FIELDS = {
|
|
2465
|
+
"digit" => nil,
|
|
2466
|
+
"ok" => nil
|
|
2467
|
+
}.freeze
|
|
2468
|
+
end
|
|
2469
|
+
|
|
2470
|
+
# The answer of Email Risk.
|
|
2471
|
+
#
|
|
2472
|
+
# Returned by {VeriSec::Resources::Email#verify}.
|
|
2473
|
+
#
|
|
2474
|
+
# @!attribute [r] email
|
|
2475
|
+
# @return [String, nil]
|
|
2476
|
+
# @!attribute [r] domain
|
|
2477
|
+
# @return [String, nil]
|
|
2478
|
+
# @!attribute [r] syntax_ok
|
|
2479
|
+
# @return [Boolean, nil]
|
|
2480
|
+
# @!attribute [r] suggestion
|
|
2481
|
+
# @return [Object, nil]
|
|
2482
|
+
# @!attribute [r] disposable
|
|
2483
|
+
# @return [Boolean, nil]
|
|
2484
|
+
# @!attribute [r] free_provider
|
|
2485
|
+
# @return [Boolean, nil]
|
|
2486
|
+
# @!attribute [r] mail_server
|
|
2487
|
+
# @return [VeriSec::Types::EmailVerifyMailServer, nil]
|
|
2488
|
+
# @!attribute [r] mailbox
|
|
2489
|
+
# @return [String, nil]
|
|
2490
|
+
# @!attribute [r] deliverable
|
|
2491
|
+
# @return [String, nil]
|
|
2492
|
+
# @!attribute [r] risk
|
|
2493
|
+
# @return [VeriSec::Types::EmailVerifyRisk, nil]
|
|
2494
|
+
class EmailVerify < VeriSecObject
|
|
2495
|
+
FIELDS = {
|
|
2496
|
+
"email" => nil,
|
|
2497
|
+
"domain" => nil,
|
|
2498
|
+
"syntax_ok" => nil,
|
|
2499
|
+
"suggestion" => nil,
|
|
2500
|
+
"disposable" => nil,
|
|
2501
|
+
"free_provider" => nil,
|
|
2502
|
+
"mail_server" => "EmailVerifyMailServer",
|
|
2503
|
+
"mailbox" => nil,
|
|
2504
|
+
"deliverable" => nil,
|
|
2505
|
+
"risk" => "EmailVerifyRisk"
|
|
2506
|
+
}.freeze
|
|
2507
|
+
end
|
|
2508
|
+
|
|
2509
|
+
# EmailVerifyMailServer.
|
|
2510
|
+
#
|
|
2511
|
+
# @!attribute [r] found
|
|
2512
|
+
# @return [Boolean, nil]
|
|
2513
|
+
# @!attribute [r] hosts
|
|
2514
|
+
# @return [Array<String>, nil]
|
|
2515
|
+
class EmailVerifyMailServer < VeriSecObject
|
|
2516
|
+
FIELDS = {
|
|
2517
|
+
"found" => nil,
|
|
2518
|
+
"hosts" => nil
|
|
2519
|
+
}.freeze
|
|
2520
|
+
end
|
|
2521
|
+
|
|
2522
|
+
# EmailVerifyRisk.
|
|
2523
|
+
#
|
|
2524
|
+
# @!attribute [r] level
|
|
2525
|
+
# @return [String, nil]
|
|
2526
|
+
# @!attribute [r] reasons
|
|
2527
|
+
# @return [Array<Object>, nil]
|
|
2528
|
+
class EmailVerifyRisk < VeriSecObject
|
|
2529
|
+
FIELDS = {
|
|
2530
|
+
"level" => nil,
|
|
2531
|
+
"reasons" => nil
|
|
2532
|
+
}.freeze
|
|
2533
|
+
end
|
|
2534
|
+
|
|
2535
|
+
# The answer of Email Accounts.
|
|
2536
|
+
#
|
|
2537
|
+
# Returned by {VeriSec::Resources::Email#footprint}.
|
|
2538
|
+
#
|
|
2539
|
+
# @!attribute [r] email
|
|
2540
|
+
# @return [String, nil]
|
|
2541
|
+
# @!attribute [r] count
|
|
2542
|
+
# @return [Numeric, nil]
|
|
2543
|
+
# @!attribute [r] accounts
|
|
2544
|
+
# @return [Array<VeriSec::Types::EmailFootprintAccount>, nil]
|
|
2545
|
+
class EmailFootprint < VeriSecObject
|
|
2546
|
+
FIELDS = {
|
|
2547
|
+
"email" => nil,
|
|
2548
|
+
"count" => nil,
|
|
2549
|
+
"accounts" => "EmailFootprintAccount"
|
|
2550
|
+
}.freeze
|
|
2551
|
+
end
|
|
2552
|
+
|
|
2553
|
+
# EmailFootprintAccount.
|
|
2554
|
+
#
|
|
2555
|
+
# @!attribute [r] site
|
|
2556
|
+
# @return [String, nil]
|
|
2557
|
+
# @!attribute [r] domain
|
|
2558
|
+
# @return [String, nil]
|
|
2559
|
+
# @!attribute [r] recovery_email_hint
|
|
2560
|
+
# @return [Object, nil]
|
|
2561
|
+
# @!attribute [r] phone_hint
|
|
2562
|
+
# @return [Object, nil]
|
|
2563
|
+
class EmailFootprintAccount < VeriSecObject
|
|
2564
|
+
FIELDS = {
|
|
2565
|
+
"site" => nil,
|
|
2566
|
+
"domain" => nil,
|
|
2567
|
+
"recovery_email_hint" => nil,
|
|
2568
|
+
"phone_hint" => nil
|
|
2569
|
+
}.freeze
|
|
2570
|
+
end
|
|
2571
|
+
|
|
2572
|
+
# The answer of Username Search.
|
|
2573
|
+
#
|
|
2574
|
+
# Returned by {VeriSec::Resources::Osint#username}.
|
|
2575
|
+
#
|
|
2576
|
+
# @!attribute [r] username
|
|
2577
|
+
# @return [String, nil]
|
|
2578
|
+
# @!attribute [r] found
|
|
2579
|
+
# @return [Numeric, nil]
|
|
2580
|
+
# @!attribute [r] common
|
|
2581
|
+
# @return [Boolean, nil]
|
|
2582
|
+
# @!attribute [r] profiles
|
|
2583
|
+
# @return [Array<VeriSec::Types::OsintUsernameProfile>, nil]
|
|
2584
|
+
# @!attribute [r] left_out
|
|
2585
|
+
# @return [Numeric, nil]
|
|
2586
|
+
class OsintUsername < VeriSecObject
|
|
2587
|
+
FIELDS = {
|
|
2588
|
+
"username" => nil,
|
|
2589
|
+
"found" => nil,
|
|
2590
|
+
"common" => nil,
|
|
2591
|
+
"profiles" => "OsintUsernameProfile",
|
|
2592
|
+
"left_out" => nil
|
|
2593
|
+
}.freeze
|
|
2594
|
+
end
|
|
2595
|
+
|
|
2596
|
+
# OsintUsernameProfile.
|
|
2597
|
+
#
|
|
2598
|
+
# @!attribute [r] site
|
|
2599
|
+
# @return [String, nil]
|
|
2600
|
+
# @!attribute [r] url
|
|
2601
|
+
# @return [String, nil]
|
|
2602
|
+
class OsintUsernameProfile < VeriSecObject
|
|
2603
|
+
FIELDS = {
|
|
2604
|
+
"site" => nil,
|
|
2605
|
+
"url" => nil
|
|
2606
|
+
}.freeze
|
|
2607
|
+
end
|
|
2608
|
+
|
|
2609
|
+
# The answer of Phone Intelligence.
|
|
2610
|
+
#
|
|
2611
|
+
# Returned by {VeriSec::Resources::Phone#lookup}.
|
|
2612
|
+
#
|
|
2613
|
+
# @!attribute [r] phone
|
|
2614
|
+
# @return [String, nil]
|
|
2615
|
+
# @!attribute [r] valid
|
|
2616
|
+
# @return [Boolean, nil]
|
|
2617
|
+
# @!attribute [r] format
|
|
2618
|
+
# @return [VeriSec::Types::PhoneLookupFormat, nil]
|
|
2619
|
+
# @!attribute [r] country
|
|
2620
|
+
# @return [VeriSec::Types::PhoneLookupCountry, nil]
|
|
2621
|
+
# @!attribute [r] location
|
|
2622
|
+
# @return [Object, nil]
|
|
2623
|
+
# @!attribute [r] line
|
|
2624
|
+
# @return [VeriSec::Types::PhoneLookupLine, nil]
|
|
2625
|
+
# @!attribute [r] status
|
|
2626
|
+
# @return [String, nil]
|
|
2627
|
+
# @!attribute [r] sms_pumping
|
|
2628
|
+
# @return [VeriSec::Types::PhoneLookupSmsPumping, nil]
|
|
2629
|
+
# @!attribute [r] sim_swap
|
|
2630
|
+
# @return [VeriSec::Types::PhoneLookupSimSwap, nil]
|
|
2631
|
+
# @!attribute [r] call_forwarding
|
|
2632
|
+
# @return [VeriSec::Types::PhoneLookupCallForwarding, nil]
|
|
2633
|
+
# @!attribute [r] caller
|
|
2634
|
+
# @return [VeriSec::Types::PhoneLookupCaller, nil]
|
|
2635
|
+
# @!attribute [r] risk
|
|
2636
|
+
# @return [VeriSec::Types::PhoneLookupRisk, nil]
|
|
2637
|
+
class PhoneLookup < VeriSecObject
|
|
2638
|
+
FIELDS = {
|
|
2639
|
+
"phone" => nil,
|
|
2640
|
+
"valid" => nil,
|
|
2641
|
+
"format" => "PhoneLookupFormat",
|
|
2642
|
+
"country" => "PhoneLookupCountry",
|
|
2643
|
+
"location" => nil,
|
|
2644
|
+
"line" => "PhoneLookupLine",
|
|
2645
|
+
"status" => nil,
|
|
2646
|
+
"sms_pumping" => "PhoneLookupSmsPumping",
|
|
2647
|
+
"sim_swap" => "PhoneLookupSimSwap",
|
|
2648
|
+
"call_forwarding" => "PhoneLookupCallForwarding",
|
|
2649
|
+
"caller" => "PhoneLookupCaller",
|
|
2650
|
+
"risk" => "PhoneLookupRisk"
|
|
2651
|
+
}.freeze
|
|
2652
|
+
end
|
|
2653
|
+
|
|
2654
|
+
# PhoneLookupFormat.
|
|
2655
|
+
#
|
|
2656
|
+
# @!attribute [r] e164
|
|
2657
|
+
# @return [String, nil]
|
|
2658
|
+
# @!attribute [r] national
|
|
2659
|
+
# @return [String, nil]
|
|
2660
|
+
# @!attribute [r] international
|
|
2661
|
+
# @return [String, nil]
|
|
2662
|
+
class PhoneLookupFormat < VeriSecObject
|
|
2663
|
+
FIELDS = {
|
|
2664
|
+
"e164" => nil,
|
|
2665
|
+
"national" => nil,
|
|
2666
|
+
"international" => nil
|
|
2667
|
+
}.freeze
|
|
2668
|
+
end
|
|
2669
|
+
|
|
2670
|
+
# PhoneLookupCountry.
|
|
2671
|
+
#
|
|
2672
|
+
# @!attribute [r] code
|
|
2673
|
+
# @return [String, nil]
|
|
2674
|
+
# @!attribute [r] name
|
|
2675
|
+
# @return [String, nil]
|
|
2676
|
+
# @!attribute [r] calling_code
|
|
2677
|
+
# @return [String, nil]
|
|
2678
|
+
class PhoneLookupCountry < VeriSecObject
|
|
2679
|
+
FIELDS = {
|
|
2680
|
+
"code" => nil,
|
|
2681
|
+
"name" => nil,
|
|
2682
|
+
"calling_code" => nil
|
|
2683
|
+
}.freeze
|
|
2684
|
+
end
|
|
2685
|
+
|
|
2686
|
+
# PhoneLookupLine.
|
|
2687
|
+
#
|
|
2688
|
+
# @!attribute [r] type
|
|
2689
|
+
# @return [String, nil]
|
|
2690
|
+
# @!attribute [r] carrier
|
|
2691
|
+
# @return [String, nil]
|
|
2692
|
+
# @!attribute [r] mcc
|
|
2693
|
+
# @return [String, nil]
|
|
2694
|
+
# @!attribute [r] mnc
|
|
2695
|
+
# @return [String, nil]
|
|
2696
|
+
class PhoneLookupLine < VeriSecObject
|
|
2697
|
+
FIELDS = {
|
|
2698
|
+
"type" => nil,
|
|
2699
|
+
"carrier" => nil,
|
|
2700
|
+
"mcc" => nil,
|
|
2701
|
+
"mnc" => nil
|
|
2702
|
+
}.freeze
|
|
2703
|
+
end
|
|
2704
|
+
|
|
2705
|
+
# PhoneLookupSmsPumping.
|
|
2706
|
+
#
|
|
2707
|
+
# @!attribute [r] score
|
|
2708
|
+
# @return [Numeric, nil]
|
|
2709
|
+
# @!attribute [r] carrier_risk
|
|
2710
|
+
# @return [String, nil]
|
|
2711
|
+
# @!attribute [r] blocked
|
|
2712
|
+
# @return [Boolean, nil]
|
|
2713
|
+
# @!attribute [r] blocked_on
|
|
2714
|
+
# @return [Object, nil]
|
|
2715
|
+
# @!attribute [r] blocked_last_3_months
|
|
2716
|
+
# @return [Boolean, nil]
|
|
2717
|
+
class PhoneLookupSmsPumping < VeriSecObject
|
|
2718
|
+
FIELDS = {
|
|
2719
|
+
"score" => nil,
|
|
2720
|
+
"carrier_risk" => nil,
|
|
2721
|
+
"blocked" => nil,
|
|
2722
|
+
"blocked_on" => nil,
|
|
2723
|
+
"blocked_last_3_months" => nil
|
|
2724
|
+
}.freeze
|
|
2725
|
+
end
|
|
2726
|
+
|
|
2727
|
+
# PhoneLookupSimSwap.
|
|
2728
|
+
#
|
|
2729
|
+
# @!attribute [r] available
|
|
2730
|
+
# @return [Boolean, nil]
|
|
2731
|
+
# @!attribute [r] reason
|
|
2732
|
+
# @return [String, nil]
|
|
2733
|
+
class PhoneLookupSimSwap < VeriSecObject
|
|
2734
|
+
FIELDS = {
|
|
2735
|
+
"available" => nil,
|
|
2736
|
+
"reason" => nil
|
|
2737
|
+
}.freeze
|
|
2738
|
+
end
|
|
2739
|
+
|
|
2740
|
+
# PhoneLookupCallForwarding.
|
|
2741
|
+
#
|
|
2742
|
+
# @!attribute [r] available
|
|
2743
|
+
# @return [Boolean, nil]
|
|
2744
|
+
# @!attribute [r] reason
|
|
2745
|
+
# @return [String, nil]
|
|
2746
|
+
class PhoneLookupCallForwarding < VeriSecObject
|
|
2747
|
+
FIELDS = {
|
|
2748
|
+
"available" => nil,
|
|
2749
|
+
"reason" => nil
|
|
2750
|
+
}.freeze
|
|
2751
|
+
end
|
|
2752
|
+
|
|
2753
|
+
# PhoneLookupCaller.
|
|
2754
|
+
#
|
|
2755
|
+
# @!attribute [r] available
|
|
2756
|
+
# @return [Boolean, nil]
|
|
2757
|
+
# @!attribute [r] reason
|
|
2758
|
+
# @return [String, nil]
|
|
2759
|
+
class PhoneLookupCaller < VeriSecObject
|
|
2760
|
+
FIELDS = {
|
|
2761
|
+
"available" => nil,
|
|
2762
|
+
"reason" => nil
|
|
2763
|
+
}.freeze
|
|
2764
|
+
end
|
|
2765
|
+
|
|
2766
|
+
# PhoneLookupRisk.
|
|
2767
|
+
#
|
|
2768
|
+
# @!attribute [r] level
|
|
2769
|
+
# @return [String, nil]
|
|
2770
|
+
# @!attribute [r] reasons
|
|
2771
|
+
# @return [Array<Object>, nil]
|
|
2772
|
+
class PhoneLookupRisk < VeriSecObject
|
|
2773
|
+
FIELDS = {
|
|
2774
|
+
"level" => nil,
|
|
2775
|
+
"reasons" => nil
|
|
2776
|
+
}.freeze
|
|
2777
|
+
end
|
|
2778
|
+
|
|
2779
|
+
# The answer of Send Phone Code.
|
|
2780
|
+
#
|
|
2781
|
+
# Returned by {VeriSec::Resources::PhoneOtp#send}.
|
|
2782
|
+
#
|
|
2783
|
+
# @!attribute [r] status
|
|
2784
|
+
# @return [String, nil]
|
|
2785
|
+
# @!attribute [r] to
|
|
2786
|
+
# @return [String, nil]
|
|
2787
|
+
# @!attribute [r] channel
|
|
2788
|
+
# @return [String, nil]
|
|
2789
|
+
class PhoneOtpSend < VeriSecObject
|
|
2790
|
+
FIELDS = {
|
|
2791
|
+
"status" => nil,
|
|
2792
|
+
"to" => nil,
|
|
2793
|
+
"channel" => nil
|
|
2794
|
+
}.freeze
|
|
2795
|
+
end
|
|
2796
|
+
|
|
2797
|
+
# The answer of Check Phone Code.
|
|
2798
|
+
#
|
|
2799
|
+
# Returned by {VeriSec::Resources::PhoneOtp#check}.
|
|
2800
|
+
#
|
|
2801
|
+
# @!attribute [r] status
|
|
2802
|
+
# @return [String, nil]
|
|
2803
|
+
# @!attribute [r] valid
|
|
2804
|
+
# @return [Boolean, nil]
|
|
2805
|
+
class PhoneOtpCheck < VeriSecObject
|
|
2806
|
+
FIELDS = {
|
|
2807
|
+
"status" => nil,
|
|
2808
|
+
"valid" => nil
|
|
2809
|
+
}.freeze
|
|
2810
|
+
end
|
|
2811
|
+
|
|
2812
|
+
# The full result of IP Risk: everything the check found. See the fields listed in the operation.
|
|
2813
|
+
#
|
|
2814
|
+
# Returned by {VeriSec::Resources::Screening#ip}.
|
|
2815
|
+
#
|
|
2816
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
2817
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
2818
|
+
class ScreeningIp < VeriSecObject
|
|
2819
|
+
FIELDS = {}.freeze
|
|
2820
|
+
end
|
|
2821
|
+
|
|
2822
|
+
# The answer of IP Anonymity.
|
|
2823
|
+
#
|
|
2824
|
+
# Returned by {VeriSec::Resources::Ip#analyze}.
|
|
2825
|
+
#
|
|
2826
|
+
# @!attribute [r] ip
|
|
2827
|
+
# @return [String, nil]
|
|
2828
|
+
# @!attribute [r] version
|
|
2829
|
+
# @return [Numeric, nil]
|
|
2830
|
+
# @!attribute [r] private
|
|
2831
|
+
# @return [Boolean, nil]
|
|
2832
|
+
# @!attribute [r] location
|
|
2833
|
+
# @return [VeriSec::Types::IpAnalyzeLocation, nil]
|
|
2834
|
+
# @!attribute [r] network
|
|
2835
|
+
# @return [VeriSec::Types::IpAnalyzeNetwork, nil]
|
|
2836
|
+
# @!attribute [r] anonymity
|
|
2837
|
+
# @return [VeriSec::Types::IpAnalyzeAnonymity, nil]
|
|
2838
|
+
# @!attribute [r] lists_updated
|
|
2839
|
+
# @return [String, nil]
|
|
2840
|
+
class IpAnalyze < VeriSecObject
|
|
2841
|
+
FIELDS = {
|
|
2842
|
+
"ip" => nil,
|
|
2843
|
+
"version" => nil,
|
|
2844
|
+
"private" => nil,
|
|
2845
|
+
"location" => "IpAnalyzeLocation",
|
|
2846
|
+
"network" => "IpAnalyzeNetwork",
|
|
2847
|
+
"anonymity" => "IpAnalyzeAnonymity",
|
|
2848
|
+
"lists_updated" => nil
|
|
2849
|
+
}.freeze
|
|
2850
|
+
end
|
|
2851
|
+
|
|
2852
|
+
# IpAnalyzeLocation.
|
|
2853
|
+
#
|
|
2854
|
+
# @!attribute [r] continent
|
|
2855
|
+
# @return [String, nil]
|
|
2856
|
+
# @!attribute [r] country_code
|
|
2857
|
+
# @return [String, nil]
|
|
2858
|
+
# @!attribute [r] country
|
|
2859
|
+
# @return [String, nil]
|
|
2860
|
+
# @!attribute [r] region
|
|
2861
|
+
# @return [String, nil]
|
|
2862
|
+
# @!attribute [r] city
|
|
2863
|
+
# @return [String, nil]
|
|
2864
|
+
# @!attribute [r] coordinates
|
|
2865
|
+
# @return [VeriSec::Types::IpAnalyzeLocationCoordinates, nil]
|
|
2866
|
+
# @!attribute [r] timezones
|
|
2867
|
+
# @return [Array<String>, nil]
|
|
2868
|
+
class IpAnalyzeLocation < VeriSecObject
|
|
2869
|
+
FIELDS = {
|
|
2870
|
+
"continent" => nil,
|
|
2871
|
+
"country_code" => nil,
|
|
2872
|
+
"country" => nil,
|
|
2873
|
+
"region" => nil,
|
|
2874
|
+
"city" => nil,
|
|
2875
|
+
"coordinates" => "IpAnalyzeLocationCoordinates",
|
|
2876
|
+
"timezones" => nil
|
|
2877
|
+
}.freeze
|
|
2878
|
+
end
|
|
2879
|
+
|
|
2880
|
+
# IpAnalyzeLocationCoordinates.
|
|
2881
|
+
#
|
|
2882
|
+
# @!attribute [r] lat
|
|
2883
|
+
# @return [Numeric, nil]
|
|
2884
|
+
# @!attribute [r] lon
|
|
2885
|
+
# @return [Numeric, nil]
|
|
2886
|
+
class IpAnalyzeLocationCoordinates < VeriSecObject
|
|
2887
|
+
FIELDS = {
|
|
2888
|
+
"lat" => nil,
|
|
2889
|
+
"lon" => nil
|
|
2890
|
+
}.freeze
|
|
2891
|
+
end
|
|
2892
|
+
|
|
2893
|
+
# IpAnalyzeNetwork.
|
|
2894
|
+
#
|
|
2895
|
+
# @!attribute [r] asn
|
|
2896
|
+
# @return [Numeric, nil]
|
|
2897
|
+
# @!attribute [r] organization
|
|
2898
|
+
# @return [String, nil]
|
|
2899
|
+
# @!attribute [r] connection_type
|
|
2900
|
+
# @return [String, nil]
|
|
2901
|
+
class IpAnalyzeNetwork < VeriSecObject
|
|
2902
|
+
FIELDS = {
|
|
2903
|
+
"asn" => nil,
|
|
2904
|
+
"organization" => nil,
|
|
2905
|
+
"connection_type" => nil
|
|
2906
|
+
}.freeze
|
|
2907
|
+
end
|
|
2908
|
+
|
|
2909
|
+
# IpAnalyzeAnonymity.
|
|
2910
|
+
#
|
|
2911
|
+
# @!attribute [r] tor
|
|
2912
|
+
# @return [Boolean, nil]
|
|
2913
|
+
# @!attribute [r] vpn
|
|
2914
|
+
# @return [Boolean, nil]
|
|
2915
|
+
# @!attribute [r] datacenter
|
|
2916
|
+
# @return [Boolean, nil]
|
|
2917
|
+
# @!attribute [r] cloud_provider
|
|
2918
|
+
# @return [Object, nil]
|
|
2919
|
+
# @!attribute [r] private_relay
|
|
2920
|
+
# @return [Boolean, nil]
|
|
2921
|
+
# @!attribute [r] relay_region
|
|
2922
|
+
# @return [Object, nil]
|
|
2923
|
+
# @!attribute [r] blocklisted
|
|
2924
|
+
# @return [Boolean, nil]
|
|
2925
|
+
class IpAnalyzeAnonymity < VeriSecObject
|
|
2926
|
+
FIELDS = {
|
|
2927
|
+
"tor" => nil,
|
|
2928
|
+
"vpn" => nil,
|
|
2929
|
+
"datacenter" => nil,
|
|
2930
|
+
"cloud_provider" => nil,
|
|
2931
|
+
"private_relay" => nil,
|
|
2932
|
+
"relay_region" => nil,
|
|
2933
|
+
"blocklisted" => nil
|
|
2934
|
+
}.freeze
|
|
2935
|
+
end
|
|
2936
|
+
|
|
2937
|
+
# The full result of Sanctions & PEP Screening: everything the check found. See the fields listed in the
|
|
2938
|
+
# operation.
|
|
2939
|
+
#
|
|
2940
|
+
# Returned by {VeriSec::Resources::Screening#sanctions}.
|
|
2941
|
+
#
|
|
2942
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
2943
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
2944
|
+
class ScreeningSanctions < VeriSecObject
|
|
2945
|
+
FIELDS = {}.freeze
|
|
2946
|
+
end
|
|
2947
|
+
|
|
2948
|
+
# The answer of Adverse Media.
|
|
2949
|
+
#
|
|
2950
|
+
# Returned by {VeriSec::Resources::Osint#web}.
|
|
2951
|
+
#
|
|
2952
|
+
# @!attribute [r] query
|
|
2953
|
+
# @return [String, nil]
|
|
2954
|
+
# @!attribute [r] mode
|
|
2955
|
+
# @return [String, nil]
|
|
2956
|
+
# @!attribute [r] complete
|
|
2957
|
+
# @return [Boolean, nil]
|
|
2958
|
+
# @!attribute [r] count
|
|
2959
|
+
# @return [Numeric, nil]
|
|
2960
|
+
# @!attribute [r] results
|
|
2961
|
+
# @return [Array<VeriSec::Types::OsintWebResult>, nil]
|
|
2962
|
+
# @!attribute [r] left_out
|
|
2963
|
+
# @return [VeriSec::Types::OsintWebLeftOut, nil]
|
|
2964
|
+
class OsintWeb < VeriSecObject
|
|
2965
|
+
FIELDS = {
|
|
2966
|
+
"query" => nil,
|
|
2967
|
+
"mode" => nil,
|
|
2968
|
+
"complete" => nil,
|
|
2969
|
+
"count" => nil,
|
|
2970
|
+
"results" => "OsintWebResult",
|
|
2971
|
+
"left_out" => "OsintWebLeftOut"
|
|
2972
|
+
}.freeze
|
|
2973
|
+
end
|
|
2974
|
+
|
|
2975
|
+
# OsintWebResult.
|
|
2976
|
+
#
|
|
2977
|
+
# @!attribute [r] title
|
|
2978
|
+
# @return [String, nil]
|
|
2979
|
+
# @!attribute [r] site
|
|
2980
|
+
# @return [String, nil]
|
|
2981
|
+
# @!attribute [r] url
|
|
2982
|
+
# @return [String, nil]
|
|
2983
|
+
# @!attribute [r] date
|
|
2984
|
+
# @return [String, nil]
|
|
2985
|
+
# @!attribute [r] topics
|
|
2986
|
+
# @return [Array<String>, nil]
|
|
2987
|
+
# @!attribute [r] snippet
|
|
2988
|
+
# @return [String, nil]
|
|
2989
|
+
class OsintWebResult < VeriSecObject
|
|
2990
|
+
FIELDS = {
|
|
2991
|
+
"title" => nil,
|
|
2992
|
+
"site" => nil,
|
|
2993
|
+
"url" => nil,
|
|
2994
|
+
"date" => nil,
|
|
2995
|
+
"topics" => nil,
|
|
2996
|
+
"snippet" => nil
|
|
2997
|
+
}.freeze
|
|
2998
|
+
end
|
|
2999
|
+
|
|
3000
|
+
# OsintWebLeftOut.
|
|
3001
|
+
#
|
|
3002
|
+
# @!attribute [r] not_about_this_name
|
|
3003
|
+
# @return [Numeric, nil]
|
|
3004
|
+
# @!attribute [r] not_adverse
|
|
3005
|
+
# @return [Numeric, nil]
|
|
3006
|
+
# @!attribute [r] list_entries
|
|
3007
|
+
# @return [Numeric, nil]
|
|
3008
|
+
class OsintWebLeftOut < VeriSecObject
|
|
3009
|
+
FIELDS = {
|
|
3010
|
+
"not_about_this_name" => nil,
|
|
3011
|
+
"not_adverse" => nil,
|
|
3012
|
+
"list_entries" => nil
|
|
3013
|
+
}.freeze
|
|
3014
|
+
end
|
|
3015
|
+
|
|
3016
|
+
# The answer of Wallet Screening.
|
|
3017
|
+
#
|
|
3018
|
+
# Returned by {VeriSec::Resources::Screening#crypto}.
|
|
3019
|
+
#
|
|
3020
|
+
# @!attribute [r] checked
|
|
3021
|
+
# @return [Numeric, nil]
|
|
3022
|
+
# @!attribute [r] counts
|
|
3023
|
+
# @return [VeriSec::Types::ScreeningCryptoCounts, nil]
|
|
3024
|
+
# @!attribute [r] results
|
|
3025
|
+
# @return [Array<VeriSec::Types::ScreeningCryptoResult>, nil]
|
|
3026
|
+
class ScreeningCrypto < VeriSecObject
|
|
3027
|
+
FIELDS = {
|
|
3028
|
+
"checked" => nil,
|
|
3029
|
+
"counts" => "ScreeningCryptoCounts",
|
|
3030
|
+
"results" => "ScreeningCryptoResult"
|
|
3031
|
+
}.freeze
|
|
3032
|
+
end
|
|
3033
|
+
|
|
3034
|
+
# ScreeningCryptoCounts.
|
|
3035
|
+
#
|
|
3036
|
+
# @!attribute [r] high
|
|
3037
|
+
# @return [Numeric, nil]
|
|
3038
|
+
# @!attribute [r] medium
|
|
3039
|
+
# @return [Numeric, nil]
|
|
3040
|
+
# @!attribute [r] low
|
|
3041
|
+
# @return [Numeric, nil]
|
|
3042
|
+
# @!attribute [r] no_record
|
|
3043
|
+
# @return [Numeric, nil]
|
|
3044
|
+
# @!attribute [r] unreadable
|
|
3045
|
+
# @return [Numeric, nil]
|
|
3046
|
+
# @!attribute [r] invalid_address
|
|
3047
|
+
# @return [Numeric, nil]
|
|
3048
|
+
# @!attribute [r] unrecognised
|
|
3049
|
+
# @return [Numeric, nil]
|
|
3050
|
+
# @!attribute [r] disputed_listing
|
|
3051
|
+
# @return [Numeric, nil]
|
|
3052
|
+
class ScreeningCryptoCounts < VeriSecObject
|
|
3053
|
+
FIELDS = {
|
|
3054
|
+
"high" => nil,
|
|
3055
|
+
"medium" => nil,
|
|
3056
|
+
"low" => nil,
|
|
3057
|
+
"no_record" => nil,
|
|
3058
|
+
"unreadable" => nil,
|
|
3059
|
+
"invalid_address" => nil,
|
|
3060
|
+
"unrecognised" => nil,
|
|
3061
|
+
"disputed_listing" => nil
|
|
3062
|
+
}.freeze
|
|
3063
|
+
end
|
|
3064
|
+
|
|
3065
|
+
# ScreeningCryptoResult.
|
|
3066
|
+
#
|
|
3067
|
+
# @!attribute [r] address
|
|
3068
|
+
# @return [String, nil]
|
|
3069
|
+
# @!attribute [r] network
|
|
3070
|
+
# @return [Object, nil]
|
|
3071
|
+
# @!attribute [r] valid_format
|
|
3072
|
+
# @return [Object, nil]
|
|
3073
|
+
# @!attribute [r] checksum_ok
|
|
3074
|
+
# @return [Object, nil]
|
|
3075
|
+
# @!attribute [r] format_note
|
|
3076
|
+
# @return [String, nil]
|
|
3077
|
+
# @!attribute [r] verdict
|
|
3078
|
+
# @return [String, nil]
|
|
3079
|
+
# @!attribute [r] risk
|
|
3080
|
+
# @return [String, nil]
|
|
3081
|
+
# @!attribute [r] summary
|
|
3082
|
+
# @return [Object, nil]
|
|
3083
|
+
# @!attribute [r] flags
|
|
3084
|
+
# @return [Array<Object>, nil]
|
|
3085
|
+
# @!attribute [r] listings
|
|
3086
|
+
# @return [Array<VeriSec::Types::ScreeningCryptoResultListing>, nil]
|
|
3087
|
+
# @!attribute [r] disputed_by
|
|
3088
|
+
# @return [Array<Object>, nil]
|
|
3089
|
+
# @!attribute [r] schemes
|
|
3090
|
+
# @return [Array<Object>, nil]
|
|
3091
|
+
# @!attribute [r] labels
|
|
3092
|
+
# @return [Array<VeriSec::Types::ScreeningCryptoResultLabel>, nil]
|
|
3093
|
+
class ScreeningCryptoResult < VeriSecObject
|
|
3094
|
+
FIELDS = {
|
|
3095
|
+
"address" => nil,
|
|
3096
|
+
"network" => nil,
|
|
3097
|
+
"valid_format" => nil,
|
|
3098
|
+
"checksum_ok" => nil,
|
|
3099
|
+
"format_note" => nil,
|
|
3100
|
+
"verdict" => nil,
|
|
3101
|
+
"risk" => nil,
|
|
3102
|
+
"summary" => nil,
|
|
3103
|
+
"flags" => nil,
|
|
3104
|
+
"listings" => "ScreeningCryptoResultListing",
|
|
3105
|
+
"disputed_by" => nil,
|
|
3106
|
+
"schemes" => nil,
|
|
3107
|
+
"labels" => "ScreeningCryptoResultLabel"
|
|
3108
|
+
}.freeze
|
|
3109
|
+
end
|
|
3110
|
+
|
|
3111
|
+
# ScreeningCryptoResultListing.
|
|
3112
|
+
#
|
|
3113
|
+
# @!attribute [r] network
|
|
3114
|
+
# @return [String, nil]
|
|
3115
|
+
# @!attribute [r] categories
|
|
3116
|
+
# @return [Array<String>, nil]
|
|
3117
|
+
# @!attribute [r] risk_class
|
|
3118
|
+
# @return [String, nil]
|
|
3119
|
+
# @!attribute [r] subcategory
|
|
3120
|
+
# @return [Object, nil]
|
|
3121
|
+
# @!attribute [r] victim_contract
|
|
3122
|
+
# @return [Boolean, nil]
|
|
3123
|
+
class ScreeningCryptoResultListing < VeriSecObject
|
|
3124
|
+
FIELDS = {
|
|
3125
|
+
"network" => nil,
|
|
3126
|
+
"categories" => nil,
|
|
3127
|
+
"risk_class" => nil,
|
|
3128
|
+
"subcategory" => nil,
|
|
3129
|
+
"victim_contract" => nil
|
|
3130
|
+
}.freeze
|
|
3131
|
+
end
|
|
3132
|
+
|
|
3133
|
+
# ScreeningCryptoResultLabel.
|
|
3134
|
+
#
|
|
3135
|
+
# @!attribute [r] network
|
|
3136
|
+
# @return [String, nil]
|
|
3137
|
+
# @!attribute [r] label
|
|
3138
|
+
# @return [String, nil]
|
|
3139
|
+
class ScreeningCryptoResultLabel < VeriSecObject
|
|
3140
|
+
FIELDS = {
|
|
3141
|
+
"network" => nil,
|
|
3142
|
+
"label" => nil
|
|
3143
|
+
}.freeze
|
|
3144
|
+
end
|
|
3145
|
+
|
|
3146
|
+
# The full result of Contact Dossier: everything the check found. See the fields listed in the operation.
|
|
3147
|
+
#
|
|
3148
|
+
# Returned by {VeriSec::Resources::Contact#dossier}.
|
|
3149
|
+
#
|
|
3150
|
+
# An open result: the engine's full answer, with no fixed fields. Read it as a Hash (`result["faces"]`,
|
|
3151
|
+
# `result.dig(…)`, `result.keys`, `result.to_h`); fields it has also read as methods.
|
|
3152
|
+
class ContactDossier < VeriSecObject
|
|
3153
|
+
FIELDS = {}.freeze
|
|
3154
|
+
end
|
|
3155
|
+
|
|
3156
|
+
# The whole cheque: the MICR read, what the face says, the bank, country and currency.
|
|
3157
|
+
#
|
|
3158
|
+
# Returned by {VeriSec::Resources::Cheques#read}.
|
|
3159
|
+
#
|
|
3160
|
+
# @!attribute [r] id
|
|
3161
|
+
# @return [String] Scan id, `chq_` followed by 12 characters.
|
|
3162
|
+
# @!attribute [r] object
|
|
3163
|
+
# @return [String] Always `cheque_read`.
|
|
3164
|
+
# @!attribute [r] created_at
|
|
3165
|
+
# @return [String] When it was created (ISO 8601, UTC).
|
|
3166
|
+
# @!attribute [r] source
|
|
3167
|
+
# @return [String] Where the call came from, as shown in the console's logs. One of "api", "sdk",
|
|
3168
|
+
# "playground".
|
|
3169
|
+
# @!attribute [r] env
|
|
3170
|
+
# @return [String] The environment the read is recorded in: the credential's. One of "live", "test".
|
|
3171
|
+
# @!attribute [r] processing_ms
|
|
3172
|
+
# @return [Integer] The MICR engine's time alone, in milliseconds; `timing` has the rest.
|
|
3173
|
+
# @!attribute [r] image
|
|
3174
|
+
# @return [VeriSec::Types::ChequeDeepReadImage]
|
|
3175
|
+
# @!attribute [r] status
|
|
3176
|
+
# @return [String] `partial`: read, but something a caller relies on is missing or failed a check
|
|
3177
|
+
# (`issue_code` says what). `unreadable`: nothing to read. One of "read", "partial", "unreadable".
|
|
3178
|
+
# @!attribute [r] micr
|
|
3179
|
+
# @return [VeriSec::Types::ChequeResponse] The MICR engine's own read (authoritative for the code line).
|
|
3180
|
+
# @!attribute [r] vision
|
|
3181
|
+
# @return [VeriSec::Types::VisionResult, nil] What the vision reader read. Absent when it found nothing
|
|
3182
|
+
# or could not be reached.
|
|
3183
|
+
# @!attribute [r] bank
|
|
3184
|
+
# @return [VeriSec::Types::BankMatch, nil] A bank read on a document, matched in the directory.
|
|
3185
|
+
# @!attribute [r] currency
|
|
3186
|
+
# @return [VeriSec::Types::ResolvedCurrency, nil] A full currency record (ISO 4217 + CLDR).
|
|
3187
|
+
# @!attribute [r] country
|
|
3188
|
+
# @return [VeriSec::Types::CountryInfo, nil] From the bank directory, else the face, else a national
|
|
3189
|
+
# MICR layout.
|
|
3190
|
+
# @!attribute [r] reader_error
|
|
3191
|
+
# @return [String, nil] Set when the vision reader could not be reached; the MICR part still stands.
|
|
3192
|
+
# @!attribute [r] text_boxes
|
|
3193
|
+
# @return [VeriSec::Types::TextBoxes, nil] Every text box on the image, for drawing only (no text).
|
|
3194
|
+
# @!attribute [r] cheques
|
|
3195
|
+
# @return [Array<VeriSec::Types::DeepCheque>, nil] Only when the photo holds more than one cheque. The
|
|
3196
|
+
# fields above are cheque 1.
|
|
3197
|
+
# @!attribute [r] timing
|
|
3198
|
+
# @return [VeriSec::Types::ChequeDeepReadTiming, nil] Where the time went, in milliseconds.
|
|
3199
|
+
# @!attribute [r] image_quality
|
|
3200
|
+
# @return [VeriSec::Types::ChequeDeepReadImageQuality, nil] Photo quality from the check before the
|
|
3201
|
+
# read. It never blocks the read, only warns.
|
|
3202
|
+
class ChequeDeepRead < VeriSecObject
|
|
3203
|
+
FIELDS = {
|
|
3204
|
+
"id" => nil,
|
|
3205
|
+
"object" => nil,
|
|
3206
|
+
"created_at" => nil,
|
|
3207
|
+
"source" => nil,
|
|
3208
|
+
"env" => nil,
|
|
3209
|
+
"processing_ms" => nil,
|
|
3210
|
+
"image" => "ChequeDeepReadImage",
|
|
3211
|
+
"status" => nil,
|
|
3212
|
+
"micr" => "ChequeResponse",
|
|
3213
|
+
"vision" => "VisionResult",
|
|
3214
|
+
"bank" => "BankMatch",
|
|
3215
|
+
"currency" => "ResolvedCurrency",
|
|
3216
|
+
"country" => "CountryInfo",
|
|
3217
|
+
"reader_error" => nil,
|
|
3218
|
+
"text_boxes" => "TextBoxes",
|
|
3219
|
+
"cheques" => "DeepCheque",
|
|
3220
|
+
"timing" => "ChequeDeepReadTiming",
|
|
3221
|
+
"image_quality" => "ChequeDeepReadImageQuality"
|
|
3222
|
+
}.freeze
|
|
3223
|
+
end
|
|
3224
|
+
|
|
3225
|
+
# ChequeDeepReadImage.
|
|
3226
|
+
#
|
|
3227
|
+
# @!attribute [r] width
|
|
3228
|
+
# @return [Integer]
|
|
3229
|
+
# @!attribute [r] height
|
|
3230
|
+
# @return [Integer]
|
|
3231
|
+
# @!attribute [r] url
|
|
3232
|
+
# @return [String] The stored photo, relative to the API base.
|
|
3233
|
+
class ChequeDeepReadImage < VeriSecObject
|
|
3234
|
+
FIELDS = {
|
|
3235
|
+
"width" => nil,
|
|
3236
|
+
"height" => nil,
|
|
3237
|
+
"url" => nil
|
|
3238
|
+
}.freeze
|
|
3239
|
+
end
|
|
3240
|
+
|
|
3241
|
+
# A cheque's MICR read (the MICR service's wire format).
|
|
3242
|
+
#
|
|
3243
|
+
# Returned by {VeriSec::Resources::Cheques#micr}.
|
|
3244
|
+
#
|
|
3245
|
+
# @!attribute [r] id
|
|
3246
|
+
# @return [String] Scan id, `chq_` followed by 12 characters.
|
|
3247
|
+
# @!attribute [r] object
|
|
3248
|
+
# @return [String] Always `cheque`.
|
|
3249
|
+
# @!attribute [r] created_at
|
|
3250
|
+
# @return [String] When it was created (ISO 8601, UTC).
|
|
3251
|
+
# @!attribute [r] source
|
|
3252
|
+
# @return [String] Where the call came from, as shown in the console's logs. One of "api", "sdk",
|
|
3253
|
+
# "playground".
|
|
3254
|
+
# @!attribute [r] env
|
|
3255
|
+
# @return [String] The environment the read is recorded in: the credential's. One of "live", "test".
|
|
3256
|
+
# @!attribute [r] processing_ms
|
|
3257
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
3258
|
+
# @!attribute [r] status
|
|
3259
|
+
# @return [String] `partial`: read, but something a caller relies on is missing or failed a check
|
|
3260
|
+
# (`issue_code` says what). `unreadable`: nothing to read. One of "read", "partial", "unreadable".
|
|
3261
|
+
# @!attribute [r] issue_code
|
|
3262
|
+
# @return [String, nil] Why a read is `partial` or `unreadable`: `no_micr_line`,
|
|
3263
|
+
# `routing_checksum_failed`, `routing_prefix_invalid`, `layout_unrecognised`, `weak_characters`,
|
|
3264
|
+
# `no_card`, `number_unreadable`, `luhn_failed`, `low_confidence`.
|
|
3265
|
+
# @!attribute [r] issue
|
|
3266
|
+
# @return [String, nil] The same reason in plain words, safe to show a person.
|
|
3267
|
+
# @!attribute [r] image
|
|
3268
|
+
# @return [VeriSec::Types::ChequeResponseImage]
|
|
3269
|
+
# @!attribute [r] zones_detected
|
|
3270
|
+
# @return [Integer] How many MICR lines were found.
|
|
3271
|
+
# @!attribute [r] zones
|
|
3272
|
+
# @return [Array<VeriSec::Types::MicrZone>] Every MICR line found, strongest first.
|
|
3273
|
+
# @!attribute [r] micr
|
|
3274
|
+
# @return [VeriSec::Types::MicrZone, nil] The primary (strongest) line. Absent when unreadable.
|
|
3275
|
+
# @!attribute [r] quality
|
|
3276
|
+
# @return [VeriSec::Types::ChequeResponseQuality] Capture-quality signals.
|
|
3277
|
+
# @!attribute [r] country
|
|
3278
|
+
# @return [VeriSec::Types::CountryInfo, nil] Only when a national MICR layout proves the country.
|
|
3279
|
+
# @!attribute [r] read_on
|
|
3280
|
+
# @return [VeriSec::Types::ChequeResponseReadOn, nil] Present when only a resized copy named fields;
|
|
3281
|
+
# boxes are mapped back to the original.
|
|
3282
|
+
class ChequeResponse < VeriSecObject
|
|
3283
|
+
FIELDS = {
|
|
3284
|
+
"id" => nil,
|
|
3285
|
+
"object" => nil,
|
|
3286
|
+
"created_at" => nil,
|
|
3287
|
+
"source" => nil,
|
|
3288
|
+
"env" => nil,
|
|
3289
|
+
"processing_ms" => nil,
|
|
3290
|
+
"status" => nil,
|
|
3291
|
+
"issue_code" => nil,
|
|
3292
|
+
"issue" => nil,
|
|
3293
|
+
"image" => "ChequeResponseImage",
|
|
3294
|
+
"zones_detected" => nil,
|
|
3295
|
+
"zones" => "MicrZone",
|
|
3296
|
+
"micr" => "MicrZone",
|
|
3297
|
+
"quality" => "ChequeResponseQuality",
|
|
3298
|
+
"country" => "CountryInfo",
|
|
3299
|
+
"read_on" => "ChequeResponseReadOn"
|
|
3300
|
+
}.freeze
|
|
3301
|
+
end
|
|
3302
|
+
|
|
3303
|
+
# ChequeResponseImage.
|
|
3304
|
+
#
|
|
3305
|
+
# @!attribute [r] width
|
|
3306
|
+
# @return [Integer]
|
|
3307
|
+
# @!attribute [r] height
|
|
3308
|
+
# @return [Integer]
|
|
3309
|
+
# @!attribute [r] url
|
|
3310
|
+
# @return [String] The stored photo, relative to the API base.
|
|
3311
|
+
class ChequeResponseImage < VeriSecObject
|
|
3312
|
+
FIELDS = {
|
|
3313
|
+
"width" => nil,
|
|
3314
|
+
"height" => nil,
|
|
3315
|
+
"url" => nil
|
|
3316
|
+
}.freeze
|
|
3317
|
+
end
|
|
3318
|
+
|
|
3319
|
+
# One MICR line, exactly as the engine returns it, plus values derived from its text.
|
|
3320
|
+
#
|
|
3321
|
+
# @!attribute [r] index
|
|
3322
|
+
# @return [Integer] Position among the lines found, strongest first.
|
|
3323
|
+
# @!attribute [r] text
|
|
3324
|
+
# @return [String] As read, with the control symbols as letters (E-13B A-D, CMC-7 F-J).
|
|
3325
|
+
# @!attribute [r] description
|
|
3326
|
+
# @return [String] The engine's label for the line, for example `E-13B`.
|
|
3327
|
+
# @!attribute [r] confidences
|
|
3328
|
+
# @return [Array<Numeric>] Every confidence the engine returned: zone-level values, then one per
|
|
3329
|
+
# character.
|
|
3330
|
+
# @!attribute [r] klass
|
|
3331
|
+
# @return [Integer, nil] The engine's class for the line.
|
|
3332
|
+
# @!attribute [r] skew
|
|
3333
|
+
# @return [Numeric] Skew of the line, in degrees.
|
|
3334
|
+
# @!attribute [r] warpedBox
|
|
3335
|
+
# @return [Array<Numeric>, nil] The engine's own box, verbatim (its spelling).
|
|
3336
|
+
# @!attribute [r] font
|
|
3337
|
+
# @return [String] MICR font. One of "E-13B", "CMC-7".
|
|
3338
|
+
# @!attribute [r] printed
|
|
3339
|
+
# @return [String] The line with the printed E-13B glyphs (⑆ ⑇ ⑈ ⑉), CMC-7 symbols as bars.
|
|
3340
|
+
# @!attribute [r] confidence
|
|
3341
|
+
# @return [Numeric] Summary confidence for the line, 0 to 100.
|
|
3342
|
+
# @!attribute [r] char_confidences
|
|
3343
|
+
# @return [Array<Numeric>] One confidence (0 to 100) per character of `text`.
|
|
3344
|
+
# @!attribute [r] min_char_confidence
|
|
3345
|
+
# @return [Numeric, nil] The weakest character's confidence.
|
|
3346
|
+
# @!attribute [r] box
|
|
3347
|
+
# @return [Array<Numeric>] Four corners x1,y1 … x4,y4, rounded, in image pixels.
|
|
3348
|
+
# @!attribute [r] segments
|
|
3349
|
+
# @return [Array<String>] The groups the control symbols delimit.
|
|
3350
|
+
# @!attribute [r] fields
|
|
3351
|
+
# @return [Array<VeriSec::Types::MicrField>, nil] Fields named as the reader names them; empty when no
|
|
3352
|
+
# template fits.
|
|
3353
|
+
# @!attribute [r] field_list
|
|
3354
|
+
# @return [Array<VeriSec::Types::MicrNamedValue>, nil] Every field the font can carry, empty where this
|
|
3355
|
+
# line did not yield it.
|
|
3356
|
+
# @!attribute [r] template
|
|
3357
|
+
# @return [String, nil] Which fixed template named the line. One of "us_business", "us_personal",
|
|
3358
|
+
# "br_cmc7", "fr_cmc7".
|
|
3359
|
+
# @!attribute [r] standard
|
|
3360
|
+
# @return [VeriSec::Types::MicrStandardLayout, nil] An official national layout (whole-line match only).
|
|
3361
|
+
# @!attribute [r] routing
|
|
3362
|
+
# @return [VeriSec::Types::RoutingProof, nil] The ABA proof behind a US routing number.
|
|
3363
|
+
class MicrZone < VeriSecObject
|
|
3364
|
+
FIELDS = {
|
|
3365
|
+
"index" => nil,
|
|
3366
|
+
"text" => nil,
|
|
3367
|
+
"description" => nil,
|
|
3368
|
+
"confidences" => nil,
|
|
3369
|
+
"klass" => nil,
|
|
3370
|
+
"skew" => nil,
|
|
3371
|
+
"warpedBox" => nil,
|
|
3372
|
+
"font" => nil,
|
|
3373
|
+
"printed" => nil,
|
|
3374
|
+
"confidence" => nil,
|
|
3375
|
+
"char_confidences" => nil,
|
|
3376
|
+
"min_char_confidence" => nil,
|
|
3377
|
+
"box" => nil,
|
|
3378
|
+
"segments" => nil,
|
|
3379
|
+
"fields" => "MicrField",
|
|
3380
|
+
"field_list" => "MicrNamedValue",
|
|
3381
|
+
"template" => nil,
|
|
3382
|
+
"standard" => "MicrStandardLayout",
|
|
3383
|
+
"routing" => "RoutingProof"
|
|
3384
|
+
}.freeze
|
|
3385
|
+
end
|
|
3386
|
+
|
|
3387
|
+
# One named MICR field in the reader format: a single key (the field name, for example `Routing`) and its
|
|
3388
|
+
# value.
|
|
3389
|
+
class MicrField < VeriSecObject
|
|
3390
|
+
FIELDS = {}.freeze
|
|
3391
|
+
end
|
|
3392
|
+
|
|
3393
|
+
# MicrNamedValue.
|
|
3394
|
+
#
|
|
3395
|
+
# @!attribute [r] name
|
|
3396
|
+
# @return [String] Field name, for example `Routing`.
|
|
3397
|
+
# @!attribute [r] value
|
|
3398
|
+
# @return [String] The value; empty when this line does not carry the field.
|
|
3399
|
+
# @!attribute [r] parts
|
|
3400
|
+
# @return [Array<VeriSec::Types::MicrNamedValuePart>, nil] Sub-fields, when the field has them.
|
|
3401
|
+
class MicrNamedValue < VeriSecObject
|
|
3402
|
+
FIELDS = {
|
|
3403
|
+
"name" => nil,
|
|
3404
|
+
"value" => nil,
|
|
3405
|
+
"parts" => "MicrNamedValuePart"
|
|
3406
|
+
}.freeze
|
|
3407
|
+
end
|
|
3408
|
+
|
|
3409
|
+
# MicrNamedValuePart.
|
|
3410
|
+
#
|
|
3411
|
+
# @!attribute [r] name
|
|
3412
|
+
# @return [String]
|
|
3413
|
+
# @!attribute [r] value
|
|
3414
|
+
# @return [String]
|
|
3415
|
+
class MicrNamedValuePart < VeriSecObject
|
|
3416
|
+
FIELDS = {
|
|
3417
|
+
"name" => nil,
|
|
3418
|
+
"value" => nil
|
|
3419
|
+
}.freeze
|
|
3420
|
+
end
|
|
3421
|
+
|
|
3422
|
+
# An official national layout (whole-line match only).
|
|
3423
|
+
#
|
|
3424
|
+
# @!attribute [r] id
|
|
3425
|
+
# @return [String] The standard, for example `ca_cpa_006` or `in_cts_2010`.
|
|
3426
|
+
# @!attribute [r] name
|
|
3427
|
+
# @return [String] The standard's name, for example `Canada (Payments Canada Standard 006)`.
|
|
3428
|
+
# @!attribute [r] country
|
|
3429
|
+
# @return [String] ISO 3166-1 alpha-2.
|
|
3430
|
+
# @!attribute [r] fields
|
|
3431
|
+
# @return [Array<VeriSec::Types::MicrNamedValue>] The fields this line yielded.
|
|
3432
|
+
# @!attribute [r] field_list
|
|
3433
|
+
# @return [Array<VeriSec::Types::MicrNamedValue>, nil] Every field of the standard, empty where the line
|
|
3434
|
+
# did not yield it.
|
|
3435
|
+
class MicrStandardLayout < VeriSecObject
|
|
3436
|
+
FIELDS = {
|
|
3437
|
+
"id" => nil,
|
|
3438
|
+
"name" => nil,
|
|
3439
|
+
"country" => nil,
|
|
3440
|
+
"fields" => "MicrNamedValue",
|
|
3441
|
+
"field_list" => "MicrNamedValue"
|
|
3442
|
+
}.freeze
|
|
3443
|
+
end
|
|
3444
|
+
|
|
3445
|
+
# The ABA proof behind a US routing number.
|
|
3446
|
+
#
|
|
3447
|
+
# @!attribute [r] valid
|
|
3448
|
+
# @return [Boolean] True only when the checksum and the prefix both hold.
|
|
3449
|
+
# @!attribute [r] checksum_pass
|
|
3450
|
+
# @return [Boolean] The ABA check digit holds.
|
|
3451
|
+
# @!attribute [r] check_digit
|
|
3452
|
+
# @return [Integer, nil] The ninth digit as read. Absent when the number is not nine digits.
|
|
3453
|
+
# @!attribute [r] expected_check_digit
|
|
3454
|
+
# @return [Integer, nil] The digit the first eight imply. An audit value, not a correction.
|
|
3455
|
+
# @!attribute [r] prefix_valid
|
|
3456
|
+
# @return [Boolean] The first two digits are an assigned Federal Reserve routing symbol.
|
|
3457
|
+
# @!attribute [r] institution_type
|
|
3458
|
+
# @return [String, nil] Institution type from the routing number's prefix. One of "bank", "thrift",
|
|
3459
|
+
# "electronic", "government", "travellers_cheque".
|
|
3460
|
+
# @!attribute [r] federal_reserve_district
|
|
3461
|
+
# @return [String, nil] The Federal Reserve district, when valid.
|
|
3462
|
+
# @!attribute [r] reason
|
|
3463
|
+
# @return [String, nil] Why it is not valid. One of "not_nine_digits", "check_digit_mismatch",
|
|
3464
|
+
# "prefix_not_assigned".
|
|
3465
|
+
class RoutingProof < VeriSecObject
|
|
3466
|
+
FIELDS = {
|
|
3467
|
+
"valid" => nil,
|
|
3468
|
+
"checksum_pass" => nil,
|
|
3469
|
+
"check_digit" => nil,
|
|
3470
|
+
"expected_check_digit" => nil,
|
|
3471
|
+
"prefix_valid" => nil,
|
|
3472
|
+
"institution_type" => nil,
|
|
3473
|
+
"federal_reserve_district" => nil,
|
|
3474
|
+
"reason" => nil
|
|
3475
|
+
}.freeze
|
|
3476
|
+
end
|
|
3477
|
+
|
|
3478
|
+
# Capture-quality signals.
|
|
3479
|
+
#
|
|
3480
|
+
# @!attribute [r] rotation
|
|
3481
|
+
# @return [Numeric] Page rotation, degrees.
|
|
3482
|
+
# @!attribute [r] skew
|
|
3483
|
+
# @return [Numeric, nil] Primary line skew, degrees.
|
|
3484
|
+
# @!attribute [r] min_char_confidence
|
|
3485
|
+
# @return [Numeric, nil] Weakest character.
|
|
3486
|
+
class ChequeResponseQuality < VeriSecObject
|
|
3487
|
+
FIELDS = {
|
|
3488
|
+
"rotation" => nil,
|
|
3489
|
+
"skew" => nil,
|
|
3490
|
+
"min_char_confidence" => nil
|
|
3491
|
+
}.freeze
|
|
3492
|
+
end
|
|
3493
|
+
|
|
3494
|
+
# The cheque's country and where it came from.
|
|
3495
|
+
#
|
|
3496
|
+
# @!attribute [r] code
|
|
3497
|
+
# @return [String] ISO 3166-1 alpha-2, upper case.
|
|
3498
|
+
# @!attribute [r] name
|
|
3499
|
+
# @return [String] Country name.
|
|
3500
|
+
# @!attribute [r] flag
|
|
3501
|
+
# @return [String] Flag emoji.
|
|
3502
|
+
# @!attribute [r] source
|
|
3503
|
+
# @return [String] Where the country came from. One of "bank_directory", "cheque_face", "micr_line".
|
|
3504
|
+
class CountryInfo < VeriSecObject
|
|
3505
|
+
FIELDS = {
|
|
3506
|
+
"code" => nil,
|
|
3507
|
+
"name" => nil,
|
|
3508
|
+
"flag" => nil,
|
|
3509
|
+
"source" => nil
|
|
3510
|
+
}.freeze
|
|
3511
|
+
end
|
|
3512
|
+
|
|
3513
|
+
# Present when only a resized copy named fields; boxes are mapped back to the original.
|
|
3514
|
+
#
|
|
3515
|
+
# @!attribute [r] image
|
|
3516
|
+
# @return [String]
|
|
3517
|
+
# @!attribute [r] scale
|
|
3518
|
+
# @return [Numeric]
|
|
3519
|
+
# @!attribute [r] width
|
|
3520
|
+
# @return [Integer]
|
|
3521
|
+
# @!attribute [r] height
|
|
3522
|
+
# @return [Integer]
|
|
3523
|
+
class ChequeResponseReadOn < VeriSecObject
|
|
3524
|
+
FIELDS = {
|
|
3525
|
+
"image" => nil,
|
|
3526
|
+
"scale" => nil,
|
|
3527
|
+
"width" => nil,
|
|
3528
|
+
"height" => nil
|
|
3529
|
+
}.freeze
|
|
3530
|
+
end
|
|
3531
|
+
|
|
3532
|
+
# What is written on the cheque's face. The engine may add keys; they are kept.
|
|
3533
|
+
#
|
|
3534
|
+
# @!attribute [r] fields
|
|
3535
|
+
# @return [Array<VeriSec::Types::VisionField>, nil] Every field read, with its box.
|
|
3536
|
+
# @!attribute [r] amount
|
|
3537
|
+
# @return [VeriSec::Types::VisionResultAmount, nil]
|
|
3538
|
+
# @!attribute [r] currency
|
|
3539
|
+
# @return [VeriSec::Types::VisionResultCurrency, nil]
|
|
3540
|
+
# @!attribute [r] date
|
|
3541
|
+
# @return [VeriSec::Types::VisionResultDate, nil]
|
|
3542
|
+
# @!attribute [r] payee
|
|
3543
|
+
# @return [String, nil] Who the cheque is paid to.
|
|
3544
|
+
# @!attribute [r] drawer
|
|
3545
|
+
# @return [VeriSec::Types::VisionResultDrawer, nil] The account holder printed on the cheque.
|
|
3546
|
+
# @!attribute [r] bank
|
|
3547
|
+
# @return [VeriSec::Types::VisionResultBank, nil]
|
|
3548
|
+
# @!attribute [r] cheque_number_printed
|
|
3549
|
+
# @return [String, nil]
|
|
3550
|
+
# @!attribute [r] account_number_printed
|
|
3551
|
+
# @return [String, nil]
|
|
3552
|
+
# @!attribute [r] memo
|
|
3553
|
+
# @return [String, nil]
|
|
3554
|
+
# @!attribute [r] pay_wording
|
|
3555
|
+
# @return [String, nil] The printed pay line.
|
|
3556
|
+
# @!attribute [r] crossing
|
|
3557
|
+
# @return [VeriSec::Types::VisionResultCrossing, nil]
|
|
3558
|
+
# @!attribute [r] signature
|
|
3559
|
+
# @return [VeriSec::Types::VisionResultSignature, nil]
|
|
3560
|
+
# @!attribute [r] cheque_type
|
|
3561
|
+
# @return [String, nil]
|
|
3562
|
+
# @!attribute [r] language
|
|
3563
|
+
# @return [String, nil] ISO 639-1 language of the face.
|
|
3564
|
+
# @!attribute [r] region_guess
|
|
3565
|
+
# @return [String, nil] Country the face suggests, ISO 3166-1 alpha-2.
|
|
3566
|
+
class VisionResult < VeriSecObject
|
|
3567
|
+
FIELDS = {
|
|
3568
|
+
"fields" => "VisionField",
|
|
3569
|
+
"amount" => "VisionResultAmount",
|
|
3570
|
+
"currency" => "VisionResultCurrency",
|
|
3571
|
+
"date" => "VisionResultDate",
|
|
3572
|
+
"payee" => nil,
|
|
3573
|
+
"drawer" => "VisionResultDrawer",
|
|
3574
|
+
"bank" => "VisionResultBank",
|
|
3575
|
+
"cheque_number_printed" => nil,
|
|
3576
|
+
"account_number_printed" => nil,
|
|
3577
|
+
"memo" => nil,
|
|
3578
|
+
"pay_wording" => nil,
|
|
3579
|
+
"crossing" => "VisionResultCrossing",
|
|
3580
|
+
"signature" => "VisionResultSignature",
|
|
3581
|
+
"cheque_type" => nil,
|
|
3582
|
+
"language" => nil,
|
|
3583
|
+
"region_guess" => nil
|
|
3584
|
+
}.freeze
|
|
3585
|
+
end
|
|
3586
|
+
|
|
3587
|
+
# One field the vision reader returned.
|
|
3588
|
+
#
|
|
3589
|
+
# @!attribute [r] source_id
|
|
3590
|
+
# @return [Integer, nil] Index of the text box this field kept.
|
|
3591
|
+
# @!attribute [r] type
|
|
3592
|
+
# @return [String] Field type: `payee`, `courtesy_amount`, `legal_amount`, `date`, `drawer`,
|
|
3593
|
+
# `bank_name`, `memo`, `cheque_number`, `signature`.
|
|
3594
|
+
# @!attribute [r] value
|
|
3595
|
+
# @return [String, nil] The value, corrected.
|
|
3596
|
+
# @!attribute [r] confidence
|
|
3597
|
+
# @return [Numeric, nil] Confidence, 0 to 1.
|
|
3598
|
+
# @!attribute [r] verified
|
|
3599
|
+
# @return [Boolean, nil] Checked against the detector's text.
|
|
3600
|
+
# @!attribute [r] box
|
|
3601
|
+
# @return [Array<Array<Numeric>>, nil] The polygon (4 points) the field kept.
|
|
3602
|
+
# @!attribute [r] detector_text
|
|
3603
|
+
# @return [String, nil] What the text detector read there.
|
|
3604
|
+
class VisionField < VeriSecObject
|
|
3605
|
+
FIELDS = {
|
|
3606
|
+
"source_id" => nil,
|
|
3607
|
+
"type" => nil,
|
|
3608
|
+
"value" => nil,
|
|
3609
|
+
"confidence" => nil,
|
|
3610
|
+
"verified" => nil,
|
|
3611
|
+
"box" => nil,
|
|
3612
|
+
"detector_text" => nil
|
|
3613
|
+
}.freeze
|
|
3614
|
+
end
|
|
3615
|
+
|
|
3616
|
+
# VisionResultAmount.
|
|
3617
|
+
#
|
|
3618
|
+
# @!attribute [r] figures
|
|
3619
|
+
# @return [String, nil] The amount box, as written.
|
|
3620
|
+
# @!attribute [r] words
|
|
3621
|
+
# @return [String, nil] The amount in words, as written.
|
|
3622
|
+
# @!attribute [r] numeric
|
|
3623
|
+
# @return [Numeric, nil]
|
|
3624
|
+
# @!attribute [r] fraction
|
|
3625
|
+
# @return [String, nil]
|
|
3626
|
+
# @!attribute [r] agreement
|
|
3627
|
+
# @return [Boolean, nil] Words and figures say the same amount.
|
|
3628
|
+
class VisionResultAmount < VeriSecObject
|
|
3629
|
+
FIELDS = {
|
|
3630
|
+
"figures" => nil,
|
|
3631
|
+
"words" => nil,
|
|
3632
|
+
"numeric" => nil,
|
|
3633
|
+
"fraction" => nil,
|
|
3634
|
+
"agreement" => nil
|
|
3635
|
+
}.freeze
|
|
3636
|
+
end
|
|
3637
|
+
|
|
3638
|
+
# VisionResultCurrency.
|
|
3639
|
+
#
|
|
3640
|
+
# @!attribute [r] code
|
|
3641
|
+
# @return [String, nil]
|
|
3642
|
+
# @!attribute [r] symbol
|
|
3643
|
+
# @return [String, nil]
|
|
3644
|
+
# @!attribute [r] source
|
|
3645
|
+
# @return [String, nil]
|
|
3646
|
+
class VisionResultCurrency < VeriSecObject
|
|
3647
|
+
FIELDS = {
|
|
3648
|
+
"code" => nil,
|
|
3649
|
+
"symbol" => nil,
|
|
3650
|
+
"source" => nil
|
|
3651
|
+
}.freeze
|
|
3652
|
+
end
|
|
3653
|
+
|
|
3654
|
+
# VisionResultDate.
|
|
3655
|
+
#
|
|
3656
|
+
# @!attribute [r] raw
|
|
3657
|
+
# @return [String, nil]
|
|
3658
|
+
# @!attribute [r] iso
|
|
3659
|
+
# @return [String, nil]
|
|
3660
|
+
# @!attribute [r] format
|
|
3661
|
+
# @return [String, nil]
|
|
3662
|
+
# @!attribute [r] ambiguous
|
|
3663
|
+
# @return [Boolean, nil]
|
|
3664
|
+
# @!attribute [r] post_dated
|
|
3665
|
+
# @return [Boolean, nil]
|
|
3666
|
+
class VisionResultDate < VeriSecObject
|
|
3667
|
+
FIELDS = {
|
|
3668
|
+
"raw" => nil,
|
|
3669
|
+
"iso" => nil,
|
|
3670
|
+
"format" => nil,
|
|
3671
|
+
"ambiguous" => nil,
|
|
3672
|
+
"post_dated" => nil
|
|
3673
|
+
}.freeze
|
|
3674
|
+
end
|
|
3675
|
+
|
|
3676
|
+
# The account holder printed on the cheque.
|
|
3677
|
+
#
|
|
3678
|
+
# @!attribute [r] name
|
|
3679
|
+
# @return [String, nil]
|
|
3680
|
+
# @!attribute [r] address
|
|
3681
|
+
# @return [String, nil]
|
|
3682
|
+
class VisionResultDrawer < VeriSecObject
|
|
3683
|
+
FIELDS = {
|
|
3684
|
+
"name" => nil,
|
|
3685
|
+
"address" => nil
|
|
3686
|
+
}.freeze
|
|
3687
|
+
end
|
|
3688
|
+
|
|
3689
|
+
# VisionResultBank.
|
|
3690
|
+
#
|
|
3691
|
+
# @!attribute [r] name
|
|
3692
|
+
# @return [String, nil]
|
|
3693
|
+
# @!attribute [r] country
|
|
3694
|
+
# @return [String, nil]
|
|
3695
|
+
# @!attribute [r] branch
|
|
3696
|
+
# @return [String, nil]
|
|
3697
|
+
# @!attribute [r] address
|
|
3698
|
+
# @return [String, nil]
|
|
3699
|
+
class VisionResultBank < VeriSecObject
|
|
3700
|
+
FIELDS = {
|
|
3701
|
+
"name" => nil,
|
|
3702
|
+
"country" => nil,
|
|
3703
|
+
"branch" => nil,
|
|
3704
|
+
"address" => nil
|
|
3705
|
+
}.freeze
|
|
3706
|
+
end
|
|
3707
|
+
|
|
3708
|
+
# VisionResultCrossing.
|
|
3709
|
+
#
|
|
3710
|
+
# @!attribute [r] present
|
|
3711
|
+
# @return [Boolean, nil]
|
|
3712
|
+
# @!attribute [r] type
|
|
3713
|
+
# @return [String, nil]
|
|
3714
|
+
# @!attribute [r] text
|
|
3715
|
+
# @return [String, nil]
|
|
3716
|
+
class VisionResultCrossing < VeriSecObject
|
|
3717
|
+
FIELDS = {
|
|
3718
|
+
"present" => nil,
|
|
3719
|
+
"type" => nil,
|
|
3720
|
+
"text" => nil
|
|
3721
|
+
}.freeze
|
|
3722
|
+
end
|
|
3723
|
+
|
|
3724
|
+
# VisionResultSignature.
|
|
3725
|
+
#
|
|
3726
|
+
# @!attribute [r] present
|
|
3727
|
+
# @return [Boolean, nil]
|
|
3728
|
+
# @!attribute [r] count
|
|
3729
|
+
# @return [Integer, nil]
|
|
3730
|
+
class VisionResultSignature < VeriSecObject
|
|
3731
|
+
FIELDS = {
|
|
3732
|
+
"present" => nil,
|
|
3733
|
+
"count" => nil
|
|
3734
|
+
}.freeze
|
|
3735
|
+
end
|
|
3736
|
+
|
|
3737
|
+
# A bank read on a document, matched in the directory.
|
|
3738
|
+
#
|
|
3739
|
+
# @!attribute [r] read
|
|
3740
|
+
# @return [VeriSec::Types::BankMatchRead] What the document says.
|
|
3741
|
+
# @!attribute [r] resolved
|
|
3742
|
+
# @return [VeriSec::Types::BankResolved, nil] The bank matched in the directory. Absent when none
|
|
3743
|
+
# matched.
|
|
3744
|
+
# @!attribute [r] match_confidence
|
|
3745
|
+
# @return [Numeric] How strong the match is, 0 to 1.
|
|
3746
|
+
# @!attribute [r] name_match
|
|
3747
|
+
# @return [Numeric, nil] How surely the two names name the same bank, 0 to 1.
|
|
3748
|
+
# @!attribute [r] alternatives
|
|
3749
|
+
# @return [Array<VeriSec::Types::BankResolved>] Other close banks, best first.
|
|
3750
|
+
class BankMatch < VeriSecObject
|
|
3751
|
+
FIELDS = {
|
|
3752
|
+
"read" => "BankMatchRead",
|
|
3753
|
+
"resolved" => "BankResolved",
|
|
3754
|
+
"match_confidence" => nil,
|
|
3755
|
+
"name_match" => nil,
|
|
3756
|
+
"alternatives" => "BankResolved"
|
|
3757
|
+
}.freeze
|
|
3758
|
+
end
|
|
3759
|
+
|
|
3760
|
+
# What the document says.
|
|
3761
|
+
#
|
|
3762
|
+
# @!attribute [r] name
|
|
3763
|
+
# @return [String, nil]
|
|
3764
|
+
# @!attribute [r] country
|
|
3765
|
+
# @return [String, nil]
|
|
3766
|
+
# @!attribute [r] branch
|
|
3767
|
+
# @return [String, nil]
|
|
3768
|
+
# @!attribute [r] address
|
|
3769
|
+
# @return [String, nil]
|
|
3770
|
+
class BankMatchRead < VeriSecObject
|
|
3771
|
+
FIELDS = {
|
|
3772
|
+
"name" => nil,
|
|
3773
|
+
"country" => nil,
|
|
3774
|
+
"branch" => nil,
|
|
3775
|
+
"address" => nil
|
|
3776
|
+
}.freeze
|
|
3777
|
+
end
|
|
3778
|
+
|
|
3779
|
+
# A bank from VeriSec's directory of about 75,000 banks.
|
|
3780
|
+
#
|
|
3781
|
+
# @!attribute [r] profile_id
|
|
3782
|
+
# @return [String] The bank's directory id.
|
|
3783
|
+
# @!attribute [r] name
|
|
3784
|
+
# @return [String] The bank's name.
|
|
3785
|
+
# @!attribute [r] country
|
|
3786
|
+
# @return [String, nil]
|
|
3787
|
+
# @!attribute [r] country_code
|
|
3788
|
+
# @return [String, nil] ISO 3166-1 alpha-2.
|
|
3789
|
+
# @!attribute [r] city
|
|
3790
|
+
# @return [String, nil]
|
|
3791
|
+
# @!attribute [r] address
|
|
3792
|
+
# @return [String, nil]
|
|
3793
|
+
# @!attribute [r] bic
|
|
3794
|
+
# @return [String, nil]
|
|
3795
|
+
# @!attribute [r] routing
|
|
3796
|
+
# @return [String, nil]
|
|
3797
|
+
# @!attribute [r] parent
|
|
3798
|
+
# @return [String, nil]
|
|
3799
|
+
# @!attribute [r] status
|
|
3800
|
+
# @return [String, nil] Only when the record states it plainly. One of "active", "dissolved", nil.
|
|
3801
|
+
# @!attribute [r] logo_url
|
|
3802
|
+
# @return [String, nil] The bank's logo, relative to the API base.
|
|
3803
|
+
# @!attribute [r] flag_url
|
|
3804
|
+
# @return [String, nil] The country's flag (SVG), relative to the API base.
|
|
3805
|
+
class BankResolved < VeriSecObject
|
|
3806
|
+
FIELDS = {
|
|
3807
|
+
"profile_id" => nil,
|
|
3808
|
+
"name" => nil,
|
|
3809
|
+
"country" => nil,
|
|
3810
|
+
"country_code" => nil,
|
|
3811
|
+
"city" => nil,
|
|
3812
|
+
"address" => nil,
|
|
3813
|
+
"bic" => nil,
|
|
3814
|
+
"routing" => nil,
|
|
3815
|
+
"parent" => nil,
|
|
3816
|
+
"status" => nil,
|
|
3817
|
+
"logo_url" => nil,
|
|
3818
|
+
"flag_url" => nil
|
|
3819
|
+
}.freeze
|
|
3820
|
+
end
|
|
3821
|
+
|
|
3822
|
+
# A full currency record (ISO 4217 + CLDR).
|
|
3823
|
+
#
|
|
3824
|
+
# @!attribute [r] code
|
|
3825
|
+
# @return [String, nil]
|
|
3826
|
+
# @!attribute [r] numeric_code
|
|
3827
|
+
# @return [String, nil]
|
|
3828
|
+
# @!attribute [r] name
|
|
3829
|
+
# @return [String, nil]
|
|
3830
|
+
# @!attribute [r] symbol
|
|
3831
|
+
# @return [String, nil]
|
|
3832
|
+
# @!attribute [r] local_symbol
|
|
3833
|
+
# @return [String, nil]
|
|
3834
|
+
# @!attribute [r] minor_units
|
|
3835
|
+
# @return [String, nil]
|
|
3836
|
+
# @!attribute [r] english_name_cldr
|
|
3837
|
+
# @return [String, nil]
|
|
3838
|
+
# @!attribute [r] usd_per_unit
|
|
3839
|
+
# @return [Numeric, String, nil]
|
|
3840
|
+
# @!attribute [r] units_per_usd
|
|
3841
|
+
# @return [Numeric, String, nil]
|
|
3842
|
+
# @!attribute [r] wikidata_id
|
|
3843
|
+
# @return [String, nil]
|
|
3844
|
+
class ResolvedCurrency < VeriSecObject
|
|
3845
|
+
FIELDS = {
|
|
3846
|
+
"code" => nil,
|
|
3847
|
+
"numeric_code" => nil,
|
|
3848
|
+
"name" => nil,
|
|
3849
|
+
"symbol" => nil,
|
|
3850
|
+
"local_symbol" => nil,
|
|
3851
|
+
"minor_units" => nil,
|
|
3852
|
+
"english_name_cldr" => nil,
|
|
3853
|
+
"usd_per_unit" => nil,
|
|
3854
|
+
"units_per_usd" => nil,
|
|
3855
|
+
"wikidata_id" => nil
|
|
3856
|
+
}.freeze
|
|
3857
|
+
end
|
|
3858
|
+
|
|
3859
|
+
# Every text box on the image, for drawing only (no text).
|
|
3860
|
+
#
|
|
3861
|
+
# @!attribute [r] width
|
|
3862
|
+
# @return [Integer] Image width in pixels.
|
|
3863
|
+
# @!attribute [r] height
|
|
3864
|
+
# @return [Integer] Image height in pixels.
|
|
3865
|
+
# @!attribute [r] boxes
|
|
3866
|
+
# @return [Array<VeriSec::Types::TextBoxesBox>] Every text region found.
|
|
3867
|
+
class TextBoxes < VeriSecObject
|
|
3868
|
+
FIELDS = {
|
|
3869
|
+
"width" => nil,
|
|
3870
|
+
"height" => nil,
|
|
3871
|
+
"boxes" => "TextBoxesBox"
|
|
3872
|
+
}.freeze
|
|
3873
|
+
end
|
|
3874
|
+
|
|
3875
|
+
# TextBoxesBox.
|
|
3876
|
+
#
|
|
3877
|
+
# @!attribute [r] box
|
|
3878
|
+
# @return [Array<Numeric>] Four corners x1,y1 … x4,y4, in image pixels.
|
|
3879
|
+
# @!attribute [r] score
|
|
3880
|
+
# @return [Numeric] Detection score, 0 to 1.
|
|
3881
|
+
class TextBoxesBox < VeriSecObject
|
|
3882
|
+
FIELDS = {
|
|
3883
|
+
"box" => nil,
|
|
3884
|
+
"score" => nil
|
|
3885
|
+
}.freeze
|
|
3886
|
+
end
|
|
3887
|
+
|
|
3888
|
+
# One cheque of a photo that holds several.
|
|
3889
|
+
#
|
|
3890
|
+
# @!attribute [r] index
|
|
3891
|
+
# @return [Integer] 1-based, from the top (left to right when side by side).
|
|
3892
|
+
# @!attribute [r] micr
|
|
3893
|
+
# @return [VeriSec::Types::DeepChequeMicr]
|
|
3894
|
+
# @!attribute [r] vision
|
|
3895
|
+
# @return [VeriSec::Types::VisionResult, nil] What is written on the cheque's face. The engine may add
|
|
3896
|
+
# keys; they are kept.
|
|
3897
|
+
# @!attribute [r] bank
|
|
3898
|
+
# @return [VeriSec::Types::BankMatch, nil] A bank read on a document, matched in the directory.
|
|
3899
|
+
# @!attribute [r] country
|
|
3900
|
+
# @return [VeriSec::Types::CountryInfo, nil] The cheque's country and where it came from.
|
|
3901
|
+
# @!attribute [r] currency
|
|
3902
|
+
# @return [VeriSec::Types::ResolvedCurrency, nil] A full currency record (ISO 4217 + CLDR).
|
|
3903
|
+
# @!attribute [r] reader_error
|
|
3904
|
+
# @return [String, nil]
|
|
3905
|
+
class DeepCheque < VeriSecObject
|
|
3906
|
+
FIELDS = {
|
|
3907
|
+
"index" => nil,
|
|
3908
|
+
"micr" => "DeepChequeMicr",
|
|
3909
|
+
"vision" => "VisionResult",
|
|
3910
|
+
"bank" => "BankMatch",
|
|
3911
|
+
"country" => "CountryInfo",
|
|
3912
|
+
"currency" => "ResolvedCurrency",
|
|
3913
|
+
"reader_error" => nil
|
|
3914
|
+
}.freeze
|
|
3915
|
+
end
|
|
3916
|
+
|
|
3917
|
+
# DeepChequeMicr.
|
|
3918
|
+
#
|
|
3919
|
+
# @!attribute [r] status
|
|
3920
|
+
# @return [String] `partial`: read, but something a caller relies on is missing or failed a check
|
|
3921
|
+
# (`issue_code` says what). `unreadable`: nothing to read. One of "read", "partial", "unreadable".
|
|
3922
|
+
# @!attribute [r] issue_code
|
|
3923
|
+
# @return [String, nil] Why a read is `partial` or `unreadable`: `no_micr_line`,
|
|
3924
|
+
# `routing_checksum_failed`, `routing_prefix_invalid`, `layout_unrecognised`, `weak_characters`,
|
|
3925
|
+
# `no_card`, `number_unreadable`, `luhn_failed`, `low_confidence`.
|
|
3926
|
+
# @!attribute [r] issue
|
|
3927
|
+
# @return [String, nil]
|
|
3928
|
+
# @!attribute [r] zones_detected
|
|
3929
|
+
# @return [Integer, nil]
|
|
3930
|
+
# @!attribute [r] zones
|
|
3931
|
+
# @return [Array<VeriSec::Types::MicrZone>, nil]
|
|
3932
|
+
# @!attribute [r] micr
|
|
3933
|
+
# @return [VeriSec::Types::MicrZone, nil] One MICR line, exactly as the engine returns it, plus values
|
|
3934
|
+
# derived from its text.
|
|
3935
|
+
# @!attribute [r] country
|
|
3936
|
+
# @return [VeriSec::Types::CountryInfo, nil] The cheque's country and where it came from.
|
|
3937
|
+
# @!attribute [r] quality
|
|
3938
|
+
# @return [VeriSec::Types::DeepChequeMicrQuality, nil]
|
|
3939
|
+
class DeepChequeMicr < VeriSecObject
|
|
3940
|
+
FIELDS = {
|
|
3941
|
+
"status" => nil,
|
|
3942
|
+
"issue_code" => nil,
|
|
3943
|
+
"issue" => nil,
|
|
3944
|
+
"zones_detected" => nil,
|
|
3945
|
+
"zones" => "MicrZone",
|
|
3946
|
+
"micr" => "MicrZone",
|
|
3947
|
+
"country" => "CountryInfo",
|
|
3948
|
+
"quality" => "DeepChequeMicrQuality"
|
|
3949
|
+
}.freeze
|
|
3950
|
+
end
|
|
3951
|
+
|
|
3952
|
+
# DeepChequeMicrQuality.
|
|
3953
|
+
#
|
|
3954
|
+
# @!attribute [r] rotation
|
|
3955
|
+
# @return [Numeric, nil]
|
|
3956
|
+
# @!attribute [r] skew
|
|
3957
|
+
# @return [Numeric, nil]
|
|
3958
|
+
# @!attribute [r] min_char_confidence
|
|
3959
|
+
# @return [Numeric, nil]
|
|
3960
|
+
class DeepChequeMicrQuality < VeriSecObject
|
|
3961
|
+
FIELDS = {
|
|
3962
|
+
"rotation" => nil,
|
|
3963
|
+
"skew" => nil,
|
|
3964
|
+
"min_char_confidence" => nil
|
|
3965
|
+
}.freeze
|
|
3966
|
+
end
|
|
3967
|
+
|
|
3968
|
+
# Where the time went, in milliseconds.
|
|
3969
|
+
#
|
|
3970
|
+
# @!attribute [r] micr_ms
|
|
3971
|
+
# @return [Integer, nil]
|
|
3972
|
+
# @!attribute [r] model_ms
|
|
3973
|
+
# @return [Integer, nil]
|
|
3974
|
+
# @!attribute [r] boxes_ms
|
|
3975
|
+
# @return [Integer, nil]
|
|
3976
|
+
# @!attribute [r] total_ms
|
|
3977
|
+
# @return [Integer, nil]
|
|
3978
|
+
class ChequeDeepReadTiming < VeriSecObject
|
|
3979
|
+
FIELDS = {
|
|
3980
|
+
"micr_ms" => nil,
|
|
3981
|
+
"model_ms" => nil,
|
|
3982
|
+
"boxes_ms" => nil,
|
|
3983
|
+
"total_ms" => nil
|
|
3984
|
+
}.freeze
|
|
3985
|
+
end
|
|
3986
|
+
|
|
3987
|
+
# Photo quality from the check before the read. It never blocks the read, only warns.
|
|
3988
|
+
#
|
|
3989
|
+
# @!attribute [r] status
|
|
3990
|
+
# @return [String] One of "ok", "document_not_found", "too_far", "blurry", "glare", "unreadable".
|
|
3991
|
+
# @!attribute [r] normalised
|
|
3992
|
+
# @return [Boolean, nil]
|
|
3993
|
+
# @!attribute [r] ms
|
|
3994
|
+
# @return [Integer, nil]
|
|
3995
|
+
class ChequeDeepReadImageQuality < VeriSecObject
|
|
3996
|
+
FIELDS = {
|
|
3997
|
+
"status" => nil,
|
|
3998
|
+
"normalised" => nil,
|
|
3999
|
+
"ms" => nil
|
|
4000
|
+
}.freeze
|
|
4001
|
+
end
|
|
4002
|
+
|
|
4003
|
+
# Just the MICR line and its named fields.
|
|
4004
|
+
#
|
|
4005
|
+
# Returned by {VeriSec::Resources::Cheques#micr_line}.
|
|
4006
|
+
#
|
|
4007
|
+
# @!attribute [r] object
|
|
4008
|
+
# @return [String] Always `micr_line`.
|
|
4009
|
+
# @!attribute [r] status
|
|
4010
|
+
# @return [String] `partial`: read, but something a caller relies on is missing or failed a check
|
|
4011
|
+
# (`issue_code` says what). `unreadable`: nothing to read. One of "read", "partial", "unreadable".
|
|
4012
|
+
# @!attribute [r] issue_code
|
|
4013
|
+
# @return [String, nil] Why a read is `partial` or `unreadable`: `no_micr_line`,
|
|
4014
|
+
# `routing_checksum_failed`, `routing_prefix_invalid`, `layout_unrecognised`, `weak_characters`,
|
|
4015
|
+
# `no_card`, `number_unreadable`, `luhn_failed`, `low_confidence`.
|
|
4016
|
+
# @!attribute [r] issue
|
|
4017
|
+
# @return [String, nil] Plain-words reason, when not `read`.
|
|
4018
|
+
# @!attribute [r] lines_found
|
|
4019
|
+
# @return [Integer] How many MICR lines the photo has.
|
|
4020
|
+
# @!attribute [r] processing_ms
|
|
4021
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
4022
|
+
# @!attribute [r] line
|
|
4023
|
+
# @return [VeriSec::Types::MicrLineLine, nil] The strongest line.
|
|
4024
|
+
# @!attribute [r] fields
|
|
4025
|
+
# @return [Array<VeriSec::Types::MicrNamedValue>, nil] Each field by name; an empty value means this
|
|
4026
|
+
# line does not carry it.
|
|
4027
|
+
# @!attribute [r] template
|
|
4028
|
+
# @return [String, nil] Which fixed template named the line. One of "us_business", "us_personal",
|
|
4029
|
+
# "br_cmc7", "fr_cmc7".
|
|
4030
|
+
# @!attribute [r] standard
|
|
4031
|
+
# @return [VeriSec::Types::MicrStandardLayout, nil] An official national layout (whole-line match only).
|
|
4032
|
+
# @!attribute [r] routing
|
|
4033
|
+
# @return [VeriSec::Types::RoutingProof, nil] The ABA proof behind a US routing number.
|
|
4034
|
+
class MicrLine < VeriSecObject
|
|
4035
|
+
FIELDS = {
|
|
4036
|
+
"object" => nil,
|
|
4037
|
+
"status" => nil,
|
|
4038
|
+
"issue_code" => nil,
|
|
4039
|
+
"issue" => nil,
|
|
4040
|
+
"lines_found" => nil,
|
|
4041
|
+
"processing_ms" => nil,
|
|
4042
|
+
"line" => "MicrLineLine",
|
|
4043
|
+
"fields" => "MicrNamedValue",
|
|
4044
|
+
"template" => nil,
|
|
4045
|
+
"standard" => "MicrStandardLayout",
|
|
4046
|
+
"routing" => "RoutingProof"
|
|
4047
|
+
}.freeze
|
|
4048
|
+
end
|
|
4049
|
+
|
|
4050
|
+
# The strongest line.
|
|
4051
|
+
#
|
|
4052
|
+
# @!attribute [r] text
|
|
4053
|
+
# @return [String]
|
|
4054
|
+
# @!attribute [r] printed
|
|
4055
|
+
# @return [String]
|
|
4056
|
+
# @!attribute [r] font
|
|
4057
|
+
# @return [String] One of "E-13B", "CMC-7".
|
|
4058
|
+
# @!attribute [r] confidence
|
|
4059
|
+
# @return [Numeric]
|
|
4060
|
+
# @!attribute [r] min_char_confidence
|
|
4061
|
+
# @return [Numeric, nil]
|
|
4062
|
+
# @!attribute [r] box
|
|
4063
|
+
# @return [Array<Numeric>] Four corners x1,y1 … x4,y4, in image pixels.
|
|
4064
|
+
class MicrLineLine < VeriSecObject
|
|
4065
|
+
FIELDS = {
|
|
4066
|
+
"text" => nil,
|
|
4067
|
+
"printed" => nil,
|
|
4068
|
+
"font" => nil,
|
|
4069
|
+
"confidence" => nil,
|
|
4070
|
+
"min_char_confidence" => nil,
|
|
4071
|
+
"box" => nil
|
|
4072
|
+
}.freeze
|
|
4073
|
+
end
|
|
4074
|
+
|
|
4075
|
+
# The amount on a cheque. Fields the face does not show are absent.
|
|
4076
|
+
#
|
|
4077
|
+
# Returned by {VeriSec::Resources::Cheques#amount}.
|
|
4078
|
+
#
|
|
4079
|
+
# @!attribute [r] object
|
|
4080
|
+
# @return [String] Always `cheque_amount`.
|
|
4081
|
+
# @!attribute [r] figures
|
|
4082
|
+
# @return [String, nil] The amount box, as written.
|
|
4083
|
+
# @!attribute [r] words
|
|
4084
|
+
# @return [String, nil] The amount in words, as written.
|
|
4085
|
+
# @!attribute [r] numeric
|
|
4086
|
+
# @return [Numeric, nil] The amount as a number.
|
|
4087
|
+
# @!attribute [r] agreement
|
|
4088
|
+
# @return [Boolean, nil] Words and figures say the same amount.
|
|
4089
|
+
# @!attribute [r] currency
|
|
4090
|
+
# @return [VeriSec::Types::ChequeAmountCurrency, nil]
|
|
4091
|
+
# @!attribute [r] processing_ms
|
|
4092
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
4093
|
+
class ChequeAmount < VeriSecObject
|
|
4094
|
+
FIELDS = {
|
|
4095
|
+
"object" => nil,
|
|
4096
|
+
"figures" => nil,
|
|
4097
|
+
"words" => nil,
|
|
4098
|
+
"numeric" => nil,
|
|
4099
|
+
"agreement" => nil,
|
|
4100
|
+
"currency" => "ChequeAmountCurrency",
|
|
4101
|
+
"processing_ms" => nil
|
|
4102
|
+
}.freeze
|
|
4103
|
+
end
|
|
4104
|
+
|
|
4105
|
+
# ChequeAmountCurrency.
|
|
4106
|
+
#
|
|
4107
|
+
# @!attribute [r] code
|
|
4108
|
+
# @return [String] ISO 4217.
|
|
4109
|
+
# @!attribute [r] name
|
|
4110
|
+
# @return [String, nil]
|
|
4111
|
+
# @!attribute [r] symbol
|
|
4112
|
+
# @return [String, nil]
|
|
4113
|
+
class ChequeAmountCurrency < VeriSecObject
|
|
4114
|
+
FIELDS = {
|
|
4115
|
+
"code" => nil,
|
|
4116
|
+
"name" => nil,
|
|
4117
|
+
"symbol" => nil
|
|
4118
|
+
}.freeze
|
|
4119
|
+
end
|
|
4120
|
+
|
|
4121
|
+
# The date on a cheque. Your own rules decide when a cheque is stale.
|
|
4122
|
+
#
|
|
4123
|
+
# Returned by {VeriSec::Resources::Cheques#date}.
|
|
4124
|
+
#
|
|
4125
|
+
# @!attribute [r] object
|
|
4126
|
+
# @return [String] Always `cheque_date`.
|
|
4127
|
+
# @!attribute [r] raw
|
|
4128
|
+
# @return [String, nil] The date as written.
|
|
4129
|
+
# @!attribute [r] iso
|
|
4130
|
+
# @return [String, nil] The same date as YYYY-MM-DD.
|
|
4131
|
+
# @!attribute [r] age_days
|
|
4132
|
+
# @return [Integer, nil] Days since the date; negative when it is in the future.
|
|
4133
|
+
# @!attribute [r] post_dated
|
|
4134
|
+
# @return [Boolean, nil] True when the date is in the future.
|
|
4135
|
+
# @!attribute [r] processing_ms
|
|
4136
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
4137
|
+
class ChequeDate < VeriSecObject
|
|
4138
|
+
FIELDS = {
|
|
4139
|
+
"object" => nil,
|
|
4140
|
+
"raw" => nil,
|
|
4141
|
+
"iso" => nil,
|
|
4142
|
+
"age_days" => nil,
|
|
4143
|
+
"post_dated" => nil,
|
|
4144
|
+
"processing_ms" => nil
|
|
4145
|
+
}.freeze
|
|
4146
|
+
end
|
|
4147
|
+
|
|
4148
|
+
# Who a cheque pays and who pays it. A name not on the cheque is left out, never guessed.
|
|
4149
|
+
#
|
|
4150
|
+
# Returned by {VeriSec::Resources::Cheques#parties}.
|
|
4151
|
+
#
|
|
4152
|
+
# @!attribute [r] object
|
|
4153
|
+
# @return [String] Always `cheque_parties`.
|
|
4154
|
+
# @!attribute [r] payee
|
|
4155
|
+
# @return [String, nil] The name the cheque is paid to.
|
|
4156
|
+
# @!attribute [r] drawer
|
|
4157
|
+
# @return [String, nil] The account holder printed on the cheque.
|
|
4158
|
+
# @!attribute [r] processing_ms
|
|
4159
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
4160
|
+
class ChequeParties < VeriSecObject
|
|
4161
|
+
FIELDS = {
|
|
4162
|
+
"object" => nil,
|
|
4163
|
+
"payee" => nil,
|
|
4164
|
+
"drawer" => nil,
|
|
4165
|
+
"processing_ms" => nil
|
|
4166
|
+
}.freeze
|
|
4167
|
+
end
|
|
4168
|
+
|
|
4169
|
+
# The bank printed on a cheque, matched in the directory.
|
|
4170
|
+
#
|
|
4171
|
+
# Returned by {VeriSec::Resources::Cheques#bank}.
|
|
4172
|
+
#
|
|
4173
|
+
# @!attribute [r] object
|
|
4174
|
+
# @return [String] Always `cheque_bank`.
|
|
4175
|
+
# @!attribute [r] read
|
|
4176
|
+
# @return [VeriSec::Types::ChequeBankRead, nil] The bank as printed on the cheque.
|
|
4177
|
+
# @!attribute [r] bank
|
|
4178
|
+
# @return [VeriSec::Types::BankResolved, nil] The matched bank. Absent when no bank matched.
|
|
4179
|
+
# @!attribute [r] match_confidence
|
|
4180
|
+
# @return [Numeric, nil] How strong the match is, 0 to 1.
|
|
4181
|
+
# @!attribute [r] country
|
|
4182
|
+
# @return [VeriSec::Types::ChequeBankCountry, nil]
|
|
4183
|
+
# @!attribute [r] processing_ms
|
|
4184
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
4185
|
+
class ChequeBank < VeriSecObject
|
|
4186
|
+
FIELDS = {
|
|
4187
|
+
"object" => nil,
|
|
4188
|
+
"read" => "ChequeBankRead",
|
|
4189
|
+
"bank" => "BankResolved",
|
|
4190
|
+
"match_confidence" => nil,
|
|
4191
|
+
"country" => "ChequeBankCountry",
|
|
4192
|
+
"processing_ms" => nil
|
|
4193
|
+
}.freeze
|
|
4194
|
+
end
|
|
4195
|
+
|
|
4196
|
+
# The bank as printed on the cheque.
|
|
4197
|
+
#
|
|
4198
|
+
# @!attribute [r] name
|
|
4199
|
+
# @return [String, nil]
|
|
4200
|
+
# @!attribute [r] branch
|
|
4201
|
+
# @return [String, nil]
|
|
4202
|
+
# @!attribute [r] address
|
|
4203
|
+
# @return [String, nil]
|
|
4204
|
+
# @!attribute [r] country
|
|
4205
|
+
# @return [String, nil]
|
|
4206
|
+
class ChequeBankRead < VeriSecObject
|
|
4207
|
+
FIELDS = {
|
|
4208
|
+
"name" => nil,
|
|
4209
|
+
"branch" => nil,
|
|
4210
|
+
"address" => nil,
|
|
4211
|
+
"country" => nil
|
|
4212
|
+
}.freeze
|
|
4213
|
+
end
|
|
4214
|
+
|
|
4215
|
+
# ChequeBankCountry.
|
|
4216
|
+
#
|
|
4217
|
+
# @!attribute [r] code
|
|
4218
|
+
# @return [String]
|
|
4219
|
+
# @!attribute [r] name
|
|
4220
|
+
# @return [String]
|
|
4221
|
+
# @!attribute [r] flag
|
|
4222
|
+
# @return [String, nil]
|
|
4223
|
+
# @!attribute [r] flag_url
|
|
4224
|
+
# @return [String, nil]
|
|
4225
|
+
class ChequeBankCountry < VeriSecObject
|
|
4226
|
+
FIELDS = {
|
|
4227
|
+
"code" => nil,
|
|
4228
|
+
"name" => nil,
|
|
4229
|
+
"flag" => nil,
|
|
4230
|
+
"flag_url" => nil
|
|
4231
|
+
}.freeze
|
|
4232
|
+
end
|
|
4233
|
+
|
|
4234
|
+
# A bank looked up in the directory.
|
|
4235
|
+
#
|
|
4236
|
+
# Returned by {VeriSec::Resources::Banks#lookup}.
|
|
4237
|
+
#
|
|
4238
|
+
# @!attribute [r] object
|
|
4239
|
+
# @return [String] Always `bank_lookup`.
|
|
4240
|
+
# @!attribute [r] query
|
|
4241
|
+
# @return [VeriSec::Types::BankLookupQuery] The query as received.
|
|
4242
|
+
# @!attribute [r] bank
|
|
4243
|
+
# @return [VeriSec::Types::BankResolved, nil] The best match. Absent when nothing matched.
|
|
4244
|
+
# @!attribute [r] name_match
|
|
4245
|
+
# @return [Numeric, nil] How surely your name and the bank's name are the same bank, 0 to 1.
|
|
4246
|
+
# @!attribute [r] verified
|
|
4247
|
+
# @return [Boolean] True when the match is sure: name match 0.80 or more, or an exact BIC.
|
|
4248
|
+
# @!attribute [r] alternatives
|
|
4249
|
+
# @return [Array<VeriSec::Types::BankResolved>] Other close banks, best first.
|
|
4250
|
+
class BankLookup < VeriSecObject
|
|
4251
|
+
FIELDS = {
|
|
4252
|
+
"object" => nil,
|
|
4253
|
+
"query" => "BankLookupQuery",
|
|
4254
|
+
"bank" => "BankResolved",
|
|
4255
|
+
"name_match" => nil,
|
|
4256
|
+
"verified" => nil,
|
|
4257
|
+
"alternatives" => "BankResolved"
|
|
4258
|
+
}.freeze
|
|
4259
|
+
end
|
|
4260
|
+
|
|
4261
|
+
# The query as received.
|
|
4262
|
+
#
|
|
4263
|
+
# @!attribute [r] name
|
|
4264
|
+
# @return [String, nil]
|
|
4265
|
+
# @!attribute [r] country
|
|
4266
|
+
# @return [String, nil]
|
|
4267
|
+
# @!attribute [r] bic
|
|
4268
|
+
# @return [String, nil]
|
|
4269
|
+
class BankLookupQuery < VeriSecObject
|
|
4270
|
+
FIELDS = {
|
|
4271
|
+
"name" => nil,
|
|
4272
|
+
"country" => nil,
|
|
4273
|
+
"bic" => nil
|
|
4274
|
+
}.freeze
|
|
4275
|
+
end
|
|
4276
|
+
|
|
4277
|
+
# A card read (the Card service's wire format). Stored copies (lists, retrieve) never contain the full
|
|
4278
|
+
# number.
|
|
4279
|
+
#
|
|
4280
|
+
# Returned by {VeriSec::Resources::Cards#read}.
|
|
4281
|
+
#
|
|
4282
|
+
# @!attribute [r] id
|
|
4283
|
+
# @return [String] Scan id, `crd_` followed by 12 characters.
|
|
4284
|
+
# @!attribute [r] object
|
|
4285
|
+
# @return [String] Always `card`.
|
|
4286
|
+
# @!attribute [r] created_at
|
|
4287
|
+
# @return [String] When it was created (ISO 8601, UTC).
|
|
4288
|
+
# @!attribute [r] source
|
|
4289
|
+
# @return [String] Where the call came from, as shown in the console's logs. One of "api", "sdk",
|
|
4290
|
+
# "playground".
|
|
4291
|
+
# @!attribute [r] env
|
|
4292
|
+
# @return [String] The environment the read is recorded in: the credential's. One of "live", "test".
|
|
4293
|
+
# @!attribute [r] processing_ms
|
|
4294
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
4295
|
+
# @!attribute [r] status
|
|
4296
|
+
# @return [String] `partial`: read, but something a caller relies on is missing or failed a check
|
|
4297
|
+
# (`issue_code` says what). `unreadable`: nothing to read. One of "read", "partial", "unreadable".
|
|
4298
|
+
# @!attribute [r] issue_code
|
|
4299
|
+
# @return [String, nil] Why a read is `partial` or `unreadable`: `no_micr_line`,
|
|
4300
|
+
# `routing_checksum_failed`, `routing_prefix_invalid`, `layout_unrecognised`, `weak_characters`,
|
|
4301
|
+
# `no_card`, `number_unreadable`, `luhn_failed`, `low_confidence`.
|
|
4302
|
+
# @!attribute [r] issue
|
|
4303
|
+
# @return [String, nil] Plain-words reason, when not `read`.
|
|
4304
|
+
# @!attribute [r] image
|
|
4305
|
+
# @return [VeriSec::Types::CardResponseImage] Dimensions only: card photos are never stored.
|
|
4306
|
+
# @!attribute [r] cards_detected
|
|
4307
|
+
# @return [Integer]
|
|
4308
|
+
# @!attribute [r] cards
|
|
4309
|
+
# @return [Array<VeriSec::Types::CardRead>] Every card found, strongest first.
|
|
4310
|
+
# @!attribute [r] card
|
|
4311
|
+
# @return [VeriSec::Types::CardRead, nil] The primary card, without its `bin` and `bank` (they sit
|
|
4312
|
+
# alongside). Absent when unreadable.
|
|
4313
|
+
# @!attribute [r] bin
|
|
4314
|
+
# @return [VeriSec::Types::BinRecord, nil] Who issued a card. Fields that are unknown are absent.
|
|
4315
|
+
# @!attribute [r] bank
|
|
4316
|
+
# @return [VeriSec::Types::BankMatch, nil] A bank read on a document, matched in the directory.
|
|
4317
|
+
class CardResponse < VeriSecObject
|
|
4318
|
+
FIELDS = {
|
|
4319
|
+
"id" => nil,
|
|
4320
|
+
"object" => nil,
|
|
4321
|
+
"created_at" => nil,
|
|
4322
|
+
"source" => nil,
|
|
4323
|
+
"env" => nil,
|
|
4324
|
+
"processing_ms" => nil,
|
|
4325
|
+
"status" => nil,
|
|
4326
|
+
"issue_code" => nil,
|
|
4327
|
+
"issue" => nil,
|
|
4328
|
+
"image" => "CardResponseImage",
|
|
4329
|
+
"cards_detected" => nil,
|
|
4330
|
+
"cards" => "CardRead",
|
|
4331
|
+
"card" => "CardRead",
|
|
4332
|
+
"bin" => "BinRecord",
|
|
4333
|
+
"bank" => "BankMatch"
|
|
4334
|
+
}.freeze
|
|
4335
|
+
end
|
|
4336
|
+
|
|
4337
|
+
# Dimensions only: card photos are never stored.
|
|
4338
|
+
#
|
|
4339
|
+
# @!attribute [r] width
|
|
4340
|
+
# @return [Integer]
|
|
4341
|
+
# @!attribute [r] height
|
|
4342
|
+
# @return [Integer]
|
|
4343
|
+
class CardResponseImage < VeriSecObject
|
|
4344
|
+
FIELDS = {
|
|
4345
|
+
"width" => nil,
|
|
4346
|
+
"height" => nil
|
|
4347
|
+
}.freeze
|
|
4348
|
+
end
|
|
4349
|
+
|
|
4350
|
+
# One payment card in a photo.
|
|
4351
|
+
#
|
|
4352
|
+
# @!attribute [r] index
|
|
4353
|
+
# @return [Integer]
|
|
4354
|
+
# @!attribute [r] description
|
|
4355
|
+
# @return [String, nil] The engine's label, for example `Card #1`.
|
|
4356
|
+
# @!attribute [r] fields
|
|
4357
|
+
# @return [Array<VeriSec::Types::CardField>, nil] Every field the engine read, verbatim.
|
|
4358
|
+
# @!attribute [r] confidence
|
|
4359
|
+
# @return [Numeric] Summary confidence for the card, 0 to 100.
|
|
4360
|
+
# @!attribute [r] warpedBox
|
|
4361
|
+
# @return [Array<Numeric>, nil] The engine's own box, verbatim.
|
|
4362
|
+
# @!attribute [r] box
|
|
4363
|
+
# @return [Array<Numeric>] Four corners x1,y1 … x4,y4, in image pixels.
|
|
4364
|
+
# @!attribute [r] number
|
|
4365
|
+
# @return [String, nil] The full number: in the read response only, never in stored copies.
|
|
4366
|
+
# @!attribute [r] first6
|
|
4367
|
+
# @return [String, nil]
|
|
4368
|
+
# @!attribute [r] last4
|
|
4369
|
+
# @return [String, nil]
|
|
4370
|
+
# @!attribute [r] length
|
|
4371
|
+
# @return [Integer] Digits in the number; 0 when it could not be read.
|
|
4372
|
+
# @!attribute [r] fingerprint
|
|
4373
|
+
# @return [String, nil] Keyed hash of the number, `cf_` + 24 hex: stable across scans, safe to store.
|
|
4374
|
+
# @!attribute [r] luhn_valid
|
|
4375
|
+
# @return [Boolean]
|
|
4376
|
+
# @!attribute [r] scheme_valid
|
|
4377
|
+
# @return [Boolean] Luhn and a length that fits the network.
|
|
4378
|
+
# @!attribute [r] scheme_checks
|
|
4379
|
+
# @return [VeriSec::Types::CardReadSchemeChecks]
|
|
4380
|
+
# @!attribute [r] network_from_prefix
|
|
4381
|
+
# @return [String, nil]
|
|
4382
|
+
# @!attribute [r] expired
|
|
4383
|
+
# @return [Boolean, nil]
|
|
4384
|
+
# @!attribute [r] expires_in_days
|
|
4385
|
+
# @return [Integer, nil] Negative once expired.
|
|
4386
|
+
# @!attribute [r] expiry_status
|
|
4387
|
+
# @return [String] `expiring_soon`: 60 days or less left. One of "valid", "expiring_soon", "expired",
|
|
4388
|
+
# "unknown".
|
|
4389
|
+
# @!attribute [r] bin
|
|
4390
|
+
# @return [VeriSec::Types::BinRecord, nil] Who issued a card. Fields that are unknown are absent.
|
|
4391
|
+
# @!attribute [r] bank
|
|
4392
|
+
# @return [VeriSec::Types::BankMatch, nil] A bank read on a document, matched in the directory.
|
|
4393
|
+
# @!attribute [r] number_valid
|
|
4394
|
+
# @return [Boolean, nil] The engine's own card-level pass flag.
|
|
4395
|
+
class CardRead < VeriSecObject
|
|
4396
|
+
FIELDS = {
|
|
4397
|
+
"index" => nil,
|
|
4398
|
+
"description" => nil,
|
|
4399
|
+
"fields" => "CardField",
|
|
4400
|
+
"confidence" => nil,
|
|
4401
|
+
"warpedBox" => nil,
|
|
4402
|
+
"box" => nil,
|
|
4403
|
+
"number" => nil,
|
|
4404
|
+
"first6" => nil,
|
|
4405
|
+
"last4" => nil,
|
|
4406
|
+
"length" => nil,
|
|
4407
|
+
"fingerprint" => nil,
|
|
4408
|
+
"luhn_valid" => nil,
|
|
4409
|
+
"scheme_valid" => nil,
|
|
4410
|
+
"scheme_checks" => "CardReadSchemeChecks",
|
|
4411
|
+
"network_from_prefix" => nil,
|
|
4412
|
+
"expired" => nil,
|
|
4413
|
+
"expires_in_days" => nil,
|
|
4414
|
+
"expiry_status" => nil,
|
|
4415
|
+
"bin" => "BinRecord",
|
|
4416
|
+
"bank" => "BankMatch",
|
|
4417
|
+
"number_valid" => nil
|
|
4418
|
+
}.freeze
|
|
4419
|
+
end
|
|
4420
|
+
|
|
4421
|
+
# One field as the engine emitted it. The engine may attach other keys (for example `valid` on the number,
|
|
4422
|
+
# `box`); they are kept.
|
|
4423
|
+
#
|
|
4424
|
+
# @!attribute [r] name
|
|
4425
|
+
# @return [String] Field name: `number`, `valid_thru`, `holder_name`…
|
|
4426
|
+
# @!attribute [r] value
|
|
4427
|
+
# @return [String, nil]
|
|
4428
|
+
# @!attribute [r] confidence
|
|
4429
|
+
# @return [Numeric, nil] 0 to 100.
|
|
4430
|
+
class CardField < VeriSecObject
|
|
4431
|
+
FIELDS = {
|
|
4432
|
+
"name" => nil,
|
|
4433
|
+
"value" => nil,
|
|
4434
|
+
"confidence" => nil
|
|
4435
|
+
}.freeze
|
|
4436
|
+
end
|
|
4437
|
+
|
|
4438
|
+
# CardReadSchemeChecks.
|
|
4439
|
+
#
|
|
4440
|
+
# @!attribute [r] luhn
|
|
4441
|
+
# @return [Boolean]
|
|
4442
|
+
# @!attribute [r] length
|
|
4443
|
+
# @return [Boolean]
|
|
4444
|
+
# @!attribute [r] iin_known
|
|
4445
|
+
# @return [Boolean] The BIN is in the tables.
|
|
4446
|
+
class CardReadSchemeChecks < VeriSecObject
|
|
4447
|
+
FIELDS = {
|
|
4448
|
+
"luhn" => nil,
|
|
4449
|
+
"length" => nil,
|
|
4450
|
+
"iin_known" => nil
|
|
4451
|
+
}.freeze
|
|
4452
|
+
end
|
|
4453
|
+
|
|
4454
|
+
# Who issued a card. Fields that are unknown are absent.
|
|
4455
|
+
#
|
|
4456
|
+
# Returned by {VeriSec::Resources::Bin#lookup}.
|
|
4457
|
+
#
|
|
4458
|
+
# @!attribute [r] bin
|
|
4459
|
+
# @return [String] The first 6 to 8 digits.
|
|
4460
|
+
# @!attribute [r] network
|
|
4461
|
+
# @return [String, nil] Visa, Mastercard, American Express, Discover…
|
|
4462
|
+
# @!attribute [r] type
|
|
4463
|
+
# @return [String, nil] Debit, Credit…
|
|
4464
|
+
# @!attribute [r] level
|
|
4465
|
+
# @return [String, nil] Classic, Gold, World…
|
|
4466
|
+
# @!attribute [r] issuer
|
|
4467
|
+
# @return [String, nil] The issuing bank's name.
|
|
4468
|
+
# @!attribute [r] country
|
|
4469
|
+
# @return [String, nil] Issuing country, ISO 3166-1 alpha-2.
|
|
4470
|
+
# @!attribute [r] country_name
|
|
4471
|
+
# @return [String, nil]
|
|
4472
|
+
# @!attribute [r] country_code3
|
|
4473
|
+
# @return [String, nil]
|
|
4474
|
+
# @!attribute [r] flag
|
|
4475
|
+
# @return [String, nil] Flag emoji.
|
|
4476
|
+
# @!attribute [r] flag_url
|
|
4477
|
+
# @return [String, nil] The country's flag (SVG), relative to the API base.
|
|
4478
|
+
# @!attribute [r] bank
|
|
4479
|
+
# @return [VeriSec::Types::BankMatch, nil] The issuer in the bank directory, with logo. Returned by GET
|
|
4480
|
+
# /v2/bin/{digits}.
|
|
4481
|
+
# @!attribute [r] currency
|
|
4482
|
+
# @return [String, nil] ISO 4217.
|
|
4483
|
+
# @!attribute [r] currency_name
|
|
4484
|
+
# @return [String, nil]
|
|
4485
|
+
# @!attribute [r] funding
|
|
4486
|
+
# @return [String, nil] One of "credit", "debit", "prepaid", "charge", "unknown".
|
|
4487
|
+
# @!attribute [r] is_prepaid
|
|
4488
|
+
# @return [Boolean, nil]
|
|
4489
|
+
# @!attribute [r] is_commercial
|
|
4490
|
+
# @return [Boolean, nil]
|
|
4491
|
+
# @!attribute [r] is_reloadable
|
|
4492
|
+
# @return [Boolean, nil]
|
|
4493
|
+
# @!attribute [r] category
|
|
4494
|
+
# @return [String, nil] One of "consumer", "commercial".
|
|
4495
|
+
# @!attribute [r] issuer_country
|
|
4496
|
+
# @return [String, nil]
|
|
4497
|
+
# @!attribute [r] phone
|
|
4498
|
+
# @return [String, nil] Issuer contact, when known.
|
|
4499
|
+
# @!attribute [r] url
|
|
4500
|
+
# @return [String, nil] Issuer website, when known.
|
|
4501
|
+
# @!attribute [r] source
|
|
4502
|
+
# @return [String, nil] Which tier answered.
|
|
4503
|
+
class BinRecord < VeriSecObject
|
|
4504
|
+
FIELDS = {
|
|
4505
|
+
"bin" => nil,
|
|
4506
|
+
"network" => nil,
|
|
4507
|
+
"type" => nil,
|
|
4508
|
+
"level" => nil,
|
|
4509
|
+
"issuer" => nil,
|
|
4510
|
+
"country" => nil,
|
|
4511
|
+
"country_name" => nil,
|
|
4512
|
+
"country_code3" => nil,
|
|
4513
|
+
"flag" => nil,
|
|
4514
|
+
"flag_url" => nil,
|
|
4515
|
+
"bank" => "BankMatch",
|
|
4516
|
+
"currency" => nil,
|
|
4517
|
+
"currency_name" => nil,
|
|
4518
|
+
"funding" => nil,
|
|
4519
|
+
"is_prepaid" => nil,
|
|
4520
|
+
"is_commercial" => nil,
|
|
4521
|
+
"is_reloadable" => nil,
|
|
4522
|
+
"category" => nil,
|
|
4523
|
+
"issuer_country" => nil,
|
|
4524
|
+
"phone" => nil,
|
|
4525
|
+
"url" => nil,
|
|
4526
|
+
"source" => nil
|
|
4527
|
+
}.freeze
|
|
4528
|
+
end
|
|
4529
|
+
|
|
4530
|
+
# The card number from a photo.
|
|
4531
|
+
#
|
|
4532
|
+
# Returned by {VeriSec::Resources::Cards#number}.
|
|
4533
|
+
#
|
|
4534
|
+
# @!attribute [r] object
|
|
4535
|
+
# @return [String] Always `card_number`.
|
|
4536
|
+
# @!attribute [r] status
|
|
4537
|
+
# @return [String] `partial`: read, but something a caller relies on is missing or failed a check
|
|
4538
|
+
# (`issue_code` says what). `unreadable`: nothing to read. One of "read", "partial", "unreadable".
|
|
4539
|
+
# @!attribute [r] issue_code
|
|
4540
|
+
# @return [String, nil] Why a read is `partial` or `unreadable`: `no_micr_line`,
|
|
4541
|
+
# `routing_checksum_failed`, `routing_prefix_invalid`, `layout_unrecognised`, `weak_characters`,
|
|
4542
|
+
# `no_card`, `number_unreadable`, `luhn_failed`, `low_confidence`.
|
|
4543
|
+
# @!attribute [r] issue
|
|
4544
|
+
# @return [String, nil]
|
|
4545
|
+
# @!attribute [r] processing_ms
|
|
4546
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
4547
|
+
# @!attribute [r] number
|
|
4548
|
+
# @return [String, nil] The full number: in this response only, never stored.
|
|
4549
|
+
# @!attribute [r] first6
|
|
4550
|
+
# @return [String, nil]
|
|
4551
|
+
# @!attribute [r] last4
|
|
4552
|
+
# @return [String, nil]
|
|
4553
|
+
# @!attribute [r] length
|
|
4554
|
+
# @return [Integer, nil]
|
|
4555
|
+
# @!attribute [r] network
|
|
4556
|
+
# @return [String, nil]
|
|
4557
|
+
# @!attribute [r] luhn_valid
|
|
4558
|
+
# @return [Boolean, nil]
|
|
4559
|
+
# @!attribute [r] scheme_valid
|
|
4560
|
+
# @return [Boolean, nil]
|
|
4561
|
+
# @!attribute [r] confidence
|
|
4562
|
+
# @return [Numeric, nil] 0 to 100.
|
|
4563
|
+
class CardNumber < VeriSecObject
|
|
4564
|
+
FIELDS = {
|
|
4565
|
+
"object" => nil,
|
|
4566
|
+
"status" => nil,
|
|
4567
|
+
"issue_code" => nil,
|
|
4568
|
+
"issue" => nil,
|
|
4569
|
+
"processing_ms" => nil,
|
|
4570
|
+
"number" => nil,
|
|
4571
|
+
"first6" => nil,
|
|
4572
|
+
"last4" => nil,
|
|
4573
|
+
"length" => nil,
|
|
4574
|
+
"network" => nil,
|
|
4575
|
+
"luhn_valid" => nil,
|
|
4576
|
+
"scheme_valid" => nil,
|
|
4577
|
+
"confidence" => nil
|
|
4578
|
+
}.freeze
|
|
4579
|
+
end
|
|
4580
|
+
|
|
4581
|
+
# The expiry date from a card photo.
|
|
4582
|
+
#
|
|
4583
|
+
# Returned by {VeriSec::Resources::Cards#expiry}.
|
|
4584
|
+
#
|
|
4585
|
+
# @!attribute [r] object
|
|
4586
|
+
# @return [String] Always `card_expiry`.
|
|
4587
|
+
# @!attribute [r] status
|
|
4588
|
+
# @return [String] `partial`: read, but something a caller relies on is missing or failed a check
|
|
4589
|
+
# (`issue_code` says what). `unreadable`: nothing to read. One of "read", "partial", "unreadable".
|
|
4590
|
+
# @!attribute [r] issue_code
|
|
4591
|
+
# @return [String, nil] Why a read is `partial` or `unreadable`: `no_micr_line`,
|
|
4592
|
+
# `routing_checksum_failed`, `routing_prefix_invalid`, `layout_unrecognised`, `weak_characters`,
|
|
4593
|
+
# `no_card`, `number_unreadable`, `luhn_failed`, `low_confidence`.
|
|
4594
|
+
# @!attribute [r] issue
|
|
4595
|
+
# @return [String, nil]
|
|
4596
|
+
# @!attribute [r] valid_thru
|
|
4597
|
+
# @return [String, nil] MM/YY as printed.
|
|
4598
|
+
# @!attribute [r] valid_from
|
|
4599
|
+
# @return [String, nil] MM/YY, when printed.
|
|
4600
|
+
# @!attribute [r] expired
|
|
4601
|
+
# @return [Boolean, nil]
|
|
4602
|
+
# @!attribute [r] expires_in_days
|
|
4603
|
+
# @return [Integer, nil] Negative once expired.
|
|
4604
|
+
# @!attribute [r] expiry_status
|
|
4605
|
+
# @return [String, nil] `expiring_soon`: 60 days or less left. One of "valid", "expiring_soon",
|
|
4606
|
+
# "expired", "unknown".
|
|
4607
|
+
# @!attribute [r] confidence
|
|
4608
|
+
# @return [Numeric, nil] 0 to 100.
|
|
4609
|
+
# @!attribute [r] processing_ms
|
|
4610
|
+
# @return [Integer] How long the engine took, in milliseconds.
|
|
4611
|
+
class CardExpiry < VeriSecObject
|
|
4612
|
+
FIELDS = {
|
|
4613
|
+
"object" => nil,
|
|
4614
|
+
"status" => nil,
|
|
4615
|
+
"issue_code" => nil,
|
|
4616
|
+
"issue" => nil,
|
|
4617
|
+
"valid_thru" => nil,
|
|
4618
|
+
"valid_from" => nil,
|
|
4619
|
+
"expired" => nil,
|
|
4620
|
+
"expires_in_days" => nil,
|
|
4621
|
+
"expiry_status" => nil,
|
|
4622
|
+
"confidence" => nil,
|
|
4623
|
+
"processing_ms" => nil
|
|
4624
|
+
}.freeze
|
|
4625
|
+
end
|
|
4626
|
+
|
|
4627
|
+
# Checks on a typed card number. Only the first six and last four digits come back.
|
|
4628
|
+
#
|
|
4629
|
+
# Returned by {VeriSec::Resources::Cards#check}.
|
|
4630
|
+
#
|
|
4631
|
+
# @!attribute [r] object
|
|
4632
|
+
# @return [String] Always `card_check`.
|
|
4633
|
+
# @!attribute [r] first6
|
|
4634
|
+
# @return [String]
|
|
4635
|
+
# @!attribute [r] last4
|
|
4636
|
+
# @return [String]
|
|
4637
|
+
# @!attribute [r] length
|
|
4638
|
+
# @return [Integer]
|
|
4639
|
+
# @!attribute [r] network
|
|
4640
|
+
# @return [String, nil]
|
|
4641
|
+
# @!attribute [r] luhn_valid
|
|
4642
|
+
# @return [Boolean]
|
|
4643
|
+
# @!attribute [r] length_valid
|
|
4644
|
+
# @return [Boolean] The length fits the network.
|
|
4645
|
+
# @!attribute [r] scheme_valid
|
|
4646
|
+
# @return [Boolean] Luhn and length both hold.
|
|
4647
|
+
# @!attribute [r] expired
|
|
4648
|
+
# @return [Boolean, nil] When an expiry was sent.
|
|
4649
|
+
# @!attribute [r] expires_in_days
|
|
4650
|
+
# @return [Integer, nil] When an expiry was sent.
|
|
4651
|
+
# @!attribute [r] expiry_status
|
|
4652
|
+
# @return [String, nil] `expiring_soon`: 60 days or less left. One of "valid", "expiring_soon",
|
|
4653
|
+
# "expired", "unknown".
|
|
4654
|
+
# @!attribute [r] bin
|
|
4655
|
+
# @return [VeriSec::Types::BinRecord, nil] Who issued a card. Fields that are unknown are absent.
|
|
4656
|
+
class CardCheck < VeriSecObject
|
|
4657
|
+
FIELDS = {
|
|
4658
|
+
"object" => nil,
|
|
4659
|
+
"first6" => nil,
|
|
4660
|
+
"last4" => nil,
|
|
4661
|
+
"length" => nil,
|
|
4662
|
+
"network" => nil,
|
|
4663
|
+
"luhn_valid" => nil,
|
|
4664
|
+
"length_valid" => nil,
|
|
4665
|
+
"scheme_valid" => nil,
|
|
4666
|
+
"expired" => nil,
|
|
4667
|
+
"expires_in_days" => nil,
|
|
4668
|
+
"expiry_status" => nil,
|
|
4669
|
+
"bin" => "BinRecord"
|
|
4670
|
+
}.freeze
|
|
4671
|
+
end
|
|
4672
|
+
|
|
4673
|
+
# CardFingerprint.
|
|
4674
|
+
#
|
|
4675
|
+
# Returned by {VeriSec::Resources::Cards#fingerprint}.
|
|
4676
|
+
#
|
|
4677
|
+
# @!attribute [r] object
|
|
4678
|
+
# @return [String] Always `card_fingerprint`.
|
|
4679
|
+
# @!attribute [r] fingerprint
|
|
4680
|
+
# @return [String] `cf_` + 24 hex. The same card always gives the same value; it cannot be turned back
|
|
4681
|
+
# into the number.
|
|
4682
|
+
# @!attribute [r] first6
|
|
4683
|
+
# @return [String]
|
|
4684
|
+
# @!attribute [r] last4
|
|
4685
|
+
# @return [String]
|
|
4686
|
+
class CardFingerprint < VeriSecObject
|
|
4687
|
+
FIELDS = {
|
|
4688
|
+
"object" => nil,
|
|
4689
|
+
"fingerprint" => nil,
|
|
4690
|
+
"first6" => nil,
|
|
4691
|
+
"last4" => nil
|
|
4692
|
+
}.freeze
|
|
4693
|
+
end
|
|
4694
|
+
end
|
|
4695
|
+
end
|