Skip to content

Commit bec6066

Browse files
Pull request #11: Add method to update and retrieve verification process
Merge in SDK/ruby_telesign_enterprise from feature/2510 to developer * commit '513ac2b86bdd5cacba9254778d5f5fed1935c351': fix method using single quotes Add method to update and retrieve verification process
2 parents e61d2ea + 513ac2b commit bec6066

13 files changed

Lines changed: 140 additions & 41 deletions

RELEASE

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
2.6.0
2+
3+
- Added method to update verification process.
4+
- Added method to retrieve verification process.
5+
- Added unit test for update verification process.
6+
- Added unit test for retrieve verification process.
7+
18
2.5.0
29

310
- Added tracking to request

lib/telesignenterprise.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
require 'telesignenterprise/phoneid'
22
require 'telesignenterprise/telebureau'
33
require 'telesignenterprise/verify'
4+
require 'telesignenterprise/omniverify'
45
require 'telesignenterprise/score'
56
require 'telesignenterprise/messaging'
67
require 'telesignenterprise/voice'

lib/telesignenterprise/appverify.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'telesign'
2+
require_relative 'constants'
23

34
module TelesignEnterprise
45

@@ -11,7 +12,7 @@ def initialize(customer_id,
1112
rest_endpoint: 'https://rest-ww.telesign.com',
1213
timeout: nil,
1314
source: 'ruby_telesign_enterprise',
14-
sdk_version_origin: '2.5.0',
15+
sdk_version_origin: TelesignEnterprise::SDK_VERSION,
1516
sdk_version_dependency: Gem.loaded_specs['telesign'].version)
1617

1718
super(customer_id,
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module TelesignEnterprise
2+
SDK_VERSION = '2.6.0'
3+
end

lib/telesignenterprise/messaging.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'telesign'
2+
require_relative 'constants'
23

34
OMNI_MESSAGING_RESOURCE = '/v1/omnichannel'
45
module TelesignEnterprise
@@ -11,7 +12,7 @@ def initialize(customer_id,
1112
rest_endpoint: 'https://rest-ww.telesign.com',
1213
timeout: nil,
1314
source: 'ruby_telesign_enterprise',
14-
sdk_version_origin: '2.5.0',
15+
sdk_version_origin: TelesignEnterprise::SDK_VERSION,
1516
sdk_version_dependency: Gem.loaded_specs['telesign'].version)
1617

1718
super(customer_id,
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
2+
require 'telesign/rest'
3+
require_relative 'constants'
4+
5+
PATH_CREATE_VERIFICATION_PROCESS = '/verification'
6+
PATH_UPDATE_VERIFICATION_PROCESS = '/verification/%{reference_id}/state'
7+
PATH_RETRIEVE_VERIFICATION_PROCESS = '/verification/%{reference_id}'
8+
9+
module TelesignEnterprise
10+
11+
# The Telesign Verify API makes it easy for you to set up phone-based, multi-factor authentication (MFA) using multiple channels and methods.
12+
# See https://developer.telesign.com/enterprise/docs/verify-api-overview for detailed product documentation.
13+
14+
class OmniVerifyClient < Telesign::RestClient
15+
16+
def initialize(customer_id,
17+
api_key,
18+
rest_endpoint: 'https://verify.telesign.com',
19+
timeout: nil,
20+
source: 'ruby_telesign_enterprise',
21+
sdk_version_origin: TelesignEnterprise::SDK_VERSION,
22+
sdk_version_dependency: Gem.loaded_specs['telesign'].version)
23+
24+
super(customer_id,
25+
api_key,
26+
rest_endpoint: rest_endpoint,
27+
timeout: timeout,
28+
source: source,
29+
sdk_version_origin: sdk_version_origin,
30+
sdk_version_dependency: sdk_version_dependency)
31+
end
32+
33+
# Use this action to create a verification process for the specified phone number.
34+
#
35+
# See https://developer.telesign.com/enterprise/reference/createverificationprocess for detailed API documentation.
36+
def create_verification_process(phone_number, **params)
37+
params = params.merge({ recipient: { phone_number: phone_number } })
38+
params[:verification_policy] ||= [{ method: 'sms', fallback_time: 30 }]
39+
self.post(PATH_CREATE_VERIFICATION_PROCESS, **params)
40+
end
41+
42+
# Use this action to retrieve a verification process for the specified reference_id.
43+
#
44+
# See https://developer.telesign.com/enterprise/reference/getverificationprocess for detailed API documentation.
45+
def retrieve_verification_process(reference_id, **params)
46+
self.get(PATH_RETRIEVE_VERIFICATION_PROCESS % {:reference_id => reference_id}, **params)
47+
end
48+
49+
# Use this action to update a verification process for the specified reference_id.
50+
#
51+
# See https://developer.telesign.com/enterprise/reference/updateverificationprocess for detailed API documentation.
52+
def update_verification_process(reference_id, **params)
53+
self.patch(PATH_UPDATE_VERIFICATION_PROCESS % {:reference_id => reference_id}, auth_method: 'Basic', **params)
54+
end
55+
56+
private
57+
58+
def content_type
59+
"application/json"
60+
end
61+
62+
end
63+
end

lib/telesignenterprise/phoneid.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'telesign/phoneid'
2+
require_relative 'constants'
23

34
PHONEID_STANDARD_RESOURCE = '/v1/phoneid/standard/%{phone_number}'
45
PHONEID_SCORE_RESOURCE = '/v1/phoneid/score/%{phone_number}'
@@ -21,7 +22,7 @@ def initialize(customer_id,
2122
rest_endpoint: 'https://rest-ww.telesign.com',
2223
timeout: nil,
2324
source: 'ruby_telesign_enterprise',
24-
sdk_version_origin: '2.5.0',
25+
sdk_version_origin: TelesignEnterprise::SDK_VERSION,
2526
sdk_version_dependency: Gem.loaded_specs['telesign'].version)
2627

2728
super(customer_id,

lib/telesignenterprise/score.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'telesign'
2+
require_relative 'constants'
23

34
module TelesignEnterprise
45

@@ -10,7 +11,7 @@ def initialize(customer_id,
1011
rest_endpoint: 'https://rest-ww.telesign.com',
1112
timeout: nil,
1213
source: 'ruby_telesign_enterprise',
13-
sdk_version_origin: '2.5.0',
14+
sdk_version_origin: TelesignEnterprise::SDK_VERSION,
1415
sdk_version_dependency: Gem.loaded_specs['telesign'].version)
1516

1617
super(customer_id,

lib/telesignenterprise/telebureau.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'telesign/rest'
2+
require_relative 'constants'
23

34
TELEBUREAU_CREATE_RESOURCE = '/v1/telebureau/event'
45
TELEBUREAU_RETRIEVE_RESOURCE = '/v1/telebureau/event/%{reference_id}'
@@ -16,7 +17,7 @@ def initialize(customer_id,
1617
rest_endpoint: 'https://rest-ww.telesign.com',
1718
timeout: nil,
1819
source: 'ruby_telesign_enterprise',
19-
sdk_version_origin: '2.5.0',
20+
sdk_version_origin: TelesignEnterprise::SDK_VERSION,
2021
sdk_version_dependency: Gem.loaded_specs['telesign'].version)
2122

2223
super(customer_id,

lib/telesignenterprise/verify.rb

Lines changed: 7 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
require 'telesign/rest'
2+
require_relative 'omniverify'
3+
require_relative 'constants'
24

35
VERIFY_SMS_RESOURCE = '/v1/verify/sms'
46
VERIFY_VOICE_RESOURCE = '/v1/verify/call'
@@ -17,9 +19,11 @@ def initialize(customer_id,
1719
rest_endpoint: 'https://rest-ww.telesign.com',
1820
timeout: nil,
1921
source: 'ruby_telesign_enterprise',
20-
sdk_version_origin: '2.5.0',
21-
sdk_version_dependency: Gem.loaded_specs['telesign'].version)
22+
sdk_version_origin: TelesignEnterprise::SDK_VERSION,
23+
sdk_version_dependency: Gem.loaded_specs['telesign'].version,
24+
rest_endpoint_verify: 'https://verify.telesign.com')
2225

26+
@omniVerifyClient = OmniVerifyClient.new(customer_id, api_key, rest_endpoint: rest_endpoint_verify)
2327
super(customer_id,
2428
api_key,
2529
rest_endpoint: rest_endpoint,
@@ -29,33 +33,6 @@ def initialize(customer_id,
2933
sdk_version_dependency: sdk_version_dependency)
3034
end
3135

32-
class OmniVerifyClient < Telesign::RestClient
33-
def initialize(customer_id,
34-
api_key,
35-
rest_endpoint: 'https://verify.telesign.com',
36-
timeout: nil)
37-
38-
super(customer_id,
39-
api_key,
40-
rest_endpoint: rest_endpoint,
41-
timeout: timeout)
42-
end
43-
44-
def create_verification_process(phone_number, **params)
45-
params = { recipient: { phone_number:phone_number } }
46-
if !params.key?("verification_policy")
47-
params[:verification_policy] = [{ method: 'sms', fallback_time: 30 }]
48-
end
49-
self.post(VERIFY_OMNICHANNEL_RESOURCE, **params)
50-
end
51-
52-
private
53-
54-
def content_type
55-
"application/json"
56-
end
57-
58-
end
5936
# The SMS Verify API delivers phone-based verification and two-factor authentication using a time-based,
6037
# one-time passcode sent over SMS.
6138
#
@@ -109,8 +86,7 @@ def completion(reference_id, **params)
10986
#
11087
# See https://developer.telesign.com/enterprise/reference/createverificationprocess for detailed API documentation.
11188
def create_verification_process(phone_number, **params)
112-
omni_verify = OmniVerifyClient.new(@customer_id, @api_key, rest_endpoint: @rest_endpoint)
113-
omni_verify.create_verification_process(phone_number, **params)
89+
@omniVerifyClient.create_verification_process(phone_number, **params)
11490
end
11591

11692
end

0 commit comments

Comments
 (0)