twilio-ruby 5.70.0 → 5.72.1

Sign up to get free protection for your applications and to get access to all the features.
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({