twilio-ruby 5.73.4 → 5.74.1
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/CHANGES.md +48 -0
- data/LICENSE +1 -1
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +19 -3
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +4 -4
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +16 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +16 -1
- data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +6 -6
- data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +1 -1
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
- data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
- data/lib/twilio-ruby/rest/flex_api.rb +13 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +43 -18
- data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +140 -0
- data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
- data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +1 -1
- data/lib/twilio-ruby/rest/oauth/v1.rb +7 -0
- data/lib/twilio-ruby/rest/oauth.rb +6 -0
- data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +4 -1
- data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +12 -5
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +5 -3
- data/lib/twilio-ruby/twiml/voice_response.rb +21 -21
- data/lib/twilio-ruby/version.rb +1 -1
- data/twilio-ruby.gemspec +1 -1
- metadata +7 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: be77b63828134bd9390c83f201fec04010268e1f
|
|
4
|
+
data.tar.gz: c8f48178261040ee75ad63b3ddd1731b60522373
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 47d4ad18d6185451d97af2a33cdd4b38773389e59c50f51b37c3ca34ac759a14a91c093de17b9c5cd99574189e04fee79c1613a64a5a047e5cca2254e218cd19
|
|
7
|
+
data.tar.gz: 259032db93a0b08ca406f890d2d118ee4fb35327a8579c0afd7d18c25aea153108c87ec807b1c4e2dda0147c56bc54b72ce941fdef9e544b8696c55f1153194f
|
data/CHANGES.md
CHANGED
|
@@ -1,6 +1,54 @@
|
|
|
1
1
|
twilio-ruby changelog
|
|
2
2
|
=====================
|
|
3
3
|
|
|
4
|
+
[2023-01-11] Version 5.74.1
|
|
5
|
+
---------------------------
|
|
6
|
+
**Library - Chore**
|
|
7
|
+
- [PR #626](https://github.com/twilio/twilio-ruby/pull/626): Bump jwt version max version to 2.6. Thanks to [@MarcPer](https://github.com/MarcPer)!
|
|
8
|
+
|
|
9
|
+
**Conversations**
|
|
10
|
+
- Add support for creating Multi-Channel Rich Content Messages
|
|
11
|
+
|
|
12
|
+
**Lookups**
|
|
13
|
+
- Changed the no data message for match postal code from `no_data` to `data_not_available` in identity match package
|
|
14
|
+
|
|
15
|
+
**Messaging**
|
|
16
|
+
- Add update/edit tollfree verification API
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
[2022-12-14] Version 5.74.0
|
|
20
|
+
---------------------------
|
|
21
|
+
**Api**
|
|
22
|
+
- Add `street_secondary` param to address create and update
|
|
23
|
+
- Make `method` optional for user defined message subscription **(breaking change)**
|
|
24
|
+
|
|
25
|
+
**Flex**
|
|
26
|
+
- Flex Conversations is now Generally Available
|
|
27
|
+
- Adding the ie1 mapping for authorization api, updating service base uri and base url response attribute **(breaking change)**
|
|
28
|
+
- Change web channels to GA and library visibility to public
|
|
29
|
+
- Changing the uri for authorization api from using Accounts to Insights **(breaking change)**
|
|
30
|
+
|
|
31
|
+
**Media**
|
|
32
|
+
- Gate Twilio Live endpoints behind beta_feature for EOS
|
|
33
|
+
|
|
34
|
+
**Messaging**
|
|
35
|
+
- Mark `MessageFlow` as a required field for Campaign Creation **(breaking change)**
|
|
36
|
+
|
|
37
|
+
**Oauth**
|
|
38
|
+
- updated openid discovery endpoint uri **(breaking change)**
|
|
39
|
+
- Added device code authorization endpoint
|
|
40
|
+
|
|
41
|
+
**Supersim**
|
|
42
|
+
- Allow filtering the SettingsUpdates resource by `status`
|
|
43
|
+
|
|
44
|
+
**Twiml**
|
|
45
|
+
- Add new Polly Neural voices
|
|
46
|
+
- Add tr-TR, ar-AE, yue-CN, fi-FI languages to SSML `<lang>` element.
|
|
47
|
+
- Add x-amazon-jyutping, x-amazon-pinyin, x-amazon-pron-kana, x-amazon-yomigana alphabets to SSML `<phoneme>` element.
|
|
48
|
+
- Rename `character` value for SSML `<say-as>` `interpret-as` attribute to `characters`. **(breaking change)**
|
|
49
|
+
- Rename `role` attribute to `format` in SSML `<say-as>` element. **(breaking change)**
|
|
50
|
+
|
|
51
|
+
|
|
4
52
|
[2022-11-30] Version 5.73.4
|
|
5
53
|
---------------------------
|
|
6
54
|
**Flex**
|
data/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (C)
|
|
3
|
+
Copyright (C) 2023, Twilio, Inc. <help@twilio.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
6
|
this software and associated documentation files (the "Software"), to deal in
|
data/README.md
CHANGED
|
@@ -34,13 +34,13 @@ This library supports the following Ruby implementations:
|
|
|
34
34
|
To install using [Bundler][bundler] grab the latest stable version:
|
|
35
35
|
|
|
36
36
|
```ruby
|
|
37
|
-
gem 'twilio-ruby', '~> 5.
|
|
37
|
+
gem 'twilio-ruby', '~> 5.74.1'
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
gem install twilio-ruby -v 5.
|
|
43
|
+
gem install twilio-ruby -v 5.74.1
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
To build and install the development branch yourself from the latest source:
|
|
@@ -43,8 +43,10 @@ module Twilio
|
|
|
43
43
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
|
44
44
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
|
45
45
|
# won't alter the address you provide.
|
|
46
|
+
# @param [String] street_secondary The additional number and street address of the
|
|
47
|
+
# address.
|
|
46
48
|
# @return [AddressInstance] Created AddressInstance
|
|
47
|
-
def create(customer_name: nil, street: nil, city: nil, region: nil, postal_code: nil, iso_country: nil, friendly_name: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
|
49
|
+
def create(customer_name: nil, street: nil, city: nil, region: nil, postal_code: nil, iso_country: nil, friendly_name: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
|
48
50
|
data = Twilio::Values.of({
|
|
49
51
|
'CustomerName' => customer_name,
|
|
50
52
|
'Street' => street,
|
|
@@ -55,6 +57,7 @@ module Twilio
|
|
|
55
57
|
'FriendlyName' => friendly_name,
|
|
56
58
|
'EmergencyEnabled' => emergency_enabled,
|
|
57
59
|
'AutoCorrectAddress' => auto_correct_address,
|
|
60
|
+
'StreetSecondary' => street_secondary,
|
|
58
61
|
})
|
|
59
62
|
|
|
60
63
|
payload = @version.create('POST', @uri, data: data)
|
|
@@ -262,8 +265,10 @@ module Twilio
|
|
|
262
265
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
|
263
266
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
|
264
267
|
# won't alter the address you provide.
|
|
268
|
+
# @param [String] street_secondary The additional number and street address of the
|
|
269
|
+
# address.
|
|
265
270
|
# @return [AddressInstance] Updated AddressInstance
|
|
266
|
-
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
|
271
|
+
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
|
267
272
|
data = Twilio::Values.of({
|
|
268
273
|
'FriendlyName' => friendly_name,
|
|
269
274
|
'CustomerName' => customer_name,
|
|
@@ -273,6 +278,7 @@ module Twilio
|
|
|
273
278
|
'PostalCode' => postal_code,
|
|
274
279
|
'EmergencyEnabled' => emergency_enabled,
|
|
275
280
|
'AutoCorrectAddress' => auto_correct_address,
|
|
281
|
+
'StreetSecondary' => street_secondary,
|
|
276
282
|
})
|
|
277
283
|
|
|
278
284
|
payload = @version.update('POST', @uri, data: data)
|
|
@@ -342,6 +348,7 @@ module Twilio
|
|
|
342
348
|
'emergency_enabled' => payload['emergency_enabled'],
|
|
343
349
|
'validated' => payload['validated'],
|
|
344
350
|
'verified' => payload['verified'],
|
|
351
|
+
'street_secondary' => payload['street_secondary'],
|
|
345
352
|
}
|
|
346
353
|
|
|
347
354
|
# Context
|
|
@@ -450,6 +457,12 @@ module Twilio
|
|
|
450
457
|
@properties['verified']
|
|
451
458
|
end
|
|
452
459
|
|
|
460
|
+
##
|
|
461
|
+
# @return [String] The additional number and street address of the address
|
|
462
|
+
def street_secondary
|
|
463
|
+
@properties['street_secondary']
|
|
464
|
+
end
|
|
465
|
+
|
|
453
466
|
##
|
|
454
467
|
# Delete the AddressInstance
|
|
455
468
|
# @return [Boolean] true if delete succeeds, false otherwise
|
|
@@ -479,8 +492,10 @@ module Twilio
|
|
|
479
492
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
|
480
493
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
|
481
494
|
# won't alter the address you provide.
|
|
495
|
+
# @param [String] street_secondary The additional number and street address of the
|
|
496
|
+
# address.
|
|
482
497
|
# @return [AddressInstance] Updated AddressInstance
|
|
483
|
-
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
|
498
|
+
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
|
484
499
|
context.update(
|
|
485
500
|
friendly_name: friendly_name,
|
|
486
501
|
customer_name: customer_name,
|
|
@@ -490,6 +505,7 @@ module Twilio
|
|
|
490
505
|
postal_code: postal_code,
|
|
491
506
|
emergency_enabled: emergency_enabled,
|
|
492
507
|
auto_correct_address: auto_correct_address,
|
|
508
|
+
street_secondary: street_secondary,
|
|
493
509
|
)
|
|
494
510
|
end
|
|
495
511
|
|
|
@@ -37,16 +37,16 @@ module Twilio
|
|
|
37
37
|
# @param [String] callback The URL we should call using the `method` to send user
|
|
38
38
|
# defined events to your application. URLs must contain a valid hostname
|
|
39
39
|
# (underscores are not permitted).
|
|
40
|
-
# @param [String] method The HTTP method Twilio will use when requesting the above
|
|
41
|
-
# `Url`. Either `GET` or `POST`.
|
|
42
40
|
# @param [String] idempotency_key A unique string value to identify API call. This
|
|
43
41
|
# should be a unique string value per API call and can be a randomly generated.
|
|
42
|
+
# @param [String] method The HTTP method Twilio will use when requesting the above
|
|
43
|
+
# `Url`. Either `GET` or `POST`.
|
|
44
44
|
# @return [UserDefinedMessageSubscriptionInstance] Created UserDefinedMessageSubscriptionInstance
|
|
45
|
-
def create(callback: nil,
|
|
45
|
+
def create(callback: nil, idempotency_key: :unset, method: :unset)
|
|
46
46
|
data = Twilio::Values.of({
|
|
47
47
|
'Callback' => callback,
|
|
48
|
-
'Method' => method,
|
|
49
48
|
'IdempotencyKey' => idempotency_key,
|
|
49
|
+
'Method' => method,
|
|
50
50
|
})
|
|
51
51
|
|
|
52
52
|
payload = @version.create('POST', @uri, data: data)
|
|
@@ -40,10 +40,16 @@ module Twilio
|
|
|
40
40
|
# you wish. The string value must contain structurally valid JSON if specified.
|
|
41
41
|
# **Note** that if the attributes are not set "{}" will be returned.
|
|
42
42
|
# @param [String] media_sid The Media SID to be attached to the new Message.
|
|
43
|
+
# @param [String] content_sid The unique ID of the multi-channel {Rich
|
|
44
|
+
# Content}[https://www.twilio.com/docs/content-api] template, required for
|
|
45
|
+
# template-generated messages. **Note** that if this field is set, `Body` and
|
|
46
|
+
# `MediaSid` parameters are ignored.
|
|
47
|
+
# @param [String] content_variables A structurally valid JSON string that contains
|
|
48
|
+
# values to resolve Rich Content template variables.
|
|
43
49
|
# @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
|
|
44
50
|
# X-Twilio-Webhook-Enabled HTTP request header
|
|
45
51
|
# @return [MessageInstance] Created MessageInstance
|
|
46
|
-
def create(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, media_sid: :unset, x_twilio_webhook_enabled: :unset)
|
|
52
|
+
def create(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, media_sid: :unset, content_sid: :unset, content_variables: :unset, x_twilio_webhook_enabled: :unset)
|
|
47
53
|
data = Twilio::Values.of({
|
|
48
54
|
'Author' => author,
|
|
49
55
|
'Body' => body,
|
|
@@ -51,6 +57,8 @@ module Twilio
|
|
|
51
57
|
'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
|
|
52
58
|
'Attributes' => attributes,
|
|
53
59
|
'MediaSid' => media_sid,
|
|
60
|
+
'ContentSid' => content_sid,
|
|
61
|
+
'ContentVariables' => content_variables,
|
|
54
62
|
})
|
|
55
63
|
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
|
|
56
64
|
|
|
@@ -330,6 +338,7 @@ module Twilio
|
|
|
330
338
|
'url' => payload['url'],
|
|
331
339
|
'delivery' => payload['delivery'],
|
|
332
340
|
'links' => payload['links'],
|
|
341
|
+
'content_sid' => payload['content_sid'],
|
|
333
342
|
}
|
|
334
343
|
|
|
335
344
|
# Context
|
|
@@ -432,6 +441,12 @@ module Twilio
|
|
|
432
441
|
@properties['links']
|
|
433
442
|
end
|
|
434
443
|
|
|
444
|
+
##
|
|
445
|
+
# @return [String] The unique ID of the multi-channel Rich Content template.
|
|
446
|
+
def content_sid
|
|
447
|
+
@properties['content_sid']
|
|
448
|
+
end
|
|
449
|
+
|
|
435
450
|
##
|
|
436
451
|
# Update the MessageInstance
|
|
437
452
|
# @param [String] author The channel specific identifier of the message's author.
|
|
@@ -44,10 +44,16 @@ module Twilio
|
|
|
44
44
|
# you wish. The string value must contain structurally valid JSON if specified.
|
|
45
45
|
# **Note** that if the attributes are not set "{}" will be returned.
|
|
46
46
|
# @param [String] media_sid The Media SID to be attached to the new Message.
|
|
47
|
+
# @param [String] content_sid The unique ID of the multi-channel {Rich
|
|
48
|
+
# Content}[https://www.twilio.com/docs/content-api] template, required for
|
|
49
|
+
# template-generated messages. **Note** that if this field is set, `Body` and
|
|
50
|
+
# `MediaSid` parameters are ignored.
|
|
51
|
+
# @param [String] content_variables A structurally valid JSON string that contains
|
|
52
|
+
# values to resolve Rich Content template variables.
|
|
47
53
|
# @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
|
|
48
54
|
# X-Twilio-Webhook-Enabled HTTP request header
|
|
49
55
|
# @return [MessageInstance] Created MessageInstance
|
|
50
|
-
def create(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, media_sid: :unset, x_twilio_webhook_enabled: :unset)
|
|
56
|
+
def create(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, media_sid: :unset, content_sid: :unset, content_variables: :unset, x_twilio_webhook_enabled: :unset)
|
|
51
57
|
data = Twilio::Values.of({
|
|
52
58
|
'Author' => author,
|
|
53
59
|
'Body' => body,
|
|
@@ -55,6 +61,8 @@ module Twilio
|
|
|
55
61
|
'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
|
|
56
62
|
'Attributes' => attributes,
|
|
57
63
|
'MediaSid' => media_sid,
|
|
64
|
+
'ContentSid' => content_sid,
|
|
65
|
+
'ContentVariables' => content_variables,
|
|
58
66
|
})
|
|
59
67
|
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
|
|
60
68
|
|
|
@@ -360,6 +368,7 @@ module Twilio
|
|
|
360
368
|
'delivery' => payload['delivery'],
|
|
361
369
|
'url' => payload['url'],
|
|
362
370
|
'links' => payload['links'],
|
|
371
|
+
'content_sid' => payload['content_sid'],
|
|
363
372
|
}
|
|
364
373
|
|
|
365
374
|
# Context
|
|
@@ -477,6 +486,12 @@ module Twilio
|
|
|
477
486
|
@properties['links']
|
|
478
487
|
end
|
|
479
488
|
|
|
489
|
+
##
|
|
490
|
+
# @return [String] The unique ID of the multi-channel Rich Content template.
|
|
491
|
+
def content_sid
|
|
492
|
+
@properties['content_sid']
|
|
493
|
+
end
|
|
494
|
+
|
|
480
495
|
##
|
|
481
496
|
# Update the MessageInstance
|
|
482
497
|
# @param [String] author The channel specific identifier of the message's author.
|
|
@@ -68,7 +68,7 @@ module Twilio
|
|
|
68
68
|
|
|
69
69
|
# Path Solution
|
|
70
70
|
@solution = {}
|
|
71
|
-
@uri = "/
|
|
71
|
+
@uri = "/Insights/Session"
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
##
|
|
@@ -112,7 +112,7 @@ module Twilio
|
|
|
112
112
|
'workspace_id' => payload['workspace_id'],
|
|
113
113
|
'session_expiry' => payload['session_expiry'],
|
|
114
114
|
'session_id' => payload['session_id'],
|
|
115
|
-
'
|
|
115
|
+
'base_url' => payload['base_url'],
|
|
116
116
|
'url' => payload['url'],
|
|
117
117
|
}
|
|
118
118
|
|
|
@@ -133,7 +133,7 @@ module Twilio
|
|
|
133
133
|
end
|
|
134
134
|
|
|
135
135
|
##
|
|
136
|
-
# @return [String] Unique
|
|
136
|
+
# @return [String] Unique ID to identify the user's workspace
|
|
137
137
|
def workspace_id
|
|
138
138
|
@properties['workspace_id']
|
|
139
139
|
end
|
|
@@ -151,9 +151,9 @@ module Twilio
|
|
|
151
151
|
end
|
|
152
152
|
|
|
153
153
|
##
|
|
154
|
-
# @return [String]
|
|
155
|
-
def
|
|
156
|
-
@properties['
|
|
154
|
+
# @return [String] Base URL to fetch reports and dashboards
|
|
155
|
+
def base_url
|
|
156
|
+
@properties['base_url']
|
|
157
157
|
end
|
|
158
158
|
|
|
159
159
|
##
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
#
|
|
7
|
+
# frozen_string_literal: true
|
|
8
|
+
|
|
9
|
+
module Twilio
|
|
10
|
+
module REST
|
|
11
|
+
class FlexApi < Domain
|
|
12
|
+
class V2 < Version
|
|
13
|
+
class WebChannelsList < ListResource
|
|
14
|
+
##
|
|
15
|
+
# Initialize the WebChannelsList
|
|
16
|
+
# @param [Version] version Version that contains the resource
|
|
17
|
+
# @return [WebChannelsList] WebChannelsList
|
|
18
|
+
def initialize(version)
|
|
19
|
+
super(version)
|
|
20
|
+
|
|
21
|
+
# Path Solution
|
|
22
|
+
@solution = {}
|
|
23
|
+
@uri = "/WebChats"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
##
|
|
27
|
+
# Create the WebChannelsInstance
|
|
28
|
+
# @param [String] address_sid The SID of the Conversations Address. See {Address
|
|
29
|
+
# Configuration
|
|
30
|
+
# Resource}[https://www.twilio.com/docs/conversations/api/address-configuration-resource]
|
|
31
|
+
# for configuration details. When a conversation is created on the Flex backend,
|
|
32
|
+
# the callback URL will be set to the corresponding Studio Flow SID or webhook URL
|
|
33
|
+
# in your address configuration.
|
|
34
|
+
# @param [String] chat_friendly_name The Conversation's friendly name. See the
|
|
35
|
+
# {Conversation
|
|
36
|
+
# resource}[https://www.twilio.com/docs/conversations/api/conversation-resource]
|
|
37
|
+
# for an example.
|
|
38
|
+
# @param [String] customer_friendly_name The Conversation participant's friendly
|
|
39
|
+
# name. See the {Conversation Participant
|
|
40
|
+
# Resource}[https://www.twilio.com/docs/conversations/api/conversation-participant-resource]
|
|
41
|
+
# for an example.
|
|
42
|
+
# @param [String] pre_engagement_data The pre-engagement data.
|
|
43
|
+
# @return [WebChannelsInstance] Created WebChannelsInstance
|
|
44
|
+
def create(address_sid: nil, chat_friendly_name: :unset, customer_friendly_name: :unset, pre_engagement_data: :unset)
|
|
45
|
+
data = Twilio::Values.of({
|
|
46
|
+
'AddressSid' => address_sid,
|
|
47
|
+
'ChatFriendlyName' => chat_friendly_name,
|
|
48
|
+
'CustomerFriendlyName' => customer_friendly_name,
|
|
49
|
+
'PreEngagementData' => pre_engagement_data,
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
payload = @version.create('POST', @uri, data: data)
|
|
53
|
+
|
|
54
|
+
WebChannelsInstance.new(@version, payload, )
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
##
|
|
58
|
+
# Provide a user friendly representation
|
|
59
|
+
def to_s
|
|
60
|
+
'#<Twilio.FlexApi.V2.WebChannelsList>'
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
class WebChannelsPage < Page
|
|
65
|
+
##
|
|
66
|
+
# Initialize the WebChannelsPage
|
|
67
|
+
# @param [Version] version Version that contains the resource
|
|
68
|
+
# @param [Response] response Response from the API
|
|
69
|
+
# @param [Hash] solution Path solution for the resource
|
|
70
|
+
# @return [WebChannelsPage] WebChannelsPage
|
|
71
|
+
def initialize(version, response, solution)
|
|
72
|
+
super(version, response)
|
|
73
|
+
|
|
74
|
+
# Path Solution
|
|
75
|
+
@solution = solution
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
##
|
|
79
|
+
# Build an instance of WebChannelsInstance
|
|
80
|
+
# @param [Hash] payload Payload response from the API
|
|
81
|
+
# @return [WebChannelsInstance] WebChannelsInstance
|
|
82
|
+
def get_instance(payload)
|
|
83
|
+
WebChannelsInstance.new(@version, payload, )
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# Provide a user friendly representation
|
|
88
|
+
def to_s
|
|
89
|
+
'<Twilio.FlexApi.V2.WebChannelsPage>'
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
class WebChannelsInstance < InstanceResource
|
|
94
|
+
##
|
|
95
|
+
# Initialize the WebChannelsInstance
|
|
96
|
+
# @param [Version] version Version that contains the resource
|
|
97
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
98
|
+
# @return [WebChannelsInstance] WebChannelsInstance
|
|
99
|
+
def initialize(version, payload)
|
|
100
|
+
super(version)
|
|
101
|
+
|
|
102
|
+
# Marshaled Properties
|
|
103
|
+
@properties = {'conversation_sid' => payload['conversation_sid'], 'identity' => payload['identity'], }
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
##
|
|
107
|
+
# @return [String] The unique string representing the Conversation resource created
|
|
108
|
+
def conversation_sid
|
|
109
|
+
@properties['conversation_sid']
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
##
|
|
113
|
+
# @return [String] The unique string representing the User created
|
|
114
|
+
def identity
|
|
115
|
+
@properties['identity']
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
##
|
|
119
|
+
# Provide a user friendly representation
|
|
120
|
+
def to_s
|
|
121
|
+
"<Twilio.FlexApi.V2.WebChannelsInstance>"
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
##
|
|
125
|
+
# Provide a detailed, user friendly representation
|
|
126
|
+
def inspect
|
|
127
|
+
"<Twilio.FlexApi.V2.WebChannelsInstance>"
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
#
|
|
7
|
+
# frozen_string_literal: true
|
|
8
|
+
|
|
9
|
+
module Twilio
|
|
10
|
+
module REST
|
|
11
|
+
class FlexApi
|
|
12
|
+
class V2 < Version
|
|
13
|
+
##
|
|
14
|
+
# Initialize the V2 version of FlexApi
|
|
15
|
+
def initialize(domain)
|
|
16
|
+
super
|
|
17
|
+
@version = 'v2'
|
|
18
|
+
@web_channels = nil
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
##
|
|
22
|
+
# @return [Twilio::REST::Flex_api::V2::WebChannelsContext]
|
|
23
|
+
def web_channels
|
|
24
|
+
@web_channels ||= WebChannelsList.new self
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
##
|
|
28
|
+
# Provide a user friendly representation
|
|
29
|
+
def to_s
|
|
30
|
+
'<Twilio::REST::FlexApi::V2>'
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -20,6 +20,7 @@ module Twilio
|
|
|
20
20
|
|
|
21
21
|
# Versions
|
|
22
22
|
@v1 = nil
|
|
23
|
+
@v2 = nil
|
|
23
24
|
end
|
|
24
25
|
|
|
25
26
|
##
|
|
@@ -28,6 +29,12 @@ module Twilio
|
|
|
28
29
|
@v1 ||= V1.new self
|
|
29
30
|
end
|
|
30
31
|
|
|
32
|
+
##
|
|
33
|
+
# Version v2 of flex_api
|
|
34
|
+
def v2
|
|
35
|
+
@v2 ||= V2.new self
|
|
36
|
+
end
|
|
37
|
+
|
|
31
38
|
##
|
|
32
39
|
# @return [Twilio::REST::Flex_api::V1::AssessmentsInstance]
|
|
33
40
|
def assessments
|
|
@@ -88,6 +95,12 @@ module Twilio
|
|
|
88
95
|
self.v1.web_channel(sid)
|
|
89
96
|
end
|
|
90
97
|
|
|
98
|
+
##
|
|
99
|
+
# @return [Twilio::REST::Flex_api::V2::WebChannelsInstance]
|
|
100
|
+
def web_channels
|
|
101
|
+
self.v2.web_channels()
|
|
102
|
+
end
|
|
103
|
+
|
|
91
104
|
##
|
|
92
105
|
# Provide a user friendly representation
|
|
93
106
|
def to_s
|
|
@@ -33,38 +33,63 @@ module Twilio
|
|
|
33
33
|
# Create the UsAppToPersonInstance
|
|
34
34
|
# @param [String] brand_registration_sid A2P Brand Registration SID
|
|
35
35
|
# @param [String] description A short description of what this SMS campaign does.
|
|
36
|
-
#
|
|
37
|
-
#
|
|
36
|
+
# Min length: 40 characters. Max length: 4096 characters.
|
|
37
|
+
# @param [String] message_flow Required for all Campaigns. Details around how a
|
|
38
|
+
# consumer opts-in to their campaign, therefore giving consent to receive their
|
|
39
|
+
# messages. If multiple opt-in methods can be used for the same campaign, they
|
|
40
|
+
# must all be listed. 40 character minimum. 2048 character maximum.
|
|
41
|
+
# @param [Array[String]] message_samples Message samples, at least 1 and up to 5
|
|
42
|
+
# sample messages (at least 2 for sole proprietor), >=20 chars, <=1024 chars each.
|
|
38
43
|
# @param [String] us_app_to_person_usecase A2P Campaign Use Case. Examples: [ 2FA,
|
|
39
44
|
# EMERGENCY, MARKETING..]
|
|
40
45
|
# @param [Boolean] has_embedded_links Indicates that this SMS campaign will send
|
|
41
46
|
# messages that contain links.
|
|
42
47
|
# @param [Boolean] has_embedded_phone Indicates that this SMS campaign will send
|
|
43
48
|
# messages that contain phone numbers.
|
|
44
|
-
# @param [String]
|
|
45
|
-
# campaign,
|
|
46
|
-
#
|
|
47
|
-
#
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
49
|
+
# @param [String] opt_in_message If end users can text in a keyword to start
|
|
50
|
+
# receiving messages from this campaign, the auto-reply messages sent to the end
|
|
51
|
+
# users must be provided. The opt-in response should include the Brand name,
|
|
52
|
+
# confirmation of opt-in enrollment to a recurring message campaign, how to get
|
|
53
|
+
# help, and clear description of how to opt-out. This field is required if end
|
|
54
|
+
# users can text in a keyword to start receiving messages from this campaign. 20
|
|
55
|
+
# character minimum. 320 character maximum.
|
|
56
|
+
# @param [String] opt_out_message Upon receiving the opt-out keywords from the end
|
|
57
|
+
# users, Twilio customers are expected to send back an auto-generated response,
|
|
58
|
+
# which must provide acknowledgment of the opt-out request and confirmation that
|
|
59
|
+
# no further messages will be sent. It is also recommended that these opt-out
|
|
60
|
+
# messages include the brand name. This field is required if managing opt out
|
|
61
|
+
# keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out
|
|
62
|
+
# features). 20 character minimum. 320 character maximum.
|
|
63
|
+
# @param [String] help_message When customers receive the help keywords from their
|
|
64
|
+
# end users, Twilio customers are expected to send back an auto-generated
|
|
65
|
+
# response; this may include the brand name and additional support contact
|
|
66
|
+
# information. This field is required if managing help keywords yourself (i.e. not
|
|
67
|
+
# using Twilio's Default or Advanced Opt Out features). 20 character minimum. 320
|
|
68
|
+
# character maximum.
|
|
69
|
+
# @param [Array[String]] opt_in_keywords If end users can text in a keyword to
|
|
70
|
+
# start receiving messages from this campaign, those keywords must be provided.
|
|
71
|
+
# This field is required if end users can text in a keyword to start receiving
|
|
72
|
+
# messages from this campaign. Values must be alphanumeric. 255 character maximum.
|
|
73
|
+
# @param [Array[String]] opt_out_keywords End users should be able to text in a
|
|
74
|
+
# keyword to stop receiving messages from this campaign. Those keywords must be
|
|
75
|
+
# provided. This field is required if managing opt out keywords yourself (i.e. not
|
|
76
|
+
# using Twilio's Default or Advanced Opt Out features). Values must be
|
|
77
|
+
# alphanumeric. 255 character maximum.
|
|
78
|
+
# @param [Array[String]] help_keywords End users should be able to text in a
|
|
79
|
+
# keyword to receive help. Those keywords must be provided as part of the campaign
|
|
80
|
+
# registration request. This field is required if managing help keywords yourself
|
|
81
|
+
# (i.e. not using Twilio's Default or Advanced Opt Out features). Values must be
|
|
82
|
+
# alphanumeric. 255 character maximum.
|
|
58
83
|
# @return [UsAppToPersonInstance] Created UsAppToPersonInstance
|
|
59
|
-
def create(brand_registration_sid: nil, description: nil, message_samples: nil, us_app_to_person_usecase: nil, has_embedded_links: nil, has_embedded_phone: nil,
|
|
84
|
+
def create(brand_registration_sid: nil, description: nil, message_flow: nil, message_samples: nil, us_app_to_person_usecase: nil, has_embedded_links: nil, has_embedded_phone: nil, opt_in_message: :unset, opt_out_message: :unset, help_message: :unset, opt_in_keywords: :unset, opt_out_keywords: :unset, help_keywords: :unset)
|
|
60
85
|
data = Twilio::Values.of({
|
|
61
86
|
'BrandRegistrationSid' => brand_registration_sid,
|
|
62
87
|
'Description' => description,
|
|
88
|
+
'MessageFlow' => message_flow,
|
|
63
89
|
'MessageSamples' => Twilio.serialize_list(message_samples) { |e| e },
|
|
64
90
|
'UsAppToPersonUsecase' => us_app_to_person_usecase,
|
|
65
91
|
'HasEmbeddedLinks' => has_embedded_links,
|
|
66
92
|
'HasEmbeddedPhone' => has_embedded_phone,
|
|
67
|
-
'MessageFlow' => message_flow,
|
|
68
93
|
'OptInMessage' => opt_in_message,
|
|
69
94
|
'OptOutMessage' => opt_out_message,
|
|
70
95
|
'HelpMessage' => help_message,
|
|
@@ -268,6 +268,78 @@ module Twilio
|
|
|
268
268
|
TollfreeVerificationInstance.new(@version, payload, sid: @solution[:sid], )
|
|
269
269
|
end
|
|
270
270
|
|
|
271
|
+
##
|
|
272
|
+
# Update the TollfreeVerificationInstance
|
|
273
|
+
# @param [String] business_name The name of the business or organization using the
|
|
274
|
+
# Tollfree number.
|
|
275
|
+
# @param [String] business_website The website of the business or organization
|
|
276
|
+
# using the Tollfree number.
|
|
277
|
+
# @param [String] notification_email The email address to receive the notification
|
|
278
|
+
# about the verification result. .
|
|
279
|
+
# @param [Array[String]] use_case_categories The category of the use case for the
|
|
280
|
+
# Tollfree Number. List as many are applicable..
|
|
281
|
+
# @param [String] use_case_summary Use this to further explain how messaging is
|
|
282
|
+
# used by the business or organization.
|
|
283
|
+
# @param [String] production_message_sample An example of message content, i.e. a
|
|
284
|
+
# sample message.
|
|
285
|
+
# @param [Array[String]] opt_in_image_urls Link to an image that shows the opt-in
|
|
286
|
+
# workflow. Multiple images allowed and must be a publicly hosted URL.
|
|
287
|
+
# @param [tollfree_verification.OptInType] opt_in_type Describe how a user opts-in
|
|
288
|
+
# to text messages.
|
|
289
|
+
# @param [String] message_volume Estimate monthly volume of messages from the
|
|
290
|
+
# Tollfree Number.
|
|
291
|
+
# @param [String] business_street_address The address of the business or
|
|
292
|
+
# organization using the Tollfree number.
|
|
293
|
+
# @param [String] business_street_address2 The address of the business or
|
|
294
|
+
# organization using the Tollfree number.
|
|
295
|
+
# @param [String] business_city The city of the business or organization using the
|
|
296
|
+
# Tollfree number.
|
|
297
|
+
# @param [String] business_state_province_region The state/province/region of the
|
|
298
|
+
# business or organization using the Tollfree number.
|
|
299
|
+
# @param [String] business_postal_code The postal code of the business or
|
|
300
|
+
# organization using the Tollfree number.
|
|
301
|
+
# @param [String] business_country The country of the business or organization
|
|
302
|
+
# using the Tollfree number.
|
|
303
|
+
# @param [String] additional_information Additional information to be provided for
|
|
304
|
+
# verification.
|
|
305
|
+
# @param [String] business_contact_first_name The first name of the contact for
|
|
306
|
+
# the business or organization using the Tollfree number.
|
|
307
|
+
# @param [String] business_contact_last_name The last name of the contact for the
|
|
308
|
+
# business or organization using the Tollfree number.
|
|
309
|
+
# @param [String] business_contact_email The email address of the contact for the
|
|
310
|
+
# business or organization using the Tollfree number.
|
|
311
|
+
# @param [String] business_contact_phone The phone number of the contact for the
|
|
312
|
+
# business or organization using the Tollfree number.
|
|
313
|
+
# @return [TollfreeVerificationInstance] Updated TollfreeVerificationInstance
|
|
314
|
+
def update(business_name: :unset, business_website: :unset, notification_email: :unset, use_case_categories: :unset, use_case_summary: :unset, production_message_sample: :unset, opt_in_image_urls: :unset, opt_in_type: :unset, message_volume: :unset, business_street_address: :unset, business_street_address2: :unset, business_city: :unset, business_state_province_region: :unset, business_postal_code: :unset, business_country: :unset, additional_information: :unset, business_contact_first_name: :unset, business_contact_last_name: :unset, business_contact_email: :unset, business_contact_phone: :unset)
|
|
315
|
+
data = Twilio::Values.of({
|
|
316
|
+
'BusinessName' => business_name,
|
|
317
|
+
'BusinessWebsite' => business_website,
|
|
318
|
+
'NotificationEmail' => notification_email,
|
|
319
|
+
'UseCaseCategories' => Twilio.serialize_list(use_case_categories) { |e| e },
|
|
320
|
+
'UseCaseSummary' => use_case_summary,
|
|
321
|
+
'ProductionMessageSample' => production_message_sample,
|
|
322
|
+
'OptInImageUrls' => Twilio.serialize_list(opt_in_image_urls) { |e| e },
|
|
323
|
+
'OptInType' => opt_in_type,
|
|
324
|
+
'MessageVolume' => message_volume,
|
|
325
|
+
'BusinessStreetAddress' => business_street_address,
|
|
326
|
+
'BusinessStreetAddress2' => business_street_address2,
|
|
327
|
+
'BusinessCity' => business_city,
|
|
328
|
+
'BusinessStateProvinceRegion' => business_state_province_region,
|
|
329
|
+
'BusinessPostalCode' => business_postal_code,
|
|
330
|
+
'BusinessCountry' => business_country,
|
|
331
|
+
'AdditionalInformation' => additional_information,
|
|
332
|
+
'BusinessContactFirstName' => business_contact_first_name,
|
|
333
|
+
'BusinessContactLastName' => business_contact_last_name,
|
|
334
|
+
'BusinessContactEmail' => business_contact_email,
|
|
335
|
+
'BusinessContactPhone' => business_contact_phone,
|
|
336
|
+
})
|
|
337
|
+
|
|
338
|
+
payload = @version.update('POST', @uri, data: data)
|
|
339
|
+
|
|
340
|
+
TollfreeVerificationInstance.new(@version, payload, sid: @solution[:sid], )
|
|
341
|
+
end
|
|
342
|
+
|
|
271
343
|
##
|
|
272
344
|
# Provide a user friendly representation
|
|
273
345
|
def to_s
|
|
@@ -539,6 +611,74 @@ module Twilio
|
|
|
539
611
|
context.fetch
|
|
540
612
|
end
|
|
541
613
|
|
|
614
|
+
##
|
|
615
|
+
# Update the TollfreeVerificationInstance
|
|
616
|
+
# @param [String] business_name The name of the business or organization using the
|
|
617
|
+
# Tollfree number.
|
|
618
|
+
# @param [String] business_website The website of the business or organization
|
|
619
|
+
# using the Tollfree number.
|
|
620
|
+
# @param [String] notification_email The email address to receive the notification
|
|
621
|
+
# about the verification result. .
|
|
622
|
+
# @param [Array[String]] use_case_categories The category of the use case for the
|
|
623
|
+
# Tollfree Number. List as many are applicable..
|
|
624
|
+
# @param [String] use_case_summary Use this to further explain how messaging is
|
|
625
|
+
# used by the business or organization.
|
|
626
|
+
# @param [String] production_message_sample An example of message content, i.e. a
|
|
627
|
+
# sample message.
|
|
628
|
+
# @param [Array[String]] opt_in_image_urls Link to an image that shows the opt-in
|
|
629
|
+
# workflow. Multiple images allowed and must be a publicly hosted URL.
|
|
630
|
+
# @param [tollfree_verification.OptInType] opt_in_type Describe how a user opts-in
|
|
631
|
+
# to text messages.
|
|
632
|
+
# @param [String] message_volume Estimate monthly volume of messages from the
|
|
633
|
+
# Tollfree Number.
|
|
634
|
+
# @param [String] business_street_address The address of the business or
|
|
635
|
+
# organization using the Tollfree number.
|
|
636
|
+
# @param [String] business_street_address2 The address of the business or
|
|
637
|
+
# organization using the Tollfree number.
|
|
638
|
+
# @param [String] business_city The city of the business or organization using the
|
|
639
|
+
# Tollfree number.
|
|
640
|
+
# @param [String] business_state_province_region The state/province/region of the
|
|
641
|
+
# business or organization using the Tollfree number.
|
|
642
|
+
# @param [String] business_postal_code The postal code of the business or
|
|
643
|
+
# organization using the Tollfree number.
|
|
644
|
+
# @param [String] business_country The country of the business or organization
|
|
645
|
+
# using the Tollfree number.
|
|
646
|
+
# @param [String] additional_information Additional information to be provided for
|
|
647
|
+
# verification.
|
|
648
|
+
# @param [String] business_contact_first_name The first name of the contact for
|
|
649
|
+
# the business or organization using the Tollfree number.
|
|
650
|
+
# @param [String] business_contact_last_name The last name of the contact for the
|
|
651
|
+
# business or organization using the Tollfree number.
|
|
652
|
+
# @param [String] business_contact_email The email address of the contact for the
|
|
653
|
+
# business or organization using the Tollfree number.
|
|
654
|
+
# @param [String] business_contact_phone The phone number of the contact for the
|
|
655
|
+
# business or organization using the Tollfree number.
|
|
656
|
+
# @return [TollfreeVerificationInstance] Updated TollfreeVerificationInstance
|
|
657
|
+
def update(business_name: :unset, business_website: :unset, notification_email: :unset, use_case_categories: :unset, use_case_summary: :unset, production_message_sample: :unset, opt_in_image_urls: :unset, opt_in_type: :unset, message_volume: :unset, business_street_address: :unset, business_street_address2: :unset, business_city: :unset, business_state_province_region: :unset, business_postal_code: :unset, business_country: :unset, additional_information: :unset, business_contact_first_name: :unset, business_contact_last_name: :unset, business_contact_email: :unset, business_contact_phone: :unset)
|
|
658
|
+
context.update(
|
|
659
|
+
business_name: business_name,
|
|
660
|
+
business_website: business_website,
|
|
661
|
+
notification_email: notification_email,
|
|
662
|
+
use_case_categories: use_case_categories,
|
|
663
|
+
use_case_summary: use_case_summary,
|
|
664
|
+
production_message_sample: production_message_sample,
|
|
665
|
+
opt_in_image_urls: opt_in_image_urls,
|
|
666
|
+
opt_in_type: opt_in_type,
|
|
667
|
+
message_volume: message_volume,
|
|
668
|
+
business_street_address: business_street_address,
|
|
669
|
+
business_street_address2: business_street_address2,
|
|
670
|
+
business_city: business_city,
|
|
671
|
+
business_state_province_region: business_state_province_region,
|
|
672
|
+
business_postal_code: business_postal_code,
|
|
673
|
+
business_country: business_country,
|
|
674
|
+
additional_information: additional_information,
|
|
675
|
+
business_contact_first_name: business_contact_first_name,
|
|
676
|
+
business_contact_last_name: business_contact_last_name,
|
|
677
|
+
business_contact_email: business_contact_email,
|
|
678
|
+
business_contact_phone: business_contact_phone,
|
|
679
|
+
)
|
|
680
|
+
end
|
|
681
|
+
|
|
542
682
|
##
|
|
543
683
|
# Provide a user friendly representation
|
|
544
684
|
def to_s
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
#
|
|
7
|
+
# frozen_string_literal: true
|
|
8
|
+
|
|
9
|
+
module Twilio
|
|
10
|
+
module REST
|
|
11
|
+
class Oauth < Domain
|
|
12
|
+
class V1 < Version
|
|
13
|
+
class DeviceCodeList < ListResource
|
|
14
|
+
##
|
|
15
|
+
# Initialize the DeviceCodeList
|
|
16
|
+
# @param [Version] version Version that contains the resource
|
|
17
|
+
# @return [DeviceCodeList] DeviceCodeList
|
|
18
|
+
def initialize(version)
|
|
19
|
+
super(version)
|
|
20
|
+
|
|
21
|
+
# Path Solution
|
|
22
|
+
@solution = {}
|
|
23
|
+
@uri = "/device/code"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
##
|
|
27
|
+
# Create the DeviceCodeInstance
|
|
28
|
+
# @param [String] client_sid A 34 character string that uniquely identifies this
|
|
29
|
+
# OAuth App.
|
|
30
|
+
# @param [Array[String]] scopes An Array of scopes for authorization request
|
|
31
|
+
# @param [Array[String]] audiences An array of intended audiences for token
|
|
32
|
+
# requests
|
|
33
|
+
# @return [DeviceCodeInstance] Created DeviceCodeInstance
|
|
34
|
+
def create(client_sid: nil, scopes: nil, audiences: :unset)
|
|
35
|
+
data = Twilio::Values.of({
|
|
36
|
+
'ClientSid' => client_sid,
|
|
37
|
+
'Scopes' => Twilio.serialize_list(scopes) { |e| e },
|
|
38
|
+
'Audiences' => Twilio.serialize_list(audiences) { |e| e },
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
payload = @version.create('POST', @uri, data: data)
|
|
42
|
+
|
|
43
|
+
DeviceCodeInstance.new(@version, payload, )
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
##
|
|
47
|
+
# Provide a user friendly representation
|
|
48
|
+
def to_s
|
|
49
|
+
'#<Twilio.Oauth.V1.DeviceCodeList>'
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
class DeviceCodePage < Page
|
|
54
|
+
##
|
|
55
|
+
# Initialize the DeviceCodePage
|
|
56
|
+
# @param [Version] version Version that contains the resource
|
|
57
|
+
# @param [Response] response Response from the API
|
|
58
|
+
# @param [Hash] solution Path solution for the resource
|
|
59
|
+
# @return [DeviceCodePage] DeviceCodePage
|
|
60
|
+
def initialize(version, response, solution)
|
|
61
|
+
super(version, response)
|
|
62
|
+
|
|
63
|
+
# Path Solution
|
|
64
|
+
@solution = solution
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
##
|
|
68
|
+
# Build an instance of DeviceCodeInstance
|
|
69
|
+
# @param [Hash] payload Payload response from the API
|
|
70
|
+
# @return [DeviceCodeInstance] DeviceCodeInstance
|
|
71
|
+
def get_instance(payload)
|
|
72
|
+
DeviceCodeInstance.new(@version, payload, )
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
##
|
|
76
|
+
# Provide a user friendly representation
|
|
77
|
+
def to_s
|
|
78
|
+
'<Twilio.Oauth.V1.DeviceCodePage>'
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
class DeviceCodeInstance < InstanceResource
|
|
83
|
+
##
|
|
84
|
+
# Initialize the DeviceCodeInstance
|
|
85
|
+
# @param [Version] version Version that contains the resource
|
|
86
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
87
|
+
# @return [DeviceCodeInstance] DeviceCodeInstance
|
|
88
|
+
def initialize(version, payload)
|
|
89
|
+
super(version)
|
|
90
|
+
|
|
91
|
+
# Marshaled Properties
|
|
92
|
+
@properties = {
|
|
93
|
+
'device_code' => payload['device_code'],
|
|
94
|
+
'user_code' => payload['user_code'],
|
|
95
|
+
'verification_uri' => payload['verification_uri'],
|
|
96
|
+
'verification_uri_complete' => payload['verification_uri_complete'],
|
|
97
|
+
'expires_in' => payload['expires_in'] == nil ? payload['expires_in'] : payload['expires_in'].to_i,
|
|
98
|
+
'interval' => payload['interval'] == nil ? payload['interval'] : payload['interval'].to_i,
|
|
99
|
+
}
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
##
|
|
103
|
+
# @return [String] The device verification code
|
|
104
|
+
def device_code
|
|
105
|
+
@properties['device_code']
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
##
|
|
109
|
+
# @return [String] The verification code for the end user
|
|
110
|
+
def user_code
|
|
111
|
+
@properties['user_code']
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
##
|
|
115
|
+
# @return [String] The URI that the end user visits to verify request
|
|
116
|
+
def verification_uri
|
|
117
|
+
@properties['verification_uri']
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
##
|
|
121
|
+
# @return [String] he URI with user_code that the end-user alternatively visits to verify request
|
|
122
|
+
def verification_uri_complete
|
|
123
|
+
@properties['verification_uri_complete']
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
##
|
|
127
|
+
# @return [String] The expiration time of the device_code and user_code in seconds
|
|
128
|
+
def expires_in
|
|
129
|
+
@properties['expires_in']
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
##
|
|
133
|
+
# @return [String] The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint
|
|
134
|
+
def interval
|
|
135
|
+
@properties['interval']
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
##
|
|
139
|
+
# Provide a user friendly representation
|
|
140
|
+
def to_s
|
|
141
|
+
"<Twilio.Oauth.V1.DeviceCodeInstance>"
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
##
|
|
145
|
+
# Provide a detailed, user friendly representation
|
|
146
|
+
def inspect
|
|
147
|
+
"<Twilio.Oauth.V1.DeviceCodeInstance>"
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
@@ -16,6 +16,7 @@ module Twilio
|
|
|
16
16
|
super
|
|
17
17
|
@version = 'v1'
|
|
18
18
|
@oauth = nil
|
|
19
|
+
@device_code = nil
|
|
19
20
|
@openid_discovery = nil
|
|
20
21
|
@token = nil
|
|
21
22
|
@user_info = nil
|
|
@@ -27,6 +28,12 @@ module Twilio
|
|
|
27
28
|
@oauth ||= OauthContext.new self
|
|
28
29
|
end
|
|
29
30
|
|
|
31
|
+
##
|
|
32
|
+
# @return [Twilio::REST::Oauth::V1::DeviceCodeContext]
|
|
33
|
+
def device_code
|
|
34
|
+
@device_code ||= DeviceCodeList.new self
|
|
35
|
+
end
|
|
36
|
+
|
|
30
37
|
##
|
|
31
38
|
# @return [Twilio::REST::Oauth::V1::OpenidDiscoveryContext]
|
|
32
39
|
def openid_discovery
|
|
@@ -34,6 +34,12 @@ module Twilio
|
|
|
34
34
|
self.v1.oauth()
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
+
##
|
|
38
|
+
# @return [Twilio::REST::Oauth::V1::DeviceCodeInstance]
|
|
39
|
+
def device_code
|
|
40
|
+
self.v1.device_code()
|
|
41
|
+
end
|
|
42
|
+
|
|
37
43
|
##
|
|
38
44
|
# @return [Twilio::REST::Oauth::V1::OpenidDiscoveryInstance]
|
|
39
45
|
def openid_discovery
|
|
@@ -30,7 +30,10 @@ module Twilio
|
|
|
30
30
|
# @param [String] sim The `sid` or `unique_name` of the {Super
|
|
31
31
|
# SIM}[https://www.twilio.com/docs/iot/supersim/api/sim-resource] to send the IP
|
|
32
32
|
# Command to.
|
|
33
|
-
# @param [String] payload The
|
|
33
|
+
# @param [String] payload The data that will be sent to the device. The payload
|
|
34
|
+
# cannot exceed 1300 bytes. If the PayloadType is set to text, the payload is
|
|
35
|
+
# encoded in UTF-8. If PayloadType is set to binary, the payload is encoded in
|
|
36
|
+
# Base64.
|
|
34
37
|
# @param [String] device_port The device port to which the IP Command will be
|
|
35
38
|
# sent.
|
|
36
39
|
# @param [ip_command.PayloadType] payload_type Indicates how the payload is
|
|
@@ -31,6 +31,8 @@ module Twilio
|
|
|
31
31
|
# memory before returning.
|
|
32
32
|
# @param [String] sim Filter the Settings Updates by a Super SIM's SID or
|
|
33
33
|
# UniqueName.
|
|
34
|
+
# @param [settings_update.Status] status Filter the Settings Updates by status.
|
|
35
|
+
# Can be `scheduled`, `in-progress`, `successful`, or `failed`.
|
|
34
36
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
35
37
|
# guarantees to never return more than limit. Default is no limit
|
|
36
38
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -38,8 +40,8 @@ module Twilio
|
|
|
38
40
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
39
41
|
# efficient page size, i.e. min(limit, 1000)
|
|
40
42
|
# @return [Array] Array of up to limit results
|
|
41
|
-
def list(sim: :unset, limit: nil, page_size: nil)
|
|
42
|
-
self.stream(sim: sim, limit: limit, page_size: page_size).entries
|
|
43
|
+
def list(sim: :unset, status: :unset, limit: nil, page_size: nil)
|
|
44
|
+
self.stream(sim: sim, status: status, limit: limit, page_size: page_size).entries
|
|
43
45
|
end
|
|
44
46
|
|
|
45
47
|
##
|
|
@@ -48,6 +50,8 @@ module Twilio
|
|
|
48
50
|
# is reached.
|
|
49
51
|
# @param [String] sim Filter the Settings Updates by a Super SIM's SID or
|
|
50
52
|
# UniqueName.
|
|
53
|
+
# @param [settings_update.Status] status Filter the Settings Updates by status.
|
|
54
|
+
# Can be `scheduled`, `in-progress`, `successful`, or `failed`.
|
|
51
55
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
52
56
|
# guarantees to never return more than limit. Default is no limit.
|
|
53
57
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -55,10 +59,10 @@ module Twilio
|
|
|
55
59
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
56
60
|
# efficient page size, i.e. min(limit, 1000)
|
|
57
61
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
58
|
-
def stream(sim: :unset, limit: nil, page_size: nil)
|
|
62
|
+
def stream(sim: :unset, status: :unset, limit: nil, page_size: nil)
|
|
59
63
|
limits = @version.read_limits(limit, page_size)
|
|
60
64
|
|
|
61
|
-
page = self.page(sim: sim, page_size: limits[:page_size], )
|
|
65
|
+
page = self.page(sim: sim, status: status, page_size: limits[:page_size], )
|
|
62
66
|
|
|
63
67
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
64
68
|
end
|
|
@@ -82,13 +86,16 @@ module Twilio
|
|
|
82
86
|
# Request is executed immediately.
|
|
83
87
|
# @param [String] sim Filter the Settings Updates by a Super SIM's SID or
|
|
84
88
|
# UniqueName.
|
|
89
|
+
# @param [settings_update.Status] status Filter the Settings Updates by status.
|
|
90
|
+
# Can be `scheduled`, `in-progress`, `successful`, or `failed`.
|
|
85
91
|
# @param [String] page_token PageToken provided by the API
|
|
86
92
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
87
93
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
88
94
|
# @return [Page] Page of SettingsUpdateInstance
|
|
89
|
-
def page(sim: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
95
|
+
def page(sim: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
90
96
|
params = Twilio::Values.of({
|
|
91
97
|
'Sim' => sim,
|
|
98
|
+
'Status' => status,
|
|
92
99
|
'PageToken' => page_token,
|
|
93
100
|
'Page' => page_number,
|
|
94
101
|
'PageSize' => page_size,
|
|
@@ -44,9 +44,11 @@ module Twilio
|
|
|
44
44
|
# Voice documentation of
|
|
45
45
|
# {sendDigits}[https://www.twilio.com/docs/voice/twiml/number#attributes-sendDigits].
|
|
46
46
|
# @param [String] locale Locale will automatically resolve based on phone number
|
|
47
|
-
# country code for SMS, WhatsApp and call channel verifications.
|
|
48
|
-
#
|
|
49
|
-
#
|
|
47
|
+
# country code for SMS, WhatsApp, and call channel verifications. It will fallback
|
|
48
|
+
# to English or the template’s default translation if the selected translation is
|
|
49
|
+
# not available. This parameter will override the automatic locale resolution.
|
|
50
|
+
# {See supported languages and more information
|
|
51
|
+
# here}[https://www.twilio.com/docs/verify/supported-languages].
|
|
50
52
|
# @param [String] custom_code A pre-generated code to use for verification. The
|
|
51
53
|
# code can be between 4 and 10 characters, inclusive.
|
|
52
54
|
# @param [String] amount The amount of the associated PSD2 compliant transaction.
|
|
@@ -614,10 +614,10 @@ module Twilio
|
|
|
614
614
|
# Create a new <Say-As> element
|
|
615
615
|
# words:: Words to be interpreted
|
|
616
616
|
# interpretAs:: Specify the type of words are spoken
|
|
617
|
-
#
|
|
617
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
618
618
|
# keyword_args:: additional attributes
|
|
619
|
-
def say_as(words, interpretAs: nil,
|
|
620
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
|
619
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
620
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
621
621
|
end
|
|
622
622
|
|
|
623
623
|
##
|
|
@@ -701,10 +701,10 @@ module Twilio
|
|
|
701
701
|
# Create a new <Say-As> element
|
|
702
702
|
# words:: Words to be interpreted
|
|
703
703
|
# interpretAs:: Specify the type of words are spoken
|
|
704
|
-
#
|
|
704
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
705
705
|
# keyword_args:: additional attributes
|
|
706
|
-
def say_as(words, interpretAs: nil,
|
|
707
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
|
706
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
707
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
708
708
|
end
|
|
709
709
|
|
|
710
710
|
##
|
|
@@ -832,10 +832,10 @@ module Twilio
|
|
|
832
832
|
# Create a new <Say-As> element
|
|
833
833
|
# words:: Words to be interpreted
|
|
834
834
|
# interpretAs:: Specify the type of words are spoken
|
|
835
|
-
#
|
|
835
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
836
836
|
# keyword_args:: additional attributes
|
|
837
|
-
def say_as(words, interpretAs: nil,
|
|
838
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
|
837
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
838
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
839
839
|
end
|
|
840
840
|
|
|
841
841
|
##
|
|
@@ -931,10 +931,10 @@ module Twilio
|
|
|
931
931
|
# Create a new <Say-As> element
|
|
932
932
|
# words:: Words to be interpreted
|
|
933
933
|
# interpretAs:: Specify the type of words are spoken
|
|
934
|
-
#
|
|
934
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
935
935
|
# keyword_args:: additional attributes
|
|
936
|
-
def say_as(words, interpretAs: nil,
|
|
937
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
|
936
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
937
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
938
938
|
end
|
|
939
939
|
|
|
940
940
|
##
|
|
@@ -1063,10 +1063,10 @@ module Twilio
|
|
|
1063
1063
|
# Create a new <Say-As> element
|
|
1064
1064
|
# words:: Words to be interpreted
|
|
1065
1065
|
# interpretAs:: Specify the type of words are spoken
|
|
1066
|
-
#
|
|
1066
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
1067
1067
|
# keyword_args:: additional attributes
|
|
1068
|
-
def say_as(words, interpretAs: nil,
|
|
1069
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
|
1068
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
1069
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
1070
1070
|
end
|
|
1071
1071
|
|
|
1072
1072
|
##
|
|
@@ -1173,10 +1173,10 @@ module Twilio
|
|
|
1173
1173
|
# Create a new <Say-As> element
|
|
1174
1174
|
# words:: Words to be interpreted
|
|
1175
1175
|
# interpretAs:: Specify the type of words are spoken
|
|
1176
|
-
#
|
|
1176
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
1177
1177
|
# keyword_args:: additional attributes
|
|
1178
|
-
def say_as(words, interpretAs: nil,
|
|
1179
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
|
1178
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
1179
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
1180
1180
|
end
|
|
1181
1181
|
|
|
1182
1182
|
##
|
|
@@ -1272,10 +1272,10 @@ module Twilio
|
|
|
1272
1272
|
# Create a new <Say-As> element
|
|
1273
1273
|
# words:: Words to be interpreted
|
|
1274
1274
|
# interpretAs:: Specify the type of words are spoken
|
|
1275
|
-
#
|
|
1275
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
1276
1276
|
# keyword_args:: additional attributes
|
|
1277
|
-
def say_as(words, interpretAs: nil,
|
|
1278
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
|
1277
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
1278
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
1279
1279
|
end
|
|
1280
1280
|
|
|
1281
1281
|
##
|
data/lib/twilio-ruby/version.rb
CHANGED
data/twilio-ruby.gemspec
CHANGED
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
spec.extra_rdoc_files = ['README.md', 'LICENSE']
|
|
25
25
|
spec.rdoc_options = ['--line-numbers', '--inline-source', '--title', 'twilio-ruby', '--main', 'README.md']
|
|
26
26
|
|
|
27
|
-
spec.add_dependency('jwt', '>= 1.5', '<= 2.
|
|
27
|
+
spec.add_dependency('jwt', '>= 1.5', '<= 2.6')
|
|
28
28
|
spec.add_dependency('nokogiri', '>= 1.6', '< 2.0')
|
|
29
29
|
spec.add_dependency('faraday', '>= 0.9', '< 3.0')
|
|
30
30
|
# Workaround for RBX <= 2.2.1, should be fixed in next version
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: twilio-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.74.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Twilio API Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-01-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jwt
|
|
@@ -19,7 +19,7 @@ dependencies:
|
|
|
19
19
|
version: '1.5'
|
|
20
20
|
- - "<="
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '2.
|
|
22
|
+
version: '2.6'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
version: '1.5'
|
|
30
30
|
- - "<="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '2.
|
|
32
|
+
version: '2.6'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: nokogiri
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -437,6 +437,8 @@ files:
|
|
|
437
437
|
- lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb
|
|
438
438
|
- lib/twilio-ruby/rest/flex_api/v1/user_roles.rb
|
|
439
439
|
- lib/twilio-ruby/rest/flex_api/v1/web_channel.rb
|
|
440
|
+
- lib/twilio-ruby/rest/flex_api/v2.rb
|
|
441
|
+
- lib/twilio-ruby/rest/flex_api/v2/web_channels.rb
|
|
440
442
|
- lib/twilio-ruby/rest/frontline_api.rb
|
|
441
443
|
- lib/twilio-ruby/rest/frontline_api/v1.rb
|
|
442
444
|
- lib/twilio-ruby/rest/frontline_api/v1/user.rb
|
|
@@ -533,6 +535,7 @@ files:
|
|
|
533
535
|
- lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb
|
|
534
536
|
- lib/twilio-ruby/rest/oauth.rb
|
|
535
537
|
- lib/twilio-ruby/rest/oauth/v1.rb
|
|
538
|
+
- lib/twilio-ruby/rest/oauth/v1/device_code.rb
|
|
536
539
|
- lib/twilio-ruby/rest/oauth/v1/oauth.rb
|
|
537
540
|
- lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb
|
|
538
541
|
- lib/twilio-ruby/rest/oauth/v1/token.rb
|