twilio-ruby 7.4.0 → 7.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 716a5360bb07ddef4a7034ccd964bd8736d9b3e0
4
- data.tar.gz: 7badc6efe024f8a5113474cdff90d60809abc628
3
+ metadata.gz: 46ea27fa404243a6c74f8fe263ca5e8c10764159
4
+ data.tar.gz: 277272fe3fd220f2a521b2e3dcf75aa0928ee1a0
5
5
  SHA512:
6
- metadata.gz: 2e04bd87298d040265efc809ffcc1b8041b145a9c696c62f5eca55a6dd4aa923b8eeccbc8b1776ba2b6cd52fe86a42c6f5555908037a026077646a213ca12801
7
- data.tar.gz: 0fea2a97101303015bb771358fb85fab848e9ec072d6e0e6b373ea199aaf1266d3acc5461d7620c0db42bbb39991d0f8ddb4966dee046978cc6a0032a2c6ee39
6
+ metadata.gz: 14cdd6055cc61d889b17cabfcc018ef2a6c72305dd918ffbcd26c74519875e9449ebc1bc784910b8ca4ef115bd319513614399359d716ab0bd00da9e079c0f68
7
+ data.tar.gz: 6fd0358e8451d024fb99bf15699004de920c186ed78469b7d43526a29337ca88bd82ffe05daed59645127dff708f382050a32f1438592306639e3e5bd3df57f6
@@ -17,7 +17,7 @@ jobs:
17
17
  timeout-minutes: 20
18
18
  strategy:
19
19
  matrix:
20
- ruby: [ '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', 'ruby-head', 'jruby-9.2', 'jruby-9.3', 'jruby-9.4' ]
20
+ ruby: [ '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', 'ruby-head', 'jruby-9.3', 'jruby-9.4' ]
21
21
  steps:
22
22
  - name: Checkout twilio-ruby
23
23
  uses: actions/checkout@v3
data/CHANGES.md CHANGED
@@ -1,6 +1,25 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2025-01-13] Version 7.4.2
5
+ --------------------------
6
+ **Library - Chore**
7
+ - [PR #739](https://github.com/twilio/twilio-ruby/pull/739): add ostruct and benchmark in gemfile. Thanks to [@tiwarishubham635](https://github.com/tiwarishubham635)!
8
+ - [PR #738](https://github.com/twilio/twilio-ruby/pull/738): add ostruct in gemfile. Thanks to [@tiwarishubham635](https://github.com/tiwarishubham635)!
9
+
10
+ **Messaging**
11
+ - Adds validity period Default value in service resource documentation
12
+
13
+
14
+ [2025-01-09] Version 7.4.1
15
+ --------------------------
16
+ **Library - Chore**
17
+ - [PR #736](https://github.com/twilio/twilio-ruby/pull/736): removing jruby-9.2. Thanks to [@tiwarishubham635](https://github.com/tiwarishubham635)!
18
+
19
+ **Numbers**
20
+ - Change beta feature flag to use v2/BulkHostedNumberOrders
21
+
22
+
4
23
  [2024-12-12] Version 7.4.0
5
24
  --------------------------
6
25
  **Library - Feature**
data/Gemfile CHANGED
@@ -3,4 +3,6 @@ gem 'simplecov', require: false, group: :test
3
3
  gemspec
4
4
 
5
5
  gem "base64"
6
+ gem "benchmark"
7
+ gem "ostruct"
6
8
  gem "rexml"
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.4.0'
42
+ gem 'twilio-ruby', '~> 7.4.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.4.0
48
+ gem install twilio-ruby -v 7.4.2
49
49
  ```
50
50
 
51
51
  To build and install the development branch yourself from the latest source:
@@ -48,7 +48,7 @@ module Twilio
48
48
  # @param [String] speech_model Recognition model used by the transcription engine, among those supported by the provider
49
49
  # @param [String] hints A Phrase contains words and phrase \\\"hints\\\" so that the speech recognition engine is more likely to recognize them.
50
50
  # @param [Boolean] enable_automatic_punctuation The provider will add punctuation to recognition result
51
- # @param [String] intelligence_service The SID or the unique name of the [IntelligentService](https://www.twilio.com/docs/voice/intelligence/api/service-resource) to process the transcription.
51
+ # @param [String] intelligence_service The SID of the [Voice Intelligence Service](https://www.twilio.com/docs/voice/intelligence/api/service-resource) for persisting transcripts and running post-call Language Operators .
52
52
  # @return [TranscriptionInstance] Created TranscriptionInstance
53
53
  def create(
54
54
  name: :unset,
@@ -244,6 +244,7 @@ module Twilio
244
244
  'status' => payload['status'],
245
245
  'type' => payload['type'],
246
246
  'url' => payload['url'],
247
+ 'embedding_model' => payload['embedding_model'],
247
248
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
248
249
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
249
250
  }
@@ -312,6 +313,12 @@ module Twilio
312
313
  @properties['url']
313
314
  end
314
315
 
316
+ ##
317
+ # @return [String] The embedding model to be used for the knowledge source.
318
+ def embedding_model
319
+ @properties['embedding_model']
320
+ end
321
+
315
322
  ##
316
323
  # @return [Time] The date and time in GMT when the Knowledge was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
317
324
  def date_created
@@ -26,7 +26,8 @@ module Twilio
26
26
  # @param [name]: [String] The name of the tool.
27
27
  # @param [policy]: [KnowledgeList.AssistantsV1ServiceCreatePolicyRequest]
28
28
  # @param [type]: [String] The type of the knowledge source.
29
- attr_accessor :assistant_id, :description, :knowledge_source_details, :name, :policy, :type
29
+ # @param [embedding_model]: [String] The embedding model to be used for the knowledge source. It's required for 'Database' type but disallowed for other types.
30
+ attr_accessor :assistant_id, :description, :knowledge_source_details, :name, :policy, :type, :embedding_model
30
31
  def initialize(payload)
31
32
  @assistant_id = payload["assistant_id"]
32
33
  @description = payload["description"]
@@ -34,6 +35,7 @@ module Twilio
34
35
  @name = payload["name"]
35
36
  @policy = payload["policy"]
36
37
  @type = payload["type"]
38
+ @embedding_model = payload["embedding_model"]
37
39
  end
38
40
  def to_json(options = {})
39
41
  {
@@ -43,6 +45,7 @@ module Twilio
43
45
  "name": @name,
44
46
  "policy": @policy,
45
47
  "type": @type,
48
+ "embedding_model": @embedding_model,
46
49
  }.to_json(options)
47
50
  end
48
51
  end
@@ -78,13 +81,15 @@ module Twilio
78
81
  # @param [name]: [String] The name of the knowledge source.
79
82
  # @param [policy]: [KnowledgeList.AssistantsV1ServiceCreatePolicyRequest]
80
83
  # @param [type]: [String] The description of the knowledge source.
81
- attr_accessor :description, :knowledge_source_details, :name, :policy, :type
84
+ # @param [embedding_model]: [String] The embedding model to be used for the knowledge source. It's only applicable to 'Database' type.
85
+ attr_accessor :description, :knowledge_source_details, :name, :policy, :type, :embedding_model
82
86
  def initialize(payload)
83
87
  @description = payload["description"]
84
88
  @knowledge_source_details = payload["knowledge_source_details"]
85
89
  @name = payload["name"]
86
90
  @policy = payload["policy"]
87
91
  @type = payload["type"]
92
+ @embedding_model = payload["embedding_model"]
88
93
  end
89
94
  def to_json(options = {})
90
95
  {
@@ -93,6 +98,7 @@ module Twilio
93
98
  "name": @name,
94
99
  "policy": @policy,
95
100
  "type": @type,
101
+ "embedding_model": @embedding_model,
96
102
  }.to_json(options)
97
103
  end
98
104
  end
@@ -105,7 +111,8 @@ module Twilio
105
111
  # @param [name]: [String] The name of the tool.
106
112
  # @param [policy]: [KnowledgeList.AssistantsV1ServiceCreatePolicyRequest]
107
113
  # @param [type]: [String] The type of the knowledge source.
108
- attr_accessor :assistant_id, :description, :knowledge_source_details, :name, :policy, :type
114
+ # @param [embedding_model]: [String] The embedding model to be used for the knowledge source. It's required for 'Database' type but disallowed for other types.
115
+ attr_accessor :assistant_id, :description, :knowledge_source_details, :name, :policy, :type, :embedding_model
109
116
  def initialize(payload)
110
117
  @assistant_id = payload["assistant_id"]
111
118
  @description = payload["description"]
@@ -113,6 +120,7 @@ module Twilio
113
120
  @name = payload["name"]
114
121
  @policy = payload["policy"]
115
122
  @type = payload["type"]
123
+ @embedding_model = payload["embedding_model"]
116
124
  end
117
125
  def to_json(options = {})
118
126
  {
@@ -122,6 +130,7 @@ module Twilio
122
130
  "name": @name,
123
131
  "policy": @policy,
124
132
  "type": @type,
133
+ "embedding_model": @embedding_model,
125
134
  }.to_json(options)
126
135
  end
127
136
  end
@@ -157,13 +166,15 @@ module Twilio
157
166
  # @param [name]: [String] The name of the knowledge source.
158
167
  # @param [policy]: [KnowledgeList.AssistantsV1ServiceCreatePolicyRequest]
159
168
  # @param [type]: [String] The description of the knowledge source.
160
- attr_accessor :description, :knowledge_source_details, :name, :policy, :type
169
+ # @param [embedding_model]: [String] The embedding model to be used for the knowledge source. It's only applicable to 'Database' type.
170
+ attr_accessor :description, :knowledge_source_details, :name, :policy, :type, :embedding_model
161
171
  def initialize(payload)
162
172
  @description = payload["description"]
163
173
  @knowledge_source_details = payload["knowledge_source_details"]
164
174
  @name = payload["name"]
165
175
  @policy = payload["policy"]
166
176
  @type = payload["type"]
177
+ @embedding_model = payload["embedding_model"]
167
178
  end
168
179
  def to_json(options = {})
169
180
  {
@@ -172,6 +183,7 @@ module Twilio
172
183
  "name": @name,
173
184
  "policy": @policy,
174
185
  "type": @type,
186
+ "embedding_model": @embedding_model,
175
187
  }.to_json(options)
176
188
  end
177
189
  end
@@ -468,6 +480,7 @@ module Twilio
468
480
  'status' => payload['status'],
469
481
  'type' => payload['type'],
470
482
  'url' => payload['url'],
483
+ 'embedding_model' => payload['embedding_model'],
471
484
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
472
485
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
473
486
  }
@@ -536,6 +549,12 @@ module Twilio
536
549
  @properties['url']
537
550
  end
538
551
 
552
+ ##
553
+ # @return [String] The embedding model to be used for the knowledge source.
554
+ def embedding_model
555
+ @properties['embedding_model']
556
+ end
557
+
539
558
  ##
540
559
  # @return [Time] The date and time in GMT when the Knowledge was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
541
560
  def date_created
@@ -213,37 +213,15 @@ module Twilio
213
213
  class FlowsPageComponent
214
214
  # @param [label]: [String]
215
215
  # @param [type]: [String]
216
- # @param [text]: [String]
217
- # @param [options]: [Array<ContentList.FlowsPageComponentSelectItem>]
218
- attr_accessor :label, :type, :text, :options
216
+ attr_accessor :label, :type
219
217
  def initialize(payload)
220
218
  @label = payload["label"]
221
219
  @type = payload["type"]
222
- @text = payload["text"]
223
- @options = payload["options"]
224
220
  end
225
221
  def to_json(options = {})
226
222
  {
227
223
  "label": @label,
228
224
  "type": @type,
229
- "text": @text,
230
- "options": @options,
231
- }.to_json(options)
232
- end
233
- end
234
-
235
- class FlowsPageComponentSelectItem
236
- # @param [id]: [String]
237
- # @param [title]: [String]
238
- attr_accessor :id, :title
239
- def initialize(payload)
240
- @id = payload["id"]
241
- @title = payload["title"]
242
- end
243
- def to_json(options = {})
244
- {
245
- "id": @id,
246
- "title": @title,
247
225
  }.to_json(options)
248
226
  end
249
227
  end
@@ -77,7 +77,7 @@ module Twilio
77
77
  ##
78
78
  # Update the WebhookInstance
79
79
  # @param [String] method The HTTP method to be used when sending a webhook request.
80
- # @param [Array[String]] filters The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`
80
+ # @param [Array[String]] filters The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onMessageAdd`, `onMessageUpdate`, `onMessageRemove`, `onConversationUpdated`, `onConversationRemoved`, `onConversationAdd`, `onConversationAdded`, `onConversationRemove`, `onConversationUpdate`, `onConversationStateUpdated`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`, `onParticipantAdd`, `onParticipantRemove`, `onParticipantUpdate`, `onDeliveryUpdated`, `onUserAdded`, `onUserUpdate`, `onUserUpdated`
81
81
  # @param [String] pre_webhook_url The absolute url the pre-event webhook request should be sent to.
82
82
  # @param [String] post_webhook_url The absolute url the post-event webhook request should be sent to.
83
83
  # @param [Target] target
@@ -208,7 +208,7 @@ module Twilio
208
208
  end
209
209
 
210
210
  ##
211
- # @return [Array<String>] The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`
211
+ # @return [Array<String>] The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onMessageAdd`, `onMessageUpdate`, `onMessageRemove`, `onConversationUpdated`, `onConversationRemoved`, `onConversationAdd`, `onConversationAdded`, `onConversationRemove`, `onConversationUpdate`, `onConversationStateUpdated`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`, `onParticipantAdd`, `onParticipantRemove`, `onParticipantUpdate`, `onDeliveryUpdated`, `onUserAdded`, `onUserUpdate`, `onUserUpdated`
212
212
  def filters
213
213
  @properties['filters']
214
214
  end
@@ -248,7 +248,7 @@ module Twilio
248
248
  ##
249
249
  # Update the WebhookInstance
250
250
  # @param [String] method The HTTP method to be used when sending a webhook request.
251
- # @param [Array[String]] filters The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`
251
+ # @param [Array[String]] filters The list of webhook event triggers that are enabled for this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`, `onMessageAdd`, `onMessageUpdate`, `onMessageRemove`, `onConversationUpdated`, `onConversationRemoved`, `onConversationAdd`, `onConversationAdded`, `onConversationRemove`, `onConversationUpdate`, `onConversationStateUpdated`, `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`, `onParticipantAdd`, `onParticipantRemove`, `onParticipantUpdate`, `onDeliveryUpdated`, `onUserAdded`, `onUserUpdate`, `onUserUpdated`
252
252
  # @param [String] pre_webhook_url The absolute url the pre-event webhook request should be sent to.
253
253
  # @param [String] post_webhook_url The absolute url the post-event webhook request should be sent to.
254
254
  # @param [Target] target
@@ -17,12 +17,12 @@ module Twilio
17
17
  module REST
18
18
  class Iam < IamBase
19
19
  class V1 < Version
20
- class NewApiKeyList < ListResource
20
+ class KeyList < ListResource
21
21
 
22
22
  ##
23
- # Initialize the NewApiKeyList
23
+ # Initialize the KeyList
24
24
  # @param [Version] version Version that contains the resource
25
- # @return [NewApiKeyList] NewApiKeyList
25
+ # @return [KeyList] KeyList
26
26
  def initialize(version)
27
27
  super(version)
28
28
  # Path Solution
@@ -31,12 +31,12 @@ module Twilio
31
31
 
32
32
  end
33
33
  ##
34
- # Create the NewApiKeyInstance
34
+ # Create the KeyInstance
35
35
  # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Payments resource.
36
36
  # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 64 characters long.
37
37
  # @param [Keytype] key_type
38
38
  # @param [Object] policy The \\\\`Policy\\\\` object is a collection that specifies the allowed Twilio permissions for the restricted key. For more information on the permissions available with restricted API keys, refer to the [Twilio documentation](https://www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys).
39
- # @return [NewApiKeyInstance] Created NewApiKeyInstance
39
+ # @return [KeyInstance] Created KeyInstance
40
40
  def create(
41
41
  account_sid: nil,
42
42
  friendly_name: :unset,
@@ -58,7 +58,7 @@ module Twilio
58
58
 
59
59
 
60
60
  payload = @version.create('POST', @uri, data: data, headers: headers)
61
- NewApiKeyInstance.new(
61
+ KeyInstance.new(
62
62
  @version,
63
63
  payload,
64
64
  )
@@ -69,17 +69,17 @@ module Twilio
69
69
 
70
70
  # Provide a user friendly representation
71
71
  def to_s
72
- '#<Twilio.Iam.V1.NewApiKeyList>'
72
+ '#<Twilio.Iam.V1.KeyList>'
73
73
  end
74
74
  end
75
75
 
76
- class NewApiKeyPage < Page
76
+ class KeyPage < Page
77
77
  ##
78
- # Initialize the NewApiKeyPage
78
+ # Initialize the KeyPage
79
79
  # @param [Version] version Version that contains the resource
80
80
  # @param [Response] response Response from the API
81
81
  # @param [Hash] solution Path solution for the resource
82
- # @return [NewApiKeyPage] NewApiKeyPage
82
+ # @return [KeyPage] KeyPage
83
83
  def initialize(version, response, solution)
84
84
  super(version, response)
85
85
 
@@ -88,29 +88,29 @@ module Twilio
88
88
  end
89
89
 
90
90
  ##
91
- # Build an instance of NewApiKeyInstance
91
+ # Build an instance of KeyInstance
92
92
  # @param [Hash] payload Payload response from the API
93
- # @return [NewApiKeyInstance] NewApiKeyInstance
93
+ # @return [KeyInstance] KeyInstance
94
94
  def get_instance(payload)
95
- NewApiKeyInstance.new(@version, payload)
95
+ KeyInstance.new(@version, payload)
96
96
  end
97
97
 
98
98
  ##
99
99
  # Provide a user friendly representation
100
100
  def to_s
101
- '<Twilio.Iam.V1.NewApiKeyPage>'
101
+ '<Twilio.Iam.V1.KeyPage>'
102
102
  end
103
103
  end
104
- class NewApiKeyInstance < InstanceResource
104
+ class KeyInstance < InstanceResource
105
105
  ##
106
- # Initialize the NewApiKeyInstance
106
+ # Initialize the KeyInstance
107
107
  # @param [Version] version Version that contains the resource
108
108
  # @param [Hash] payload payload that contains response from Twilio
109
109
  # @param [String] account_sid The SID of the
110
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created this NewApiKey
110
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Key
111
111
  # resource.
112
112
  # @param [String] sid The SID of the Call resource to fetch.
113
- # @return [NewApiKeyInstance] NewApiKeyInstance
113
+ # @return [KeyInstance] KeyInstance
114
114
  def initialize(version, payload )
115
115
  super(version)
116
116
 
@@ -165,13 +165,13 @@ module Twilio
165
165
  ##
166
166
  # Provide a user friendly representation
167
167
  def to_s
168
- "<Twilio.Iam.V1.NewApiKeyInstance>"
168
+ "<Twilio.Iam.V1.KeyInstance>"
169
169
  end
170
170
 
171
171
  ##
172
172
  # Provide a detailed, user friendly representation
173
173
  def inspect
174
- "<Twilio.Iam.V1.NewApiKeyInstance>"
174
+ "<Twilio.Iam.V1.KeyInstance>"
175
175
  end
176
176
  end
177
177
 
@@ -23,7 +23,7 @@ module Twilio
23
23
  @version = 'v1'
24
24
  @api_key = nil
25
25
  @get_api_keys = nil
26
- @new_api_key = nil
26
+ @keys = nil
27
27
  end
28
28
 
29
29
  ##
@@ -46,9 +46,9 @@ module Twilio
46
46
  @get_api_keys ||= GetApiKeysList.new self
47
47
  end
48
48
  ##
49
- # @return [Twilio::REST::Iam::V1::NewApiKeyList]
50
- def new_api_key
51
- @new_api_key ||= NewApiKeyList.new self
49
+ # @return [Twilio::REST::Iam::V1::KeyList]
50
+ def keys
51
+ @keys ||= KeyList.new self
52
52
  end
53
53
  ##
54
54
  # Provide a user friendly representation
@@ -0,0 +1,221 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Marketplace
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 Marketplace < MarketplaceBase
19
+ class V1 < Version
20
+ class ModuleDataList < ListResource
21
+
22
+ ##
23
+ # Initialize the ModuleDataList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [ModuleDataList] ModuleDataList
26
+ def initialize(version)
27
+ super(version)
28
+ # Path Solution
29
+ @solution = { }
30
+ @uri = "/Listings"
31
+
32
+ end
33
+ ##
34
+ # Create the ModuleDataInstance
35
+ # @param [String] module_info A JSON object containing essential attributes that define a Listing.
36
+ # @param [String] configuration A JSON object for providing Listing-specific configuration. Contains button setup, notification URL, and more.
37
+ # @return [ModuleDataInstance] Created ModuleDataInstance
38
+ def create(
39
+ module_info: :unset,
40
+ configuration: :unset
41
+ )
42
+
43
+ data = Twilio::Values.of({
44
+ 'ModuleInfo' => module_info,
45
+ 'Configuration' => configuration,
46
+ })
47
+
48
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
49
+
50
+
51
+
52
+
53
+
54
+ payload = @version.create('POST', @uri, data: data, headers: headers)
55
+ ModuleDataInstance.new(
56
+ @version,
57
+ payload,
58
+ )
59
+ end
60
+
61
+ ##
62
+ # Fetch the ModuleDataInstance
63
+ # @return [ModuleDataInstance] Fetched ModuleDataInstance
64
+ def fetch
65
+
66
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
67
+
68
+
69
+
70
+
71
+
72
+ payload = @version.fetch('GET', @uri, headers: headers)
73
+ ModuleDataInstance.new(
74
+ @version,
75
+ payload,
76
+ )
77
+ end
78
+
79
+
80
+
81
+
82
+ # Provide a user friendly representation
83
+ def to_s
84
+ '#<Twilio.Marketplace.V1.ModuleDataList>'
85
+ end
86
+ end
87
+
88
+ class ModuleDataPage < Page
89
+ ##
90
+ # Initialize the ModuleDataPage
91
+ # @param [Version] version Version that contains the resource
92
+ # @param [Response] response Response from the API
93
+ # @param [Hash] solution Path solution for the resource
94
+ # @return [ModuleDataPage] ModuleDataPage
95
+ def initialize(version, response, solution)
96
+ super(version, response)
97
+
98
+ # Path Solution
99
+ @solution = solution
100
+ end
101
+
102
+ ##
103
+ # Build an instance of ModuleDataInstance
104
+ # @param [Hash] payload Payload response from the API
105
+ # @return [ModuleDataInstance] ModuleDataInstance
106
+ def get_instance(payload)
107
+ ModuleDataInstance.new(@version, payload)
108
+ end
109
+
110
+ ##
111
+ # Provide a user friendly representation
112
+ def to_s
113
+ '<Twilio.Marketplace.V1.ModuleDataPage>'
114
+ end
115
+ end
116
+ class ModuleDataInstance < InstanceResource
117
+ ##
118
+ # Initialize the ModuleDataInstance
119
+ # @param [Version] version Version that contains the resource
120
+ # @param [Hash] payload payload that contains response from Twilio
121
+ # @param [String] account_sid The SID of the
122
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this ModuleData
123
+ # resource.
124
+ # @param [String] sid The SID of the Call resource to fetch.
125
+ # @return [ModuleDataInstance] ModuleDataInstance
126
+ def initialize(version, payload )
127
+ super(version)
128
+
129
+ # Marshaled Properties
130
+ @properties = {
131
+ 'url' => payload['url'],
132
+ 'sid' => payload['sid'],
133
+ 'description' => payload['description'],
134
+ 'support' => payload['support'],
135
+ 'policies' => payload['policies'],
136
+ 'module_info' => payload['module_info'],
137
+ 'documentation' => payload['documentation'],
138
+ 'configuration' => payload['configuration'],
139
+ 'pricing' => payload['pricing'],
140
+ 'listings' => payload['listings'],
141
+ }
142
+ end
143
+
144
+
145
+ ##
146
+ # @return [String] URL to query the subresource.
147
+ def url
148
+ @properties['url']
149
+ end
150
+
151
+ ##
152
+ # @return [String] ModuleSid that identifies this Listing.
153
+ def sid
154
+ @properties['sid']
155
+ end
156
+
157
+ ##
158
+ # @return [Hash] A JSON object describing the module and is displayed under the Description tab of the Module detail page. You can define the main body of the description, highlight key features or aspects of the module and if applicable, provide code samples for developers
159
+ def description
160
+ @properties['description']
161
+ end
162
+
163
+ ##
164
+ # @return [Hash] A JSON object containing information on how customers can obtain support for the module. Use this parameter to provide details such as contact information and support description.
165
+ def support
166
+ @properties['support']
167
+ end
168
+
169
+ ##
170
+ # @return [Hash] A JSON object describing the module's privacy and legal policies and is displayed under the Policies tab of the Module detail page. The maximum file size for Policies is 5MB
171
+ def policies
172
+ @properties['policies']
173
+ end
174
+
175
+ ##
176
+ # @return [Hash] A JSON object containing essential attributes that define a module. This information is presented on the Module detail page in the Twilio Marketplace Catalog. You can pass the following attributes in the JSON object
177
+ def module_info
178
+ @properties['module_info']
179
+ end
180
+
181
+ ##
182
+ # @return [Hash] A JSON object for providing comprehensive information, instructions, and resources related to the module
183
+ def documentation
184
+ @properties['documentation']
185
+ end
186
+
187
+ ##
188
+ # @return [Hash] A JSON object for providing listing specific configuration. Contains button setup, notification url, among others.
189
+ def configuration
190
+ @properties['configuration']
191
+ end
192
+
193
+ ##
194
+ # @return [Hash] A JSON object for providing Listing specific pricing information.
195
+ def pricing
196
+ @properties['pricing']
197
+ end
198
+
199
+ ##
200
+ # @return [Array<Hash>]
201
+ def listings
202
+ @properties['listings']
203
+ end
204
+
205
+ ##
206
+ # Provide a user friendly representation
207
+ def to_s
208
+ "<Twilio.Marketplace.V1.ModuleDataInstance>"
209
+ end
210
+
211
+ ##
212
+ # Provide a detailed, user friendly representation
213
+ def inspect
214
+ "<Twilio.Marketplace.V1.ModuleDataInstance>"
215
+ end
216
+ end
217
+
218
+ end
219
+ end
220
+ end
221
+ end
@@ -186,6 +186,7 @@ module Twilio
186
186
  'documentation' => payload['documentation'],
187
187
  'configuration' => payload['configuration'],
188
188
  'pricing' => payload['pricing'],
189
+ 'listings' => payload['listings'],
189
190
  }
190
191
 
191
192
  # Context
@@ -258,6 +259,12 @@ module Twilio
258
259
  @properties['pricing']
259
260
  end
260
261
 
262
+ ##
263
+ # @return [Array<Hash>]
264
+ def listings
265
+ @properties['listings']
266
+ end
267
+
261
268
  ##
262
269
  # Fetch the ModuleDataManagementInstance
263
270
  # @return [ModuleDataManagementInstance] Fetched ModuleDataManagementInstance
@@ -23,6 +23,7 @@ module Twilio
23
23
  @version = 'v1'
24
24
  @available_add_ons = nil
25
25
  @installed_add_ons = nil
26
+ @module_data = nil
26
27
  @module_data_management = nil
27
28
  @referral_conversion = nil
28
29
  end
@@ -56,6 +57,11 @@ module Twilio
56
57
  end
57
58
  end
58
59
  ##
60
+ # @return [Twilio::REST::Marketplace::V1::ModuleDataList]
61
+ def module_data
62
+ @module_data ||= ModuleDataList.new self
63
+ end
64
+ ##
59
65
  # @param [String] sid The unique identifier of a Listing.
60
66
  # @return [Twilio::REST::Marketplace::V1::ModuleDataManagementContext] if sid was passed.
61
67
  # @return [Twilio::REST::Marketplace::V1::ModuleDataManagementList]
@@ -44,7 +44,7 @@ module Twilio
44
44
  # @param [ScanMessageContent] scan_message_content
45
45
  # @param [Boolean] fallback_to_long_code [OBSOLETE] Former feature used to fallback to long code sender after certain short code message failures.
46
46
  # @param [Boolean] area_code_geomatch Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/messaging/services#area-code-geomatch) on the Service Instance.
47
- # @param [String] validity_period How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`.
47
+ # @param [String] validity_period How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`. Default value is `14,400`.
48
48
  # @param [Boolean] synchronous_validation Reserved.
49
49
  # @param [String] usecase A string that describes the scenario in which the Messaging Service will be used. Possible values are `notifications`, `marketing`, `verification`, `discussion`, `poll`, `undeclared`.
50
50
  # @param [Boolean] use_inbound_webhook_on_number A boolean value that indicates either the webhook url configured on the phone number will be used or `inbound_request_url`/`fallback_url` url will be called when a message is received from the phone number. If this field is enabled then the webhook url defined on the phone number will override the `inbound_request_url`/`fallback_url` defined for the Messaging Service.
@@ -263,7 +263,7 @@ module Twilio
263
263
  # @param [ScanMessageContent] scan_message_content
264
264
  # @param [Boolean] fallback_to_long_code [OBSOLETE] Former feature used to fallback to long code sender after certain short code message failures.
265
265
  # @param [Boolean] area_code_geomatch Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/messaging/services#area-code-geomatch) on the Service Instance.
266
- # @param [String] validity_period How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`.
266
+ # @param [String] validity_period How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`. Default value is `14,400`.
267
267
  # @param [Boolean] synchronous_validation Reserved.
268
268
  # @param [String] usecase A string that describes the scenario in which the Messaging Service will be used. Possible values are `notifications`, `marketing`, `verification`, `discussion`, `poll`, `undeclared`.
269
269
  # @param [Boolean] use_inbound_webhook_on_number A boolean value that indicates either the webhook url configured on the phone number will be used or `inbound_request_url`/`fallback_url` url will be called when a message is received from the phone number. If this field is enabled then the webhook url defined on the phone number will override the `inbound_request_url`/`fallback_url` defined for the Messaging Service.
@@ -629,7 +629,7 @@ module Twilio
629
629
  end
630
630
 
631
631
  ##
632
- # @return [String] How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`.
632
+ # @return [String] How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`. Default value is `14,400`.
633
633
  def validity_period
634
634
  @properties['validity_period']
635
635
  end
@@ -694,7 +694,7 @@ module Twilio
694
694
  # @param [ScanMessageContent] scan_message_content
695
695
  # @param [Boolean] fallback_to_long_code [OBSOLETE] Former feature used to fallback to long code sender after certain short code message failures.
696
696
  # @param [Boolean] area_code_geomatch Whether to enable [Area Code Geomatch](https://www.twilio.com/docs/messaging/services#area-code-geomatch) on the Service Instance.
697
- # @param [String] validity_period How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`.
697
+ # @param [String] validity_period How long, in seconds, messages sent from the Service are valid. Can be an integer from `1` to `14,400`. Default value is `14,400`.
698
698
  # @param [Boolean] synchronous_validation Reserved.
699
699
  # @param [String] usecase A string that describes the scenario in which the Messaging Service will be used. Possible values are `notifications`, `marketing`, `verification`, `discussion`, `poll`, `undeclared`.
700
700
  # @param [Boolean] use_inbound_webhook_on_number A boolean value that indicates either the webhook url configured on the phone number will be used or `inbound_request_url`/`fallback_url` url will be called when a message is received from the phone number. If this field is enabled then the webhook url defined on the phone number will override the `inbound_request_url`/`fallback_url` defined for the Messaging Service.
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '7.4.0'
2
+ VERSION = '7.4.2'
3
3
  end
data/twilio-ruby.gemspec CHANGED
@@ -28,6 +28,8 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency('jwt', '>= 1.5', '< 3.0')
29
29
  spec.add_dependency('nokogiri', '>= 1.6', '< 2.0')
30
30
  spec.add_dependency('faraday', '>= 0.9', '< 3.0')
31
+ spec.add_dependency 'ostruct'
32
+ spec.add_dependency 'benchmark'
31
33
  # Workaround for RBX <= 2.2.1, should be fixed in next version
32
34
  spec.add_dependency('rubysl') if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
33
35
 
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: 7.4.0
4
+ version: 7.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twilio API Team
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-12 00:00:00.000000000 Z
11
+ date: 2025-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -70,6 +70,34 @@ dependencies:
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
72
  version: '3.0'
73
+ - !ruby/object:Gem::Dependency
74
+ name: ostruct
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ - !ruby/object:Gem::Dependency
88
+ name: benchmark
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
73
101
  - !ruby/object:Gem::Dependency
74
102
  name: bundler
75
103
  requirement: !ruby/object:Gem::Requirement
@@ -190,7 +218,7 @@ dependencies:
190
218
  version: 1.4.2
191
219
  description: The official library for communicating with the Twilio REST API, building
192
220
  TwiML, and generating Twilio JWT Capability Tokens
193
- email:
221
+ email:
194
222
  executables: []
195
223
  extensions: []
196
224
  extra_rdoc_files:
@@ -495,7 +523,7 @@ files:
495
523
  - lib/twilio-ruby/rest/iam/v1.rb
496
524
  - lib/twilio-ruby/rest/iam/v1/api_key.rb
497
525
  - lib/twilio-ruby/rest/iam/v1/get_api_keys.rb
498
- - lib/twilio-ruby/rest/iam/v1/new_api_key.rb
526
+ - lib/twilio-ruby/rest/iam/v1/key.rb
499
527
  - lib/twilio-ruby/rest/iam_base.rb
500
528
  - lib/twilio-ruby/rest/insights.rb
501
529
  - lib/twilio-ruby/rest/insights/v1.rb
@@ -563,6 +591,7 @@ files:
563
591
  - lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb
564
592
  - lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb
565
593
  - lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb
594
+ - lib/twilio-ruby/rest/marketplace/v1/module_data.rb
566
595
  - lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb
567
596
  - lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb
568
597
  - lib/twilio-ruby/rest/marketplace_base.rb
@@ -911,7 +940,7 @@ licenses:
911
940
  metadata:
912
941
  documentation_uri: https://www.twilio.com/docs/libraries/reference/twilio-ruby/
913
942
  yard.run: yri
914
- post_install_message:
943
+ post_install_message:
915
944
  rdoc_options:
916
945
  - "--line-numbers"
917
946
  - "--inline-source"
@@ -932,9 +961,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
932
961
  - !ruby/object:Gem::Version
933
962
  version: '0'
934
963
  requirements: []
935
- rubyforge_project:
964
+ rubyforge_project:
936
965
  rubygems_version: 2.6.14.4
937
- signing_key:
966
+ signing_key:
938
967
  specification_version: 4
939
968
  summary: The official library for communicating with the Twilio REST API, building
940
969
  TwiML, and generating Twilio JWT Capability Tokens