twilio-ruby 6.0.1 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 879e6c988389b279694568764e67cc0f6da872ec
4
- data.tar.gz: b2f437359378e1c21eeaca94f1fdfa3b976e4b7c
3
+ metadata.gz: 1c6b1c3502cddca5945482d45e5a8363b72e858f
4
+ data.tar.gz: 83a05654e46726cc1f5c8a34b43664894b6f88e6
5
5
  SHA512:
6
- metadata.gz: 0ff88c428018101c5e78adea45e38b01e357714b397a86a587870253ed870225ced732f934ac2c4d5e70ad7f569aa7f4312a56b4c9019aac00ea520c5b091ada
7
- data.tar.gz: 5bf17165b9f5c77b2a92d14c596193cb7b6b4caa0c8594bd6050714d84814c087b176b141e573c12b2a70611b26e5e2d14cb94ed6893fa6210a8324884cbc2b1
6
+ metadata.gz: 4ff45689c5dc58765000a2d10fbc8af9a6a8283e3448114e39033db16e5a0a14130e78ebdbcd06b095ce965e121fa477c0bcb87e16bbe796b53c6844db121eb9
7
+ data.tar.gz: c83c6a846d766369d3d897d7d6ae4574c3b75fb3f6eae9f296cb920401911deb443062d34c218e680960548218c2b08c7058237a61967dc75dc02d81c321c163
data/CHANGES.md CHANGED
@@ -1,6 +1,28 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2023-06-15] Version 6.1.0
5
+ --------------------------
6
+ **Api**
7
+ - Added `content_sid` as conditional parameter
8
+ - Removed `content_sid` as optional field **(breaking change)**
9
+
10
+ **Insights**
11
+ - Added `annotation` to list summary output
12
+
13
+
14
+ [2023-06-01] Version 6.0.2
15
+ --------------------------
16
+ **Api**
17
+ - Add `Trim` to create Conference Participant API
18
+
19
+ **Intelligence**
20
+ - First public beta release for Voice Intelligence APIs with client libraries
21
+
22
+ **Messaging**
23
+ - Add new `errors` attribute to us_app_to_person resource. This attribute will provide additional information about campaign registration errors.
24
+
25
+
4
26
  [2023-05-18] Version 6.0.1
5
27
  --------------------------
6
28
  **Library - Fix**
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', '~> 6.0.1'
42
+ gem 'twilio-ruby', '~> 6.1.0'
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 6.0.1
48
+ gem install twilio-ruby -v 6.1.0
49
49
  ```
50
50
 
51
51
  To build and install the development branch yourself from the latest source:
@@ -51,7 +51,7 @@ module Twilio
51
51
  # @param [Boolean] early_media Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: `true` or `false` and defaults to `true`.
52
52
  # @param [String] max_participants The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
53
53
  # @param [String] conference_record Whether to record the conference the participant is joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
54
- # @param [String] conference_trim Whether to trim leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
54
+ # @param [String] conference_trim Whether to trim leading and trailing silence from the conference recording. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
55
55
  # @param [String] conference_status_callback The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.
56
56
  # @param [String] conference_status_callback_method The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
57
57
  # @param [Array[String]] conference_status_callback_event The conference state changes that should generate a call to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. Separate multiple values with a space. Defaults to `start end`.
@@ -80,6 +80,7 @@ module Twilio
80
80
  # @param [String] machine_detection_silence_timeout The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.
81
81
  # @param [String] amd_status_callback The URL that we should call using the `amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
82
82
  # @param [String] amd_status_callback_method The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
83
+ # @param [String] trim Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
83
84
  # @return [ParticipantInstance] Created ParticipantInstance
84
85
  def create(
85
86
  from: nil,
@@ -127,7 +128,8 @@ module Twilio
127
128
  machine_detection_speech_end_threshold: :unset,
128
129
  machine_detection_silence_timeout: :unset,
129
130
  amd_status_callback: :unset,
130
- amd_status_callback_method: :unset
131
+ amd_status_callback_method: :unset,
132
+ trim: :unset
131
133
  )
132
134
 
133
135
  data = Twilio::Values.of({
@@ -177,6 +179,7 @@ module Twilio
177
179
  'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
178
180
  'AmdStatusCallback' => amd_status_callback,
179
181
  'AmdStatusCallbackMethod' => amd_status_callback_method,
182
+ 'Trim' => trim,
180
183
  })
181
184
 
182
185
  payload = @version.create('POST', @uri, data: data)
@@ -49,12 +49,12 @@ module Twilio
49
49
  # @param [ScheduleType] schedule_type
50
50
  # @param [Time] send_at The time that Twilio will send the message. Must be in ISO 8601 format.
51
51
  # @param [Boolean] send_as_mms If set to True, Twilio will deliver the message as a single MMS message, regardless of the presence of media.
52
- # @param [String] content_sid The SID of the Content object returned at Content API content create time (https://www.twilio.com/docs/content-api/create-and-send-your-first-content-api-template#create-a-template). If this parameter is not specified, then the Content API will not be utilized.
53
52
  # @param [String] content_variables Key-value pairs of variable names to substitution values, used alongside a content_sid. If not specified, Content API will default to the default variables defined at create time.
54
53
  # @param [String] from A Twilio phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, an [alphanumeric sender ID](https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id), or a [Channel Endpoint address](https://www.twilio.com/docs/sms/channels#channel-addresses) that is enabled for the type of message you want to send. Phone numbers or [short codes](https://www.twilio.com/docs/sms/api/short-code) purchased from Twilio also work here. You cannot, for example, spoof messages from a private cell phone number. If you are using `messaging_service_sid`, this parameter must be empty.
55
54
  # @param [String] messaging_service_sid The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services#send-a-message-with-copilot) you want to associate with the Message. Set this parameter to use the [Messaging Service Settings and Copilot Features](https://www.twilio.com/console/sms/services) you have configured and leave the `from` parameter empty. When only this parameter is set, Twilio will use your enabled Copilot Features to select the `from` phone number for delivery.
56
55
  # @param [String] body The text of the message you want to send. Can be up to 1,600 characters in length.
57
56
  # @param [Array[String]] media_url The URL of the media to send with the message. The media can be of type `gif`, `png`, and `jpeg` and will be formatted correctly on the recipient's device. The media size limit is 5MB for supported file types (JPEG, PNG, GIF) and 500KB for [other types](https://www.twilio.com/docs/sms/accepted-mime-types) of accepted media. To send more than one image in the message body, provide multiple `media_url` parameters in the POST request. You can include up to 10 `media_url` parameters per message. You can send images in an SMS message in only the US and Canada.
57
+ # @param [String] content_sid The SID of the Content object returned at Content API content create time (https://www.twilio.com/docs/content-api/create-and-send-your-first-content-api-template#create-a-template). If this parameter is not specified, then the Content API will not be utilized.
58
58
  # @return [MessageInstance] Created MessageInstance
59
59
  def create(
60
60
  to: nil,
@@ -73,12 +73,12 @@ module Twilio
73
73
  schedule_type: :unset,
74
74
  send_at: :unset,
75
75
  send_as_mms: :unset,
76
- content_sid: :unset,
77
76
  content_variables: :unset,
78
77
  from: :unset,
79
78
  messaging_service_sid: :unset,
80
79
  body: :unset,
81
- media_url: :unset
80
+ media_url: :unset,
81
+ content_sid: :unset
82
82
  )
83
83
 
84
84
  data = Twilio::Values.of({
@@ -98,12 +98,12 @@ module Twilio
98
98
  'ScheduleType' => schedule_type,
99
99
  'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
100
100
  'SendAsMms' => send_as_mms,
101
- 'ContentSid' => content_sid,
102
101
  'ContentVariables' => content_variables,
103
102
  'From' => from,
104
103
  'MessagingServiceSid' => messaging_service_sid,
105
104
  'Body' => body,
106
105
  'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
106
+ 'ContentSid' => content_sid,
107
107
  })
108
108
 
109
109
  payload = @version.create('POST', @uri, data: data)
@@ -72,6 +72,11 @@ module Twilio
72
72
  @insights ||= Insights.new self
73
73
  end
74
74
  ##
75
+ # Access the Intelligence Twilio Domain
76
+ def intelligence
77
+ @intelligence ||= Intelligence.new self
78
+ end
79
+ ##
75
80
  # Access the IpMessaging Twilio Domain
76
81
  def ip_messaging
77
82
  @ip_messaging ||= IpMessaging.new self
@@ -53,10 +53,10 @@ module Twilio
53
53
  # @param [String] subaccount
54
54
  # @param [Boolean] abnormal_session
55
55
  # @param [AnsweredBy] answered_by
56
- # @param [String] connectivity_issues
57
- # @param [String] quality_issues
56
+ # @param [String] connectivity_issue
57
+ # @param [String] quality_issue
58
58
  # @param [Boolean] spam
59
- # @param [String] call_scores
59
+ # @param [String] call_score
60
60
  # @param [Integer] limit Upper limit for the number of records to return. stream()
61
61
  # guarantees to never return more than limit. Default is no limit
62
62
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -64,7 +64,7 @@ module Twilio
64
64
  # but a limit is defined, stream() will attempt to read the limit with the most
65
65
  # efficient page size, i.e. min(limit, 1000)
66
66
  # @return [Array] Array of up to limit results
67
- def list(from: :unset, to: :unset, from_carrier: :unset, to_carrier: :unset, from_country_code: :unset, to_country_code: :unset, branded: :unset, verified_caller: :unset, has_tag: :unset, start_time: :unset, end_time: :unset, call_type: :unset, call_state: :unset, direction: :unset, processing_state: :unset, sort_by: :unset, subaccount: :unset, abnormal_session: :unset, answered_by: :unset, connectivity_issues: :unset, quality_issues: :unset, spam: :unset, call_scores: :unset, limit: nil, page_size: nil)
67
+ def list(from: :unset, to: :unset, from_carrier: :unset, to_carrier: :unset, from_country_code: :unset, to_country_code: :unset, branded: :unset, verified_caller: :unset, has_tag: :unset, start_time: :unset, end_time: :unset, call_type: :unset, call_state: :unset, direction: :unset, processing_state: :unset, sort_by: :unset, subaccount: :unset, abnormal_session: :unset, answered_by: :unset, connectivity_issue: :unset, quality_issue: :unset, spam: :unset, call_score: :unset, limit: nil, page_size: nil)
68
68
  self.stream(
69
69
  from: from,
70
70
  to: to,
@@ -85,10 +85,10 @@ module Twilio
85
85
  subaccount: subaccount,
86
86
  abnormal_session: abnormal_session,
87
87
  answered_by: answered_by,
88
- connectivity_issues: connectivity_issues,
89
- quality_issues: quality_issues,
88
+ connectivity_issue: connectivity_issue,
89
+ quality_issue: quality_issue,
90
90
  spam: spam,
91
- call_scores: call_scores,
91
+ call_score: call_score,
92
92
  limit: limit,
93
93
  page_size: page_size
94
94
  ).entries
@@ -117,10 +117,10 @@ module Twilio
117
117
  # @param [String] subaccount
118
118
  # @param [Boolean] abnormal_session
119
119
  # @param [AnsweredBy] answered_by
120
- # @param [String] connectivity_issues
121
- # @param [String] quality_issues
120
+ # @param [String] connectivity_issue
121
+ # @param [String] quality_issue
122
122
  # @param [Boolean] spam
123
- # @param [String] call_scores
123
+ # @param [String] call_score
124
124
  # @param [Integer] limit Upper limit for the number of records to return. stream()
125
125
  # guarantees to never return more than limit. Default is no limit
126
126
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -128,7 +128,7 @@ module Twilio
128
128
  # but a limit is defined, stream() will attempt to read the limit with the most
129
129
  # efficient page size, i.e. min(limit, 1000)
130
130
  # @return [Enumerable] Enumerable that will yield up to limit results
131
- def stream(from: :unset, to: :unset, from_carrier: :unset, to_carrier: :unset, from_country_code: :unset, to_country_code: :unset, branded: :unset, verified_caller: :unset, has_tag: :unset, start_time: :unset, end_time: :unset, call_type: :unset, call_state: :unset, direction: :unset, processing_state: :unset, sort_by: :unset, subaccount: :unset, abnormal_session: :unset, answered_by: :unset, connectivity_issues: :unset, quality_issues: :unset, spam: :unset, call_scores: :unset, limit: nil, page_size: nil)
131
+ def stream(from: :unset, to: :unset, from_carrier: :unset, to_carrier: :unset, from_country_code: :unset, to_country_code: :unset, branded: :unset, verified_caller: :unset, has_tag: :unset, start_time: :unset, end_time: :unset, call_type: :unset, call_state: :unset, direction: :unset, processing_state: :unset, sort_by: :unset, subaccount: :unset, abnormal_session: :unset, answered_by: :unset, connectivity_issue: :unset, quality_issue: :unset, spam: :unset, call_score: :unset, limit: nil, page_size: nil)
132
132
  limits = @version.read_limits(limit, page_size)
133
133
 
134
134
  page = self.page(
@@ -151,10 +151,10 @@ module Twilio
151
151
  subaccount: subaccount,
152
152
  abnormal_session: abnormal_session,
153
153
  answered_by: answered_by,
154
- connectivity_issues: connectivity_issues,
155
- quality_issues: quality_issues,
154
+ connectivity_issue: connectivity_issue,
155
+ quality_issue: quality_issue,
156
156
  spam: spam,
157
- call_scores: call_scores,
157
+ call_score: call_score,
158
158
  page_size: limits[:page_size], )
159
159
 
160
160
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
@@ -196,15 +196,15 @@ module Twilio
196
196
  # @param [String] subaccount
197
197
  # @param [Boolean] abnormal_session
198
198
  # @param [AnsweredBy] answered_by
199
- # @param [String] connectivity_issues
200
- # @param [String] quality_issues
199
+ # @param [String] connectivity_issue
200
+ # @param [String] quality_issue
201
201
  # @param [Boolean] spam
202
- # @param [String] call_scores
202
+ # @param [String] call_score
203
203
  # @param [String] page_token PageToken provided by the API
204
204
  # @param [Integer] page_number Page Number, this value is simply for client state
205
205
  # @param [Integer] page_size Number of records to return, defaults to 50
206
206
  # @return [Page] Page of CallSummariesInstance
207
- def page(from: :unset, to: :unset, from_carrier: :unset, to_carrier: :unset, from_country_code: :unset, to_country_code: :unset, branded: :unset, verified_caller: :unset, has_tag: :unset, start_time: :unset, end_time: :unset, call_type: :unset, call_state: :unset, direction: :unset, processing_state: :unset, sort_by: :unset, subaccount: :unset, abnormal_session: :unset, answered_by: :unset, connectivity_issues: :unset, quality_issues: :unset, spam: :unset, call_scores: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
207
+ def page(from: :unset, to: :unset, from_carrier: :unset, to_carrier: :unset, from_country_code: :unset, to_country_code: :unset, branded: :unset, verified_caller: :unset, has_tag: :unset, start_time: :unset, end_time: :unset, call_type: :unset, call_state: :unset, direction: :unset, processing_state: :unset, sort_by: :unset, subaccount: :unset, abnormal_session: :unset, answered_by: :unset, connectivity_issue: :unset, quality_issue: :unset, spam: :unset, call_score: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
208
208
  params = Twilio::Values.of({
209
209
 
210
210
  'From' => from,
@@ -245,13 +245,13 @@ module Twilio
245
245
 
246
246
  'AnsweredBy' => answered_by,
247
247
 
248
- 'ConnectivityIssues' => connectivity_issues,
248
+ 'ConnectivityIssue' => connectivity_issue,
249
249
 
250
- 'QualityIssues' => quality_issues,
250
+ 'QualityIssue' => quality_issue,
251
251
 
252
252
  'Spam' => spam,
253
253
 
254
- 'CallScores' => call_scores,
254
+ 'CallScore' => call_score,
255
255
 
256
256
  'PageToken' => page_token,
257
257
  'Page' => page_number,
@@ -349,6 +349,7 @@ module Twilio
349
349
  'attributes' => payload['attributes'],
350
350
  'properties' => payload['properties'],
351
351
  'trust' => payload['trust'],
352
+ 'annotation' => payload['annotation'],
352
353
  }
353
354
  end
354
355
 
@@ -485,6 +486,12 @@ module Twilio
485
486
  @properties['trust']
486
487
  end
487
488
 
489
+ ##
490
+ # @return [Hash]
491
+ def annotation
492
+ @properties['annotation']
493
+ end
494
+
488
495
  ##
489
496
  # Provide a user friendly representation
490
497
  def to_s