vonage 7.27.1 → 7.29.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/README.md +60 -0
- data/lib/vonage/keys.rb +4 -1
- data/lib/vonage/verify2/template_fragments/list_response.rb +11 -0
- data/lib/vonage/verify2/template_fragments.rb +125 -0
- data/lib/vonage/verify2/templates/list_response.rb +11 -0
- data/lib/vonage/verify2/templates.rb +86 -0
- data/lib/vonage/verify2.rb +12 -0
- data/lib/vonage/version.rb +1 -1
- data/lib/vonage/video/archives.rb +7 -5
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8abed4adc6b416ea3de37506428d18355efd6f4693b35bb78ccef59ce3e25de8
|
4
|
+
data.tar.gz: fa3d8d5a932681dfb1076985be68e3b9462a6d8211a84f7153189508b7bd1fce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f5407e341d6d6e751fabd183b221257975422cc333c71e14c2cc2bec0fc8d8f32ee0877e35118338e4f8c8af80a2775cb2615095fa2bf64bccab5248a11eaa4
|
7
|
+
data.tar.gz: eba1d203bd5988e363bdee48d8e5ab9fcd2539e553abbcef796d8f5852559438cd1a9d3c900df21f49517f23ffd4032b33d03cc4153d36937aed60743f0f543b
|
data/README.md
CHANGED
@@ -488,6 +488,66 @@ if code_check.http_response.code == '200'
|
|
488
488
|
end
|
489
489
|
```
|
490
490
|
|
491
|
+
### Working with Verify Custom Templates and Template Fragments
|
492
|
+
|
493
|
+
Verify custom templates allow you to customize the message sent to deliver an OTP to your users, rather than using the default Vonage templates. See the [Template Management Guide document](https://developer.vonage.com/en/verify/guides/custom-templates) for more information.
|
494
|
+
|
495
|
+
#### Templates
|
496
|
+
|
497
|
+
```ruby
|
498
|
+
# Get a list of all templates
|
499
|
+
template_list = verify.templates.list
|
500
|
+
|
501
|
+
# Get details of a specific template
|
502
|
+
template = verify.templates.info(template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9')
|
503
|
+
|
504
|
+
# Create a new template
|
505
|
+
verify.templates.create(name: 'my-template')
|
506
|
+
|
507
|
+
# Update an existing template
|
508
|
+
verify.templates.update(
|
509
|
+
template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
510
|
+
name: 'my-updated-template'
|
511
|
+
)
|
512
|
+
|
513
|
+
# Delete a template
|
514
|
+
verify.templates.delete(template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9')
|
515
|
+
```
|
516
|
+
|
517
|
+
#### Template Fragments
|
518
|
+
|
519
|
+
```ruby
|
520
|
+
# Get a list of template fragments for a specific template
|
521
|
+
template_fragment_list = verify.template_fragments.list(template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9')
|
522
|
+
|
523
|
+
# Get details of a specific template fragment
|
524
|
+
template_fragment = verify.template_fragments.info(
|
525
|
+
template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
526
|
+
template_fragment_id: 'c70f446e-997a-4313-a081-60a02a31dc19'
|
527
|
+
)
|
528
|
+
|
529
|
+
# Create a new template fragement
|
530
|
+
verify.template_fragments.create(
|
531
|
+
template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
532
|
+
channel: 'sms',
|
533
|
+
locale: 'en-gb',
|
534
|
+
text: 'Your code is: ${code}'
|
535
|
+
)
|
536
|
+
|
537
|
+
# Update an existing template fragment
|
538
|
+
verify.template_fragments.update(
|
539
|
+
template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
540
|
+
template_fragment_id: 'c70f446e-997a-4313-a081-60a02a31dc1',
|
541
|
+
text: 'Your one-time code is: ${code}'
|
542
|
+
)
|
543
|
+
|
544
|
+
# Delete a template fragment
|
545
|
+
verify.template_fragments.delete(
|
546
|
+
template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
547
|
+
template_fragment_id: 'c70f446e-997a-4313-a081-60a02a31dc19'
|
548
|
+
)
|
549
|
+
```
|
550
|
+
|
491
551
|
## Voice API
|
492
552
|
|
493
553
|
The [Vonage Voice API](The [Vonage Verify API v2](https://developer.vonage.com/en/verify/verify-v2/overview) allows you to automate voice interactions by creating calls, streaming audio, playing text to speech, playing DTMF tones, and other actions. See the Vonage Developer Documentation for a [complete API reference](https://developer.vonage.com/en/api/voice) listing all the Voice API capabilities.
|
data/lib/vonage/keys.rb
CHANGED
@@ -28,8 +28,10 @@ module Vonage
|
|
28
28
|
'remove_stream',
|
29
29
|
'screenshare_type',
|
30
30
|
'session_id',
|
31
|
+
'output_mode',
|
31
32
|
'stream_mode',
|
32
33
|
'archive_mode',
|
34
|
+
'multi_archive_tag',
|
33
35
|
'language_code',
|
34
36
|
'max_duration',
|
35
37
|
'partial_captions',
|
@@ -37,7 +39,8 @@ module Vonage
|
|
37
39
|
'audio_rate',
|
38
40
|
'phone_number',
|
39
41
|
'hashed_phone_number',
|
40
|
-
'max_age'
|
42
|
+
'max_age',
|
43
|
+
'max_bitrate'
|
41
44
|
]
|
42
45
|
hash.transform_keys do |k|
|
43
46
|
if exceptions.include?(k.to_s)
|
@@ -0,0 +1,125 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Vonage
|
5
|
+
class Verify2::TemplateFragments < Namespace
|
6
|
+
CHANNELS = ['sms', 'voice'].freeze
|
7
|
+
|
8
|
+
self.authentication = BearerToken
|
9
|
+
|
10
|
+
self.request_body = JSON
|
11
|
+
|
12
|
+
# Get a list of of template fragments for a specific template.
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# template_fragment_list = client.verify2.template_fragments.list(template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9')
|
16
|
+
#
|
17
|
+
# @param [required, String] :template_id. The ID of the template for which to retreive the fragments
|
18
|
+
#
|
19
|
+
# @param [optional, Integer] :page_size. The amount of template fragments to list per page
|
20
|
+
#
|
21
|
+
# @param [optional, Integer] :page. The page number to retrieve
|
22
|
+
#
|
23
|
+
# @return [ListResponse]
|
24
|
+
#
|
25
|
+
# @see https://developer.vonage.com/en/api/verify.v2#listTemplateFragments
|
26
|
+
def list(template_id:, **params)
|
27
|
+
request("/v2/verify/templates/#{template_id}/template_fragments", params: params, response_class: ListResponse)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Get details of a specific template fragment.
|
31
|
+
#
|
32
|
+
# @example
|
33
|
+
# template_fragment = client.verify2.template_fragments.info(
|
34
|
+
# template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
35
|
+
# template_fragment_id: 'c70f446e-997a-4313-a081-60a02a31dc19'
|
36
|
+
# )
|
37
|
+
#
|
38
|
+
# @param [required, String] :template_id. The ID of the template for which to retreive the fragment
|
39
|
+
#
|
40
|
+
# @param [required, String] :template_fragment_id. The ID of the fragment to be retreived
|
41
|
+
#
|
42
|
+
# @return [Response]
|
43
|
+
#
|
44
|
+
# @see https://developer.vonage.com/en/api/verify.v2#getTemplateFragment
|
45
|
+
def info(template_id:, template_fragment_id:)
|
46
|
+
request("/v2/verify/templates/#{template_id}/template_fragments/#{template_fragment_id}")
|
47
|
+
end
|
48
|
+
|
49
|
+
# Create a new template fragment.
|
50
|
+
#
|
51
|
+
# @example
|
52
|
+
# client.verify2.template_fragments.create(
|
53
|
+
# template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
54
|
+
# channel: 'sms',
|
55
|
+
# locale: 'en-gb',
|
56
|
+
# text: 'Your code is: ${code}'
|
57
|
+
# )
|
58
|
+
#
|
59
|
+
# @param [required, String] :template_id. The ID of the template for which to create the fragment
|
60
|
+
#
|
61
|
+
# @param [required, String] :channel. The verification channel for which to create the fragment. Must be one of 'sms' or 'voice'
|
62
|
+
#
|
63
|
+
# @param [required, String] :locale. The locale for which to create the fragment.
|
64
|
+
#
|
65
|
+
# @param [required, String] :text. The text to be used in the template fragment.
|
66
|
+
# There are 4 reserved variables available to use as part of the text: ${code}, ${brand}, ${time-limit} and ${time-limit-unit}
|
67
|
+
#
|
68
|
+
# @return [Response]
|
69
|
+
#
|
70
|
+
# @see https://developer.vonage.com/en/api/verify.v2#addTemplateFragmentToTemplate
|
71
|
+
def create(template_id:, channel:, locale:, text:)
|
72
|
+
raise ArgumentError, "Invalid 'channel' #{channel}. Must be one of #{CHANNELS.join(', ')}" unless CHANNELS.include?(channel)
|
73
|
+
request(
|
74
|
+
"/v2/verify/templates/#{template_id}/template_fragments",
|
75
|
+
params: {
|
76
|
+
channel: channel,
|
77
|
+
locale: locale,
|
78
|
+
text: text
|
79
|
+
},
|
80
|
+
type: Post)
|
81
|
+
end
|
82
|
+
|
83
|
+
# Update an existing template fragment.
|
84
|
+
#
|
85
|
+
# @example
|
86
|
+
# client.verify2.template_fragments.update(
|
87
|
+
# template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
88
|
+
# template_fragment_id: 'c70f446e-997a-4313-a081-60a02a31dc19',
|
89
|
+
# text: 'Your one-time code is: ${code}'
|
90
|
+
# )
|
91
|
+
#
|
92
|
+
# @param [required, String] :template_id. The ID of the template with which the fragment to be updated is associated
|
93
|
+
#
|
94
|
+
# @param [required, String] :template_fragment_id. The ID of the fragment to be updated
|
95
|
+
#
|
96
|
+
# @param [required, String] :text. The text to be used in the template fragment.
|
97
|
+
# There are 4 reserved variables available to use as part of the text: ${code}, ${brand}, ${time-limit} and ${time-limit-unit}
|
98
|
+
#
|
99
|
+
# @return [Response]
|
100
|
+
#
|
101
|
+
# @see https://developer.vonage.com/en/api/verify.v2#updateTemplateFragment
|
102
|
+
def update(template_id:, template_fragment_id:, text:)
|
103
|
+
request("/v2/verify/templates/#{template_id}/template_fragments/#{template_fragment_id}", params: {text: text}, type: Patch)
|
104
|
+
end
|
105
|
+
|
106
|
+
# Delete a template fragment.
|
107
|
+
#
|
108
|
+
# @example
|
109
|
+
# client.verify2.template_fragments.delete(
|
110
|
+
# template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9',
|
111
|
+
# template_fragment_id: 'c70f446e-997a-4313-a081-60a02a31dc19'
|
112
|
+
# )
|
113
|
+
#
|
114
|
+
# @param [required, String] :template_id. The ID of the template with which the fragment to be deleted is associated
|
115
|
+
#
|
116
|
+
# @param [required, String] :template_fragment_id. The ID of the fragment to be deleted
|
117
|
+
#
|
118
|
+
# @return [Response]
|
119
|
+
#
|
120
|
+
# @see https://developer.vonage.com/en/api/verify.v2#deleteTemplateFragment
|
121
|
+
def delete(template_id:, template_fragment_id:)
|
122
|
+
request("/v2/verify/templates/#{template_id}/template_fragments/#{template_fragment_id}", type: Delete)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Vonage
|
5
|
+
class Verify2::Templates < Namespace
|
6
|
+
self.authentication = BearerToken
|
7
|
+
|
8
|
+
self.request_body = JSON
|
9
|
+
|
10
|
+
# Get a list of all templates.
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# template_list = client.verify2.templates.list
|
14
|
+
#
|
15
|
+
# @param [optional, Integer] :page_size. The amount of templates to list per page
|
16
|
+
#
|
17
|
+
# @param [optional, Integer] :page. The page number to retrieve
|
18
|
+
#
|
19
|
+
# @return [ListResponse]
|
20
|
+
#
|
21
|
+
# @see https://developer.vonage.com/en/api/verify.v2#listTemplates
|
22
|
+
def list(**params)
|
23
|
+
request('/v2/verify/templates', params: params, response_class: ListResponse)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Get details of a specific template.
|
27
|
+
#
|
28
|
+
# @example
|
29
|
+
# template = client.verify2.templates.info(template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9')
|
30
|
+
#
|
31
|
+
# @param [required, String] :template_id. The ID of the template to be retreived
|
32
|
+
#
|
33
|
+
# @return [Response]
|
34
|
+
#
|
35
|
+
# @see https://developer.vonage.com/en/api/verify.v2#getTemplate
|
36
|
+
def info(template_id:)
|
37
|
+
request('/v2/verify/templates/' + template_id)
|
38
|
+
end
|
39
|
+
|
40
|
+
# Create a new template.
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# client.verify2.templates.create(name: 'my-template')
|
44
|
+
#
|
45
|
+
# @param [required, String] :name. The name of the template. The following characters are permitted: [A-Z a-z 0-9 _ -]
|
46
|
+
#
|
47
|
+
# @return [Response]
|
48
|
+
#
|
49
|
+
# @see https://developer.vonage.com/en/api/verify.v2#createTemplate
|
50
|
+
def create(name:)
|
51
|
+
request('/v2/verify/templates', params: { name: name }, type: Post)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Update an existing template.
|
55
|
+
#
|
56
|
+
# @example
|
57
|
+
# client.verify2.templates.update(template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9', name: 'my-updated-template')
|
58
|
+
#
|
59
|
+
# @param [required, String] :template_id. The ID of the template to be updated
|
60
|
+
#
|
61
|
+
# @param [optional, String] :name. The name of the template. The following characters are permitted: [A-Z a-z 0-9 _ -]
|
62
|
+
#
|
63
|
+
# @param [optional, Boolean] :is_default. Whether the template is the default template for a specific locale/channel combination
|
64
|
+
#
|
65
|
+
# @return [Response]
|
66
|
+
#
|
67
|
+
# @see https://developer.vonage.com/en/api/verify.v2#updateTemplate
|
68
|
+
def update(template_id:, **params)
|
69
|
+
request('/v2/verify/templates/' + template_id, params: params, type: Patch)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Delete a template.
|
73
|
+
#
|
74
|
+
# @example
|
75
|
+
# client.verify2.templates.delete(template_id: '8f35a1a7-eb2f-4552-8fdf-fffdaee41bc9')
|
76
|
+
#
|
77
|
+
# @param [required, String] :template_id. The ID of the template to be deleted
|
78
|
+
#
|
79
|
+
# @return [Response]
|
80
|
+
#
|
81
|
+
# @see https://developer.vonage.com/en/api/verify.v2#deleteTemplate
|
82
|
+
def delete(template_id:)
|
83
|
+
request('/v2/verify/templates/' + template_id, type: Delete)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
data/lib/vonage/verify2.rb
CHANGED
@@ -96,5 +96,17 @@ module Vonage
|
|
96
96
|
def workflow_builder
|
97
97
|
WorkflowBuilder.itself
|
98
98
|
end
|
99
|
+
|
100
|
+
# @return [Templates]
|
101
|
+
# Returns existing or instantiates a new Vonage::Verify2::Templates object
|
102
|
+
def templates
|
103
|
+
@templates ||= Templates.new(@config)
|
104
|
+
end
|
105
|
+
|
106
|
+
# @return [TemplateFragments]
|
107
|
+
# Returns existing or instantiates a new Vonage::Verify2::Templates object
|
108
|
+
def template_fragments
|
109
|
+
@template_fragments ||= TemplateFragments.new(@config)
|
110
|
+
end
|
99
111
|
end
|
100
112
|
end
|
data/lib/vonage/version.rb
CHANGED
@@ -45,19 +45,21 @@ module Vonage
|
|
45
45
|
#
|
46
46
|
# @param [required, String] :session_id
|
47
47
|
#
|
48
|
-
# @param [optional, String] :
|
48
|
+
# @param [optional, String] :has_audio
|
49
49
|
#
|
50
|
-
# @param [optional, String] :
|
50
|
+
# @param [optional, String] :has_video
|
51
51
|
#
|
52
52
|
# @param [optional, String] :name
|
53
53
|
#
|
54
|
-
# @param [optional, String] :
|
54
|
+
# @param [optional, String] :output_mode
|
55
55
|
#
|
56
56
|
# @param [optional, String] :resolution
|
57
57
|
#
|
58
|
-
# @param [optional, String] :
|
58
|
+
# @param [optional, String] :stream_mode
|
59
59
|
#
|
60
|
-
# @param [optional, String] :
|
60
|
+
# @param [optional, String] :multi_archive_tag
|
61
|
+
#
|
62
|
+
# @param [optional, String] :max_bitrate
|
61
63
|
#
|
62
64
|
# @param [optional, Hash] :layout
|
63
65
|
#
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vonage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vonage
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-02-10 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: vonage-jwt
|
@@ -238,6 +237,10 @@ files:
|
|
238
237
|
- lib/vonage/verify2/channels/whats_app.rb
|
239
238
|
- lib/vonage/verify2/channels/whats_app_interactive.rb
|
240
239
|
- lib/vonage/verify2/start_verification_options.rb
|
240
|
+
- lib/vonage/verify2/template_fragments.rb
|
241
|
+
- lib/vonage/verify2/template_fragments/list_response.rb
|
242
|
+
- lib/vonage/verify2/templates.rb
|
243
|
+
- lib/vonage/verify2/templates/list_response.rb
|
241
244
|
- lib/vonage/verify2/workflow.rb
|
242
245
|
- lib/vonage/verify2/workflow_builder.rb
|
243
246
|
- lib/vonage/version.rb
|
@@ -278,7 +281,6 @@ metadata:
|
|
278
281
|
bug_tracker_uri: https://github.com/Vonage/vonage-ruby-sdk/issues
|
279
282
|
changelog_uri: https://github.com/Vonage/vonage-ruby-sdk/blob/master/CHANGES.md
|
280
283
|
documentation_uri: https://www.rubydoc.info/github/vonage/vonage-ruby-sdk
|
281
|
-
post_install_message:
|
282
284
|
rdoc_options: []
|
283
285
|
require_paths:
|
284
286
|
- lib
|
@@ -293,8 +295,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
293
295
|
- !ruby/object:Gem::Version
|
294
296
|
version: '0'
|
295
297
|
requirements: []
|
296
|
-
rubygems_version: 3.
|
297
|
-
signing_key:
|
298
|
+
rubygems_version: 3.6.2
|
298
299
|
specification_version: 4
|
299
300
|
summary: This is the Ruby Server SDK for Vonage APIs. To use it you'll need a Vonage
|
300
301
|
account. Sign up for free at https://www.vonage.com
|