twilio-ruby 7.0.0.pre.rc.1 → 7.0.0.pre.rc.2
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/.github/workflows/test-and-deploy.yml +9 -9
- data/CHANGES.md +40 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1 -34
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +2 -2
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +10 -5
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +11 -1
- data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +384 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +446 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +247 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +393 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +386 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +233 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +332 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +256 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +112 -30
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +1 -1
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +6 -6
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +9 -2
- data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +11 -4
- data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +5 -3
- data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +5 -3
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +5 -3
- data/lib/twilio-ruby/rest/numbers/v1.rb +3 -3
- data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +5 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +5 -3
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +26 -2
- data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
- data/lib/twilio-ruby/version.rb +1 -1
- metadata +10 -6
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -267
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -332
- data/lib/twilio-ruby/rest/flex_api/v1/insights_conversational_ai.rb +0 -274
- data/lib/twilio-ruby/rest/flex_api/v1/insights_conversational_ai_report_insights.rb +0 -253
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1730c85dbb2c0da063c2c73ea90bc28b87fb5015
|
4
|
+
data.tar.gz: 70485b2a857f7076f8c2d05c4c4a43286688392c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abbb783d2713dc054fcb827acdbf12a772764d0bcfff66432033c9eaedb6a60750986ae1afcf43164f653130e51df07976d49f9943632cad5c9e472a190c53ec
|
7
|
+
data.tar.gz: 8cfbd2b13dad2fe85106abdb37cbded08d7828e961d9e2f87782240f11c75101fa39031a7b5a4ff4284d8b0fff9dc139f622c3e28144cc8afcfdf7ef4e8a4039
|
@@ -45,15 +45,15 @@ jobs:
|
|
45
45
|
- name: Run Unit Tests
|
46
46
|
run: make test
|
47
47
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
48
|
+
- name: Run Cluster Test
|
49
|
+
if: (!github.event.pull_request.head.repo.fork)
|
50
|
+
env:
|
51
|
+
TWILIO_ACCOUNT_SID: ${{ secrets.TWILIO_ACCOUNT_SID }}
|
52
|
+
TWILIO_API_KEY: ${{ secrets.TWILIO_CLUSTER_TEST_API_KEY}}
|
53
|
+
TWILIO_API_SECRET: ${{ secrets.TWILIO_CLUSTER_TEST_API_KEY_SECRET }}
|
54
|
+
TWILIO_FROM_NUMBER: ${{ secrets.TWILIO_FROM_NUMBER }}
|
55
|
+
TWILIO_TO_NUMBER: ${{ secrets.TWILIO_TO_NUMBER }}
|
56
|
+
run: make cluster-test
|
57
57
|
|
58
58
|
- name: Fix code coverage paths
|
59
59
|
if: ${{ (github.event_name == 'pull_request' || github.ref_type == 'branch') && matrix.ruby == '3.0' && !github.event.pull_request.head.repo.fork }}
|
data/CHANGES.md
CHANGED
@@ -2,6 +2,46 @@ twilio-ruby changelog
|
|
2
2
|
=====================
|
3
3
|
|
4
4
|
|
5
|
+
[2024-03-12] Version 7.0.0-rc.2
|
6
|
+
-------------------------------
|
7
|
+
**Library - Chore**
|
8
|
+
- [PR #714](https://github.com/twilio/twilio-ruby/pull/714): enable cluster test. Thanks to [@tiwarishubham635](https://github.com/tiwarishubham635)!
|
9
|
+
|
10
|
+
**Api**
|
11
|
+
- Correct precedence documentation for application_sid vs status_callback in message creation
|
12
|
+
- Mark MaxPrice as deprecated
|
13
|
+
- remove feedback and feedback summary from call resource
|
14
|
+
|
15
|
+
**Flex**
|
16
|
+
- Making `plugins` visibility to public
|
17
|
+
- Adding `routing_properties` to Interactions Channels Participant
|
18
|
+
|
19
|
+
**Lookups**
|
20
|
+
- Add new `line_status` package to the lookup response
|
21
|
+
- Remove `live_activity` package from the lookup response **(breaking change)**
|
22
|
+
|
23
|
+
**Messaging**
|
24
|
+
- Add new `errors` attribute to the Brand Registration resource.
|
25
|
+
- Mark `brand_feedback` attribute as deprecated.
|
26
|
+
- Mark `failure_reason` attribute as deprecated.
|
27
|
+
- The new `errors` attribute is expected to provide additional information about Brand registration failures and feedback (if any has been provided by The Campaign Registry). Consumers should use this attribute instead of `brand_feedback` and `failure_reason`.
|
28
|
+
- Add tollfree multiple rejection reasons response array
|
29
|
+
|
30
|
+
**Numbers**
|
31
|
+
- Correcting mount_name for porting port in fetch API
|
32
|
+
|
33
|
+
**Trusthub**
|
34
|
+
- Add new field in statusCallbackUrl in compliance_registration.
|
35
|
+
- Add new field in isvRegisteringForSelfOrTenant in compliance_registration.
|
36
|
+
- Add ENUM for businessRegistrationAuthority in compliance_registration. **(breaking change)**
|
37
|
+
- Add new field in isIsvEmbed in compliance_registration.
|
38
|
+
- Add additional optional fields in compliance_registration for Individual business type.
|
39
|
+
|
40
|
+
**Twiml**
|
41
|
+
- Expanded description of Action parameter for Message verb
|
42
|
+
- Add support for new Amazon Polly and Google voices (Q1 2024) for `Say` verb
|
43
|
+
|
44
|
+
|
5
45
|
[2024-02-09] Version 7.0.0-rc.1
|
6
46
|
-------------------------------
|
7
47
|
**Library - Chore**
|
data/README.md
CHANGED
@@ -39,13 +39,13 @@ This library supports the following Ruby implementations:
|
|
39
39
|
To install using [Bundler][bundler] grab the latest stable version:
|
40
40
|
|
41
41
|
```ruby
|
42
|
-
gem 'twilio-ruby', '~> 7.0.0-rc.
|
42
|
+
gem 'twilio-ruby', '~> 7.0.0-rc.2'
|
43
43
|
```
|
44
44
|
|
45
45
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
46
46
|
|
47
47
|
```bash
|
48
|
-
gem install twilio-ruby -v 7.0.0-rc.
|
48
|
+
gem install twilio-ruby -v 7.0.0-rc.2
|
49
49
|
```
|
50
50
|
|
51
51
|
To build and install the development branch yourself from the latest source:
|
@@ -30,8 +30,7 @@ module Twilio
|
|
30
30
|
# Path Solution
|
31
31
|
@solution = { account_sid: account_sid }
|
32
32
|
@uri = "/Accounts/#{@solution[:account_sid]}/Calls.json"
|
33
|
-
|
34
|
-
@feedback_summaries = nil
|
33
|
+
|
35
34
|
end
|
36
35
|
##
|
37
36
|
# Create the CallInstance
|
@@ -278,19 +277,6 @@ module Twilio
|
|
278
277
|
end
|
279
278
|
|
280
279
|
|
281
|
-
##
|
282
|
-
# Access the feedback_summaries
|
283
|
-
# @return [FeedbackSummaryList]
|
284
|
-
# @return [FeedbackSummaryContext] if sid was passed.
|
285
|
-
def feedback_summaries(sid=:unset)
|
286
|
-
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
287
|
-
|
288
|
-
if sid != :unset
|
289
|
-
return FeedbackSummaryContext.new(@version, @solution[:account_sid],sid )
|
290
|
-
end
|
291
|
-
|
292
|
-
@feedback_summaries ||= FeedbackSummaryList.new(@version, account_sid: @solution[:account_sid] )
|
293
|
-
end
|
294
280
|
|
295
281
|
# Provide a user friendly representation
|
296
282
|
def to_s
|
@@ -321,7 +307,6 @@ module Twilio
|
|
321
307
|
@payments = nil
|
322
308
|
@recordings = nil
|
323
309
|
@notifications = nil
|
324
|
-
@feedback = nil
|
325
310
|
@streams = nil
|
326
311
|
end
|
327
312
|
##
|
@@ -512,17 +497,6 @@ module Twilio
|
|
512
497
|
@notifications
|
513
498
|
end
|
514
499
|
##
|
515
|
-
# Access the feedback
|
516
|
-
# @return [FeedbackList]
|
517
|
-
# @return [FeedbackContext]
|
518
|
-
def feedback
|
519
|
-
FeedbackContext.new(
|
520
|
-
@version,
|
521
|
-
@solution[:account_sid],
|
522
|
-
@solution[:sid]
|
523
|
-
)
|
524
|
-
end
|
525
|
-
##
|
526
500
|
# Access the streams
|
527
501
|
# @return [StreamList]
|
528
502
|
# @return [StreamContext] if sid was passed.
|
@@ -902,13 +876,6 @@ module Twilio
|
|
902
876
|
context.notifications
|
903
877
|
end
|
904
878
|
|
905
|
-
##
|
906
|
-
# Access the feedback
|
907
|
-
# @return [feedback] feedback
|
908
|
-
def feedback
|
909
|
-
context.feedback
|
910
|
-
end
|
911
|
-
|
912
879
|
##
|
913
880
|
# Access the streams
|
914
881
|
# @return [streams] streams
|
@@ -36,8 +36,8 @@ module Twilio
|
|
36
36
|
# Create the MessageInstance
|
37
37
|
# @param [String] to The recipient's phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (for SMS/MMS) or [channel address](https://www.twilio.com/docs/messaging/channels), e.g. `whatsapp:+15552229999`.
|
38
38
|
# @param [String] status_callback The URL of the endpoint to which Twilio sends [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url). URL must contain a valid hostname and underscores are not allowed. If you include this parameter with the `messaging_service_sid`, Twilio uses this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource).
|
39
|
-
# @param [String] application_sid The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications).
|
40
|
-
# @param [Float] max_price
|
39
|
+
# @param [String] application_sid The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications). [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url) are sent to the TwiML App's `message_status_callback` URL. Note that the `status_callback` parameter of a request takes priority over the `application_sid` parameter; if both are included `application_sid` is ignored.
|
40
|
+
# @param [Float] max_price [DEPRECATED] This parameter will no longer have any effect as of 2024-06-03.
|
41
41
|
# @param [Boolean] provide_feedback Boolean indicating whether or not you intend to provide delivery confirmation feedback to Twilio (used in conjunction with the [Message Feedback subresource](https://www.twilio.com/docs/sms/api/message-feedback-resource)). Default value is `false`.
|
42
42
|
# @param [String] attempt Total number of attempts made (including this request) to send the message regardless of the provider used
|
43
43
|
# @param [String] validity_period The maximum length in seconds that the Message can remain in Twilio's outgoing message queue. If a queued Message exceeds the `validity_period`, the Message is not sent. Accepted values are integers from `1` to `14400`. Default value is `14400`. A `validity_period` greater than `5` is recommended. [Learn more about the validity period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html)
|
@@ -75,11 +75,13 @@ module Twilio
|
|
75
75
|
|
76
76
|
##
|
77
77
|
# Update the ConfigurationInstance
|
78
|
+
# @param [Object] body
|
78
79
|
# @return [ConfigurationInstance] Updated ConfigurationInstance
|
79
|
-
def update
|
80
|
+
def update(body: :unset
|
81
|
+
)
|
80
82
|
|
81
|
-
|
82
|
-
payload = @version.update('POST', @uri)
|
83
|
+
headers = Twilio::Values.of({"Content-Type"=> "application/json"})
|
84
|
+
payload = @version.update('POST', @uri, data: body.to_json, headers: headers)
|
83
85
|
ConfigurationInstance.new(
|
84
86
|
@version,
|
85
87
|
payload,
|
@@ -521,10 +523,13 @@ module Twilio
|
|
521
523
|
|
522
524
|
##
|
523
525
|
# Update the ConfigurationInstance
|
526
|
+
# @param [Object] body
|
524
527
|
# @return [ConfigurationInstance] Updated ConfigurationInstance
|
525
|
-
def update
|
528
|
+
def update(body: :unset
|
529
|
+
)
|
526
530
|
|
527
|
-
context.update
|
531
|
+
context.update(
|
532
|
+
)
|
528
533
|
end
|
529
534
|
|
530
535
|
##
|
@@ -37,15 +37,18 @@ module Twilio
|
|
37
37
|
# Create the InteractionChannelParticipantInstance
|
38
38
|
# @param [Type] type
|
39
39
|
# @param [Object] media_properties JSON representing the Media Properties for the new Participant.
|
40
|
+
# @param [Object] routing_properties Object representing the Routing Properties for the new Participant.
|
40
41
|
# @return [InteractionChannelParticipantInstance] Created InteractionChannelParticipantInstance
|
41
42
|
def create(
|
42
43
|
type: nil,
|
43
|
-
media_properties: nil
|
44
|
+
media_properties: nil,
|
45
|
+
routing_properties: :unset
|
44
46
|
)
|
45
47
|
|
46
48
|
data = Twilio::Values.of({
|
47
49
|
'Type' => type,
|
48
50
|
'MediaProperties' => Twilio.serialize_object(media_properties),
|
51
|
+
'RoutingProperties' => Twilio.serialize_object(routing_properties),
|
49
52
|
})
|
50
53
|
|
51
54
|
|
@@ -256,6 +259,7 @@ module Twilio
|
|
256
259
|
'interaction_sid' => payload['interaction_sid'],
|
257
260
|
'channel_sid' => payload['channel_sid'],
|
258
261
|
'url' => payload['url'],
|
262
|
+
'routing_properties' => payload['routing_properties'],
|
259
263
|
}
|
260
264
|
|
261
265
|
# Context
|
@@ -304,6 +308,12 @@ module Twilio
|
|
304
308
|
@properties['url']
|
305
309
|
end
|
306
310
|
|
311
|
+
##
|
312
|
+
# @return [Hash] The Participant's routing properties.
|
313
|
+
def routing_properties
|
314
|
+
@properties['routing_properties']
|
315
|
+
end
|
316
|
+
|
307
317
|
##
|
308
318
|
# Update the InteractionChannelParticipantInstance
|
309
319
|
# @param [Status] status
|
@@ -0,0 +1,384 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
|
4
|
+
# | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
|
5
|
+
# | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
|
6
|
+
#
|
7
|
+
# Twilio - Flex
|
8
|
+
# This is the public Twilio REST API.
|
9
|
+
#
|
10
|
+
# NOTE: This class is auto generated by OpenAPI Generator.
|
11
|
+
# https://openapi-generator.tech
|
12
|
+
# Do not edit the class manually.
|
13
|
+
#
|
14
|
+
|
15
|
+
|
16
|
+
module Twilio
|
17
|
+
module REST
|
18
|
+
class FlexApi < FlexApiBase
|
19
|
+
class V1 < Version
|
20
|
+
class PluginContext < InstanceContext
|
21
|
+
|
22
|
+
class PluginVersionsList < ListResource
|
23
|
+
|
24
|
+
##
|
25
|
+
# Initialize the PluginVersionsList
|
26
|
+
# @param [Version] version Version that contains the resource
|
27
|
+
# @return [PluginVersionsList] PluginVersionsList
|
28
|
+
def initialize(version, plugin_sid: nil)
|
29
|
+
super(version)
|
30
|
+
# Path Solution
|
31
|
+
@solution = { plugin_sid: plugin_sid }
|
32
|
+
@uri = "/PluginService/Plugins/#{@solution[:plugin_sid]}/Versions"
|
33
|
+
|
34
|
+
end
|
35
|
+
##
|
36
|
+
# Create the PluginVersionsInstance
|
37
|
+
# @param [String] version The Flex Plugin Version's version.
|
38
|
+
# @param [String] plugin_url The URL of the Flex Plugin Version bundle
|
39
|
+
# @param [String] changelog The changelog of the Flex Plugin Version.
|
40
|
+
# @param [Boolean] private Whether this Flex Plugin Version requires authorization.
|
41
|
+
# @param [String] flex_metadata The Flex-Metadata HTTP request header
|
42
|
+
# @return [PluginVersionsInstance] Created PluginVersionsInstance
|
43
|
+
def create(
|
44
|
+
version: nil,
|
45
|
+
plugin_url: nil,
|
46
|
+
changelog: :unset,
|
47
|
+
private: :unset,
|
48
|
+
flex_metadata: :unset
|
49
|
+
)
|
50
|
+
|
51
|
+
data = Twilio::Values.of({
|
52
|
+
'Version' => version,
|
53
|
+
'PluginUrl' => plugin_url,
|
54
|
+
'Changelog' => changelog,
|
55
|
+
'Private' => private,
|
56
|
+
})
|
57
|
+
|
58
|
+
|
59
|
+
headers = Twilio::Values.of({ 'Flex-Metadata' => flex_metadata, })
|
60
|
+
payload = @version.create('POST', @uri, data: data, headers: headers)
|
61
|
+
PluginVersionsInstance.new(
|
62
|
+
@version,
|
63
|
+
payload,
|
64
|
+
plugin_sid: @solution[:plugin_sid],
|
65
|
+
)
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
##
|
70
|
+
# Lists PluginVersionsInstance records from the API as a list.
|
71
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
72
|
+
# memory before returning.
|
73
|
+
# @param [String] flex_metadata The Flex-Metadata HTTP request header
|
74
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
75
|
+
# guarantees to never return more than limit. Default is no limit
|
76
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
77
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
78
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
79
|
+
# efficient page size, i.e. min(limit, 1000)
|
80
|
+
# @return [Array] Array of up to limit results
|
81
|
+
def list(flex_metadata: :unset, limit: nil, page_size: nil)
|
82
|
+
self.stream(
|
83
|
+
flex_metadata: flex_metadata,
|
84
|
+
limit: limit,
|
85
|
+
page_size: page_size
|
86
|
+
).entries
|
87
|
+
end
|
88
|
+
|
89
|
+
##
|
90
|
+
# Streams Instance records from the API as an Enumerable.
|
91
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
92
|
+
# is reached.
|
93
|
+
# @param [String] flex_metadata The Flex-Metadata HTTP request header
|
94
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
95
|
+
# guarantees to never return more than limit. Default is no limit
|
96
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
97
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
98
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
99
|
+
# efficient page size, i.e. min(limit, 1000)
|
100
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
101
|
+
def stream(flex_metadata: :unset, limit: nil, page_size: nil)
|
102
|
+
limits = @version.read_limits(limit, page_size)
|
103
|
+
|
104
|
+
page = self.page(
|
105
|
+
flex_metadata: flex_metadata,
|
106
|
+
page_size: limits[:page_size], )
|
107
|
+
|
108
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
109
|
+
end
|
110
|
+
|
111
|
+
##
|
112
|
+
# When passed a block, yields PluginVersionsInstance records from the API.
|
113
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
114
|
+
# is reached.
|
115
|
+
def each
|
116
|
+
limits = @version.read_limits
|
117
|
+
|
118
|
+
page = self.page(page_size: limits[:page_size], )
|
119
|
+
|
120
|
+
@version.stream(page,
|
121
|
+
limit: limits[:limit],
|
122
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
123
|
+
end
|
124
|
+
|
125
|
+
##
|
126
|
+
# Retrieve a single page of PluginVersionsInstance records from the API.
|
127
|
+
# Request is executed immediately.
|
128
|
+
# @param [String] flex_metadata The Flex-Metadata HTTP request header
|
129
|
+
# @param [String] page_token PageToken provided by the API
|
130
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
131
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
132
|
+
# @return [Page] Page of PluginVersionsInstance
|
133
|
+
def page(flex_metadata: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
134
|
+
params = Twilio::Values.of({
|
135
|
+
'Flex-Metadata' => flex_metadata,
|
136
|
+
'PageToken' => page_token,
|
137
|
+
'Page' => page_number,
|
138
|
+
'PageSize' => page_size,
|
139
|
+
})
|
140
|
+
|
141
|
+
response = @version.page('GET', @uri, params: params)
|
142
|
+
|
143
|
+
PluginVersionsPage.new(@version, response, @solution)
|
144
|
+
end
|
145
|
+
|
146
|
+
##
|
147
|
+
# Retrieve a single page of PluginVersionsInstance records from the API.
|
148
|
+
# Request is executed immediately.
|
149
|
+
# @param [String] target_url API-generated URL for the requested results page
|
150
|
+
# @return [Page] Page of PluginVersionsInstance
|
151
|
+
def get_page(target_url)
|
152
|
+
response = @version.domain.request(
|
153
|
+
'GET',
|
154
|
+
target_url
|
155
|
+
)
|
156
|
+
PluginVersionsPage.new(@version, response, @solution)
|
157
|
+
end
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
# Provide a user friendly representation
|
162
|
+
def to_s
|
163
|
+
'#<Twilio.FlexApi.V1.PluginVersionsList>'
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
|
168
|
+
class PluginVersionsContext < InstanceContext
|
169
|
+
##
|
170
|
+
# Initialize the PluginVersionsContext
|
171
|
+
# @param [Version] version Version that contains the resource
|
172
|
+
# @param [String] plugin_sid The SID of the Flex Plugin the resource to belongs to.
|
173
|
+
# @param [String] sid The SID of the Flex Plugin Version resource to fetch.
|
174
|
+
# @return [PluginVersionsContext] PluginVersionsContext
|
175
|
+
def initialize(version, plugin_sid, sid)
|
176
|
+
super(version)
|
177
|
+
|
178
|
+
# Path Solution
|
179
|
+
@solution = { plugin_sid: plugin_sid, sid: sid, }
|
180
|
+
@uri = "/PluginService/Plugins/#{@solution[:plugin_sid]}/Versions/#{@solution[:sid]}"
|
181
|
+
|
182
|
+
|
183
|
+
end
|
184
|
+
##
|
185
|
+
# Fetch the PluginVersionsInstance
|
186
|
+
# @param [String] flex_metadata The Flex-Metadata HTTP request header
|
187
|
+
# @return [PluginVersionsInstance] Fetched PluginVersionsInstance
|
188
|
+
def fetch(
|
189
|
+
flex_metadata: :unset
|
190
|
+
)
|
191
|
+
|
192
|
+
|
193
|
+
headers = Twilio::Values.of({ 'Flex-Metadata' => flex_metadata, })
|
194
|
+
payload = @version.fetch('GET', @uri, headers: headers)
|
195
|
+
PluginVersionsInstance.new(
|
196
|
+
@version,
|
197
|
+
payload,
|
198
|
+
plugin_sid: @solution[:plugin_sid],
|
199
|
+
sid: @solution[:sid],
|
200
|
+
)
|
201
|
+
end
|
202
|
+
|
203
|
+
|
204
|
+
##
|
205
|
+
# Provide a user friendly representation
|
206
|
+
def to_s
|
207
|
+
context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
|
208
|
+
"#<Twilio.FlexApi.V1.PluginVersionsContext #{context}>"
|
209
|
+
end
|
210
|
+
|
211
|
+
##
|
212
|
+
# Provide a detailed, user friendly representation
|
213
|
+
def inspect
|
214
|
+
context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
|
215
|
+
"#<Twilio.FlexApi.V1.PluginVersionsContext #{context}>"
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
class PluginVersionsPage < Page
|
220
|
+
##
|
221
|
+
# Initialize the PluginVersionsPage
|
222
|
+
# @param [Version] version Version that contains the resource
|
223
|
+
# @param [Response] response Response from the API
|
224
|
+
# @param [Hash] solution Path solution for the resource
|
225
|
+
# @return [PluginVersionsPage] PluginVersionsPage
|
226
|
+
def initialize(version, response, solution)
|
227
|
+
super(version, response)
|
228
|
+
|
229
|
+
# Path Solution
|
230
|
+
@solution = solution
|
231
|
+
end
|
232
|
+
|
233
|
+
##
|
234
|
+
# Build an instance of PluginVersionsInstance
|
235
|
+
# @param [Hash] payload Payload response from the API
|
236
|
+
# @return [PluginVersionsInstance] PluginVersionsInstance
|
237
|
+
def get_instance(payload)
|
238
|
+
PluginVersionsInstance.new(@version, payload, plugin_sid: @solution[:plugin_sid])
|
239
|
+
end
|
240
|
+
|
241
|
+
##
|
242
|
+
# Provide a user friendly representation
|
243
|
+
def to_s
|
244
|
+
'<Twilio.FlexApi.V1.PluginVersionsPage>'
|
245
|
+
end
|
246
|
+
end
|
247
|
+
class PluginVersionsInstance < InstanceResource
|
248
|
+
##
|
249
|
+
# Initialize the PluginVersionsInstance
|
250
|
+
# @param [Version] version Version that contains the resource
|
251
|
+
# @param [Hash] payload payload that contains response from Twilio
|
252
|
+
# @param [String] account_sid The SID of the
|
253
|
+
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this PluginVersions
|
254
|
+
# resource.
|
255
|
+
# @param [String] sid The SID of the Call resource to fetch.
|
256
|
+
# @return [PluginVersionsInstance] PluginVersionsInstance
|
257
|
+
def initialize(version, payload , plugin_sid: nil, sid: nil)
|
258
|
+
super(version)
|
259
|
+
|
260
|
+
# Marshaled Properties
|
261
|
+
@properties = {
|
262
|
+
'sid' => payload['sid'],
|
263
|
+
'plugin_sid' => payload['plugin_sid'],
|
264
|
+
'account_sid' => payload['account_sid'],
|
265
|
+
'version' => payload['version'],
|
266
|
+
'plugin_url' => payload['plugin_url'],
|
267
|
+
'changelog' => payload['changelog'],
|
268
|
+
'private' => payload['private'],
|
269
|
+
'archived' => payload['archived'],
|
270
|
+
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
271
|
+
'url' => payload['url'],
|
272
|
+
}
|
273
|
+
|
274
|
+
# Context
|
275
|
+
@instance_context = nil
|
276
|
+
@params = { 'plugin_sid' => plugin_sid || @properties['plugin_sid'] ,'sid' => sid || @properties['sid'] , }
|
277
|
+
end
|
278
|
+
|
279
|
+
##
|
280
|
+
# Generate an instance context for the instance, the context is capable of
|
281
|
+
# performing various actions. All instance actions are proxied to the context
|
282
|
+
# @return [PluginVersionsContext] CallContext for this CallInstance
|
283
|
+
def context
|
284
|
+
unless @instance_context
|
285
|
+
@instance_context = PluginVersionsContext.new(@version , @params['plugin_sid'], @params['sid'])
|
286
|
+
end
|
287
|
+
@instance_context
|
288
|
+
end
|
289
|
+
|
290
|
+
##
|
291
|
+
# @return [String] The unique string that we created to identify the Flex Plugin Version resource.
|
292
|
+
def sid
|
293
|
+
@properties['sid']
|
294
|
+
end
|
295
|
+
|
296
|
+
##
|
297
|
+
# @return [String] The SID of the Flex Plugin resource this Flex Plugin Version belongs to.
|
298
|
+
def plugin_sid
|
299
|
+
@properties['plugin_sid']
|
300
|
+
end
|
301
|
+
|
302
|
+
##
|
303
|
+
# @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Flex Plugin Version resource and owns this resource.
|
304
|
+
def account_sid
|
305
|
+
@properties['account_sid']
|
306
|
+
end
|
307
|
+
|
308
|
+
##
|
309
|
+
# @return [String] The unique version of this Flex Plugin Version.
|
310
|
+
def version
|
311
|
+
@properties['version']
|
312
|
+
end
|
313
|
+
|
314
|
+
##
|
315
|
+
# @return [String] The URL of where the Flex Plugin Version JavaScript bundle is hosted on.
|
316
|
+
def plugin_url
|
317
|
+
@properties['plugin_url']
|
318
|
+
end
|
319
|
+
|
320
|
+
##
|
321
|
+
# @return [String] A changelog that describes the changes this Flex Plugin Version brings.
|
322
|
+
def changelog
|
323
|
+
@properties['changelog']
|
324
|
+
end
|
325
|
+
|
326
|
+
##
|
327
|
+
# @return [Boolean] Whether to inject credentials while accessing this Plugin Version. The default value is false.
|
328
|
+
def private
|
329
|
+
@properties['private']
|
330
|
+
end
|
331
|
+
|
332
|
+
##
|
333
|
+
# @return [Boolean] Whether the Flex Plugin Version is archived. The default value is false.
|
334
|
+
def archived
|
335
|
+
@properties['archived']
|
336
|
+
end
|
337
|
+
|
338
|
+
##
|
339
|
+
# @return [Time] The date and time in GMT when the Flex Plugin Version was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
|
340
|
+
def date_created
|
341
|
+
@properties['date_created']
|
342
|
+
end
|
343
|
+
|
344
|
+
##
|
345
|
+
# @return [String] The absolute URL of the Flex Plugin Version resource.
|
346
|
+
def url
|
347
|
+
@properties['url']
|
348
|
+
end
|
349
|
+
|
350
|
+
##
|
351
|
+
# Fetch the PluginVersionsInstance
|
352
|
+
# @param [String] flex_metadata The Flex-Metadata HTTP request header
|
353
|
+
# @return [PluginVersionsInstance] Fetched PluginVersionsInstance
|
354
|
+
def fetch(
|
355
|
+
flex_metadata: :unset
|
356
|
+
)
|
357
|
+
|
358
|
+
context.fetch(
|
359
|
+
flex_metadata: flex_metadata,
|
360
|
+
)
|
361
|
+
end
|
362
|
+
|
363
|
+
##
|
364
|
+
# Provide a user friendly representation
|
365
|
+
def to_s
|
366
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
367
|
+
"<Twilio.FlexApi.V1.PluginVersionsInstance #{values}>"
|
368
|
+
end
|
369
|
+
|
370
|
+
##
|
371
|
+
# Provide a detailed, user friendly representation
|
372
|
+
def inspect
|
373
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
374
|
+
"<Twilio.FlexApi.V1.PluginVersionsInstance #{values}>"
|
375
|
+
end
|
376
|
+
end
|
377
|
+
|
378
|
+
end
|
379
|
+
end
|
380
|
+
end
|
381
|
+
end
|
382
|
+
end
|
383
|
+
|
384
|
+
|