twilio-ruby 5.44.0 → 5.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGES.md +97 -0
  4. data/LICENSE +1 -1
  5. data/README.md +16 -2
  6. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +1 -1
  7. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +14 -9
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +13 -13
  9. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +1 -1
  10. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +10 -5
  11. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +17 -12
  12. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  13. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +5 -5
  14. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +6 -3
  15. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +1 -1
  16. data/lib/twilio-ruby/rest/bulkexports.rb +4 -2
  17. data/lib/twilio-ruby/rest/bulkexports/v1.rb +4 -2
  18. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +7 -4
  19. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +7 -4
  20. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +5 -3
  21. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +5 -3
  22. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +5 -3
  23. data/lib/twilio-ruby/rest/chat/v1/service.rb +5 -5
  24. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +6 -6
  25. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +3 -3
  26. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +3 -3
  27. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +9 -9
  28. data/lib/twilio-ruby/rest/chat/v2/service.rb +5 -5
  29. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +7 -7
  30. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +6 -6
  31. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +3 -3
  32. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +3 -3
  33. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +27 -24
  34. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +9 -9
  35. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +10 -10
  36. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +9 -9
  37. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +1 -1
  38. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  39. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +9 -9
  40. data/lib/twilio-ruby/rest/conversations/v1/role.rb +9 -9
  41. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +7 -7
  42. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  43. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +1 -1
  44. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  45. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +9 -9
  46. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +9 -9
  47. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +8 -1
  48. data/lib/twilio-ruby/rest/conversations/v1/user.rb +8 -1
  49. data/lib/twilio-ruby/rest/events/v1/sink.rb +4 -2
  50. data/lib/twilio-ruby/rest/events/v1/subscription.rb +3 -2
  51. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  52. data/lib/twilio-ruby/rest/flex_api/v1.rb +1 -1
  53. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  54. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +18 -4
  55. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +88 -76
  56. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  57. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +8 -9
  58. data/lib/twilio-ruby/rest/insights/v1/room.rb +7 -7
  59. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +1 -1
  60. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +3 -3
  61. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +3 -3
  62. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +3 -3
  63. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +3 -3
  64. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +4 -4
  65. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +3 -3
  66. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +7 -7
  67. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +3 -3
  68. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +3 -3
  69. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +3 -3
  70. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +6 -6
  71. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +4 -4
  72. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +4 -4
  73. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +16 -16
  74. data/lib/twilio-ruby/rest/messaging.rb +22 -0
  75. data/lib/twilio-ruby/rest/messaging/v1.rb +37 -0
  76. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +328 -0
  77. data/lib/twilio-ruby/rest/messaging/v1/campaign.rb +387 -0
  78. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +1 -1
  79. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +1 -1
  80. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +1 -1
  81. data/lib/twilio-ruby/rest/messaging/v1/use_case.rb +198 -0
  82. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +16 -15
  83. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +18 -18
  84. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  85. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  86. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  87. data/lib/twilio-ruby/rest/preview.rb +4 -23
  88. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +4 -2
  89. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +7 -4
  90. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +7 -4
  91. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +5 -3
  92. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +5 -3
  93. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +5 -3
  94. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +13 -13
  95. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  96. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +8 -8
  97. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  98. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -30
  99. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +2 -2
  100. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +2 -2
  101. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +1 -1
  102. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +2 -2
  103. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +2 -2
  104. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +1 -1
  105. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +1 -1
  106. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +1 -1
  107. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +17 -7
  108. data/lib/twilio-ruby/rest/studio/v2/flow.rb +6 -14
  109. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +0 -8
  110. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  111. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  112. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  113. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +2 -10
  114. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  115. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  116. data/lib/twilio-ruby/rest/supersim/v1/command.rb +4 -4
  117. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +33 -12
  118. data/lib/twilio-ruby/rest/supersim/v1/network.rb +5 -5
  119. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +6 -6
  120. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +5 -5
  121. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +4 -4
  122. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +3 -3
  123. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  124. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +16 -36
  125. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  126. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -25
  127. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +24 -43
  128. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  129. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -25
  130. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +25 -44
  131. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +1 -9
  132. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +5 -23
  133. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +1 -7
  134. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +17 -17
  135. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +10 -10
  136. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +1 -1
  137. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +10 -10
  138. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +1 -1
  139. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  140. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +1 -1
  141. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +1 -1
  142. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +3 -3
  143. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +1 -1
  144. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +10 -10
  145. data/lib/twilio-ruby/rest/video/v1/composition.rb +16 -15
  146. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +26 -26
  147. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
  148. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  149. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
  150. data/lib/twilio-ruby/rest/video/v1/room.rb +10 -3
  151. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +1 -1
  152. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +1 -1
  153. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +1 -1
  154. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +4 -4
  155. data/lib/twilio-ruby/twiml/voice_response.rb +18 -8
  156. data/lib/twilio-ruby/version.rb +1 -1
  157. data/spec/integration/api/v2010/account/conference_spec.rb +302 -44
  158. data/spec/integration/conversations/v1/conversation/participant_spec.rb +30 -10
  159. data/spec/integration/conversations/v1/service/configuration_spec.rb +2 -0
  160. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +30 -10
  161. data/spec/integration/conversations/v1/service/user_spec.rb +9 -4
  162. data/spec/integration/conversations/v1/user_spec.rb +9 -4
  163. data/spec/integration/events/v1/sink_spec.rb +14 -0
  164. data/spec/integration/flex_api/v1/configuration_spec.rb +24 -0
  165. data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
  166. data/spec/integration/messaging/v1/brand_registration_spec.rb +143 -0
  167. data/spec/integration/messaging/v1/campaign_spec.rb +194 -0
  168. data/spec/integration/messaging/v1/use_case_spec.rb +55 -0
  169. data/spec/integration/preview/sync/service/document_spec.rb +1 -3
  170. data/spec/integration/serverless/v1/service/build_spec.rb +12 -2
  171. data/spec/integration/supersim/v1/fleet_spec.rb +8 -0
  172. data/spec/integration/sync/v1/service/document_spec.rb +1 -3
  173. data/spec/integration/video/v1/room_spec.rb +5 -0
  174. data/spec/twiml/voice_response_spec.rb +1 -1
  175. metadata +11 -17
  176. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
  177. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -213
  178. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
  179. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
  180. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
  181. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
  182. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
  183. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
  184. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -45
  185. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25b9a80929c3df4642cd76f98ce86a882e1bf8d733fd76f49227ebf6ba83fe35
4
- data.tar.gz: 94646f27aa014c80d920769a412b08ff5fe67268c9845788b0bac5038ffb0a08
3
+ metadata.gz: 6700c468ebeba0a532743b8fda07b0611eba016340131154d55d96066e7b2dd8
4
+ data.tar.gz: ffc4dcf43f721f14576d2088c86c224d5b62a46cc78d61858010a0f0e89f1208
5
5
  SHA512:
6
- metadata.gz: a82ce2ac98e222bc3f30fb64ea8a50a32a9c9eb2237fcf7a4d3457f6fad74b8076c1bff4033c0f1eda132d6c72be3bb48d05b23fd0343856ccb26729d096dce5
7
- data.tar.gz: 0d82c12c2cfec754797746b89108b98df9b5a07f2b2f23f79f3a2dbe87156ae124c62e43ca65a4093645e56149d5b3e7c3061d762d7c05ee5190e004ede49301
6
+ metadata.gz: 2ded7f1d5f29833cda6ccd65c7d732a4c21f747cee61564898ec73ca3bce24d866046010ca7665f504537dcaf59e4c1b56f18719bc0ead92ed6185ef6646d6ad
7
+ data.tar.gz: 9636e0a2664beb12524698215bdb20104d6415d0be295cb363886ead20e43febd4797edd9b159239ee58607a3ac0adaf5fa3f10129a6d18382d0a4c8e6a48240
data/.travis.yml CHANGED
@@ -4,6 +4,7 @@ bundler_args: --without development
4
4
 
5
5
  rvm:
6
6
  - ruby-head
7
+ - 3.0
7
8
  - 2.7
8
9
  - 2.6
9
10
  - 2.5
data/CHANGES.md CHANGED
@@ -1,6 +1,103 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2021-02-10] Version 5.47.0
5
+ ---------------------------
6
+ **Library - Fix**
7
+ - [PR #548](https://github.com/twilio/twilio-ruby/pull/548): shortcut syntax for new non-GA versions. Thanks to [@eshanholtz](https://github.com/eshanholtz)!
8
+
9
+ **Api**
10
+ - Revert change that conference participant create `from` and `to` param to be endpoint type for supporting client identifier and sip address
11
+ - Update the conference participant create `from` and `to` param to be endpoint type for supporting client identifier and sip address
12
+
13
+ **Events**
14
+ - Documentation should state that no fields are PII
15
+
16
+ **Flex**
17
+ - Adding `notifications` and `markdown` to Flex Configuration
18
+
19
+ **Messaging**
20
+ - Add A2P use cases API
21
+ - Add Brand Registrations API
22
+ - Add Campaigns API
23
+
24
+ **Serverless**
25
+ - Add runtime field to Build response and as an optional parameter to the Build create endpoint.
26
+ - Add @twilio/runtime-handler dependency to Build response example.
27
+
28
+ **Sync**
29
+ - Remove If-Match header for Document **(breaking change)**
30
+
31
+ **Twiml**
32
+ - Add `refer_url` and `refer_method` to `Dial`.
33
+
34
+
35
+ [2021-01-27] Version 5.46.1
36
+ ---------------------------
37
+ **Library - Docs**
38
+ - [PR #547](https://github.com/twilio/twilio-ruby/pull/547): Document how to use an API Key. Thanks to [@davetron5000](https://github.com/davetron5000)!
39
+
40
+ **Studio**
41
+ - Studio V2 API is now GA
42
+
43
+ **Supersim**
44
+ - Allow updating `CommandsUrl` and `CommandsMethod` on a Fleet
45
+
46
+ **Twiml**
47
+ - Add `status_callback` and `status_callback_method` to `Stream`.
48
+
49
+
50
+ [2021-01-13] Version 5.46.0
51
+ ---------------------------
52
+ **Library - Docs**
53
+ - [PR #546](https://github.com/twilio/twilio-ruby/pull/546): Fixing docs for list parameter types. Thanks to [@shwetha-manvinkurke](https://github.com/shwetha-manvinkurke)!
54
+
55
+ **Library - Fix**
56
+ - [PR #545](https://github.com/twilio/twilio-ruby/pull/545): Adds Ruby 3.0 to Travis. Fixes test. Thanks to [@philnash](https://github.com/philnash)!
57
+
58
+ **Api**
59
+ - Add 'Electric Imp v1 Usage' to usage categories
60
+
61
+ **Conversations**
62
+ - Changed `last_read_message_index` type in Participant's resource **(breaking change)**
63
+
64
+ **Insights**
65
+ - Added `created_time` to call summary.
66
+
67
+ **Sync**
68
+ - Remove HideExpired query parameter for filtering Sync Documents with expired **(breaking change)**
69
+
70
+ **Video**
71
+ - [Rooms] Expose maxConcurrentPublishedTracks property in Room resource
72
+
73
+
74
+ [2020-12-16] Version 5.45.1
75
+ ---------------------------
76
+ **Api**
77
+ - Updated `call_event` default_output_properties to request and response.
78
+
79
+ **Conversations**
80
+ - Added `last_read_message_index` and `last_read_timestamp` to Participant's resource update operation
81
+ - Added `is_notifiable` and `is_online` to User's resource
82
+ - Added `reachability_enabled` parameters to update method for Conversation Service Configuration resource
83
+
84
+ **Messaging**
85
+ - Added WA template quick reply, URL, and phone number buttons
86
+
87
+ **Twiml**
88
+ - Add `sequential` to `Dial`.
89
+
90
+
91
+ [2020-12-08] Version 5.45.0
92
+ ---------------------------
93
+ **Api**
94
+ - Added optional `RecordingTrack` parameter for create calls, create participants, and create call recordings
95
+ - Removed deprecated Programmable Chat usage record categories **(breaking change)**
96
+
97
+ **Twiml**
98
+ - Add `recordingTrack` to `Dial`.
99
+
100
+
4
101
  [2020-12-02] Version 5.44.0
5
102
  ---------------------------
6
103
  **Api**
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (C) 2020, Twilio, Inc. <help@twilio.com>
3
+ Copyright (C) 2021, Twilio, Inc. <help@twilio.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
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.44.0'
37
+ gem 'twilio-ruby', '~> 5.47.0'
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.44.0
43
+ gem install twilio-ruby -v 5.47.0
44
44
  ```
45
45
 
46
46
  To build and install the development branch yourself from the latest source:
@@ -66,6 +66,20 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
66
66
  @client = Twilio::REST::Client.new account_sid, auth_token
67
67
  ```
68
68
 
69
+ ### Use An API Key
70
+
71
+ ```ruby
72
+ require 'twilio-ruby'
73
+
74
+ # put your own credentials here
75
+ account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
76
+ api_key_sid = 'zzzzzzzzzzzzzzzzzzzzzz'
77
+ api_key_secret = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
78
+
79
+ # set up a client to talk to the Twilio REST API using an API Key
80
+ @client = Twilio::REST::Client.new api_key_sid, api_key_secret, account_sid
81
+ ```
82
+
69
83
  ### Specify a Region and/or Edge
70
84
 
71
85
  To take advantage of Twilio's [Global Infrastructure](https://www.twilio.com/docs/global-infrastructure), specify the target Region and/or Edge for the client:
@@ -288,7 +288,7 @@ module Twilio
288
288
  end
289
289
 
290
290
  ##
291
- # @return [authorized_connect_app.Permission] Permissions authorized to the app
291
+ # @return [Array[authorized_connect_app.Permission]] Permissions authorized to the app
292
292
  def permissions
293
293
  @properties['permissions']
294
294
  end
@@ -52,10 +52,10 @@ module Twilio
52
52
  # `status_callback_event` is specified, we will send the `completed` status. If an
53
53
  # `application_sid` parameter is present, this parameter is ignored. URLs must
54
54
  # contain a valid hostname (underscores are not permitted).
55
- # @param [String] status_callback_event The call progress events that we will send
56
- # to the `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, and
57
- # `completed`. If no event is specified, we send the `completed` status. If you
58
- # want to receive multiple events, specify each one in a separate
55
+ # @param [Array[String]] status_callback_event The call progress events that we
56
+ # will send to the `status_callback` URL. Can be: `initiated`, `ringing`,
57
+ # `answered`, and `completed`. If no event is specified, we send the `completed`
58
+ # status. If you want to receive multiple events, specify each one in a separate
59
59
  # `status_callback_event` parameter. See the code sample for {monitoring call
60
60
  # progress}[https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json].
61
61
  # If an `application_sid` is present, this parameter is ignored.
@@ -106,10 +106,10 @@ module Twilio
106
106
  # @param [String] machine_detection_timeout The number of seconds that we should
107
107
  # attempt to detect an answering machine before timing out and sending a voice
108
108
  # request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
109
- # @param [String] recording_status_callback_event The recording status events that
110
- # will trigger calls to the URL specified in `recording_status_callback`. Can be:
111
- # `in-progress`, `completed` and `absent`. Defaults to `completed`. Separate
112
- # multiple values with a space.
109
+ # @param [Array[String]] recording_status_callback_event The recording status
110
+ # events that will trigger calls to the URL specified in
111
+ # `recording_status_callback`. Can be: `in-progress`, `completed` and `absent`.
112
+ # Defaults to `completed`. Separate multiple values with a space.
113
113
  # @param [String] trim Whether to trim any leading and trailing silence from the
114
114
  # recording. Can be: `trim-silence` or `do-not-trim` and the default is
115
115
  # `trim-silence`.
@@ -142,6 +142,10 @@ module Twilio
142
142
  # @param [String] call_reason The Reason for the outgoing call. Use it to specify
143
143
  # the purpose of the call that is presented on the called party's phone. (Branded
144
144
  # Calls Beta)
145
+ # @param [String] recording_track The audio track to record for the call. Can be:
146
+ # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
147
+ # audio that is received by Twilio. `outbound` records the audio that is generated
148
+ # from Twilio. `both` records the audio that is received and generated by Twilio.
145
149
  # @param [String] url The absolute URL that returns the TwiML instructions for the
146
150
  # call. We will call this URL using the `method` when the call connects. For more
147
151
  # information, see the {Url
@@ -153,7 +157,7 @@ module Twilio
153
157
  # @param [String] application_sid The SID of the Application resource that will
154
158
  # handle the call, if the call will be handled by an application.
155
159
  # @return [CallInstance] Created CallInstance
156
- def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, recording_status_callback_event: :unset, trim: :unset, caller_id: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, async_amd: :unset, async_amd_status_callback: :unset, async_amd_status_callback_method: :unset, byoc: :unset, call_reason: :unset, url: :unset, twiml: :unset, application_sid: :unset)
160
+ def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, recording_status_callback_event: :unset, trim: :unset, caller_id: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, async_amd: :unset, async_amd_status_callback: :unset, async_amd_status_callback_method: :unset, byoc: :unset, call_reason: :unset, recording_track: :unset, url: :unset, twiml: :unset, application_sid: :unset)
157
161
  data = Twilio::Values.of({
158
162
  'To' => to,
159
163
  'From' => from,
@@ -187,6 +191,7 @@ module Twilio
187
191
  'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
188
192
  'Byoc' => byoc,
189
193
  'CallReason' => call_reason,
194
+ 'RecordingTrack' => recording_track,
190
195
  })
191
196
 
192
197
  payload = @version.create('POST', @uri, data: data)
@@ -92,8 +92,8 @@ module Twilio
92
92
  # @param [String] quality_score The call quality expressed as an integer from `1`
93
93
  # to `5` where `1` represents very poor call quality and `5` represents a perfect
94
94
  # call.
95
- # @param [feedback.Issues] issue A list of one or more issues experienced during
96
- # the call. Issues can be: `imperfect-audio`, `dropped-call`,
95
+ # @param [Array[feedback.Issues]] issue A list of one or more issues experienced
96
+ # during the call. Issues can be: `imperfect-audio`, `dropped-call`,
97
97
  # `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`,
98
98
  # `audio-latency`, `unsolicited-call`, or `one-way-audio`.
99
99
  # @return [FeedbackInstance] Created FeedbackInstance
@@ -132,10 +132,10 @@ module Twilio
132
132
  # @param [String] quality_score The call quality expressed as an integer from `1`
133
133
  # to `5` where `1` represents very poor call quality and `5` represents a perfect
134
134
  # call.
135
- # @param [feedback.Issues] issue One or more issues experienced during the call.
136
- # The issues can be: `imperfect-audio`, `dropped-call`, `incorrect-caller-id`,
137
- # `post-dial-delay`, `digits-not-captured`, `audio-latency`, `unsolicited-call`,
138
- # or `one-way-audio`.
135
+ # @param [Array[feedback.Issues]] issue One or more issues experienced during the
136
+ # call. The issues can be: `imperfect-audio`, `dropped-call`,
137
+ # `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`,
138
+ # `audio-latency`, `unsolicited-call`, or `one-way-audio`.
139
139
  # @return [FeedbackInstance] Updated FeedbackInstance
140
140
  def update(quality_score: nil, issue: :unset)
141
141
  data = Twilio::Values.of({
@@ -227,7 +227,7 @@ module Twilio
227
227
  end
228
228
 
229
229
  ##
230
- # @return [feedback.Issues] Issues experienced during the call
230
+ # @return [Array[feedback.Issues]] Issues experienced during the call
231
231
  def issues
232
232
  @properties['issues']
233
233
  end
@@ -249,8 +249,8 @@ module Twilio
249
249
  # @param [String] quality_score The call quality expressed as an integer from `1`
250
250
  # to `5` where `1` represents very poor call quality and `5` represents a perfect
251
251
  # call.
252
- # @param [feedback.Issues] issue A list of one or more issues experienced during
253
- # the call. Issues can be: `imperfect-audio`, `dropped-call`,
252
+ # @param [Array[feedback.Issues]] issue A list of one or more issues experienced
253
+ # during the call. Issues can be: `imperfect-audio`, `dropped-call`,
254
254
  # `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`,
255
255
  # `audio-latency`, `unsolicited-call`, or `one-way-audio`.
256
256
  # @return [FeedbackInstance] Created FeedbackInstance
@@ -270,10 +270,10 @@ module Twilio
270
270
  # @param [String] quality_score The call quality expressed as an integer from `1`
271
271
  # to `5` where `1` represents very poor call quality and `5` represents a perfect
272
272
  # call.
273
- # @param [feedback.Issues] issue One or more issues experienced during the call.
274
- # The issues can be: `imperfect-audio`, `dropped-call`, `incorrect-caller-id`,
275
- # `post-dial-delay`, `digits-not-captured`, `audio-latency`, `unsolicited-call`,
276
- # or `one-way-audio`.
273
+ # @param [Array[feedback.Issues]] issue One or more issues experienced during the
274
+ # call. The issues can be: `imperfect-audio`, `dropped-call`,
275
+ # `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`,
276
+ # `audio-latency`, `unsolicited-call`, or `one-way-audio`.
277
277
  # @return [FeedbackInstance] Updated FeedbackInstance
278
278
  def update(quality_score: nil, issue: :unset)
279
279
  context.update(quality_score: quality_score, issue: issue, )
@@ -237,7 +237,7 @@ module Twilio
237
237
  end
238
238
 
239
239
  ##
240
- # @return [String] Issues experienced during the call
240
+ # @return [Array[String]] Issues experienced during the call
241
241
  def issues
242
242
  @properties['issues']
243
243
  end
@@ -33,10 +33,10 @@ module Twilio
33
33
 
34
34
  ##
35
35
  # Create the RecordingInstance
36
- # @param [String] recording_status_callback_event The recording status events on
37
- # which we should call the `recording_status_callback` URL. Can be: `in-progress`,
38
- # `completed` and `absent` and the default is `completed`. Separate multiple event
39
- # values with a space.
36
+ # @param [Array[String]] recording_status_callback_event The recording status
37
+ # events on which we should call the `recording_status_callback` URL. Can be:
38
+ # `in-progress`, `completed` and `absent` and the default is `completed`. Separate
39
+ # multiple event values with a space.
40
40
  # @param [String] recording_status_callback The URL we should call using the
41
41
  # `recording_status_callback_method` on each recording event specified in
42
42
  # `recording_status_callback_event`. For more information, see
@@ -53,14 +53,19 @@ module Twilio
53
53
  # Can be: `mono` or `dual` and the default is `mono`. `mono` records all parties
54
54
  # of the call into one channel. `dual` records each party of a 2-party call into
55
55
  # separate channels.
56
+ # @param [String] recording_track The audio track to record for the call. Can be:
57
+ # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
58
+ # audio that is received by Twilio. `outbound` records the audio that is generated
59
+ # from Twilio. `both` records the audio that is received and generated by Twilio.
56
60
  # @return [RecordingInstance] Created RecordingInstance
57
- def create(recording_status_callback_event: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, trim: :unset, recording_channels: :unset)
61
+ def create(recording_status_callback_event: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, trim: :unset, recording_channels: :unset, recording_track: :unset)
58
62
  data = Twilio::Values.of({
59
63
  'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
60
64
  'RecordingStatusCallback' => recording_status_callback,
61
65
  'RecordingStatusCallbackMethod' => recording_status_callback_method,
62
66
  'Trim' => trim,
63
67
  'RecordingChannels' => recording_channels,
68
+ 'RecordingTrack' => recording_track,
64
69
  })
65
70
 
66
71
  payload = @version.create('POST', @uri, data: data)
@@ -52,8 +52,8 @@ module Twilio
52
52
  # `status_callback_method` to send status information to your application.
53
53
  # @param [String] status_callback_method The HTTP method we should use to call
54
54
  # `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
55
- # @param [String] status_callback_event The conference state changes that should
56
- # generate a call to `status_callback`. Can be: `initiated`, `ringing`,
55
+ # @param [Array[String]] status_callback_event The conference state changes that
56
+ # should generate a call to `status_callback`. Can be: `initiated`, `ringing`,
57
57
  # `answered`, and `completed`. Separate multiple values with a space. The default
58
58
  # value is `completed`.
59
59
  # @param [String] label A label for this participant. If one is supplied, it may
@@ -105,10 +105,10 @@ module Twilio
105
105
  # @param [String] conference_status_callback_method The HTTP method we should use
106
106
  # to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to
107
107
  # `POST`.
108
- # @param [String] conference_status_callback_event The conference state changes
109
- # that should generate a call to `conference_status_callback`. Can be: `start`,
110
- # `end`, `join`, `leave`, `mute`, `hold`, and `speaker`. Separate multiple values
111
- # with a space. Defaults to `start end`.
108
+ # @param [Array[String]] conference_status_callback_event The conference state
109
+ # changes that should generate a call to `conference_status_callback`. Can be:
110
+ # `start`, `end`, `join`, `leave`, `mute`, `hold`, and `speaker`. Separate
111
+ # multiple values with a space. Defaults to `start end`.
112
112
  # @param [String] recording_channels The recording channels for the final
113
113
  # recording. Can be: `mono` or `dual` and the default is `mono`.
114
114
  # @param [String] recording_status_callback The URL that we should call using the
@@ -128,11 +128,11 @@ module Twilio
128
128
  # @param [String] conference_recording_status_callback_method The HTTP method we
129
129
  # should use to call `conference_recording_status_callback`. Can be: `GET` or
130
130
  # `POST` and defaults to `POST`.
131
- # @param [String] recording_status_callback_event The recording state changes that
132
- # should generate a call to `recording_status_callback`. Can be: `in-progress`,
133
- # `completed`, and `failed`. Separate multiple values with a space. The default
134
- # value is `in-progress completed failed`.
135
- # @param [String] conference_recording_status_callback_event The conference
131
+ # @param [Array[String]] recording_status_callback_event The recording state
132
+ # changes that should generate a call to `recording_status_callback`. Can be:
133
+ # `in-progress`, `completed`, and `failed`. Separate multiple values with a space.
134
+ # The default value is `in-progress completed failed`.
135
+ # @param [Array[String]] conference_recording_status_callback_event The conference
136
136
  # recording state changes that generate a call to
137
137
  # `conference_recording_status_callback`. Can be: `in-progress`, `completed`, and
138
138
  # `failed`. Separate multiple values with a space. The default value is
@@ -162,8 +162,12 @@ module Twilio
162
162
  # @param [String] call_reason The Reason for the outgoing call. Use it to specify
163
163
  # the purpose of the call that is presented on the called party's phone. (Branded
164
164
  # Calls Beta)
165
+ # @param [String] recording_track The audio track to record for the call. Can be:
166
+ # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
167
+ # audio that is received by Twilio. `outbound` records the audio that is sent from
168
+ # Twilio. `both` records the audio that is received and sent by Twilio.
165
169
  # @return [ParticipantInstance] Created ParticipantInstance
166
- 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)
170
+ 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)
167
171
  data = Twilio::Values.of({
168
172
  'From' => from,
169
173
  'To' => to,
@@ -202,6 +206,7 @@ module Twilio
202
206
  'Byoc' => byoc,
203
207
  'CallerId' => caller_id,
204
208
  'CallReason' => call_reason,
209
+ 'RecordingTrack' => recording_track,
205
210
  })
206
211
 
207
212
  payload = @version.create('POST', @uri, data: data)
@@ -189,7 +189,7 @@ module Twilio
189
189
  # the resource. It can be up to 64 characters long.
190
190
  # @param [String] homepage_url A public URL where users can obtain more
191
191
  # information about this Connect App.
192
- # @param [connect_app.Permission] permissions A comma-separated list of the
192
+ # @param [Array[connect_app.Permission]] permissions A comma-separated list of the
193
193
  # permissions you will request from the users of this ConnectApp. Can include:
194
194
  # `get-all` and `post-all`.
195
195
  # @return [ConnectAppInstance] Updated ConnectAppInstance
@@ -331,7 +331,7 @@ module Twilio
331
331
  end
332
332
 
333
333
  ##
334
- # @return [connect_app.Permission] The set of permissions that your ConnectApp requests
334
+ # @return [Array[connect_app.Permission]] The set of permissions that your ConnectApp requests
335
335
  def permissions
336
336
  @properties['permissions']
337
337
  end
@@ -369,7 +369,7 @@ module Twilio
369
369
  # the resource. It can be up to 64 characters long.
370
370
  # @param [String] homepage_url A public URL where users can obtain more
371
371
  # information about this Connect App.
372
- # @param [connect_app.Permission] permissions A comma-separated list of the
372
+ # @param [Array[connect_app.Permission]] permissions A comma-separated list of the
373
373
  # permissions you will request from the users of this ConnectApp. Can include:
374
374
  # `get-all` and `post-all`.
375
375
  # @return [ConnectAppInstance] Updated ConnectAppInstance
@@ -77,7 +77,7 @@ module Twilio
77
77
  # can be stored or obfuscated based on privacy settings
78
78
  # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a
79
79
  # similar GSM-7 character and replace them. Can be: `true` or `false`.
80
- # @param [String] persistent_action Rich actions for Channels Messages.
80
+ # @param [Array[String]] persistent_action Rich actions for Channels Messages.
81
81
  # @param [String] from A Twilio phone number in
82
82
  # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, an {alphanumeric
83
83
  # sender
@@ -99,10 +99,10 @@ module Twilio
99
99
  # delivery.
100
100
  # @param [String] body The text of the message you want to send. Can be up to
101
101
  # 1,600 characters in length.
102
- # @param [String] media_url The URL of the media to send with the message. The
103
- # media can be of type `gif`, `png`, and `jpeg` and will be formatted correctly on
104
- # the recipient's device. The media size limit is 5MB for supported file types
105
- # (JPEG, PNG, GIF) and 500KB for {other
102
+ # @param [Array[String]] media_url The URL of the media to send with the message.
103
+ # The media can be of type `gif`, `png`, and `jpeg` and will be formatted
104
+ # correctly on the recipient's device. The media size limit is 5MB for supported
105
+ # file types (JPEG, PNG, GIF) and 500KB for {other
106
106
  # types}[https://www.twilio.com/docs/sms/accepted-mime-types] of accepted media.
107
107
  # To send more than one image in the message body, provide multiple `media_url`
108
108
  # parameters in the POST request. You can include up to 10 `media_url` parameters