twilio-ruby 5.72.0 → 5.77.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 (199) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +8 -2
  3. data/.github/workflows/test-and-deploy.yml +3 -3
  4. data/CHANGES.md +234 -0
  5. data/CONTRIBUTING.md +1 -7
  6. data/LICENSE +1 -1
  7. data/README.md +132 -45
  8. data/advanced-examples/custom-http-client.md +170 -0
  9. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +19 -3
  10. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +22 -3
  11. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
  12. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
  13. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
  14. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
  15. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
  16. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
  17. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
  18. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +1 -1
  19. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  20. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  23. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +59 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +56 -17
  25. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  26. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +5 -5
  27. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +17 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  29. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +6 -6
  30. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +1 -1
  32. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +1 -1
  33. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  34. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  35. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  36. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  37. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  38. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  40. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  41. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  43. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
  44. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -1
  45. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  46. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  47. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  48. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  49. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  50. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  51. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  52. data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
  53. data/lib/twilio-ruby/rest/chat/v3/channel.rb +2 -2
  54. data/lib/twilio-ruby/rest/client.rb +14 -0
  55. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  56. data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
  57. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +240 -0
  58. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +254 -0
  59. data/lib/twilio-ruby/rest/content/v1.rb +59 -0
  60. data/lib/twilio-ruby/rest/content.rb +59 -0
  61. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  62. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +17 -2
  63. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +43 -5
  64. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
  65. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +17 -2
  66. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +43 -5
  67. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +1 -1
  68. data/lib/twilio-ruby/rest/events/v1/schema.rb +1 -1
  69. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +1 -1
  70. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +397 -0
  71. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +314 -0
  72. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +216 -0
  73. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +394 -0
  74. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +313 -0
  75. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +390 -0
  76. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +413 -0
  77. data/lib/twilio-ruby/rest/{preview/trusted_comms/brands_information.rb → flex_api/v1/insights_session.rb} +58 -55
  78. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +144 -0
  79. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +130 -0
  80. data/lib/twilio-ruby/rest/{preview/trusted_comms/cps.rb → flex_api/v1/insights_user_roles.rb} +42 -54
  81. data/lib/twilio-ruby/rest/flex_api/v1.rb +122 -0
  82. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  83. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  84. data/lib/twilio-ruby/rest/flex_api.rb +89 -0
  85. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
  86. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +16 -3
  87. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +1 -1
  88. data/lib/twilio-ruby/rest/insights/v1/room.rb +3 -3
  89. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  90. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  91. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  92. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  93. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  94. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  95. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  96. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
  97. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +88 -6
  98. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +1 -1
  99. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +2 -2
  100. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +1 -1
  101. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +134 -0
  102. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +26 -3
  103. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  104. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +242 -0
  105. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +226 -0
  106. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +218 -0
  107. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +98 -3
  108. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1 -1
  109. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +165 -1
  110. data/lib/twilio-ruby/rest/messaging/v1.rb +75 -0
  111. data/lib/twilio-ruby/rest/messaging.rb +36 -0
  112. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +317 -0
  113. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +310 -0
  114. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +192 -0
  115. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +25 -0
  116. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +342 -0
  117. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +335 -0
  118. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +61 -0
  119. data/lib/twilio-ruby/rest/microvisor/v1.rb +32 -0
  120. data/lib/twilio-ruby/rest/microvisor.rb +16 -0
  121. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  122. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +111 -0
  123. data/lib/twilio-ruby/rest/numbers/v1.rb +35 -0
  124. data/lib/twilio-ruby/rest/numbers.rb +13 -0
  125. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  126. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  127. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  128. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  129. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  130. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  131. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  132. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  133. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  134. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  135. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  136. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  137. data/lib/twilio-ruby/rest/preview.rb +0 -33
  138. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  139. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -14
  140. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
  141. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  142. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  143. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  144. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  145. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +21 -1
  146. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +1 -1
  147. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +5 -2
  148. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  149. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +3 -3
  150. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +4 -4
  151. data/lib/twilio-ruby/rest/supersim/v1.rb +7 -0
  152. data/lib/twilio-ruby/rest/supersim.rb +6 -0
  153. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +1 -1
  154. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
  155. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  156. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +18 -5
  157. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +3 -3
  158. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +12 -12
  159. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
  160. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
  161. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  162. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
  163. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  164. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +9 -3
  165. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +13 -13
  166. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  167. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  168. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +13 -13
  169. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
  170. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  171. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +1 -9
  172. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +1 -7
  173. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +0 -8
  174. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +0 -8
  175. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +0 -6
  176. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +0 -8
  177. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
  178. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +12 -6
  179. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +0 -8
  180. data/lib/twilio-ruby/rest/verify/v2/service.rb +4 -4
  181. data/lib/twilio-ruby/rest/verify/v2/template.rb +10 -3
  182. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +4 -4
  183. data/lib/twilio-ruby/rest/video/v1/composition.rb +3 -3
  184. data/lib/twilio-ruby/rest/video/v1/recording.rb +2 -2
  185. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +2 -2
  186. data/lib/twilio-ruby/rest/video/v1/room.rb +4 -4
  187. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  188. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  189. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  190. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +3 -3
  191. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
  192. data/lib/twilio-ruby/twiml/voice_response.rb +132 -33
  193. data/lib/twilio-ruby/version.rb +1 -1
  194. data/twilio-ruby.gemspec +1 -1
  195. metadata +48 -12
  196. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  197. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  198. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  199. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
@@ -11,8 +11,6 @@ module Twilio
11
11
  class Verify < Domain
12
12
  class V2 < Version
13
13
  class ServiceContext < InstanceContext
14
- ##
15
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
14
  class EntityList < ListResource
17
15
  ##
18
16
  # Initialize the EntityList
@@ -129,8 +127,6 @@ module Twilio
129
127
  end
130
128
  end
131
129
 
132
- ##
133
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
134
130
  class EntityPage < Page
135
131
  ##
136
132
  # Initialize the EntityPage
@@ -160,8 +156,6 @@ module Twilio
160
156
  end
161
157
  end
162
158
 
163
- ##
164
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
165
159
  class EntityContext < InstanceContext
166
160
  ##
167
161
  # Initialize the EntityContext
@@ -281,8 +275,6 @@ module Twilio
281
275
  end
282
276
  end
283
277
 
284
- ##
285
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
286
278
  class EntityInstance < InstanceResource
287
279
  ##
288
280
  # Initialize the EntityInstance
@@ -267,8 +267,8 @@ module Twilio
267
267
  'rate_limit_sid' => payload['rate_limit_sid'],
268
268
  'service_sid' => payload['service_sid'],
269
269
  'account_sid' => payload['account_sid'],
270
- 'max' => payload['max'].to_i,
271
- 'interval' => payload['interval'].to_i,
270
+ 'max' => payload['max'] == nil ? payload['max'] : payload['max'].to_i,
271
+ 'interval' => payload['interval'] == nil ? payload['interval'] : payload['interval'].to_i,
272
272
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
273
273
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
274
274
  'url' => payload['url'],
@@ -34,7 +34,7 @@ module Twilio
34
34
  # be in {E.164 format}[https://www.twilio.com/docs/glossary/what-e164].
35
35
  # @param [String] channel The verification method to use. One of:
36
36
  # {`email`}[https://www.twilio.com/docs/verify/email], `sms`, `whatsapp`, `call`,
37
- # or `sna`.
37
+ # `sna` or `auto`.
38
38
  # @param [String] custom_friendly_name A custom user defined friendly name that
39
39
  # overwrites the existing one in the verification message
40
40
  # @param [String] custom_message The text of a custom message to use for the
@@ -44,9 +44,11 @@ module Twilio
44
44
  # Voice documentation of
45
45
  # {sendDigits}[https://www.twilio.com/docs/voice/twiml/number#attributes-sendDigits].
46
46
  # @param [String] locale Locale will automatically resolve based on phone number
47
- # country code for SMS, WhatsApp and call channel verifications. This parameter
48
- # will override the automatic locale. {See supported languages and more
49
- # information here.}[https://www.twilio.com/docs/verify/supported-languages].
47
+ # country code for SMS, WhatsApp, and call channel verifications. It will fallback
48
+ # to English or the template’s default translation if the selected translation is
49
+ # not available. This parameter will override the automatic locale resolution.
50
+ # {See supported languages and more information
51
+ # here}[https://www.twilio.com/docs/verify/supported-languages].
50
52
  # @param [String] custom_code A pre-generated code to use for verification. The
51
53
  # code can be between 4 and 10 characters, inclusive.
52
54
  # @param [String] amount The amount of the associated PSD2 compliant transaction.
@@ -68,12 +70,15 @@ module Twilio
68
70
  # Example SMS body: `<#> Your AppName verification code is: 1234 He42w354ol9`.
69
71
  # @param [String] template_sid The message
70
72
  # {template}[https://www.twilio.com/docs/verify/api/templates]. If provided, will
71
- # override the default template for the Service. SMS channel only.
73
+ # override the default template for the Service. SMS and Voice channels only.
72
74
  # @param [String] template_custom_substitutions A stringified JSON object in which
73
75
  # the keys are the template's special variables and the values are the variables
74
76
  # substitutions.
77
+ # @param [String] device_ip Strongly encouraged if using the auto channel. The IP
78
+ # address of the client's device. If provided, it has to be a valid IPv4 or IPv6
79
+ # address.
75
80
  # @return [VerificationInstance] Created VerificationInstance
76
- def create(to: nil, channel: nil, custom_friendly_name: :unset, custom_message: :unset, send_digits: :unset, locale: :unset, custom_code: :unset, amount: :unset, payee: :unset, rate_limits: :unset, channel_configuration: :unset, app_hash: :unset, template_sid: :unset, template_custom_substitutions: :unset)
81
+ def create(to: nil, channel: nil, custom_friendly_name: :unset, custom_message: :unset, send_digits: :unset, locale: :unset, custom_code: :unset, amount: :unset, payee: :unset, rate_limits: :unset, channel_configuration: :unset, app_hash: :unset, template_sid: :unset, template_custom_substitutions: :unset, device_ip: :unset)
77
82
  data = Twilio::Values.of({
78
83
  'To' => to,
79
84
  'Channel' => channel,
@@ -89,6 +94,7 @@ module Twilio
89
94
  'AppHash' => app_hash,
90
95
  'TemplateSid' => template_sid,
91
96
  'TemplateCustomSubstitutions' => template_custom_substitutions,
97
+ 'DeviceIp' => device_ip,
92
98
  })
93
99
 
94
100
  payload = @version.create('POST', @uri, data: data)
@@ -11,8 +11,6 @@ module Twilio
11
11
  class Verify < Domain
12
12
  class V2 < Version
13
13
  class ServiceContext < InstanceContext
14
- ##
15
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
14
  class WebhookList < ListResource
17
15
  ##
18
16
  # Initialize the WebhookList
@@ -142,8 +140,6 @@ module Twilio
142
140
  end
143
141
  end
144
142
 
145
- ##
146
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
147
143
  class WebhookPage < Page
148
144
  ##
149
145
  # Initialize the WebhookPage
@@ -173,8 +169,6 @@ module Twilio
173
169
  end
174
170
  end
175
171
 
176
- ##
177
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
178
172
  class WebhookContext < InstanceContext
179
173
  ##
180
174
  # Initialize the WebhookContext
@@ -250,8 +244,6 @@ module Twilio
250
244
  end
251
245
  end
252
246
 
253
- ##
254
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
255
247
  class WebhookInstance < InstanceResource
256
248
  ##
257
249
  # Initialize the WebhookInstance
@@ -26,7 +26,7 @@ module Twilio
26
26
  ##
27
27
  # Create the ServiceInstance
28
28
  # @param [String] friendly_name A descriptive string that you create to describe
29
- # the verification service. It can be up to 30 characters long. **This value
29
+ # the verification service. It can be up to 32 characters long. **This value
30
30
  # should not contain PII.**
31
31
  # @param [String] code_length The length of the verification code to generate.
32
32
  # Must be an integer value between 4 and 10, inclusive.
@@ -264,7 +264,7 @@ module Twilio
264
264
  ##
265
265
  # Update the ServiceInstance
266
266
  # @param [String] friendly_name A descriptive string that you create to describe
267
- # the verification service. It can be up to 30 characters long. **This value
267
+ # the verification service. It can be up to 32 characters long. **This value
268
268
  # should not contain PII.**
269
269
  # @param [String] code_length The length of the verification code to generate.
270
270
  # Must be an integer value between 4 and 10, inclusive.
@@ -491,7 +491,7 @@ module Twilio
491
491
  'sid' => payload['sid'],
492
492
  'account_sid' => payload['account_sid'],
493
493
  'friendly_name' => payload['friendly_name'],
494
- 'code_length' => payload['code_length'].to_i,
494
+ 'code_length' => payload['code_length'] == nil ? payload['code_length'] : payload['code_length'].to_i,
495
495
  'lookup_enabled' => payload['lookup_enabled'],
496
496
  'psd2_enabled' => payload['psd2_enabled'],
497
497
  'skip_sms_to_landlines' => payload['skip_sms_to_landlines'],
@@ -649,7 +649,7 @@ module Twilio
649
649
  ##
650
650
  # Update the ServiceInstance
651
651
  # @param [String] friendly_name A descriptive string that you create to describe
652
- # the verification service. It can be up to 30 characters long. **This value
652
+ # the verification service. It can be up to 32 characters long. **This value
653
653
  # should not contain PII.**
654
654
  # @param [String] code_length The length of the verification code to generate.
655
655
  # Must be an integer value between 4 and 10, inclusive.
@@ -28,7 +28,7 @@ module Twilio
28
28
  # Unlike stream(), this operation is eager and will load `limit` records into
29
29
  # memory before returning.
30
30
  # @param [String] friendly_name String filter used to query templates with a given
31
- # friendly name
31
+ # friendly name.
32
32
  # @param [Integer] limit Upper limit for the number of records to return. stream()
33
33
  # guarantees to never return more than limit. Default is no limit
34
34
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -45,7 +45,7 @@ module Twilio
45
45
  # This operation lazily loads records as efficiently as possible until the limit
46
46
  # is reached.
47
47
  # @param [String] friendly_name String filter used to query templates with a given
48
- # friendly name
48
+ # friendly name.
49
49
  # @param [Integer] limit Upper limit for the number of records to return. stream()
50
50
  # guarantees to never return more than limit. Default is no limit.
51
51
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -79,7 +79,7 @@ module Twilio
79
79
  # Retrieve a single page of TemplateInstance records from the API.
80
80
  # Request is executed immediately.
81
81
  # @param [String] friendly_name String filter used to query templates with a given
82
- # friendly name
82
+ # friendly name.
83
83
  # @param [String] page_token PageToken provided by the API
84
84
  # @param [Integer] page_number Page Number, this value is simply for client state
85
85
  # @param [Integer] page_size Number of records to return, defaults to 50
@@ -160,6 +160,7 @@ module Twilio
160
160
  'sid' => payload['sid'],
161
161
  'account_sid' => payload['account_sid'],
162
162
  'friendly_name' => payload['friendly_name'],
163
+ 'channels' => payload['channels'],
163
164
  'translations' => payload['translations'],
164
165
  }
165
166
  end
@@ -182,6 +183,12 @@ module Twilio
182
183
  @properties['friendly_name']
183
184
  end
184
185
 
186
+ ##
187
+ # @return [Array[String]] A list of channels that support the Template
188
+ def channels
189
+ @properties['channels']
190
+ end
191
+
185
192
  ##
186
193
  # @return [Hash] Object with the template translations.
187
194
  def translations
@@ -131,10 +131,10 @@ module Twilio
131
131
 
132
132
  # Marshaled Properties
133
133
  @properties = {
134
- 'total_attempts' => payload['total_attempts'].to_i,
135
- 'total_converted' => payload['total_converted'].to_i,
136
- 'total_unconverted' => payload['total_unconverted'].to_i,
137
- 'conversion_rate_percentage' => payload['conversion_rate_percentage'].to_f,
134
+ 'total_attempts' => payload['total_attempts'] == nil ? payload['total_attempts'] : payload['total_attempts'].to_i,
135
+ 'total_converted' => payload['total_converted'] == nil ? payload['total_converted'] : payload['total_converted'].to_i,
136
+ 'total_unconverted' => payload['total_unconverted'] == nil ? payload['total_unconverted'] : payload['total_unconverted'].to_i,
137
+ 'conversion_rate_percentage' => payload['conversion_rate_percentage'] == nil ? payload['conversion_rate_percentage'] : payload['conversion_rate_percentage'].to_f,
138
138
  'url' => payload['url'],
139
139
  }
140
140
 
@@ -331,9 +331,9 @@ module Twilio
331
331
  'resolution' => payload['resolution'],
332
332
  'trim' => payload['trim'],
333
333
  'format' => payload['format'],
334
- 'bitrate' => payload['bitrate'].to_i,
335
- 'size' => payload['size'].to_i,
336
- 'duration' => payload['duration'].to_i,
334
+ 'bitrate' => payload['bitrate'] == nil ? payload['bitrate'] : payload['bitrate'].to_i,
335
+ 'size' => payload['size'] == nil ? payload['size'] : payload['size'].to_i,
336
+ 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
337
337
  'media_external_location' => payload['media_external_location'],
338
338
  'status_callback' => payload['status_callback'],
339
339
  'status_callback_method' => payload['status_callback_method'],
@@ -263,7 +263,7 @@ module Twilio
263
263
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
264
264
  'sid' => payload['sid'],
265
265
  'source_sid' => payload['source_sid'],
266
- 'size' => payload['size'].to_i,
266
+ 'size' => payload['size'] == nil ? payload['size'] : payload['size'].to_i,
267
267
  'url' => payload['url'],
268
268
  'type' => payload['type'],
269
269
  'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
@@ -271,7 +271,7 @@ module Twilio
271
271
  'codec' => payload['codec'],
272
272
  'grouping_sids' => payload['grouping_sids'],
273
273
  'track_name' => payload['track_name'],
274
- 'offset' => payload['offset'].to_i,
274
+ 'offset' => payload['offset'] == nil ? payload['offset'] : payload['offset'].to_i,
275
275
  'media_external_location' => payload['media_external_location'],
276
276
  'status_callback' => payload['status_callback'],
277
277
  'status_callback_method' => payload['status_callback_method'],
@@ -246,7 +246,7 @@ module Twilio
246
246
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
247
247
  'sid' => payload['sid'],
248
248
  'source_sid' => payload['source_sid'],
249
- 'size' => payload['size'].to_i,
249
+ 'size' => payload['size'] == nil ? payload['size'] : payload['size'].to_i,
250
250
  'url' => payload['url'],
251
251
  'type' => payload['type'],
252
252
  'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
@@ -254,7 +254,7 @@ module Twilio
254
254
  'codec' => payload['codec'],
255
255
  'grouping_sids' => payload['grouping_sids'],
256
256
  'track_name' => payload['track_name'],
257
- 'offset' => payload['offset'].to_i,
257
+ 'offset' => payload['offset'] == nil ? payload['offset'] : payload['offset'].to_i,
258
258
  'media_external_location' => payload['media_external_location'],
259
259
  'room_sid' => payload['room_sid'],
260
260
  'links' => payload['links'],
@@ -381,15 +381,15 @@ module Twilio
381
381
  'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
382
382
  'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
383
383
  'type' => payload['type'],
384
- 'max_participants' => payload['max_participants'].to_i,
385
- 'max_participant_duration' => payload['max_participant_duration'].to_i,
384
+ 'max_participants' => payload['max_participants'] == nil ? payload['max_participants'] : payload['max_participants'].to_i,
385
+ 'max_participant_duration' => payload['max_participant_duration'] == nil ? payload['max_participant_duration'] : payload['max_participant_duration'].to_i,
386
386
  'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
387
387
  'record_participants_on_connect' => payload['record_participants_on_connect'],
388
388
  'video_codecs' => payload['video_codecs'],
389
389
  'media_region' => payload['media_region'],
390
390
  'audio_only' => payload['audio_only'],
391
- 'empty_room_timeout' => payload['empty_room_timeout'].to_i,
392
- 'unused_room_timeout' => payload['unused_room_timeout'].to_i,
391
+ 'empty_room_timeout' => payload['empty_room_timeout'] == nil ? payload['empty_room_timeout'] : payload['empty_room_timeout'].to_i,
392
+ 'unused_room_timeout' => payload['unused_room_timeout'] == nil ? payload['unused_room_timeout'] : payload['unused_room_timeout'].to_i,
393
393
  'large_room' => payload['large_room'],
394
394
  'url' => payload['url'],
395
395
  'links' => payload['links'],
@@ -287,8 +287,8 @@ module Twilio
287
287
  'sid' => payload['sid'],
288
288
  'friendly_name' => payload['friendly_name'],
289
289
  'target' => payload['target'],
290
- 'priority' => payload['priority'].to_i,
291
- 'weight' => payload['weight'].to_i,
290
+ 'priority' => payload['priority'] == nil ? payload['priority'] : payload['priority'].to_i,
291
+ 'weight' => payload['weight'] == nil ? payload['weight'] : payload['weight'].to_i,
292
292
  'enabled' => payload['enabled'],
293
293
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
294
294
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
@@ -92,7 +92,7 @@ module Twilio
92
92
 
93
93
  # Marshaled Properties
94
94
  @properties = {
95
- 'update_count' => payload['update_count'].to_i,
95
+ 'update_count' => payload['update_count'] == nil ? payload['update_count'] : payload['update_count'].to_i,
96
96
  'update_request' => payload['update_request'],
97
97
  }
98
98
  end
@@ -236,7 +236,7 @@ module Twilio
236
236
  'sid' => payload['sid'],
237
237
  'friendly_name' => payload['friendly_name'],
238
238
  'ip_address' => payload['ip_address'],
239
- 'cidr_prefix_length' => payload['cidr_prefix_length'].to_i,
239
+ 'cidr_prefix_length' => payload['cidr_prefix_length'] == nil ? payload['cidr_prefix_length'] : payload['cidr_prefix_length'].to_i,
240
240
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
241
241
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
242
242
  'url' => payload['url'],
@@ -276,13 +276,13 @@ module Twilio
276
276
  'friendly_name' => payload['friendly_name'],
277
277
  'data_enabled' => payload['data_enabled'],
278
278
  'data_metering' => payload['data_metering'],
279
- 'data_limit' => payload['data_limit'].to_i,
279
+ 'data_limit' => payload['data_limit'] == nil ? payload['data_limit'] : payload['data_limit'].to_i,
280
280
  'messaging_enabled' => payload['messaging_enabled'],
281
281
  'voice_enabled' => payload['voice_enabled'],
282
282
  'national_roaming_enabled' => payload['national_roaming_enabled'],
283
- 'national_roaming_data_limit' => payload['national_roaming_data_limit'].to_i,
283
+ 'national_roaming_data_limit' => payload['national_roaming_data_limit'] == nil ? payload['national_roaming_data_limit'] : payload['national_roaming_data_limit'].to_i,
284
284
  'international_roaming' => payload['international_roaming'],
285
- 'international_roaming_data_limit' => payload['international_roaming_data_limit'].to_i,
285
+ 'international_roaming_data_limit' => payload['international_roaming_data_limit'] == nil ? payload['international_roaming_data_limit'] : payload['international_roaming_data_limit'].to_i,
286
286
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
287
287
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
288
288
  'url' => payload['url'],
@@ -167,8 +167,8 @@ module Twilio
167
167
  'operator_name' => payload['operator_name'],
168
168
  'cell_id' => payload['cell_id'],
169
169
  'cell_location_estimate' => payload['cell_location_estimate'],
170
- 'packets_uploaded' => payload['packets_uploaded'].to_i,
171
- 'packets_downloaded' => payload['packets_downloaded'].to_i,
170
+ 'packets_uploaded' => payload['packets_uploaded'] == nil ? payload['packets_uploaded'] : payload['packets_uploaded'].to_i,
171
+ 'packets_downloaded' => payload['packets_downloaded'] == nil ? payload['packets_downloaded'] : payload['packets_downloaded'].to_i,
172
172
  'last_updated' => Twilio.deserialize_iso8601_datetime(payload['last_updated']),
173
173
  'start' => Twilio.deserialize_iso8601_datetime(payload['start']),
174
174
  'end_' => Twilio.deserialize_iso8601_datetime(payload['end']),