onfido 4.3.0 → 4.5.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 +11 -0
- data/Gemfile +1 -0
- data/README.md +1 -1
- data/lib/onfido/api/default_api.rb +63 -0
- data/lib/onfido/api_client.rb +1 -1
- data/lib/onfido/models/task.rb +1 -1
- data/lib/onfido/models/webhook_event_payload_resource.rb +1 -1
- data/lib/onfido/models/webhook_event_resource_type.rb +3 -1
- data/lib/onfido/models/webhook_event_type.rb +2 -1
- data/lib/onfido/version.rb +1 -1
- data/spec/integrations/workflow_run_spec.rb +9 -0
- data/spec/media/studio_webhook_event_with_list_in_output.json +31 -0
- data/spec/media/studio_webhook_event_with_object_in_output.json +264 -0
- data/spec/studio_webhook_event_verifier_spec.rb +39 -0
- metadata +22 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 845613bbd6b1c405918b78dfb34fafc8830394f9bba7cb0814baedcdb8fdabf2
|
4
|
+
data.tar.gz: 0c08e45e9909662f8ac95d9c2e5f89edaae9d8857353f700c6cc72b52969def5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e591ea9e0f915f4e9b9b57edec45d6cfb7aeb245b56f2a639bf580978c832390f0b0c199ca43f7d52e8daa6ad753647086237c657b5cc2ea24b1489cabb8d67
|
7
|
+
data.tar.gz: cb8f330edba0390745729eb7dd9f9acb583669e7e896d9fe9bab7d650d5f0dc0888fae33d35a450e3bc995cc9d407a0594a82aa9b828b7248473a306e3a552f3
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v4.4.0 20th December 2024
|
4
|
+
|
5
|
+
- Release based on Onfido OpenAPI spec version [v4.4.0](https://github.com/onfido/onfido-openapi-spec/releases/tag/v4.4.0):
|
6
|
+
- [CAT-1593] Fix missing webhook type and evidence folder webhook
|
7
|
+
- [CAT-1590] Allow any type for the workflow task output
|
8
|
+
|
9
|
+
## v4.3.0 27th November 2024
|
10
|
+
|
11
|
+
- Release based on Onfido OpenAPI spec version [v4.3.0](https://github.com/onfido/onfido-openapi-spec/releases/tag/v4.3.0):
|
12
|
+
- [CAT-1581] Revert "[CAT-1528] Fix barcode field in document properties object"
|
13
|
+
|
3
14
|
## v4.2.0 19th November 2024
|
4
15
|
|
5
16
|
- Release based on Onfido OpenAPI spec version [v4.2.0](https://github.com/onfido/onfido-openapi-spec/releases/tag/v4.2.0):
|
data/Gemfile
CHANGED
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, '~> 4.
|
17
|
+
gem onfido, '~> 4.5.0'
|
18
18
|
```
|
19
19
|
|
20
20
|
Configure with your API token, region and optional timeout (default value is 30):
|
@@ -943,6 +943,69 @@ module Onfido
|
|
943
943
|
return data, status_code, headers
|
944
944
|
end
|
945
945
|
|
946
|
+
# Retrieve Workflow Run Evidence Folder
|
947
|
+
# Retrieves the evidence folder for the designated Workflow Run
|
948
|
+
# @param workflow_run_id [String] Workflow Run ID
|
949
|
+
# @param [Hash] opts the optional parameters
|
950
|
+
# @return [File]
|
951
|
+
def download_evidence_folder(workflow_run_id, opts = {})
|
952
|
+
data, _status_code, _headers = download_evidence_folder_with_http_info(workflow_run_id, opts)
|
953
|
+
data
|
954
|
+
end
|
955
|
+
|
956
|
+
# Retrieve Workflow Run Evidence Folder
|
957
|
+
# Retrieves the evidence folder for the designated Workflow Run
|
958
|
+
# @param workflow_run_id [String] Workflow Run ID
|
959
|
+
# @param [Hash] opts the optional parameters
|
960
|
+
# @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
|
961
|
+
def download_evidence_folder_with_http_info(workflow_run_id, opts = {})
|
962
|
+
if @api_client.config.debugging
|
963
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.download_evidence_folder ...'
|
964
|
+
end
|
965
|
+
# verify the required parameter 'workflow_run_id' is set
|
966
|
+
if @api_client.config.client_side_validation && workflow_run_id.nil?
|
967
|
+
fail ArgumentError, "Missing the required parameter 'workflow_run_id' when calling DefaultApi.download_evidence_folder"
|
968
|
+
end
|
969
|
+
# resource path
|
970
|
+
local_var_path = '/workflow_runs/{workflow_run_id}/evidence_folder'.sub('{' + 'workflow_run_id' + '}', CGI.escape(workflow_run_id.to_s))
|
971
|
+
|
972
|
+
# query parameters
|
973
|
+
query_params = opts[:query_params] || {}
|
974
|
+
|
975
|
+
# header parameters
|
976
|
+
header_params = opts[:header_params] || {}
|
977
|
+
# HTTP header 'Accept' (if needed)
|
978
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/zip', 'application/json']) unless header_params['Accept']
|
979
|
+
|
980
|
+
# form parameters
|
981
|
+
form_params = opts[:form_params] || {}
|
982
|
+
|
983
|
+
# http body (model)
|
984
|
+
post_body = opts[:debug_body]
|
985
|
+
|
986
|
+
# return_type
|
987
|
+
return_type = opts[:debug_return_type] || 'File'
|
988
|
+
|
989
|
+
# auth_names
|
990
|
+
auth_names = opts[:debug_auth_names] || ['Token']
|
991
|
+
|
992
|
+
new_options = opts.merge(
|
993
|
+
:operation => :"DefaultApi.download_evidence_folder",
|
994
|
+
:header_params => header_params,
|
995
|
+
:query_params => query_params,
|
996
|
+
:form_params => form_params,
|
997
|
+
:body => post_body,
|
998
|
+
:auth_names => auth_names,
|
999
|
+
:return_type => return_type
|
1000
|
+
)
|
1001
|
+
|
1002
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
1003
|
+
if @api_client.config.debugging
|
1004
|
+
@api_client.config.logger.debug "API called: DefaultApi#download_evidence_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1005
|
+
end
|
1006
|
+
return data, status_code, headers
|
1007
|
+
end
|
1008
|
+
|
946
1009
|
# Download ID photo
|
947
1010
|
# ID photos are downloaded using this endpoint.
|
948
1011
|
# @param id_photo_id [String] The ID photo's unique identifier.
|
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/4.
|
37
|
+
@user_agent = "onfido-ruby/4.5.0"
|
38
38
|
@default_headers = {
|
39
39
|
'Content-Type' => 'application/json',
|
40
40
|
'User-Agent' => @user_agent
|
data/lib/onfido/models/task.rb
CHANGED
@@ -30,7 +30,7 @@ module Onfido
|
|
30
30
|
# Input object with the fields used by the Task to execute.
|
31
31
|
attr_accessor :input
|
32
32
|
|
33
|
-
#
|
33
|
+
# Value field (it can be an Object, List, etc.) with the fields produced by the Task execution.
|
34
34
|
attr_accessor :output
|
35
35
|
|
36
36
|
# The date and time when the Task was created.
|
@@ -48,7 +48,7 @@ module Onfido
|
|
48
48
|
# Input object with the fields used by the Task execution.
|
49
49
|
attr_accessor :input
|
50
50
|
|
51
|
-
#
|
51
|
+
# Value field (it can be an Object, List, etc.) with the fields produced by the Task execution.
|
52
52
|
attr_accessor :output
|
53
53
|
|
54
54
|
# The reasons the Workflow Run outcome was reached. Configurable when creating the Workflow Version.
|
@@ -21,10 +21,12 @@ module Onfido
|
|
21
21
|
WORKFLOW_RUN = "workflow_run".freeze
|
22
22
|
WORKFLOW_TASK = "workflow_task".freeze
|
23
23
|
WATCHLIST_MONITOR = "watchlist_monitor".freeze
|
24
|
+
WORKFLOW_TIMELINE_FILE = "workflow_timeline_file".freeze
|
25
|
+
WORKFLOW_RUN_EVIDENCE_FOLDER = "workflow_run_evidence_folder".freeze
|
24
26
|
UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze
|
25
27
|
|
26
28
|
def self.all_vars
|
27
|
-
@all_vars ||= [CHECK, REPORT, AUDIT_LOG, WORKFLOW_RUN, WORKFLOW_TASK, WATCHLIST_MONITOR, UNKNOWN_DEFAULT_OPEN_API].freeze
|
29
|
+
@all_vars ||= [CHECK, REPORT, AUDIT_LOG, WORKFLOW_RUN, WORKFLOW_TASK, WATCHLIST_MONITOR, WORKFLOW_TIMELINE_FILE, WORKFLOW_RUN_EVIDENCE_FOLDER, UNKNOWN_DEFAULT_OPEN_API].freeze
|
28
30
|
end
|
29
31
|
|
30
32
|
# Builds the enum from string
|
@@ -32,10 +32,11 @@ module Onfido
|
|
32
32
|
REPORT_COMPLETED = "report.completed".freeze
|
33
33
|
WORKFLOW_TIMELINE_FILE_CREATED = "workflow_timeline_file.created".freeze
|
34
34
|
WORKFLOW_SIGNED_EVIDENCE_FILE_CREATED = "workflow_signed_evidence_file.created".freeze
|
35
|
+
WORKFLOW_RUN_EVIDENCE_FOLDER_CREATED = "workflow_run_evidence_folder.created".freeze
|
35
36
|
UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze
|
36
37
|
|
37
38
|
def self.all_vars
|
38
|
-
@all_vars ||= [AUDIT_LOG_CREATED, WATCHLIST_MONITOR_MATCHES_UPDATED, WORKFLOW_RUN_COMPLETED, WORKFLOW_TASK_STARTED, WORKFLOW_TASK_COMPLETED, CHECK_STARTED, CHECK_REOPENED, CHECK_WITHDRAWN, CHECK_COMPLETED, CHECK_FORM_COMPLETED, REPORT_WITHDRAWN, REPORT_RESUMED, REPORT_CANCELLED, REPORT_AWAITING_APPROVAL, REPORT_COMPLETED, WORKFLOW_TIMELINE_FILE_CREATED, WORKFLOW_SIGNED_EVIDENCE_FILE_CREATED, UNKNOWN_DEFAULT_OPEN_API].freeze
|
39
|
+
@all_vars ||= [AUDIT_LOG_CREATED, WATCHLIST_MONITOR_MATCHES_UPDATED, WORKFLOW_RUN_COMPLETED, WORKFLOW_TASK_STARTED, WORKFLOW_TASK_COMPLETED, CHECK_STARTED, CHECK_REOPENED, CHECK_WITHDRAWN, CHECK_COMPLETED, CHECK_FORM_COMPLETED, REPORT_WITHDRAWN, REPORT_RESUMED, REPORT_CANCELLED, REPORT_AWAITING_APPROVAL, REPORT_COMPLETED, WORKFLOW_TIMELINE_FILE_CREATED, WORKFLOW_SIGNED_EVIDENCE_FILE_CREATED, WORKFLOW_RUN_EVIDENCE_FOLDER_CREATED, UNKNOWN_DEFAULT_OPEN_API].freeze
|
39
40
|
end
|
40
41
|
|
41
42
|
# Builds the enum from string
|
data/lib/onfido/version.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative '../shared_contexts/with_workflow_run'
|
4
|
+
require 'zip'
|
4
5
|
|
5
6
|
describe Onfido::WorkflowRun do
|
6
7
|
describe 'Workflow run' do
|
@@ -79,6 +80,14 @@ describe Onfido::WorkflowRun do
|
|
79
80
|
|
80
81
|
expect(file.size).to be > 0
|
81
82
|
end
|
83
|
+
|
84
|
+
it 'downloads an evidence folder' do
|
85
|
+
file = onfido_api.download_evidence_folder(workflow_run_id)
|
86
|
+
|
87
|
+
Zip::File.open(file.path) do |zip|
|
88
|
+
expect(zip.entries.size).to be > 0
|
89
|
+
end
|
90
|
+
end
|
82
91
|
end
|
83
92
|
end
|
84
93
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
{
|
2
|
+
"payload": {
|
3
|
+
"resource_type": "workflow_task",
|
4
|
+
"action": "workflow_task.completed",
|
5
|
+
"object": {
|
6
|
+
"id": "document_photo_5c229",
|
7
|
+
"task_spec_id": "document_photo_5c229",
|
8
|
+
"task_def_id": "upload_document_photo",
|
9
|
+
"workflow_run_id": "b48fdff9-66a1-405d-9912-54780799bd68",
|
10
|
+
"status": "completed",
|
11
|
+
"completed_at_iso8601": "2024-12-18T18:13:10Z",
|
12
|
+
"href": "https://api.eu.onfido.com/v3.6/workflow_runs/b48fdff9-66a1-405d-9912-54780799bd68/tasks/document_photo_5c229"
|
13
|
+
},
|
14
|
+
"resource": {
|
15
|
+
"updated_at": "2024-12-18T18:13:10Z",
|
16
|
+
"output": [
|
17
|
+
{
|
18
|
+
"type": "document_photo",
|
19
|
+
"id": "7af75a3a-ba34-4aa5-9e3e-096c9f56256b",
|
20
|
+
"checksum_sha256": "hiwV2PLmeQZzeySPGGwVL48sxVXcyfpXy9LDl1u3lWU="
|
21
|
+
}
|
22
|
+
],
|
23
|
+
"created_at": "2024-12-18T18:12:44Z",
|
24
|
+
"task_def_id": "upload_document_photo",
|
25
|
+
"input": {},
|
26
|
+
"workflow_run_id": "b48fdff9-66a1-405d-9912-54780799bd68",
|
27
|
+
"task_def_version": null,
|
28
|
+
"id": "document_photo_5c229"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
@@ -0,0 +1,264 @@
|
|
1
|
+
{
|
2
|
+
"payload": {
|
3
|
+
"resource_type": "workflow_task",
|
4
|
+
"action": "workflow_task.completed",
|
5
|
+
"object": {
|
6
|
+
"id": "document_check_75329",
|
7
|
+
"task_spec_id": "document_check_75329",
|
8
|
+
"task_def_id": "document_check",
|
9
|
+
"workflow_run_id": "b48fdff9-66a1-405d-9912-54780799bd68",
|
10
|
+
"status": "completed",
|
11
|
+
"completed_at_iso8601": "2024-12-18T18:13:13Z",
|
12
|
+
"href": "https://api.eu.onfido.com/v3.6/workflow_runs/b48fdff9-66a1-405d-9912-54780799bd68/tasks/document_check_75329"
|
13
|
+
},
|
14
|
+
"resource": {
|
15
|
+
"task_def_version": null,
|
16
|
+
"task_def_id": "document_check",
|
17
|
+
"updated_at": "2024-12-18T18:13:13Z",
|
18
|
+
"id": "document_check_75329",
|
19
|
+
"output": {
|
20
|
+
"status": "complete",
|
21
|
+
"result": "clear",
|
22
|
+
"sub_result": "clear",
|
23
|
+
"uuid": "95c8cc09-db72-42ff-85ef-ee6c82020a24",
|
24
|
+
"properties": {
|
25
|
+
"date_of_birth": "1990-01-01",
|
26
|
+
"date_of_expiry": "2031-05-28",
|
27
|
+
"document_numbers": [
|
28
|
+
{
|
29
|
+
"type": "document_number",
|
30
|
+
"value": "999999999"
|
31
|
+
}
|
32
|
+
],
|
33
|
+
"document_type": "passport",
|
34
|
+
"first_name": "Jane",
|
35
|
+
"issuing_country": "GBR",
|
36
|
+
"last_name": "Doe",
|
37
|
+
"document_number": "999999999"
|
38
|
+
},
|
39
|
+
"breakdown": {
|
40
|
+
"data_validation": {
|
41
|
+
"result": "clear",
|
42
|
+
"breakdown": {
|
43
|
+
"mrz": {
|
44
|
+
"result": "clear",
|
45
|
+
"properties": {}
|
46
|
+
},
|
47
|
+
"expiry_date": {
|
48
|
+
"result": "clear",
|
49
|
+
"properties": {}
|
50
|
+
},
|
51
|
+
"document_expiration": {
|
52
|
+
"result": "clear",
|
53
|
+
"properties": {}
|
54
|
+
},
|
55
|
+
"document_numbers": {
|
56
|
+
"result": "clear",
|
57
|
+
"properties": {}
|
58
|
+
},
|
59
|
+
"date_of_birth": {
|
60
|
+
"result": "clear",
|
61
|
+
"properties": {}
|
62
|
+
},
|
63
|
+
"gender": {
|
64
|
+
"result": "clear",
|
65
|
+
"properties": {}
|
66
|
+
}
|
67
|
+
}
|
68
|
+
},
|
69
|
+
"visual_authenticity": {
|
70
|
+
"result": "clear",
|
71
|
+
"breakdown": {
|
72
|
+
"face_detection": {
|
73
|
+
"result": "clear",
|
74
|
+
"properties": {}
|
75
|
+
},
|
76
|
+
"other": {
|
77
|
+
"result": "clear",
|
78
|
+
"properties": {}
|
79
|
+
},
|
80
|
+
"digital_tampering": {
|
81
|
+
"result": "clear",
|
82
|
+
"properties": {}
|
83
|
+
},
|
84
|
+
"original_document_present": {
|
85
|
+
"result": "clear",
|
86
|
+
"properties": {}
|
87
|
+
},
|
88
|
+
"security_features": {
|
89
|
+
"result": "clear",
|
90
|
+
"properties": {}
|
91
|
+
},
|
92
|
+
"template": {
|
93
|
+
"result": "clear",
|
94
|
+
"properties": {}
|
95
|
+
},
|
96
|
+
"picture_face_integrity": {
|
97
|
+
"result": "clear",
|
98
|
+
"properties": {}
|
99
|
+
},
|
100
|
+
"fonts": {
|
101
|
+
"result": "clear",
|
102
|
+
"properties": {}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
},
|
106
|
+
"compromised_document": {
|
107
|
+
"result": "clear",
|
108
|
+
"breakdown": {
|
109
|
+
"repeat_attempts": {
|
110
|
+
"result": "clear",
|
111
|
+
"properties": {}
|
112
|
+
},
|
113
|
+
"document_database": {
|
114
|
+
"result": "clear",
|
115
|
+
"properties": {}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
},
|
119
|
+
"data_consistency": {
|
120
|
+
"result": "clear",
|
121
|
+
"breakdown": {
|
122
|
+
"nationality": {
|
123
|
+
"result": "clear",
|
124
|
+
"properties": {}
|
125
|
+
},
|
126
|
+
"last_name": {
|
127
|
+
"result": "clear",
|
128
|
+
"properties": {}
|
129
|
+
},
|
130
|
+
"first_name": {
|
131
|
+
"result": "clear",
|
132
|
+
"properties": {}
|
133
|
+
},
|
134
|
+
"multiple_data_sources_present": {
|
135
|
+
"result": "clear",
|
136
|
+
"properties": {}
|
137
|
+
},
|
138
|
+
"gender": {
|
139
|
+
"result": "clear",
|
140
|
+
"properties": {}
|
141
|
+
},
|
142
|
+
"date_of_birth": {
|
143
|
+
"result": "clear",
|
144
|
+
"properties": {}
|
145
|
+
},
|
146
|
+
"document_type": {
|
147
|
+
"result": "clear",
|
148
|
+
"properties": {}
|
149
|
+
},
|
150
|
+
"issuing_country": {
|
151
|
+
"result": "clear",
|
152
|
+
"properties": {}
|
153
|
+
},
|
154
|
+
"document_numbers": {
|
155
|
+
"result": "clear",
|
156
|
+
"properties": {}
|
157
|
+
},
|
158
|
+
"date_of_expiry": {
|
159
|
+
"result": "clear",
|
160
|
+
"properties": {}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
},
|
164
|
+
"data_comparison": {
|
165
|
+
"result": "clear",
|
166
|
+
"breakdown": {
|
167
|
+
"date_of_birth": {
|
168
|
+
"result": "clear",
|
169
|
+
"properties": {}
|
170
|
+
},
|
171
|
+
"first_name": {
|
172
|
+
"result": "clear",
|
173
|
+
"properties": {}
|
174
|
+
},
|
175
|
+
"document_numbers": {
|
176
|
+
"result": "clear",
|
177
|
+
"properties": {}
|
178
|
+
},
|
179
|
+
"document_type": {
|
180
|
+
"result": "clear",
|
181
|
+
"properties": {}
|
182
|
+
},
|
183
|
+
"last_name": {
|
184
|
+
"result": "clear",
|
185
|
+
"properties": {}
|
186
|
+
},
|
187
|
+
"date_of_expiry": {
|
188
|
+
"result": "clear",
|
189
|
+
"properties": {}
|
190
|
+
},
|
191
|
+
"gender": {
|
192
|
+
"result": "clear",
|
193
|
+
"properties": {}
|
194
|
+
},
|
195
|
+
"issuing_country": {
|
196
|
+
"result": "clear",
|
197
|
+
"properties": {}
|
198
|
+
}
|
199
|
+
}
|
200
|
+
},
|
201
|
+
"image_integrity": {
|
202
|
+
"result": "clear",
|
203
|
+
"breakdown": {
|
204
|
+
"colour_picture": {
|
205
|
+
"result": "clear",
|
206
|
+
"properties": {}
|
207
|
+
},
|
208
|
+
"supported_document": {
|
209
|
+
"result": "clear",
|
210
|
+
"properties": {}
|
211
|
+
},
|
212
|
+
"conclusive_document_quality": {
|
213
|
+
"result": "clear",
|
214
|
+
"properties": {}
|
215
|
+
},
|
216
|
+
"image_quality": {
|
217
|
+
"result": "clear",
|
218
|
+
"properties": {}
|
219
|
+
}
|
220
|
+
}
|
221
|
+
},
|
222
|
+
"police_record": {
|
223
|
+
"result": "clear",
|
224
|
+
"breakdown": {
|
225
|
+
"document_has_not_been_recorded_as_lost,_stolen_or_compromised": {
|
226
|
+
"result": "clear",
|
227
|
+
"properties": {}
|
228
|
+
}
|
229
|
+
}
|
230
|
+
},
|
231
|
+
"age_validation": {
|
232
|
+
"result": "clear",
|
233
|
+
"breakdown": {
|
234
|
+
"minimum_accepted_age": {
|
235
|
+
"result": "clear",
|
236
|
+
"properties": {}
|
237
|
+
}
|
238
|
+
}
|
239
|
+
}
|
240
|
+
},
|
241
|
+
"repeat_attempts": {
|
242
|
+
"report_id": "00000000-0000-0000-0000-000000000000",
|
243
|
+
"repeat_attempts": [],
|
244
|
+
"attempts_count": 1,
|
245
|
+
"attempts_clear_rate": 0,
|
246
|
+
"unique_mismatches_count": 0
|
247
|
+
}
|
248
|
+
},
|
249
|
+
"workflow_run_id": "b48fdff9-66a1-405d-9912-54780799bd68",
|
250
|
+
"input": {
|
251
|
+
"document_ids": [
|
252
|
+
{
|
253
|
+
"checksum_sha256": "hiwV2PLmeQZzeySPGGwVL48sxVXcyfpXy9LDl1u3lWU=",
|
254
|
+
"id": "7af75a3a-ba34-4aa5-9e3e-096c9f56256b",
|
255
|
+
"type": "document_photo"
|
256
|
+
}
|
257
|
+
],
|
258
|
+
"first_name": "Jane",
|
259
|
+
"last_name": "Doe"
|
260
|
+
},
|
261
|
+
"created_at": "2024-12-18T18:13:11Z"
|
262
|
+
}
|
263
|
+
}
|
264
|
+
}
|
@@ -35,5 +35,44 @@ describe Onfido::WebhookEventVerifier do
|
|
35
35
|
expect(webhook_event.payload.resource.task_def_id).to eq('profile_data')
|
36
36
|
expect(webhook_event.payload.resource.output).to eq(nil)
|
37
37
|
end
|
38
|
+
|
39
|
+
context "when webhook event output is an object" do
|
40
|
+
it "is able to decode and read the output field" do
|
41
|
+
signature = "e3e5565647f5ccf07b2fd8ac22eab94a0a0619413d981fb768295c820523f7d7"
|
42
|
+
|
43
|
+
event = subject.read_payload(File.read('spec/media/studio_webhook_event_with_object_in_output.json'), signature)
|
44
|
+
|
45
|
+
expect(event.payload.resource.output['properties']).to eq({
|
46
|
+
"date_of_birth" => "1990-01-01",
|
47
|
+
"date_of_expiry" => "2031-05-28",
|
48
|
+
"document_number" => "999999999",
|
49
|
+
"document_numbers" => [
|
50
|
+
{
|
51
|
+
"type"=>"document_number",
|
52
|
+
"value"=>"999999999"
|
53
|
+
}
|
54
|
+
],
|
55
|
+
"document_type" => "passport",
|
56
|
+
"first_name" => "Jane",
|
57
|
+
"issuing_country" => "GBR",
|
58
|
+
"last_name" => "Doe",
|
59
|
+
})
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context "when webhook event output is an array" do
|
64
|
+
it "is able to decode and read the output field" do
|
65
|
+
signature = "f3a5170acfcecf8c1bf6d9cb9995c0d9dec941af83056a721530f8de7af2c293"
|
66
|
+
event = subject.read_payload(File.read('spec/media/studio_webhook_event_with_list_in_output.json'), signature)
|
67
|
+
|
68
|
+
expect(event.payload.resource.output).to eq([
|
69
|
+
{
|
70
|
+
"checksum_sha256"=>"hiwV2PLmeQZzeySPGGwVL48sxVXcyfpXy9LDl1u3lWU=",
|
71
|
+
"id"=>"7af75a3a-ba34-4aa5-9e3e-096c9f56256b",
|
72
|
+
"type"=>"document_photo"
|
73
|
+
}
|
74
|
+
])
|
75
|
+
end
|
76
|
+
end
|
38
77
|
end
|
39
78
|
end
|
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: 4.
|
4
|
+
version: 4.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenAPI-Generator
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -452,6 +452,8 @@ files:
|
|
452
452
|
- spec/integrations/webhook_spec.rb
|
453
453
|
- spec/integrations/workflow_run_output_spec.rb
|
454
454
|
- spec/integrations/workflow_run_spec.rb
|
455
|
+
- spec/media/studio_webhook_event_with_list_in_output.json
|
456
|
+
- spec/media/studio_webhook_event_with_object_in_output.json
|
455
457
|
- spec/shared_contexts/with_applicant.rb
|
456
458
|
- spec/shared_contexts/with_check.rb
|
457
459
|
- spec/shared_contexts/with_document.rb
|
@@ -464,7 +466,7 @@ homepage: https://github.com/onfido/onfido-ruby
|
|
464
466
|
licenses:
|
465
467
|
- MIT
|
466
468
|
metadata: {}
|
467
|
-
post_install_message:
|
469
|
+
post_install_message:
|
468
470
|
rdoc_options: []
|
469
471
|
require_paths:
|
470
472
|
- lib
|
@@ -480,36 +482,38 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
480
482
|
version: '0'
|
481
483
|
requirements: []
|
482
484
|
rubygems_version: 3.1.6
|
483
|
-
signing_key:
|
485
|
+
signing_key:
|
484
486
|
specification_version: 4
|
485
487
|
summary: The official Ruby library for integrating with the Onfido API.
|
486
488
|
test_files:
|
487
489
|
- spec/classic_webhook_event_verifier_spec.rb
|
490
|
+
- spec/integrations/report_schema_spec.rb
|
488
491
|
- spec/integrations/sdk_token_spec.rb
|
489
|
-
- spec/integrations/
|
490
|
-
- spec/integrations/motion_capture_spec.rb
|
492
|
+
- spec/integrations/applicant_spec.rb
|
491
493
|
- spec/integrations/workflow_run_spec.rb
|
492
|
-
- spec/integrations/check_spec.rb
|
493
|
-
- spec/integrations/live_video_spec.rb
|
494
|
-
- spec/integrations/webhook_spec.rb
|
495
494
|
- spec/integrations/workflow_run_output_spec.rb
|
496
|
-
- spec/integrations/
|
497
|
-
- spec/integrations/address_picker_spec.rb
|
495
|
+
- spec/integrations/webhook_spec.rb
|
498
496
|
- spec/integrations/watchlist_monitor_spec.rb
|
499
|
-
- spec/integrations/
|
500
|
-
- spec/integrations/qualified_electronic_signature_spec.rb
|
501
|
-
- spec/integrations/report_schema_spec.rb
|
502
|
-
- spec/integrations/live_photo_spec.rb
|
503
|
-
- spec/integrations/report_spec.rb
|
497
|
+
- spec/integrations/live_video_spec.rb
|
504
498
|
- spec/integrations/document_spec.rb
|
499
|
+
- spec/integrations/live_photo_spec.rb
|
500
|
+
- spec/integrations/qualified_electronic_signature_spec.rb
|
501
|
+
- spec/integrations/motion_capture_spec.rb
|
502
|
+
- spec/integrations/address_picker_spec.rb
|
503
|
+
- spec/integrations/tasks_spec.rb
|
505
504
|
- spec/integrations/media/sample_photo.png
|
506
505
|
- spec/integrations/media/sample_driving_licence.png
|
506
|
+
- spec/integrations/check_spec.rb
|
507
|
+
- spec/integrations/id_photo_spec.rb
|
507
508
|
- spec/integrations/extraction_spec.rb
|
509
|
+
- spec/integrations/report_spec.rb
|
510
|
+
- spec/media/studio_webhook_event_with_object_in_output.json
|
511
|
+
- spec/media/studio_webhook_event_with_list_in_output.json
|
508
512
|
- spec/shared_contexts/with_document.rb
|
509
513
|
- spec/shared_contexts/with_check.rb
|
510
|
-
- spec/shared_contexts/with_live_photo.rb
|
511
514
|
- spec/shared_contexts/with_workflow_run.rb
|
512
515
|
- spec/shared_contexts/with_applicant.rb
|
516
|
+
- spec/shared_contexts/with_live_photo.rb
|
513
517
|
- spec/shared_contexts/with_onfido.rb
|
514
518
|
- spec/spec_helper.rb
|
515
519
|
- spec/studio_webhook_event_verifier_spec.rb
|