twilio-ruby 5.70.0 → 5.72.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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +57 -0
  3. data/Makefile +6 -2
  4. data/README.md +2 -2
  5. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +34 -1
  6. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +4 -4
  7. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +3 -3
  8. data/lib/twilio-ruby/rest/client.rb +14 -0
  9. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +14 -0
  10. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +4 -5
  11. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +559 -0
  12. data/lib/twilio-ruby/rest/messaging/v1.rb +16 -0
  13. data/lib/twilio-ruby/rest/messaging.rb +8 -0
  14. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  15. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +332 -0
  16. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  17. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  18. data/lib/twilio-ruby/rest/preview.rb +0 -25
  19. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  20. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  21. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  22. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  23. data/lib/twilio-ruby/rest/routes.rb +62 -0
  24. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +16 -6
  25. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  26. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +7 -8
  27. data/lib/twilio-ruby/rest/verify/v2.rb +18 -0
  28. data/lib/twilio-ruby/rest/verify.rb +8 -0
  29. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  30. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +16 -0
  31. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  32. data/lib/twilio-ruby/twiml/voice_response.rb +19 -5
  33. data/lib/twilio-ruby/version.rb +1 -1
  34. metadata +14 -8
  35. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  36. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  37. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  38. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  39. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  40. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -62
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 101ceb0bd96cbd76a7c4344baba3327f1bd84e73
4
- data.tar.gz: 7370d333ed649d1f5dc98553b61fa2d90ae80913
3
+ metadata.gz: 5ff85f862e19ab053e7c76008d7958ace553b801
4
+ data.tar.gz: 0ef6213308056d5194d86331595f636a4a269975
5
5
  SHA512:
6
- metadata.gz: 29aac9973a3d76158c94254f81956be791055e6013b989c581f38429b4b187a3ef8b5264f62eabacc2297efdcda52275ce7eb0587b9e8631b36fcfb14f1bafb4
7
- data.tar.gz: 18dd0b51c26195e9377aa2d6698745296fd155f388a387de9d3734c6124891f0301b1f336e73db5ede774ec34dec79dbc862e3cb9ae0b5cf476edf95c5d29ae0
6
+ metadata.gz: 9d5e18e054f72a4923b5c887e8340a6f020f643344e5fc917bbad822cc86c7d7d79cb7d8b2bb4221f9118718959197f298e30bed6924166e575fa46eff2d3752
7
+ data.tar.gz: c022194789766eab0873586d836b2b08010e4c54f84a1f4de5595bc6cb6a4234d6a119d43699f1f0433b6d1095fa15bb74830b59466252a3e9a50baf1078dd81
data/CHANGES.md CHANGED
@@ -1,6 +1,63 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2022-10-05] Version 5.72.1
5
+ ---------------------------
6
+ **Api**
7
+ - Added `virtual-agent` to `usage_record` API.
8
+ - Add AMD attributes to participant create request
9
+
10
+ **Twiml**
11
+ - Add AMD attributes to `Number` and `Sip`
12
+
13
+
14
+ [2022-09-07] Version 5.72.0
15
+ ---------------------------
16
+ **Flex**
17
+ - Removed redundant `close` status from Flex Interactions flow **(breaking change)**
18
+ - Adding `debugger_integration` and `flex_ui_status_report` to Flex Configuration
19
+
20
+ **Messaging**
21
+ - Add create, list and get tollfree verification API
22
+
23
+ **Verify**
24
+ - Verify SafeList API endpoints added.
25
+
26
+ **Video**
27
+ - Add `Anonymize` API
28
+
29
+ **Twiml**
30
+ - Update `event` value `call-in-progress` to `call-answered`
31
+
32
+
33
+ [2022-08-24] Version 5.71.0
34
+ ---------------------------
35
+ **Library - Test**
36
+ - [PR #615](https://github.com/twilio/twilio-ruby/pull/615): add test-docker rule. Thanks to [@beebzz](https://github.com/beebzz)!
37
+
38
+ **Api**
39
+ - Remove `beta feature` from scheduling params and remove optimize parameters. **(breaking change)**
40
+
41
+ **Routes**
42
+ - Remove Duplicate Create Method - Update Method will work even if Inbound Processing Region is currently empty/404. **(breaking change)**
43
+
44
+ **Twiml**
45
+ - Add new Polly Neural voices
46
+ - Add new languages to SSML `<lang>`.
47
+
48
+
49
+ [2022-08-10] Version 5.70.1
50
+ ---------------------------
51
+ **Library - Fix**
52
+ - [PR #614](https://github.com/twilio/twilio-ruby/pull/614): Make RequestValidator#validate fail if URL has no query params. Thanks to [@haffla](https://github.com/haffla)!
53
+
54
+ **Routes**
55
+ - Inbound Proccessing Region API - Public GA
56
+
57
+ **Supersim**
58
+ - Allow updating `DataLimit` on a Fleet
59
+
60
+
4
61
  [2022-07-21] Version 5.70.0
5
62
  ---------------------------
6
63
  **Flex**
data/Makefile CHANGED
@@ -1,4 +1,4 @@
1
- .PHONY: githooks install test lint docs docker-build docker-push
1
+ .PHONY: githooks install test test-docker lint docs docker-build docker-push
2
2
 
3
3
  githooks:
4
4
  ln -sf ../../githooks/pre-commit .git/hooks/pre-commit
@@ -9,6 +9,10 @@ install:
9
9
  test:
10
10
  bundle exec rake spec
11
11
 
12
+ test-docker:
13
+ docker build -t twilio/twilio-ruby .
14
+ docker run twilio/twilio-ruby bundle exec rake spec
15
+
12
16
  docs:
13
17
  bundle exec yard doc --output-dir ./doc
14
18
 
@@ -17,7 +21,7 @@ authors:
17
21
  git log --raw | grep "^Author: " | cut -d ' ' -f2- | cut -d '<' -f1 | sed 's/^/- /' | sort | uniq >> AUTHORS.md
18
22
 
19
23
  API_DEFINITIONS_SHA=$(shell git log --oneline | grep Regenerated | head -n1 | cut -d ' ' -f 5)
20
- CURRENT_TAG=$(shell [[ "${GITHUB_TAG}" == *"-rc"* ]] && echo "rc" || echo "latest")
24
+ CURRENT_TAG=$(shell expr "${GITHUB_TAG}" : ".*-rc.*" >/dev/null && echo "rc" || echo "latest")
21
25
  docker-build:
22
26
  docker build -t twilio/twilio-ruby .
23
27
  docker tag twilio/twilio-ruby twilio/twilio-ruby:${GITHUB_TAG}
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.70.0'
37
+ gem 'twilio-ruby', '~> 5.72.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.70.0
43
+ gem install twilio-ruby -v 5.72.1
44
44
  ```
45
45
 
46
46
  To build and install the development branch yourself from the latest source:
@@ -169,8 +169,34 @@ module Twilio
169
169
  # Twilio. `both` records the audio that is received and sent by Twilio.
170
170
  # @param [String] time_limit The maximum duration of the call in seconds.
171
171
  # Constraints depend on account and configuration.
172
+ # @param [String] machine_detection Whether to detect if a human, answering
173
+ # machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`.
174
+ # Use `Enable` if you would like us to return `AnsweredBy` as soon as the called
175
+ # party is identified. Use `DetectMessageEnd`, if you would like to leave a
176
+ # message on an answering machine. If `send_digits` is provided, this parameter is
177
+ # ignored. For more information, see {Answering Machine
178
+ # Detection}[https://www.twilio.com/docs/voice/answering-machine-detection].
179
+ # @param [String] machine_detection_timeout The number of seconds that we should
180
+ # attempt to detect an answering machine before timing out and sending a voice
181
+ # request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
182
+ # @param [String] machine_detection_speech_threshold The number of milliseconds
183
+ # that is used as the measuring stick for the length of the speech activity, where
184
+ # durations lower than this value will be interpreted as a human and longer than
185
+ # this value as a machine. Possible Values: 1000-6000. Default: 2400.
186
+ # @param [String] machine_detection_speech_end_threshold The number of
187
+ # milliseconds of silence after speech activity at which point the speech activity
188
+ # is considered complete. Possible Values: 500-5000. Default: 1200.
189
+ # @param [String] machine_detection_silence_timeout The number of milliseconds of
190
+ # initial silence after which an `unknown` AnsweredBy result will be returned.
191
+ # Possible Values: 2000-10000. Default: 5000.
192
+ # @param [String] amd_status_callback The URL that we should call using the
193
+ # `amd_status_callback_method` to notify customer application whether the call was
194
+ # answered by human, machine or fax.
195
+ # @param [String] amd_status_callback_method The HTTP method we should use when
196
+ # calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default
197
+ # is `POST`.
172
198
  # @return [ParticipantInstance] Created ParticipantInstance
173
- def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset, recording_track: :unset, time_limit: :unset)
199
+ def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset, recording_track: :unset, time_limit: :unset, machine_detection: :unset, machine_detection_timeout: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, amd_status_callback: :unset, amd_status_callback_method: :unset)
174
200
  data = Twilio::Values.of({
175
201
  'From' => from,
176
202
  'To' => to,
@@ -211,6 +237,13 @@ module Twilio
211
237
  'CallReason' => call_reason,
212
238
  'RecordingTrack' => recording_track,
213
239
  'TimeLimit' => time_limit,
240
+ 'MachineDetection' => machine_detection,
241
+ 'MachineDetectionTimeout' => machine_detection_timeout,
242
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
243
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
244
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
245
+ 'AmdStatusCallback' => amd_status_callback,
246
+ 'AmdStatusCallbackMethod' => amd_status_callback_method,
214
247
  })
215
248
 
216
249
  payload = @version.create('POST', @uri, data: data)
@@ -113,7 +113,7 @@ module Twilio
113
113
  ##
114
114
  # Create the IpAddressInstance
115
115
  # @param [String] friendly_name A human readable descriptive text for this
116
- # resource, up to 64 characters long.
116
+ # resource, up to 255 characters long.
117
117
  # @param [String] ip_address An IP address in dotted decimal notation from which
118
118
  # you want to accept traffic. Any SIP requests from this IP address will be
119
119
  # allowed by Twilio. IPv4 only supported today.
@@ -224,7 +224,7 @@ module Twilio
224
224
  # you want to accept traffic. Any SIP requests from this IP address will be
225
225
  # allowed by Twilio. IPv4 only supported today.
226
226
  # @param [String] friendly_name A human readable descriptive text for this
227
- # resource, up to 64 characters long.
227
+ # resource, up to 255 characters long.
228
228
  # @param [String] cidr_prefix_length An integer representing the length of the
229
229
  # CIDR prefix to use with this IP address when accepting traffic. By default the
230
230
  # entire IP address is used.
@@ -335,7 +335,7 @@ module Twilio
335
335
  end
336
336
 
337
337
  ##
338
- # @return [String] A human readable descriptive text for this resource, up to 64 characters long.
338
+ # @return [String] A human readable descriptive text for this resource, up to 255 characters long.
339
339
  def friendly_name
340
340
  @properties['friendly_name']
341
341
  end
@@ -389,7 +389,7 @@ module Twilio
389
389
  # you want to accept traffic. Any SIP requests from this IP address will be
390
390
  # allowed by Twilio. IPv4 only supported today.
391
391
  # @param [String] friendly_name A human readable descriptive text for this
392
- # resource, up to 64 characters long.
392
+ # resource, up to 255 characters long.
393
393
  # @param [String] cidr_prefix_length An integer representing the length of the
394
394
  # CIDR prefix to use with this IP address when accepting traffic. By default the
395
395
  # entire IP address is used.
@@ -110,7 +110,7 @@ module Twilio
110
110
  ##
111
111
  # Create the IpAccessControlListInstance
112
112
  # @param [String] friendly_name A human readable descriptive text that describes
113
- # the IpAccessControlList, up to 64 characters long.
113
+ # the IpAccessControlList, up to 255 characters long.
114
114
  # @return [IpAccessControlListInstance] Created IpAccessControlListInstance
115
115
  def create(friendly_name: nil)
116
116
  data = Twilio::Values.of({'FriendlyName' => friendly_name, })
@@ -193,7 +193,7 @@ module Twilio
193
193
 
194
194
  ##
195
195
  # Update the IpAccessControlListInstance
196
- # @param [String] friendly_name A human readable descriptive text, up to 64
196
+ # @param [String] friendly_name A human readable descriptive text, up to 255
197
197
  # characters long.
198
198
  # @return [IpAccessControlListInstance] Updated IpAccessControlListInstance
199
199
  def update(friendly_name: nil)
@@ -344,7 +344,7 @@ module Twilio
344
344
 
345
345
  ##
346
346
  # Update the IpAccessControlListInstance
347
- # @param [String] friendly_name A human readable descriptive text, up to 64
347
+ # @param [String] friendly_name A human readable descriptive text, up to 255
348
348
  # characters long.
349
349
  # @return [IpAccessControlListInstance] Updated IpAccessControlListInstance
350
350
  def update(friendly_name: nil)
@@ -49,6 +49,7 @@ module Twilio
49
49
  @preview = nil
50
50
  @pricing = nil
51
51
  @proxy = nil
52
+ @routes = nil
52
53
  @serverless = nil
53
54
  @studio = nil
54
55
  @sync = nil
@@ -61,6 +62,7 @@ module Twilio
61
62
  @wireless = nil
62
63
  @supersim = nil
63
64
  @bulkexports = nil
65
+ @microvisor = nil
64
66
  end
65
67
 
66
68
  ##
@@ -275,6 +277,12 @@ module Twilio
275
277
  @proxy ||= Proxy.new self
276
278
  end
277
279
 
280
+ ##
281
+ # Access the Routes Twilio Domain
282
+ def routes
283
+ @routes ||= Routes.new self
284
+ end
285
+
278
286
  ##
279
287
  # Access the Serverless Twilio Domain
280
288
  def serverless
@@ -347,6 +355,12 @@ module Twilio
347
355
  @bulkexports ||= Bulkexports.new self
348
356
  end
349
357
 
358
+ ##
359
+ # Access the Microvisor Twilio Domain
360
+ def microvisor
361
+ @microvisor ||= Microvisor.new self
362
+ end
363
+
350
364
  ##
351
365
  # @param [String] sid The unique string that that we created to identify the
352
366
  # Address resource.
@@ -171,6 +171,8 @@ module Twilio
171
171
  'flex_insights_drilldown' => payload['flex_insights_drilldown'],
172
172
  'flex_url' => payload['flex_url'],
173
173
  'channel_configs' => payload['channel_configs'],
174
+ 'debugger_integration' => payload['debugger_integration'],
175
+ 'flex_ui_status_report' => payload['flex_ui_status_report'],
174
176
  }
175
177
 
176
178
  # Context
@@ -447,6 +449,18 @@ module Twilio
447
449
  @properties['channel_configs']
448
450
  end
449
451
 
452
+ ##
453
+ # @return [Hash] Configurable parameters for Debugger Integration
454
+ def debugger_integration
455
+ @properties['debugger_integration']
456
+ end
457
+
458
+ ##
459
+ # @return [Hash] Configurable parameters for Flex UI Status report
460
+ def flex_ui_status_report
461
+ @properties['flex_ui_status_report']
462
+ end
463
+
450
464
  ##
451
465
  # Fetch the ConfigurationInstance
452
466
  # @param [String] ui_version The Pinned UI version of the Configuration resource
@@ -33,11 +33,10 @@ module Twilio
33
33
  # @param [String] status_callback_method The HTTP method Twilio should use to call
34
34
  # the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.
35
35
  # @param [String] max_duration The maximum time, in seconds, that the
36
- # PlayerStreamer can run before automatically ends. The default value is 300
37
- # seconds, and the maximum value is 90000 seconds. Once this maximum duration is
38
- # reached, Twilio will end the PlayerStreamer, regardless of whether media is
39
- # still streaming. **Note: this feature has not yet been enabled but customers are
40
- # advised to explicitly set it on all their new PlayerStreamer resources.**
36
+ # PlayerStreamer is active (`created` or `started`) before automatically ends. The
37
+ # default value is 300 seconds, and the maximum value is 90000 seconds. Once this
38
+ # maximum duration is reached, Twilio will end the PlayerStreamer, regardless of
39
+ # whether media is still streaming.
41
40
  # @return [PlayerStreamerInstance] Created PlayerStreamerInstance
42
41
  def create(video: :unset, status_callback: :unset, status_callback_method: :unset, max_duration: :unset)
43
42
  data = Twilio::Values.of({