twilio-ruby 5.65.0 → 5.66.1

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/pr-lint.yml +15 -0
  3. data/.github/workflows/test-and-deploy.yml +5 -0
  4. data/CHANGES.md +64 -0
  5. data/README.md +2 -4
  6. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +2 -2
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +4 -4
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +0 -7
  9. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +27 -7
  10. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
  11. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  12. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  13. data/lib/twilio-ruby/rest/chat.rb +16 -0
  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/supporting_document.rb +7 -0
  30. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +3 -55
  31. data/lib/twilio-ruby/rest/supersim/v1.rb +0 -16
  32. data/lib/twilio-ruby/rest/supersim.rb +0 -9
  33. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -2
  34. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -2
  35. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -2
  36. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +18 -1
  37. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +22 -4
  38. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +2 -1
  39. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  40. data/lib/twilio-ruby/rest/verify/v2.rb +7 -0
  41. data/lib/twilio-ruby/rest/verify.rb +6 -0
  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 +12 -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: 2e90fafb6816881836f5ceb1a9e9fbf4c8ab7b1f
4
- data.tar.gz: 8506a936bb4d704851066cc99577b3a897a4c61a
3
+ metadata.gz: 27cd5b2536a7ece409f2f6222f9743446e7ed44f
4
+ data.tar.gz: 2d2d5e161f40f11b388f9118eebd120e9c5ba765
5
5
  SHA512:
6
- metadata.gz: 6ed63525ff5e54ea2002e696432752125a26a80a3d0a73959d98e96247e09e9845906bc62d9b86a5026eef22fc05a36ab1dc3555d30c91db0ef3a442e78d18a8
7
- data.tar.gz: cef0e7825363d18d6dae30e3ab444a9e1bd8187dcc46361f99c51d0258b161b693a4cbe600a259342109ef591f7649c4dc6ed7ad54788a119b4e27e4b3e3c29a
6
+ metadata.gz: 32503dca86f69127f882feec36ad61d9c91f01379ae60f10bed3f9d410e30399d3436bbd097ff063a9359f100c83173b82b9203fd1871500694ef81cec6cb911
7
+ data.tar.gz: d426b5f3df1f6a991f0c829623dd5c67d17de0f7068ac79b586911e4dc8afb3052ac781fa5e152b7c5c63adf9f7696732ed072527457d523e3b13d4fc49574a0
@@ -0,0 +1,15 @@
1
+ name: Lint PR
2
+ on:
3
+ pull_request_target:
4
+ types: [ opened, edited, reopened ]
5
+
6
+ jobs:
7
+ validate:
8
+ name: Validate title
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: amannn/action-semantic-pull-request@v4
12
+ with:
13
+ types: chore docs fix feat test
14
+ env:
15
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -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,70 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2022-04-06] Version 5.66.1
5
+ ---------------------------
6
+ **Api**
7
+ - Updated `provider_sid` visibility to private
8
+
9
+ **Verify**
10
+ - Verify List Attempts API summary endpoint added.
11
+ - Update PII documentation for `AccessTokens` `factor_friendly_name` property.
12
+
13
+ **Voice**
14
+ - make annotation parameter from /Calls API private
15
+
16
+
17
+ [2022-03-23] Version 5.66.0
18
+ ---------------------------
19
+ **Api**
20
+ - Change `stream` url parameter to non optional
21
+ - Add `verify-totp` and `verify-whatsapp-conversations-business-initiated` categories to `usage_record` API
22
+
23
+ **Chat**
24
+ - Added v3 Channel update endpoint to support Public to Private channel migration
25
+
26
+ **Flex**
27
+ - Private Beta release of the Interactions API to support the upcoming release of Flex Conversations at the end of Q1 2022.
28
+ - Adding `channel_configs` object to Flex Configuration
29
+
30
+ **Media**
31
+ - Add max_duration param to PlayerStreamer
32
+
33
+ **Supersim**
34
+ - Remove Commands resource, use SmsCommands resource instead **(breaking change)**
35
+
36
+ **Taskrouter**
37
+ - Add limits to `split_by_wait_time` for Cumulative Statistics Endpoint
38
+
39
+ **Video**
40
+ - Change recording `status_callback_method` type from `enum` to `http_method` **(breaking change)**
41
+ - Add `status_callback` and `status_callback_method` to composition
42
+ - Add `status_callback` and `status_callback_method` to recording
43
+
44
+
45
+ [2022-03-09] Version 5.65.1
46
+ ---------------------------
47
+ **Library - Fix**
48
+ - [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)!
49
+
50
+ **Library - Chore**
51
+ - [PR #599](https://github.com/twilio/twilio-ruby/pull/599): push Datadog Release Metric upon deploy success. Thanks to [@eshanholtz](https://github.com/eshanholtz)!
52
+
53
+ **Api**
54
+ - Add optional boolean include_soft_deleted parameter to retrieve soft deleted recordings
55
+
56
+ **Chat**
57
+ - Add `X-Twilio-Wehook-Enabled` header to `delete` method in UserChannel resource
58
+
59
+ **Numbers**
60
+ - Expose `failure_reason` in the Supporting Documents resources
61
+
62
+ **Verify**
63
+ - Add optional `metadata` parameter to "verify challenge" endpoint, so the SDK/App can attach relevant information from the device when responding to challenges.
64
+ - remove beta feature flag to list atempt api operations.
65
+ - Add `ttl` and `date_created` properties to `AccessTokens`.
66
+
67
+
4
68
  [2022-02-23] Version 5.65.0
5
69
  ---------------------------
6
70
  **Api**
data/README.md CHANGED
@@ -4,8 +4,6 @@
4
4
  [![Gem Version](https://img.shields.io/gem/v/twilio-ruby.svg)](https://rubygems.org/gems/twilio-ruby)
5
5
  [![Learn with TwilioQuest](https://img.shields.io/static/v1?label=TwilioQuest&message=Learn%20to%20contribute%21&color=F22F46&labelColor=1f243c&style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAASFBMVEUAAAAZGRkcHBwjIyMoKCgAAABgYGBoaGiAgICMjIyzs7PJycnMzMzNzc3UoBfd3d3m5ubqrhfrMEDu7u739/f4vSb/3AD///9tbdyEAAAABXRSTlMAAAAAAMJrBrEAAAKoSURBVHgB7ZrRcuI6EESdyxXGYoNFvMD//+l2bSszRgyUYpFAsXOeiJGmj4NkuWx1Qeh+Ekl9DgEXOBwOx+Px5xyQhDykfgq4wG63MxxaR4ddIkg6Ul3g84vCIcjPBA5gmUMeXESrlukuoK33+33uID8TWeLAdOWsKpJYzwVMB7bOzYSGOciyUlXSn0/ABXTosJ1M1SbypZ4O4MbZuIDMU02PMbauhhHMHXbmebmALIiEbbbbbUrpF1gwE9kFfRNAJaP+FQEXCCTGyJ4ngDrjOFo3jEL5JdqjF/pueR4cCeCGgAtwmuRS6gDwaRiGvu+DMFwSBLTE3+jF8JyuV1okPZ+AC4hDFhCHyHQjdjPHUKFDlHSJkHQXMB3KpSwXNGJPcwwTdZiXlRN0gSp0zpWxNtM0beYE0nRH6QIbO7rawwXaBYz0j78gxjokDuv12gVeUuBD0MDi0OQCLvDaAho4juP1Q/jkAncXqIcCfd+7gAu4QLMACCLxpRsSuQh0igu0C9Svhi7weAGZg50L3IE3cai4IfkNZAC8dfdhsUD3CgKBVC9JE5ABAFzg4QL/taYPAAWrHdYcgfLaIgAXWJ7OV38n1LEF8tt2TH29E+QAoDoO5Ve/LtCQDmKM9kPbvCEBApK+IXzbcSJ0cIGF6e8gpcRhUDogWZ8JnaWjPXc/fNnBBUKRngiHgTUSivSzDRDgHZQOLvBQgf8rRt+VdBUUhwkU6VpJ+xcOwQUqZr+mR0kvBUgv6cB4+37hQAkXqE8PwGisGhJtN4xAHMzrsgvI7rccXqSvKh6jltGlrOHA3Xk1At3LC4QiPdX9/0ndHpGVvTjR4bZA1ypAKgVcwE5vx74ulwIugDt8e/X7JgfkucBMIAr26ndnB4UCLnDOqvteQsHlgX9N4A+c4cW3DXSPbwAAAABJRU5ErkJggg==)](https://twil.io/learn-open-source)
6
6
 
7
- **The default branch name for this repository has been changed to `main` as of 07/27/2020.**
8
-
9
7
  ## Documentation
10
8
 
11
9
  The documentation for the Twilio API can be found [here][apidocs].
@@ -36,13 +34,13 @@ This library supports the following Ruby implementations:
36
34
  To install using [Bundler][bundler] grab the latest stable version:
37
35
 
38
36
  ```ruby
39
- gem 'twilio-ruby', '~> 5.65.0'
37
+ gem 'twilio-ruby', '~> 5.66.1'
40
38
  ```
41
39
 
42
40
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
43
41
 
44
42
  ```bash
45
- gem install twilio-ruby -v 5.65.0
43
+ gem install twilio-ruby -v 5.66.1
46
44
  ```
47
45
 
48
46
  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
@@ -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,
@@ -684,7 +684,6 @@ module Twilio
684
684
  'price_unit' => payload['price_unit'],
685
685
  'direction' => payload['direction'],
686
686
  'answered_by' => payload['answered_by'],
687
- 'annotation' => payload['annotation'],
688
687
  'api_version' => payload['api_version'],
689
688
  'forwarded_from' => payload['forwarded_from'],
690
689
  'group_sid' => payload['group_sid'],
@@ -819,12 +818,6 @@ module Twilio
819
818
  @properties['answered_by']
820
819
  end
821
820
 
822
- ##
823
- # @return [String] The annotation provided for the call
824
- def annotation
825
- @properties['annotation']
826
- end
827
-
828
821
  ##
829
822
  # @return [String] The API Version used to create the call
830
823
  def api_version
@@ -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