onfido 3.1.0 → 3.2.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 +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +7 -7
- data/lib/onfido/api/default_api.rb +72 -1
- data/lib/onfido/api_client.rb +1 -1
- data/lib/onfido/models/document.rb +2 -2
- data/lib/onfido/models/document_properties.rb +19 -10
- data/lib/onfido/models/document_shared.rb +2 -2
- data/lib/onfido/models/document_with_driver_verification_report_all_of_properties.rb +19 -10
- data/lib/onfido/models/webhook_event_payload_object.rb +11 -1
- data/lib/onfido/version.rb +1 -1
- data/spec/integrations/qualified_electronic_signature_spec.rb +47 -0
- data/spec/integrations/webhook_spec.rb +1 -1
- data/spec/shared_contexts/with_applicant.rb +2 -0
- data/spec/spec_helper.rb +20 -0
- metadata +22 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7d0e5a36b63c80054591811ae2e6ebe0a221b58352b53130da2e2cb53cf2bee
|
4
|
+
data.tar.gz: 5cd5f1afa7bb2d2dd82f0db84e407cad430bbe66cc8af3318fb54e9c9d0b10fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a372a4c0ad74bacd1a065b8b294e35002fd7fa9a5e8f27239ce50d4909c6ce5c481c778a5e7420e087ec1eb3afe673e19ef206ee771c5f5b2c62a7a75e0dbf8f
|
7
|
+
data.tar.gz: 86303e99596c6b75a194913bdacd6a192d4e00d8eee69e5e18f3105a7e87e262fece2060371237dfeb78c8010107f9a98ccc1d30839ee2f14ace835af0d71e50
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v3.1.0 5th July 2024
|
4
|
+
|
5
|
+
- Release based on Onfido OpenAPI spec version [v3.1.0](https://github.com/onfido/onfido-openapi-spec/releases/tag/v3.1.0):
|
6
|
+
- Add missing fields in document report's properties
|
7
|
+
|
3
8
|
## v3.0.0 24th June 2024
|
4
9
|
|
5
10
|
- Library has been rebuilt from scratch and automatically generated on [Onfido OpenAPI Spec](https://github.com/onfido/onfido-openapi-spec) (release [v3.0.0](https://github.com/onfido/onfido-openapi-spec/releases/tag/v3.0.0))
|
data/README.md
CHANGED
@@ -14,7 +14,7 @@ This version uses Onfido API v3.6. Refer to our [API versioning guide](https://d
|
|
14
14
|
### Installation
|
15
15
|
|
16
16
|
```ruby
|
17
|
-
gem onfido, '~> 3.
|
17
|
+
gem onfido, '~> 3.2.0'
|
18
18
|
```
|
19
19
|
|
20
20
|
Configure with your API token, region and optional timeout (default value is 30):
|
@@ -46,20 +46,20 @@ Documentation and code examples can be found at https://documentation.onfido.com
|
|
46
46
|
|
47
47
|
## Error Handling
|
48
48
|
|
49
|
-
All errors are wrapped by `ApiError` coming from [
|
49
|
+
All errors are wrapped by `ApiError` coming from [FaradayException](https://www.rubydoc.info/github/lostisland/faraday/Faraday/ClientError):
|
50
50
|
|
51
51
|
- `Connection timed out` is raised in case of `Faraday::TimeoutError`
|
52
52
|
- `Connection failed` is raised in case of `Faraday::ConnectionFailed`
|
53
53
|
|
54
|
-
All errors provide the `
|
54
|
+
All errors provide the `code`, `response_headers`, and `response_body` of the error.
|
55
55
|
|
56
56
|
```ruby
|
57
57
|
def create_applicant
|
58
58
|
onfido_api.create_applicant(params)
|
59
|
-
rescue
|
60
|
-
e.
|
61
|
-
e.
|
62
|
-
e.
|
59
|
+
rescue Onfido::ApiError => e
|
60
|
+
e.message # => 'Unprocessable entity'
|
61
|
+
e.response_body # => { error: { type: "validation_error", message: "", fields: { "email": [ "invalid format" ] } } }
|
62
|
+
e.code # => '422'
|
63
63
|
end
|
64
64
|
```
|
65
65
|
|
@@ -1321,6 +1321,77 @@ module Onfido
|
|
1321
1321
|
return data, status_code, headers
|
1322
1322
|
end
|
1323
1323
|
|
1324
|
+
# Retrieves the signed document or application form
|
1325
|
+
# Retrieves the signed document or application form depending on the file_id provided.
|
1326
|
+
# @param workflow_run_id [String] The unique identifier of the Workflow Run for which you want to retrieve the signed document.
|
1327
|
+
# @param file_id [String] The unique identifier of the file which you want to retrieve.
|
1328
|
+
# @param [Hash] opts the optional parameters
|
1329
|
+
# @return [File]
|
1330
|
+
def download_qes_document(workflow_run_id, file_id, opts = {})
|
1331
|
+
data, _status_code, _headers = download_qes_document_with_http_info(workflow_run_id, file_id, opts)
|
1332
|
+
data
|
1333
|
+
end
|
1334
|
+
|
1335
|
+
# Retrieves the signed document or application form
|
1336
|
+
# Retrieves the signed document or application form depending on the file_id provided.
|
1337
|
+
# @param workflow_run_id [String] The unique identifier of the Workflow Run for which you want to retrieve the signed document.
|
1338
|
+
# @param file_id [String] The unique identifier of the file which you want to retrieve.
|
1339
|
+
# @param [Hash] opts the optional parameters
|
1340
|
+
# @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
|
1341
|
+
def download_qes_document_with_http_info(workflow_run_id, file_id, opts = {})
|
1342
|
+
if @api_client.config.debugging
|
1343
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.download_qes_document ...'
|
1344
|
+
end
|
1345
|
+
# verify the required parameter 'workflow_run_id' is set
|
1346
|
+
if @api_client.config.client_side_validation && workflow_run_id.nil?
|
1347
|
+
fail ArgumentError, "Missing the required parameter 'workflow_run_id' when calling DefaultApi.download_qes_document"
|
1348
|
+
end
|
1349
|
+
# verify the required parameter 'file_id' is set
|
1350
|
+
if @api_client.config.client_side_validation && file_id.nil?
|
1351
|
+
fail ArgumentError, "Missing the required parameter 'file_id' when calling DefaultApi.download_qes_document"
|
1352
|
+
end
|
1353
|
+
# resource path
|
1354
|
+
local_var_path = '/qualified_electronic_signature/documents'
|
1355
|
+
|
1356
|
+
# query parameters
|
1357
|
+
query_params = opts[:query_params] || {}
|
1358
|
+
query_params[:'workflow_run_id'] = workflow_run_id
|
1359
|
+
query_params[:'file_id'] = file_id
|
1360
|
+
|
1361
|
+
# header parameters
|
1362
|
+
header_params = opts[:header_params] || {}
|
1363
|
+
# HTTP header 'Accept' (if needed)
|
1364
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/pdf', 'application/json'])
|
1365
|
+
|
1366
|
+
# form parameters
|
1367
|
+
form_params = opts[:form_params] || {}
|
1368
|
+
|
1369
|
+
# http body (model)
|
1370
|
+
post_body = opts[:debug_body]
|
1371
|
+
|
1372
|
+
# return_type
|
1373
|
+
return_type = opts[:debug_return_type] || 'File'
|
1374
|
+
|
1375
|
+
# auth_names
|
1376
|
+
auth_names = opts[:debug_auth_names] || ['Token']
|
1377
|
+
|
1378
|
+
new_options = opts.merge(
|
1379
|
+
:operation => :"DefaultApi.download_qes_document",
|
1380
|
+
:header_params => header_params,
|
1381
|
+
:query_params => query_params,
|
1382
|
+
:form_params => form_params,
|
1383
|
+
:body => post_body,
|
1384
|
+
:auth_names => auth_names,
|
1385
|
+
:return_type => return_type
|
1386
|
+
)
|
1387
|
+
|
1388
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
1389
|
+
if @api_client.config.debugging
|
1390
|
+
@api_client.config.logger.debug "API called: DefaultApi#download_qes_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1391
|
+
end
|
1392
|
+
return data, status_code, headers
|
1393
|
+
end
|
1394
|
+
|
1324
1395
|
# Retrieve Workflow Run Evidence Summary File
|
1325
1396
|
# Retrieves the signed evidence file for the designated Workflow Run
|
1326
1397
|
# @param workflow_run_id [String] Workflow Run ID
|
@@ -4030,7 +4101,7 @@ module Onfido
|
|
4030
4101
|
if @api_client.config.client_side_validation && file.nil?
|
4031
4102
|
fail ArgumentError, "Missing the required parameter 'file' when calling DefaultApi.upload_document"
|
4032
4103
|
end
|
4033
|
-
allowable_values = ["jpg", "png", "pdf", "unknown_default_open_api"]
|
4104
|
+
allowable_values = ["jpg", "jpeg", "png", "pdf", "unknown_default_open_api"]
|
4034
4105
|
if @api_client.config.client_side_validation && opts[:'file_type'] && !allowable_values.include?(opts[:'file_type'])
|
4035
4106
|
fail ArgumentError, "invalid value for \"file_type\", must be one of #{allowable_values}"
|
4036
4107
|
end
|
data/lib/onfido/api_client.rb
CHANGED
@@ -34,7 +34,7 @@ module Onfido
|
|
34
34
|
# @option config [Configuration] Configuration for initializing the object, default to Configuration.default
|
35
35
|
def initialize(config = Configuration.default)
|
36
36
|
@config = config
|
37
|
-
@user_agent = "onfido-ruby/3.
|
37
|
+
@user_agent = "onfido-ruby/3.2.0"
|
38
38
|
@default_headers = {
|
39
39
|
'Content-Type' => 'application/json',
|
40
40
|
'User-Agent' => @user_agent
|
@@ -201,7 +201,7 @@ module Onfido
|
|
201
201
|
# @return true if the model is valid
|
202
202
|
def valid?
|
203
203
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
204
|
-
file_type_validator = EnumAttributeValidator.new('String', ["jpg", "png", "pdf", "unknown_default_open_api"])
|
204
|
+
file_type_validator = EnumAttributeValidator.new('String', ["jpg", "jpeg", "png", "pdf", "unknown_default_open_api"])
|
205
205
|
return false unless file_type_validator.valid?(@file_type)
|
206
206
|
side_validator = EnumAttributeValidator.new('String', ["front", "back", "unknown_default_open_api"])
|
207
207
|
return false unless side_validator.valid?(@side)
|
@@ -212,7 +212,7 @@ module Onfido
|
|
212
212
|
# Custom attribute writer method checking allowed values (enum).
|
213
213
|
# @param [Object] file_type Object to be assigned
|
214
214
|
def file_type=(file_type)
|
215
|
-
validator = EnumAttributeValidator.new('String', ["jpg", "png", "pdf", "unknown_default_open_api"])
|
215
|
+
validator = EnumAttributeValidator.new('String', ["jpg", "jpeg", "png", "pdf", "unknown_default_open_api"])
|
216
216
|
unless validator.valid?(file_type)
|
217
217
|
fail ArgumentError, "invalid value for \"file_type\", must be one of #{validator.allowable_values}."
|
218
218
|
end
|
@@ -27,12 +27,14 @@ module Onfido
|
|
27
27
|
|
28
28
|
attr_accessor :first_name
|
29
29
|
|
30
|
+
attr_accessor :middle_name
|
31
|
+
|
32
|
+
attr_accessor :last_name
|
33
|
+
|
30
34
|
attr_accessor :gender
|
31
35
|
|
32
36
|
attr_accessor :issuing_country
|
33
37
|
|
34
|
-
attr_accessor :last_name
|
35
|
-
|
36
38
|
attr_accessor :nationality
|
37
39
|
|
38
40
|
attr_accessor :issuing_state
|
@@ -134,9 +136,10 @@ module Onfido
|
|
134
136
|
:'document_numbers' => :'document_numbers',
|
135
137
|
:'document_type' => :'document_type',
|
136
138
|
:'first_name' => :'first_name',
|
139
|
+
:'middle_name' => :'middle_name',
|
140
|
+
:'last_name' => :'last_name',
|
137
141
|
:'gender' => :'gender',
|
138
142
|
:'issuing_country' => :'issuing_country',
|
139
|
-
:'last_name' => :'last_name',
|
140
143
|
:'nationality' => :'nationality',
|
141
144
|
:'issuing_state' => :'issuing_state',
|
142
145
|
:'issuing_date' => :'issuing_date',
|
@@ -189,9 +192,10 @@ module Onfido
|
|
189
192
|
:'document_numbers' => :'Array<DocumentPropertiesDocumentNumbersInner>',
|
190
193
|
:'document_type' => :'String',
|
191
194
|
:'first_name' => :'String',
|
195
|
+
:'middle_name' => :'String',
|
196
|
+
:'last_name' => :'String',
|
192
197
|
:'gender' => :'String',
|
193
198
|
:'issuing_country' => :'String',
|
194
|
-
:'last_name' => :'String',
|
195
199
|
:'nationality' => :'String',
|
196
200
|
:'issuing_state' => :'String',
|
197
201
|
:'issuing_date' => :'Date',
|
@@ -277,6 +281,14 @@ module Onfido
|
|
277
281
|
self.first_name = attributes[:'first_name']
|
278
282
|
end
|
279
283
|
|
284
|
+
if attributes.key?(:'middle_name')
|
285
|
+
self.middle_name = attributes[:'middle_name']
|
286
|
+
end
|
287
|
+
|
288
|
+
if attributes.key?(:'last_name')
|
289
|
+
self.last_name = attributes[:'last_name']
|
290
|
+
end
|
291
|
+
|
280
292
|
if attributes.key?(:'gender')
|
281
293
|
self.gender = attributes[:'gender']
|
282
294
|
end
|
@@ -285,10 +297,6 @@ module Onfido
|
|
285
297
|
self.issuing_country = attributes[:'issuing_country']
|
286
298
|
end
|
287
299
|
|
288
|
-
if attributes.key?(:'last_name')
|
289
|
-
self.last_name = attributes[:'last_name']
|
290
|
-
end
|
291
|
-
|
292
300
|
if attributes.key?(:'nationality')
|
293
301
|
self.nationality = attributes[:'nationality']
|
294
302
|
end
|
@@ -494,9 +502,10 @@ module Onfido
|
|
494
502
|
document_numbers == o.document_numbers &&
|
495
503
|
document_type == o.document_type &&
|
496
504
|
first_name == o.first_name &&
|
505
|
+
middle_name == o.middle_name &&
|
506
|
+
last_name == o.last_name &&
|
497
507
|
gender == o.gender &&
|
498
508
|
issuing_country == o.issuing_country &&
|
499
|
-
last_name == o.last_name &&
|
500
509
|
nationality == o.nationality &&
|
501
510
|
issuing_state == o.issuing_state &&
|
502
511
|
issuing_date == o.issuing_date &&
|
@@ -543,7 +552,7 @@ module Onfido
|
|
543
552
|
# Calculates hash code according to all attributes.
|
544
553
|
# @return [Integer] Hash code
|
545
554
|
def hash
|
546
|
-
[date_of_birth, date_of_expiry, personal_number, document_numbers, document_type, first_name, gender, issuing_country,
|
555
|
+
[date_of_birth, date_of_expiry, personal_number, document_numbers, document_type, first_name, middle_name, last_name, gender, issuing_country, nationality, issuing_state, issuing_date, categorisation, mrz_line1, mrz_line2, mrz_line3, address, place_of_birth, spouse_name, widow_name, alias_name, issuing_authority, remarks, civil_state, expatriation, father_name, mother_name, religion, type_of_permit, version_number, document_subtype, profession, security_document_number, tax_number, nist_identity_evidence_strength, has_issuance_confirmation, real_id_compliance, security_tier, address_lines, barcode, nfc, driving_licence_information, document_classification, extracted_data].hash
|
547
556
|
end
|
548
557
|
|
549
558
|
# Builds the object from hash
|
@@ -133,7 +133,7 @@ module Onfido
|
|
133
133
|
# @return true if the model is valid
|
134
134
|
def valid?
|
135
135
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
136
|
-
file_type_validator = EnumAttributeValidator.new('String', ["jpg", "png", "pdf", "unknown_default_open_api"])
|
136
|
+
file_type_validator = EnumAttributeValidator.new('String', ["jpg", "jpeg", "png", "pdf", "unknown_default_open_api"])
|
137
137
|
return false unless file_type_validator.valid?(@file_type)
|
138
138
|
side_validator = EnumAttributeValidator.new('String', ["front", "back", "unknown_default_open_api"])
|
139
139
|
return false unless side_validator.valid?(@side)
|
@@ -143,7 +143,7 @@ module Onfido
|
|
143
143
|
# Custom attribute writer method checking allowed values (enum).
|
144
144
|
# @param [Object] file_type Object to be assigned
|
145
145
|
def file_type=(file_type)
|
146
|
-
validator = EnumAttributeValidator.new('String', ["jpg", "png", "pdf", "unknown_default_open_api"])
|
146
|
+
validator = EnumAttributeValidator.new('String', ["jpg", "jpeg", "png", "pdf", "unknown_default_open_api"])
|
147
147
|
unless validator.valid?(file_type)
|
148
148
|
fail ArgumentError, "invalid value for \"file_type\", must be one of #{validator.allowable_values}."
|
149
149
|
end
|
@@ -27,12 +27,14 @@ module Onfido
|
|
27
27
|
|
28
28
|
attr_accessor :first_name
|
29
29
|
|
30
|
+
attr_accessor :middle_name
|
31
|
+
|
32
|
+
attr_accessor :last_name
|
33
|
+
|
30
34
|
attr_accessor :gender
|
31
35
|
|
32
36
|
attr_accessor :issuing_country
|
33
37
|
|
34
|
-
attr_accessor :last_name
|
35
|
-
|
36
38
|
attr_accessor :nationality
|
37
39
|
|
38
40
|
attr_accessor :issuing_state
|
@@ -151,9 +153,10 @@ module Onfido
|
|
151
153
|
:'document_numbers' => :'document_numbers',
|
152
154
|
:'document_type' => :'document_type',
|
153
155
|
:'first_name' => :'first_name',
|
156
|
+
:'middle_name' => :'middle_name',
|
157
|
+
:'last_name' => :'last_name',
|
154
158
|
:'gender' => :'gender',
|
155
159
|
:'issuing_country' => :'issuing_country',
|
156
|
-
:'last_name' => :'last_name',
|
157
160
|
:'nationality' => :'nationality',
|
158
161
|
:'issuing_state' => :'issuing_state',
|
159
162
|
:'issuing_date' => :'issuing_date',
|
@@ -212,9 +215,10 @@ module Onfido
|
|
212
215
|
:'document_numbers' => :'Array<DocumentPropertiesDocumentNumbersInner>',
|
213
216
|
:'document_type' => :'String',
|
214
217
|
:'first_name' => :'String',
|
218
|
+
:'middle_name' => :'String',
|
219
|
+
:'last_name' => :'String',
|
215
220
|
:'gender' => :'String',
|
216
221
|
:'issuing_country' => :'String',
|
217
|
-
:'last_name' => :'String',
|
218
222
|
:'nationality' => :'String',
|
219
223
|
:'issuing_state' => :'String',
|
220
224
|
:'issuing_date' => :'Date',
|
@@ -313,6 +317,14 @@ module Onfido
|
|
313
317
|
self.first_name = attributes[:'first_name']
|
314
318
|
end
|
315
319
|
|
320
|
+
if attributes.key?(:'middle_name')
|
321
|
+
self.middle_name = attributes[:'middle_name']
|
322
|
+
end
|
323
|
+
|
324
|
+
if attributes.key?(:'last_name')
|
325
|
+
self.last_name = attributes[:'last_name']
|
326
|
+
end
|
327
|
+
|
316
328
|
if attributes.key?(:'gender')
|
317
329
|
self.gender = attributes[:'gender']
|
318
330
|
end
|
@@ -321,10 +333,6 @@ module Onfido
|
|
321
333
|
self.issuing_country = attributes[:'issuing_country']
|
322
334
|
end
|
323
335
|
|
324
|
-
if attributes.key?(:'last_name')
|
325
|
-
self.last_name = attributes[:'last_name']
|
326
|
-
end
|
327
|
-
|
328
336
|
if attributes.key?(:'nationality')
|
329
337
|
self.nationality = attributes[:'nationality']
|
330
338
|
end
|
@@ -556,9 +564,10 @@ module Onfido
|
|
556
564
|
document_numbers == o.document_numbers &&
|
557
565
|
document_type == o.document_type &&
|
558
566
|
first_name == o.first_name &&
|
567
|
+
middle_name == o.middle_name &&
|
568
|
+
last_name == o.last_name &&
|
559
569
|
gender == o.gender &&
|
560
570
|
issuing_country == o.issuing_country &&
|
561
|
-
last_name == o.last_name &&
|
562
571
|
nationality == o.nationality &&
|
563
572
|
issuing_state == o.issuing_state &&
|
564
573
|
issuing_date == o.issuing_date &&
|
@@ -611,7 +620,7 @@ module Onfido
|
|
611
620
|
# Calculates hash code according to all attributes.
|
612
621
|
# @return [Integer] Hash code
|
613
622
|
def hash
|
614
|
-
[date_of_birth, date_of_expiry, personal_number, document_numbers, document_type, first_name, gender, issuing_country,
|
623
|
+
[date_of_birth, date_of_expiry, personal_number, document_numbers, document_type, first_name, middle_name, last_name, gender, issuing_country, nationality, issuing_state, issuing_date, categorisation, mrz_line1, mrz_line2, mrz_line3, address, place_of_birth, spouse_name, widow_name, alias_name, issuing_authority, remarks, civil_state, expatriation, father_name, mother_name, religion, type_of_permit, version_number, document_subtype, profession, security_document_number, tax_number, nist_identity_evidence_strength, has_issuance_confirmation, real_id_compliance, security_tier, address_lines, barcode, nfc, driving_licence_information, document_classification, extracted_data, drivers_licence, restricted_licence, raw_licence_category, raw_vehicle_classes, vehicle_class_details, passenger_vehicle].hash
|
615
624
|
end
|
616
625
|
|
617
626
|
# Builds the object from hash
|
@@ -22,6 +22,9 @@ module Onfido
|
|
22
22
|
# The current state of the object, if available.
|
23
23
|
attr_accessor :status
|
24
24
|
|
25
|
+
# The date and time when the operation was started, if available.
|
26
|
+
attr_accessor :started_at_iso8601
|
27
|
+
|
25
28
|
# The date and time when the operation was completed, if available.
|
26
29
|
attr_accessor :completed_at_iso8601
|
27
30
|
|
@@ -33,6 +36,7 @@ module Onfido
|
|
33
36
|
{
|
34
37
|
:'id' => :'id',
|
35
38
|
:'status' => :'status',
|
39
|
+
:'started_at_iso8601' => :'started_at_iso8601',
|
36
40
|
:'completed_at_iso8601' => :'completed_at_iso8601',
|
37
41
|
:'href' => :'href'
|
38
42
|
}
|
@@ -48,6 +52,7 @@ module Onfido
|
|
48
52
|
{
|
49
53
|
:'id' => :'String',
|
50
54
|
:'status' => :'String',
|
55
|
+
:'started_at_iso8601' => :'Time',
|
51
56
|
:'completed_at_iso8601' => :'Time',
|
52
57
|
:'href' => :'String'
|
53
58
|
}
|
@@ -84,6 +89,10 @@ module Onfido
|
|
84
89
|
self.status = attributes[:'status']
|
85
90
|
end
|
86
91
|
|
92
|
+
if attributes.key?(:'started_at_iso8601')
|
93
|
+
self.started_at_iso8601 = attributes[:'started_at_iso8601']
|
94
|
+
end
|
95
|
+
|
87
96
|
if attributes.key?(:'completed_at_iso8601')
|
88
97
|
self.completed_at_iso8601 = attributes[:'completed_at_iso8601']
|
89
98
|
end
|
@@ -127,6 +136,7 @@ module Onfido
|
|
127
136
|
self.class == o.class &&
|
128
137
|
id == o.id &&
|
129
138
|
status == o.status &&
|
139
|
+
started_at_iso8601 == o.started_at_iso8601 &&
|
130
140
|
completed_at_iso8601 == o.completed_at_iso8601 &&
|
131
141
|
href == o.href
|
132
142
|
end
|
@@ -140,7 +150,7 @@ module Onfido
|
|
140
150
|
# Calculates hash code according to all attributes.
|
141
151
|
# @return [Integer] Hash code
|
142
152
|
def hash
|
143
|
-
[id, status, completed_at_iso8601, href].hash
|
153
|
+
[id, status, started_at_iso8601, completed_at_iso8601, href].hash
|
144
154
|
end
|
145
155
|
|
146
156
|
# Builds the object from hash
|
data/lib/onfido/version.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../shared_contexts/with_workflow_run'
|
4
|
+
|
5
|
+
describe Onfido::WorkflowRun do
|
6
|
+
include_context 'with applicant'
|
7
|
+
|
8
|
+
let(:workflow_id) { '8b74614f-9e7f-42fd-852a-5f2bcc852587' }
|
9
|
+
|
10
|
+
let(:workflow_run_builder) do
|
11
|
+
Onfido::WorkflowRunBuilder.new({
|
12
|
+
applicant_id: applicant_id,
|
13
|
+
workflow_id: workflow_id,
|
14
|
+
custom_data: {
|
15
|
+
country_of_operation: "GBR",
|
16
|
+
document_date_of_expiry: "2022-01-01",
|
17
|
+
document_issuing_country: "FRA",
|
18
|
+
document_issuing_date: "2022-01-01",
|
19
|
+
document_number: "Example string",
|
20
|
+
document_to_sign_url: "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
|
21
|
+
document_type: "driving_licence",
|
22
|
+
}
|
23
|
+
})
|
24
|
+
end
|
25
|
+
|
26
|
+
let(:workflow_run) { onfido_api.create_workflow_run(workflow_run_builder) }
|
27
|
+
let!(:workflow_run_id) { workflow_run.id }
|
28
|
+
|
29
|
+
let(:file_id) do
|
30
|
+
task = onfido_api.list_tasks(workflow_run_id)[0]
|
31
|
+
|
32
|
+
output = repeat_request_until_task_output_changes(
|
33
|
+
max_retries = 10,
|
34
|
+
interval = 3
|
35
|
+
) { onfido_api.find_task(workflow_run_id, task.id) }.output
|
36
|
+
|
37
|
+
output[:properties][:signed_documents][0][:id]
|
38
|
+
end
|
39
|
+
|
40
|
+
describe 'Workflow run' do
|
41
|
+
it 'downloads qes document' do
|
42
|
+
file = onfido_api.download_qes_document(workflow_run_id, file_id)
|
43
|
+
|
44
|
+
expect(file.size).to be > 0
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -14,7 +14,7 @@ describe Onfido::Webhook do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
let(:webhook) { onfido_api.create_webhook(webhook_builder) }
|
17
|
-
let(:webhook_id) { webhook.id }
|
17
|
+
let!(:webhook_id) { webhook.id }
|
18
18
|
|
19
19
|
it 'creates a webhook' do
|
20
20
|
expect(webhook).to be_an_instance_of Onfido::Webhook
|
@@ -15,6 +15,8 @@ RSpec.shared_context 'with applicant', shared_context: :metadata do
|
|
15
15
|
{
|
16
16
|
'first_name' => 'Test',
|
17
17
|
'last_name' => 'Applicant',
|
18
|
+
'email' => "first.last@gmail.com",
|
19
|
+
'phone_number' => "351911111111",
|
18
20
|
'location' => {
|
19
21
|
'ip_address' => '127.0.0.1',
|
20
22
|
'country_of_residence' => 'GBR'
|
data/spec/spec_helper.rb
CHANGED
@@ -86,6 +86,26 @@ def repeat_request_until_status_changes(expected_status, max_retries = 10,
|
|
86
86
|
instance
|
87
87
|
end
|
88
88
|
|
89
|
+
def repeat_request_until_task_output_changes(max_retries = 10,
|
90
|
+
interval = 1, &proc)
|
91
|
+
# max_retries --> how many times to retry the request
|
92
|
+
# interval --> how many seconds to wait until the next retry
|
93
|
+
# proc --> code containing the request
|
94
|
+
|
95
|
+
instance = proc.call
|
96
|
+
|
97
|
+
iteration = 0
|
98
|
+
while instance.output == nil
|
99
|
+
raise "task output did not change in time" if iteration > max_retries
|
100
|
+
|
101
|
+
iteration += 1
|
102
|
+
sleep(interval)
|
103
|
+
instance = proc.call
|
104
|
+
end
|
105
|
+
|
106
|
+
instance
|
107
|
+
end
|
108
|
+
|
89
109
|
def repeat_request_unti_http_code_changes(max_retries = 10,
|
90
110
|
interval = 1, &proc)
|
91
111
|
# max_retries --> how many times to retry the request
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onfido
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenAPI-Generator
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -412,6 +412,7 @@ files:
|
|
412
412
|
- spec/integrations/media/sample_driving_licence.png
|
413
413
|
- spec/integrations/media/sample_photo.png
|
414
414
|
- spec/integrations/motion_capture_spec.rb
|
415
|
+
- spec/integrations/qualified_electronic_signature_spec.rb
|
415
416
|
- spec/integrations/report_schema_spec.rb
|
416
417
|
- spec/integrations/report_spec.rb
|
417
418
|
- spec/integrations/sdk_token_spec.rb
|
@@ -452,30 +453,31 @@ signing_key:
|
|
452
453
|
specification_version: 4
|
453
454
|
summary: The official Ruby library for integrating with the Onfido API.
|
454
455
|
test_files:
|
455
|
-
- spec/integrations/
|
456
|
-
- spec/integrations/
|
457
|
-
- spec/integrations/document_spec.rb
|
458
|
-
- spec/integrations/extraction_spec.rb
|
459
|
-
- spec/integrations/report_spec.rb
|
460
|
-
- spec/integrations/motion_capture_spec.rb
|
461
|
-
- spec/integrations/tasks_spec.rb
|
462
|
-
- spec/integrations/webhook_spec.rb
|
463
|
-
- spec/integrations/media/sample_photo.png
|
456
|
+
- spec/integrations/id_photo_spec.rb
|
457
|
+
- spec/integrations/workflow_run_spec.rb
|
464
458
|
- spec/integrations/media/sample_driving_licence.png
|
459
|
+
- spec/integrations/media/sample_photo.png
|
460
|
+
- spec/integrations/webhook_spec.rb
|
461
|
+
- spec/integrations/report_spec.rb
|
462
|
+
- spec/integrations/workflow_run_output_spec.rb
|
465
463
|
- spec/integrations/check_spec.rb
|
466
|
-
- spec/integrations/
|
467
|
-
- spec/integrations/
|
468
|
-
- spec/integrations/live_photo_spec.rb
|
464
|
+
- spec/integrations/tasks_spec.rb
|
465
|
+
- spec/integrations/extraction_spec.rb
|
469
466
|
- spec/integrations/watchlist_monitor_spec.rb
|
470
|
-
- spec/integrations/
|
471
|
-
- spec/integrations/workflow_run_output_spec.rb
|
472
|
-
- spec/integrations/workflow_run_spec.rb
|
467
|
+
- spec/integrations/address_picker_spec.rb
|
473
468
|
- spec/integrations/applicant_spec.rb
|
474
|
-
- spec/
|
475
|
-
- spec/
|
469
|
+
- spec/integrations/motion_capture_spec.rb
|
470
|
+
- spec/integrations/live_photo_spec.rb
|
471
|
+
- spec/integrations/report_schema_spec.rb
|
472
|
+
- spec/integrations/qualified_electronic_signature_spec.rb
|
473
|
+
- spec/integrations/sdk_token_spec.rb
|
474
|
+
- spec/integrations/document_spec.rb
|
475
|
+
- spec/integrations/live_video_spec.rb
|
476
476
|
- spec/shared_contexts/with_workflow_run.rb
|
477
|
+
- spec/shared_contexts/with_live_photo.rb
|
478
|
+
- spec/shared_contexts/with_onfido.rb
|
477
479
|
- spec/shared_contexts/with_document.rb
|
478
480
|
- spec/shared_contexts/with_check.rb
|
479
|
-
- spec/shared_contexts/
|
481
|
+
- spec/shared_contexts/with_applicant.rb
|
480
482
|
- spec/spec_helper.rb
|
481
483
|
- spec/webhook_event_verifier_spec.rb
|