twilio-ruby 5.64.0 → 5.66.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +5 -0
  3. data/CHANGES.md +78 -0
  4. data/README.md +2 -2
  5. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +2 -2
  6. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +7 -0
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +11 -4
  8. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +27 -7
  9. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
  10. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  11. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  12. data/lib/twilio-ruby/rest/chat.rb +16 -0
  13. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +22 -10
  14. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +7 -0
  15. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  16. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  17. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +377 -0
  18. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  19. data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -0
  20. data/lib/twilio-ruby/rest/flex_api.rb +9 -0
  21. data/lib/twilio-ruby/rest/insights/v1/annotation.rb +271 -0
  22. data/lib/twilio-ruby/rest/insights/v1.rb +16 -0
  23. data/lib/twilio-ruby/rest/insights.rb +8 -0
  24. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +1 -1
  25. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +406 -0
  26. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +14 -1
  27. data/lib/twilio-ruby/rest/media/v1.rb +16 -0
  28. data/lib/twilio-ruby/rest/media.rb +9 -0
  29. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +6 -6
  30. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
  31. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +3 -55
  32. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +9 -9
  33. data/lib/twilio-ruby/rest/supersim/v1.rb +0 -16
  34. data/lib/twilio-ruby/rest/supersim.rb +0 -9
  35. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -2
  36. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -2
  37. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -2
  38. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +18 -1
  39. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +22 -4
  40. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +7 -0
  41. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +16 -6
  42. data/lib/twilio-ruby/rest/video/v1/composition.rb +14 -0
  43. data/lib/twilio-ruby/rest/video/v1/recording.rb +14 -0
  44. data/lib/twilio-ruby/version.rb +1 -1
  45. data/lib/twilio-ruby.rb +1 -1
  46. metadata +10 -3
  47. data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ac21b282f9cbe5b8fcf0409fa7640ee81595555b
4
- data.tar.gz: 64f19f3e30a9fa224cab24fa89aa7dea5e2ef66d
3
+ metadata.gz: 05d747e6afb3147d260dc189582592a19e650957
4
+ data.tar.gz: 07114f3240dfeebbdd9d3128a6631d6b40255a41
5
5
  SHA512:
6
- metadata.gz: a1d43a8631f36c4d04a29cb54dff8ff980fcfcc27416f71466aed84144e99fa512e68894b245274f63f8c5b162dad597bcb420e462000e9f45438d842e7cd118
7
- data.tar.gz: 60dd90cdad8f348cce9185f13d7d78b0fa41e6d9e373a8ababbbf083ca30da0f85f2f00388f9e29f4dbae29c4daca28bb62806b32ae710bca449022c9cfc6253
6
+ metadata.gz: cceca2b0801fc90db7e7671ef014bfd0d962e44a732be30b6d8e32fa00006cfb9cbcf9742e3ca4848b35f6cf2ea7ca8c6cf3e9a5b078a3a9dd3f900ed19f9f9a
7
+ data.tar.gz: 8d735e1c20ec6c1d5b151ffb100bcad25413bd67e935104bf0b3d6fc4070fc1598c8c8e66427295e54507dcf7fd456a71e45de4b3ef4fc58af8eddadad280bfb
@@ -105,6 +105,11 @@ jobs:
105
105
  gem build *.gemspec
106
106
  gem push *.gem
107
107
 
108
+ - name: Submit metric to Datadog
109
+ uses: sendgrid/dx-automator/actions/datadog-release-metric@main
110
+ env:
111
+ DD_API_KEY: ${{ secrets.DATADOG_API_KEY }}
112
+
108
113
  notify-on-failure:
109
114
  name: Slack notify on failure
110
115
  if: failure() && github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref_type == 'tag')
data/CHANGES.md CHANGED
@@ -1,6 +1,84 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2022-03-23] Version 5.66.0
5
+ ---------------------------
6
+ **Api**
7
+ - Change `stream` url parameter to non optional
8
+ - Add `verify-totp` and `verify-whatsapp-conversations-business-initiated` categories to `usage_record` API
9
+
10
+ **Chat**
11
+ - Added v3 Channel update endpoint to support Public to Private channel migration
12
+
13
+ **Flex**
14
+ - Private Beta release of the Interactions API to support the upcoming release of Flex Conversations at the end of Q1 2022.
15
+ - Adding `channel_configs` object to Flex Configuration
16
+
17
+ **Media**
18
+ - Add max_duration param to PlayerStreamer
19
+
20
+ **Supersim**
21
+ - Remove Commands resource, use SmsCommands resource instead **(breaking change)**
22
+
23
+ **Taskrouter**
24
+ - Add limits to `split_by_wait_time` for Cumulative Statistics Endpoint
25
+
26
+ **Video**
27
+ - Change recording `status_callback_method` type from `enum` to `http_method` **(breaking change)**
28
+ - Add `status_callback` and `status_callback_method` to composition
29
+ - Add `status_callback` and `status_callback_method` to recording
30
+
31
+
32
+ [2022-03-09] Version 5.65.1
33
+ ---------------------------
34
+ **Library - Fix**
35
+ - [PR #602](https://github.com/twilio/twilio-ruby/pull/602): don't load webhook authentication if Rack not present. Thanks to [@philnash](https://github.com/philnash)!
36
+
37
+ **Library - Chore**
38
+ - [PR #599](https://github.com/twilio/twilio-ruby/pull/599): push Datadog Release Metric upon deploy success. Thanks to [@eshanholtz](https://github.com/eshanholtz)!
39
+
40
+ **Api**
41
+ - Add optional boolean include_soft_deleted parameter to retrieve soft deleted recordings
42
+
43
+ **Chat**
44
+ - Add `X-Twilio-Wehook-Enabled` header to `delete` method in UserChannel resource
45
+
46
+ **Numbers**
47
+ - Expose `failure_reason` in the Supporting Documents resources
48
+
49
+ **Verify**
50
+ - Add optional `metadata` parameter to "verify challenge" endpoint, so the SDK/App can attach relevant information from the device when responding to challenges.
51
+ - remove beta feature flag to list atempt api operations.
52
+ - Add `ttl` and `date_created` properties to `AccessTokens`.
53
+
54
+
55
+ [2022-02-23] Version 5.65.0
56
+ ---------------------------
57
+ **Api**
58
+ - Add `uri` to `stream` resource
59
+ - Add A2P Registration Fee category (`a2p-registration-fee`) to usage records
60
+ - Detected a bug and removed optional boolean include_soft_deleted parameter to retrieve soft deleted recordings. **(breaking change)**
61
+ - Add optional boolean include_soft_deleted parameter to retrieve soft deleted recordings.
62
+
63
+ **Numbers**
64
+ - Unrevert valid_until and sort filter params added to List Bundles resource
65
+ - Revert valid_until and sort filter params added to List Bundles resource
66
+ - Update sorting params added to List Bundles resource in the previous release
67
+
68
+ **Preview**
69
+ - Moved `web_channels` from preview to beta under `flex-api` **(breaking change)**
70
+
71
+ **Taskrouter**
72
+ - Add `ETag` as Response Header to List of Task, Reservation & Worker
73
+
74
+ **Verify**
75
+ - Remove outdated documentation commentary to contact sales. Product is already in public beta.
76
+ - Add optional `metadata` to factors.
77
+
78
+ **Twiml**
79
+ - Add new Polly Neural voices
80
+
81
+
4
82
  [2022-02-09] Version 5.64.0
5
83
  ---------------------------
6
84
  **Library - Chore**
data/README.md CHANGED
@@ -36,13 +36,13 @@ This library supports the following Ruby implementations:
36
36
  To install using [Bundler][bundler] grab the latest stable version:
37
37
 
38
38
  ```ruby
39
- gem 'twilio-ruby', '~> 5.64.0'
39
+ gem 'twilio-ruby', '~> 5.66.0'
40
40
  ```
41
41
 
42
42
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
43
43
 
44
44
  ```bash
45
- gem install twilio-ruby -v 5.64.0
45
+ gem install twilio-ruby -v 5.66.0
46
46
  ```
47
47
 
48
48
  To build and install the development branch yourself from the latest source:
@@ -63,8 +63,8 @@ module Twilio
63
63
  # @param [String] min_postal_code_length A positive integer that is used to
64
64
  # validate the length of the `PostalCode` inputted by the user. User must enter
65
65
  # this many digits.
66
- # @param [Hash] parameter A single level JSON string that is required when
67
- # accepting certain information specific only to ACH payments. The information
66
+ # @param [Hash] parameter A single-level JSON object used to pass custom
67
+ # parameters to payment processors. (Required for ACH payments). The information
68
68
  # that has to be included here depends on the <Pay> Connector. {Read
69
69
  # more}[https://www.twilio.com/console/voice/pay-connectors].
70
70
  # @param [String] payment_connector This is the unique name corresponding to the
@@ -578,6 +578,7 @@ module Twilio
578
578
  'name' => payload['name'],
579
579
  'status' => payload['status'],
580
580
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
581
+ 'uri' => payload['uri'],
581
582
  }
582
583
 
583
584
  # Context
@@ -637,6 +638,12 @@ module Twilio
637
638
  @properties['date_updated']
638
639
  end
639
640
 
641
+ ##
642
+ # @return [String] The URI of the resource, relative to `https://api.twilio.com`
643
+ def uri
644
+ @properties['uri']
645
+ end
646
+
640
647
  ##
641
648
  # Update the SiprecInstance
642
649
  # @param [siprec.UpdateStatus] status The status. Must have the value `stopped`
@@ -33,10 +33,10 @@ module Twilio
33
33
 
34
34
  ##
35
35
  # Create the StreamInstance
36
- # @param [String] name The user-specified name of this Stream, if one was given
37
- # when the Stream was created. This may be used to stop the Stream.
38
36
  # @param [String] url Relative or absolute url where WebSocket connection will be
39
37
  # established.
38
+ # @param [String] name The user-specified name of this Stream, if one was given
39
+ # when the Stream was created. This may be used to stop the Stream.
40
40
  # @param [stream.Track] track One of `inbound_track`, `outbound_track`,
41
41
  # `both_tracks`.
42
42
  # @param [String] status_callback Absolute URL of the status callback.
@@ -241,10 +241,10 @@ module Twilio
241
241
  # @param [String] parameter99_name Parameter name
242
242
  # @param [String] parameter99_value Parameter value
243
243
  # @return [StreamInstance] Created StreamInstance
244
- def create(name: :unset, url: :unset, track: :unset, status_callback: :unset, status_callback_method: :unset, parameter1_name: :unset, parameter1_value: :unset, parameter2_name: :unset, parameter2_value: :unset, parameter3_name: :unset, parameter3_value: :unset, parameter4_name: :unset, parameter4_value: :unset, parameter5_name: :unset, parameter5_value: :unset, parameter6_name: :unset, parameter6_value: :unset, parameter7_name: :unset, parameter7_value: :unset, parameter8_name: :unset, parameter8_value: :unset, parameter9_name: :unset, parameter9_value: :unset, parameter10_name: :unset, parameter10_value: :unset, parameter11_name: :unset, parameter11_value: :unset, parameter12_name: :unset, parameter12_value: :unset, parameter13_name: :unset, parameter13_value: :unset, parameter14_name: :unset, parameter14_value: :unset, parameter15_name: :unset, parameter15_value: :unset, parameter16_name: :unset, parameter16_value: :unset, parameter17_name: :unset, parameter17_value: :unset, parameter18_name: :unset, parameter18_value: :unset, parameter19_name: :unset, parameter19_value: :unset, parameter20_name: :unset, parameter20_value: :unset, parameter21_name: :unset, parameter21_value: :unset, parameter22_name: :unset, parameter22_value: :unset, parameter23_name: :unset, parameter23_value: :unset, parameter24_name: :unset, parameter24_value: :unset, parameter25_name: :unset, parameter25_value: :unset, parameter26_name: :unset, parameter26_value: :unset, parameter27_name: :unset, parameter27_value: :unset, parameter28_name: :unset, parameter28_value: :unset, parameter29_name: :unset, parameter29_value: :unset, parameter30_name: :unset, parameter30_value: :unset, parameter31_name: :unset, parameter31_value: :unset, parameter32_name: :unset, parameter32_value: :unset, parameter33_name: :unset, parameter33_value: :unset, parameter34_name: :unset, parameter34_value: :unset, parameter35_name: :unset, parameter35_value: :unset, parameter36_name: :unset, parameter36_value: :unset, parameter37_name: :unset, parameter37_value: :unset, parameter38_name: :unset, parameter38_value: :unset, parameter39_name: :unset, parameter39_value: :unset, parameter40_name: :unset, parameter40_value: :unset, parameter41_name: :unset, parameter41_value: :unset, parameter42_name: :unset, parameter42_value: :unset, parameter43_name: :unset, parameter43_value: :unset, parameter44_name: :unset, parameter44_value: :unset, parameter45_name: :unset, parameter45_value: :unset, parameter46_name: :unset, parameter46_value: :unset, parameter47_name: :unset, parameter47_value: :unset, parameter48_name: :unset, parameter48_value: :unset, parameter49_name: :unset, parameter49_value: :unset, parameter50_name: :unset, parameter50_value: :unset, parameter51_name: :unset, parameter51_value: :unset, parameter52_name: :unset, parameter52_value: :unset, parameter53_name: :unset, parameter53_value: :unset, parameter54_name: :unset, parameter54_value: :unset, parameter55_name: :unset, parameter55_value: :unset, parameter56_name: :unset, parameter56_value: :unset, parameter57_name: :unset, parameter57_value: :unset, parameter58_name: :unset, parameter58_value: :unset, parameter59_name: :unset, parameter59_value: :unset, parameter60_name: :unset, parameter60_value: :unset, parameter61_name: :unset, parameter61_value: :unset, parameter62_name: :unset, parameter62_value: :unset, parameter63_name: :unset, parameter63_value: :unset, parameter64_name: :unset, parameter64_value: :unset, parameter65_name: :unset, parameter65_value: :unset, parameter66_name: :unset, parameter66_value: :unset, parameter67_name: :unset, parameter67_value: :unset, parameter68_name: :unset, parameter68_value: :unset, parameter69_name: :unset, parameter69_value: :unset, parameter70_name: :unset, parameter70_value: :unset, parameter71_name: :unset, parameter71_value: :unset, parameter72_name: :unset, parameter72_value: :unset, parameter73_name: :unset, parameter73_value: :unset, parameter74_name: :unset, parameter74_value: :unset, parameter75_name: :unset, parameter75_value: :unset, parameter76_name: :unset, parameter76_value: :unset, parameter77_name: :unset, parameter77_value: :unset, parameter78_name: :unset, parameter78_value: :unset, parameter79_name: :unset, parameter79_value: :unset, parameter80_name: :unset, parameter80_value: :unset, parameter81_name: :unset, parameter81_value: :unset, parameter82_name: :unset, parameter82_value: :unset, parameter83_name: :unset, parameter83_value: :unset, parameter84_name: :unset, parameter84_value: :unset, parameter85_name: :unset, parameter85_value: :unset, parameter86_name: :unset, parameter86_value: :unset, parameter87_name: :unset, parameter87_value: :unset, parameter88_name: :unset, parameter88_value: :unset, parameter89_name: :unset, parameter89_value: :unset, parameter90_name: :unset, parameter90_value: :unset, parameter91_name: :unset, parameter91_value: :unset, parameter92_name: :unset, parameter92_value: :unset, parameter93_name: :unset, parameter93_value: :unset, parameter94_name: :unset, parameter94_value: :unset, parameter95_name: :unset, parameter95_value: :unset, parameter96_name: :unset, parameter96_value: :unset, parameter97_name: :unset, parameter97_value: :unset, parameter98_name: :unset, parameter98_value: :unset, parameter99_name: :unset, parameter99_value: :unset)
244
+ def create(url: nil, name: :unset, track: :unset, status_callback: :unset, status_callback_method: :unset, parameter1_name: :unset, parameter1_value: :unset, parameter2_name: :unset, parameter2_value: :unset, parameter3_name: :unset, parameter3_value: :unset, parameter4_name: :unset, parameter4_value: :unset, parameter5_name: :unset, parameter5_value: :unset, parameter6_name: :unset, parameter6_value: :unset, parameter7_name: :unset, parameter7_value: :unset, parameter8_name: :unset, parameter8_value: :unset, parameter9_name: :unset, parameter9_value: :unset, parameter10_name: :unset, parameter10_value: :unset, parameter11_name: :unset, parameter11_value: :unset, parameter12_name: :unset, parameter12_value: :unset, parameter13_name: :unset, parameter13_value: :unset, parameter14_name: :unset, parameter14_value: :unset, parameter15_name: :unset, parameter15_value: :unset, parameter16_name: :unset, parameter16_value: :unset, parameter17_name: :unset, parameter17_value: :unset, parameter18_name: :unset, parameter18_value: :unset, parameter19_name: :unset, parameter19_value: :unset, parameter20_name: :unset, parameter20_value: :unset, parameter21_name: :unset, parameter21_value: :unset, parameter22_name: :unset, parameter22_value: :unset, parameter23_name: :unset, parameter23_value: :unset, parameter24_name: :unset, parameter24_value: :unset, parameter25_name: :unset, parameter25_value: :unset, parameter26_name: :unset, parameter26_value: :unset, parameter27_name: :unset, parameter27_value: :unset, parameter28_name: :unset, parameter28_value: :unset, parameter29_name: :unset, parameter29_value: :unset, parameter30_name: :unset, parameter30_value: :unset, parameter31_name: :unset, parameter31_value: :unset, parameter32_name: :unset, parameter32_value: :unset, parameter33_name: :unset, parameter33_value: :unset, parameter34_name: :unset, parameter34_value: :unset, parameter35_name: :unset, parameter35_value: :unset, parameter36_name: :unset, parameter36_value: :unset, parameter37_name: :unset, parameter37_value: :unset, parameter38_name: :unset, parameter38_value: :unset, parameter39_name: :unset, parameter39_value: :unset, parameter40_name: :unset, parameter40_value: :unset, parameter41_name: :unset, parameter41_value: :unset, parameter42_name: :unset, parameter42_value: :unset, parameter43_name: :unset, parameter43_value: :unset, parameter44_name: :unset, parameter44_value: :unset, parameter45_name: :unset, parameter45_value: :unset, parameter46_name: :unset, parameter46_value: :unset, parameter47_name: :unset, parameter47_value: :unset, parameter48_name: :unset, parameter48_value: :unset, parameter49_name: :unset, parameter49_value: :unset, parameter50_name: :unset, parameter50_value: :unset, parameter51_name: :unset, parameter51_value: :unset, parameter52_name: :unset, parameter52_value: :unset, parameter53_name: :unset, parameter53_value: :unset, parameter54_name: :unset, parameter54_value: :unset, parameter55_name: :unset, parameter55_value: :unset, parameter56_name: :unset, parameter56_value: :unset, parameter57_name: :unset, parameter57_value: :unset, parameter58_name: :unset, parameter58_value: :unset, parameter59_name: :unset, parameter59_value: :unset, parameter60_name: :unset, parameter60_value: :unset, parameter61_name: :unset, parameter61_value: :unset, parameter62_name: :unset, parameter62_value: :unset, parameter63_name: :unset, parameter63_value: :unset, parameter64_name: :unset, parameter64_value: :unset, parameter65_name: :unset, parameter65_value: :unset, parameter66_name: :unset, parameter66_value: :unset, parameter67_name: :unset, parameter67_value: :unset, parameter68_name: :unset, parameter68_value: :unset, parameter69_name: :unset, parameter69_value: :unset, parameter70_name: :unset, parameter70_value: :unset, parameter71_name: :unset, parameter71_value: :unset, parameter72_name: :unset, parameter72_value: :unset, parameter73_name: :unset, parameter73_value: :unset, parameter74_name: :unset, parameter74_value: :unset, parameter75_name: :unset, parameter75_value: :unset, parameter76_name: :unset, parameter76_value: :unset, parameter77_name: :unset, parameter77_value: :unset, parameter78_name: :unset, parameter78_value: :unset, parameter79_name: :unset, parameter79_value: :unset, parameter80_name: :unset, parameter80_value: :unset, parameter81_name: :unset, parameter81_value: :unset, parameter82_name: :unset, parameter82_value: :unset, parameter83_name: :unset, parameter83_value: :unset, parameter84_name: :unset, parameter84_value: :unset, parameter85_name: :unset, parameter85_value: :unset, parameter86_name: :unset, parameter86_value: :unset, parameter87_name: :unset, parameter87_value: :unset, parameter88_name: :unset, parameter88_value: :unset, parameter89_name: :unset, parameter89_value: :unset, parameter90_name: :unset, parameter90_value: :unset, parameter91_name: :unset, parameter91_value: :unset, parameter92_name: :unset, parameter92_value: :unset, parameter93_name: :unset, parameter93_value: :unset, parameter94_name: :unset, parameter94_value: :unset, parameter95_name: :unset, parameter95_value: :unset, parameter96_name: :unset, parameter96_value: :unset, parameter97_name: :unset, parameter97_value: :unset, parameter98_name: :unset, parameter98_value: :unset, parameter99_name: :unset, parameter99_value: :unset)
245
245
  data = Twilio::Values.of({
246
- 'Name' => name,
247
246
  'Url' => url,
247
+ 'Name' => name,
248
248
  'Track' => track,
249
249
  'StatusCallback' => status_callback,
250
250
  'StatusCallbackMethod' => status_callback_method,
@@ -578,6 +578,7 @@ module Twilio
578
578
  'name' => payload['name'],
579
579
  'status' => payload['status'],
580
580
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
581
+ 'uri' => payload['uri'],
581
582
  }
582
583
 
583
584
  # Context
@@ -637,6 +638,12 @@ module Twilio
637
638
  @properties['date_updated']
638
639
  end
639
640
 
641
+ ##
642
+ # @return [String] The URI of the resource, relative to `https://api.twilio.com`
643
+ def uri
644
+ @properties['uri']
645
+ end
646
+
640
647
  ##
641
648
  # Update the StreamInstance
642
649
  # @param [stream.UpdateStatus] status The status. Must have the value `stopped`
@@ -39,6 +39,9 @@ module Twilio
39
39
  # to read.
40
40
  # @param [String] conference_sid The Conference SID that identifies the conference
41
41
  # associated with the recording to read.
42
+ # @param [Boolean] include_soft_deleted A boolean parameter indicating whether to
43
+ # retrieve soft deleted recordings or not. Recordings metadata are kept after
44
+ # deletion for a retention period of 40 days.
42
45
  # @param [Integer] limit Upper limit for the number of records to return. stream()
43
46
  # guarantees to never return more than limit. Default is no limit
44
47
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -46,13 +49,14 @@ module Twilio
46
49
  # but a limit is defined, stream() will attempt to read the limit with the most
47
50
  # efficient page size, i.e. min(limit, 1000)
48
51
  # @return [Array] Array of up to limit results
49
- def list(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, conference_sid: :unset, limit: nil, page_size: nil)
52
+ def list(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, conference_sid: :unset, include_soft_deleted: :unset, limit: nil, page_size: nil)
50
53
  self.stream(
51
54
  date_created_before: date_created_before,
52
55
  date_created: date_created,
53
56
  date_created_after: date_created_after,
54
57
  call_sid: call_sid,
55
58
  conference_sid: conference_sid,
59
+ include_soft_deleted: include_soft_deleted,
56
60
  limit: limit,
57
61
  page_size: page_size
58
62
  ).entries
@@ -70,6 +74,9 @@ module Twilio
70
74
  # to read.
71
75
  # @param [String] conference_sid The Conference SID that identifies the conference
72
76
  # associated with the recording to read.
77
+ # @param [Boolean] include_soft_deleted A boolean parameter indicating whether to
78
+ # retrieve soft deleted recordings or not. Recordings metadata are kept after
79
+ # deletion for a retention period of 40 days.
73
80
  # @param [Integer] limit Upper limit for the number of records to return. stream()
74
81
  # guarantees to never return more than limit. Default is no limit.
75
82
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -77,7 +84,7 @@ module Twilio
77
84
  # but a limit is defined, stream() will attempt to read the limit with the most
78
85
  # efficient page size, i.e. min(limit, 1000)
79
86
  # @return [Enumerable] Enumerable that will yield up to limit results
80
- def stream(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, conference_sid: :unset, limit: nil, page_size: nil)
87
+ def stream(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, conference_sid: :unset, include_soft_deleted: :unset, limit: nil, page_size: nil)
81
88
  limits = @version.read_limits(limit, page_size)
82
89
 
83
90
  page = self.page(
@@ -86,6 +93,7 @@ module Twilio
86
93
  date_created_after: date_created_after,
87
94
  call_sid: call_sid,
88
95
  conference_sid: conference_sid,
96
+ include_soft_deleted: include_soft_deleted,
89
97
  page_size: limits[:page_size],
90
98
  )
91
99
 
@@ -117,17 +125,21 @@ module Twilio
117
125
  # to read.
118
126
  # @param [String] conference_sid The Conference SID that identifies the conference
119
127
  # associated with the recording to read.
128
+ # @param [Boolean] include_soft_deleted A boolean parameter indicating whether to
129
+ # retrieve soft deleted recordings or not. Recordings metadata are kept after
130
+ # deletion for a retention period of 40 days.
120
131
  # @param [String] page_token PageToken provided by the API
121
132
  # @param [Integer] page_number Page Number, this value is simply for client state
122
133
  # @param [Integer] page_size Number of records to return, defaults to 50
123
134
  # @return [Page] Page of RecordingInstance
124
- def page(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, conference_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
135
+ def page(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, conference_sid: :unset, include_soft_deleted: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
125
136
  params = Twilio::Values.of({
126
137
  'DateCreated<' => Twilio.serialize_iso8601_datetime(date_created_before),
127
138
  'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
128
139
  'DateCreated>' => Twilio.serialize_iso8601_datetime(date_created_after),
129
140
  'CallSid' => call_sid,
130
141
  'ConferenceSid' => conference_sid,
142
+ 'IncludeSoftDeleted' => include_soft_deleted,
131
143
  'PageToken' => page_token,
132
144
  'Page' => page_number,
133
145
  'PageSize' => page_size,
@@ -211,9 +223,14 @@ module Twilio
211
223
 
212
224
  ##
213
225
  # Fetch the RecordingInstance
226
+ # @param [Boolean] include_soft_deleted A boolean parameter indicating whether to
227
+ # retrieve soft deleted recordings or not. Recordings metadata are kept after
228
+ # deletion for a retention period of 40 days.
214
229
  # @return [RecordingInstance] Fetched RecordingInstance
215
- def fetch
216
- payload = @version.fetch('GET', @uri)
230
+ def fetch(include_soft_deleted: :unset)
231
+ params = Twilio::Values.of({'IncludeSoftDeleted' => include_soft_deleted, })
232
+
233
+ payload = @version.fetch('GET', @uri, params: params)
217
234
 
218
235
  RecordingInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
219
236
  end
@@ -446,9 +463,12 @@ module Twilio
446
463
 
447
464
  ##
448
465
  # Fetch the RecordingInstance
466
+ # @param [Boolean] include_soft_deleted A boolean parameter indicating whether to
467
+ # retrieve soft deleted recordings or not. Recordings metadata are kept after
468
+ # deletion for a retention period of 40 days.
449
469
  # @return [RecordingInstance] Fetched RecordingInstance
450
- def fetch
451
- context.fetch
470
+ def fetch(include_soft_deleted: :unset)
471
+ context.fetch(include_soft_deleted: include_soft_deleted, )
452
472
  end
453
473
 
454
474
  ##
@@ -193,9 +193,13 @@ module Twilio
193
193
 
194
194
  ##
195
195
  # Delete the UserChannelInstance
196
+ # @param [user_channel.WebhookEnabledType] x_twilio_webhook_enabled The
197
+ # X-Twilio-Webhook-Enabled HTTP request header
196
198
  # @return [Boolean] true if delete succeeds, false otherwise
197
- def delete
198
- @version.delete('DELETE', @uri)
199
+ def delete(x_twilio_webhook_enabled: :unset)
200
+ headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
201
+
202
+ @version.delete('DELETE', @uri, headers: headers)
199
203
  end
200
204
 
201
205
  ##
@@ -377,9 +381,11 @@ module Twilio
377
381
 
378
382
  ##
379
383
  # Delete the UserChannelInstance
384
+ # @param [user_channel.WebhookEnabledType] x_twilio_webhook_enabled The
385
+ # X-Twilio-Webhook-Enabled HTTP request header
380
386
  # @return [Boolean] true if delete succeeds, false otherwise
381
- def delete
382
- context.delete
387
+ def delete(x_twilio_webhook_enabled: :unset)
388
+ context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
383
389
  end
384
390
 
385
391
  ##
@@ -0,0 +1,275 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Chat < Domain
12
+ class V3 < Version
13
+ class ChannelList < ListResource
14
+ ##
15
+ # Initialize the ChannelList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [ChannelList] ChannelList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.Chat.V3.ChannelList>'
29
+ end
30
+ end
31
+
32
+ class ChannelPage < Page
33
+ ##
34
+ # Initialize the ChannelPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [ChannelPage] ChannelPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of ChannelInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [ChannelInstance] ChannelInstance
50
+ def get_instance(payload)
51
+ ChannelInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Chat.V3.ChannelPage>'
58
+ end
59
+ end
60
+
61
+ class ChannelContext < InstanceContext
62
+ ##
63
+ # Initialize the ChannelContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @param [String] service_sid The unique SID identifier of the Service.
66
+ # @param [String] sid A 34 character string that uniquely identifies this Channel.
67
+ # @return [ChannelContext] ChannelContext
68
+ def initialize(version, service_sid, sid)
69
+ super(version)
70
+
71
+ # Path Solution
72
+ @solution = {service_sid: service_sid, sid: sid, }
73
+ @uri = "/Services/#{@solution[:service_sid]}/Channels/#{@solution[:sid]}"
74
+ end
75
+
76
+ ##
77
+ # Update the ChannelInstance
78
+ # @param [channel.ChannelType] type TThe Type for this Channel to migrate to. Can
79
+ # only be `private`. Migration to 'public' is not allowed.
80
+ # @param [String] messaging_service_sid The unique ID of the {Messaging
81
+ # Service}[https://www.twilio.com/docs/sms/services/api] this channel belongs to.
82
+ # @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
83
+ # X-Twilio-Webhook-Enabled HTTP request header
84
+ # @return [ChannelInstance] Updated ChannelInstance
85
+ def update(type: :unset, messaging_service_sid: :unset, x_twilio_webhook_enabled: :unset)
86
+ data = Twilio::Values.of({'Type' => type, 'MessagingServiceSid' => messaging_service_sid, })
87
+ headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
88
+
89
+ payload = @version.update('POST', @uri, data: data, headers: headers)
90
+
91
+ ChannelInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
92
+ end
93
+
94
+ ##
95
+ # Provide a user friendly representation
96
+ def to_s
97
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
98
+ "#<Twilio.Chat.V3.ChannelContext #{context}>"
99
+ end
100
+
101
+ ##
102
+ # Provide a detailed, user friendly representation
103
+ def inspect
104
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
105
+ "#<Twilio.Chat.V3.ChannelContext #{context}>"
106
+ end
107
+ end
108
+
109
+ class ChannelInstance < InstanceResource
110
+ ##
111
+ # Initialize the ChannelInstance
112
+ # @param [Version] version Version that contains the resource
113
+ # @param [Hash] payload payload that contains response from Twilio
114
+ # @param [String] service_sid The unique SID identifier of the Service.
115
+ # @param [String] sid A 34 character string that uniquely identifies this Channel.
116
+ # @return [ChannelInstance] ChannelInstance
117
+ def initialize(version, payload, service_sid: nil, sid: nil)
118
+ super(version)
119
+
120
+ # Marshaled Properties
121
+ @properties = {
122
+ 'sid' => payload['sid'],
123
+ 'account_sid' => payload['account_sid'],
124
+ 'service_sid' => payload['service_sid'],
125
+ 'friendly_name' => payload['friendly_name'],
126
+ 'unique_name' => payload['unique_name'],
127
+ 'attributes' => payload['attributes'],
128
+ 'type' => payload['type'],
129
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
130
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
131
+ 'created_by' => payload['created_by'],
132
+ 'members_count' => payload['members_count'].to_i,
133
+ 'messages_count' => payload['messages_count'].to_i,
134
+ 'messaging_service_sid' => payload['messaging_service_sid'],
135
+ 'url' => payload['url'],
136
+ }
137
+
138
+ # Context
139
+ @instance_context = nil
140
+ @params = {
141
+ 'service_sid' => service_sid || @properties['service_sid'],
142
+ 'sid' => sid || @properties['sid'],
143
+ }
144
+ end
145
+
146
+ ##
147
+ # Generate an instance context for the instance, the context is capable of
148
+ # performing various actions. All instance actions are proxied to the context
149
+ # @return [ChannelContext] ChannelContext for this ChannelInstance
150
+ def context
151
+ unless @instance_context
152
+ @instance_context = ChannelContext.new(@version, @params['service_sid'], @params['sid'], )
153
+ end
154
+ @instance_context
155
+ end
156
+
157
+ ##
158
+ # @return [String] The unique string that identifies the resource
159
+ def sid
160
+ @properties['sid']
161
+ end
162
+
163
+ ##
164
+ # @return [String] The SID of the Account that created the resource
165
+ def account_sid
166
+ @properties['account_sid']
167
+ end
168
+
169
+ ##
170
+ # @return [String] The SID of the Service that the resource is associated with
171
+ def service_sid
172
+ @properties['service_sid']
173
+ end
174
+
175
+ ##
176
+ # @return [String] The string that you assigned to describe the resource
177
+ def friendly_name
178
+ @properties['friendly_name']
179
+ end
180
+
181
+ ##
182
+ # @return [String] An application-defined string that uniquely identifies the resource
183
+ def unique_name
184
+ @properties['unique_name']
185
+ end
186
+
187
+ ##
188
+ # @return [String] The JSON string that stores application-specific data
189
+ def attributes
190
+ @properties['attributes']
191
+ end
192
+
193
+ ##
194
+ # @return [channel.ChannelType] The visibility of the channel. Can be: `public` or `private`
195
+ def type
196
+ @properties['type']
197
+ end
198
+
199
+ ##
200
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
201
+ def date_created
202
+ @properties['date_created']
203
+ end
204
+
205
+ ##
206
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
207
+ def date_updated
208
+ @properties['date_updated']
209
+ end
210
+
211
+ ##
212
+ # @return [String] The identity of the User that created the channel
213
+ def created_by
214
+ @properties['created_by']
215
+ end
216
+
217
+ ##
218
+ # @return [String] The number of Members in the Channel
219
+ def members_count
220
+ @properties['members_count']
221
+ end
222
+
223
+ ##
224
+ # @return [String] The number of Messages that have been passed in the Channel
225
+ def messages_count
226
+ @properties['messages_count']
227
+ end
228
+
229
+ ##
230
+ # @return [String] The unique ID of the Messaging Service this channel belongs to.
231
+ def messaging_service_sid
232
+ @properties['messaging_service_sid']
233
+ end
234
+
235
+ ##
236
+ # @return [String] The absolute URL of the Channel resource
237
+ def url
238
+ @properties['url']
239
+ end
240
+
241
+ ##
242
+ # Update the ChannelInstance
243
+ # @param [channel.ChannelType] type TThe Type for this Channel to migrate to. Can
244
+ # only be `private`. Migration to 'public' is not allowed.
245
+ # @param [String] messaging_service_sid The unique ID of the {Messaging
246
+ # Service}[https://www.twilio.com/docs/sms/services/api] this channel belongs to.
247
+ # @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
248
+ # X-Twilio-Webhook-Enabled HTTP request header
249
+ # @return [ChannelInstance] Updated ChannelInstance
250
+ def update(type: :unset, messaging_service_sid: :unset, x_twilio_webhook_enabled: :unset)
251
+ context.update(
252
+ type: type,
253
+ messaging_service_sid: messaging_service_sid,
254
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
255
+ )
256
+ end
257
+
258
+ ##
259
+ # Provide a user friendly representation
260
+ def to_s
261
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
262
+ "<Twilio.Chat.V3.ChannelInstance #{values}>"
263
+ end
264
+
265
+ ##
266
+ # Provide a detailed, user friendly representation
267
+ def inspect
268
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
269
+ "<Twilio.Chat.V3.ChannelInstance #{values}>"
270
+ end
271
+ end
272
+ end
273
+ end
274
+ end
275
+ end