twilio-ruby 5.19.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 (923) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +21 -0
  4. data/.github/workflows/test-and-deploy.yml +129 -0
  5. data/.gitignore +8 -1
  6. data/.rubocop.yml +22 -6
  7. data/.rubocop_todo.yml +147 -73
  8. data/CHANGES.md +2198 -0
  9. data/CODE_OF_CONDUCT.md +73 -0
  10. data/CONTRIBUTING.md +4 -8
  11. data/Dockerfile +2 -2
  12. data/Gemfile +1 -9
  13. data/ISSUE_TEMPLATE.md +17 -13
  14. data/{LICENSE.md → LICENSE} +2 -2
  15. data/Makefile +16 -24
  16. data/PULL_REQUEST_TEMPLATE.md +30 -3
  17. data/README.md +207 -55
  18. data/Rakefile +0 -54
  19. data/VERSIONS.md +9 -10
  20. data/advanced-examples/custom-http-client.md +170 -0
  21. data/examples/examples.rb +1 -1
  22. data/githooks/pre-commit +0 -0
  23. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  24. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -1
  25. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -3
  26. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  27. data/lib/twilio-ruby/http/http_client.rb +34 -15
  28. data/lib/twilio-ruby/http.rb +5 -0
  29. data/lib/twilio-ruby/jwt/access_token.rb +20 -2
  30. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  31. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  32. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  33. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -53
  34. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
  35. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -5
  36. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  37. data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
  38. data/lib/twilio-ruby/rest/accounts.rb +13 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +40 -38
  40. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +133 -123
  41. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +182 -182
  42. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +35 -32
  43. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +171 -180
  44. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +189 -87
  45. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +168 -174
  46. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +189 -87
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +189 -87
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +168 -174
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +189 -87
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +28 -23
  51. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +3 -9
  52. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +59 -66
  54. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +32 -36
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +76 -73
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +404 -188
  63. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +374 -201
  64. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +58 -63
  65. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +39 -30
  66. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +80 -71
  67. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +48 -41
  68. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +53 -54
  69. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +179 -127
  70. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +178 -127
  71. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +178 -127
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +314 -292
  73. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
  74. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +25 -20
  75. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +35 -36
  76. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +234 -209
  77. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +11 -15
  78. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +11 -15
  79. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +47 -55
  80. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +56 -61
  81. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +43 -40
  82. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +60 -70
  83. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
  84. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
  85. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +55 -42
  86. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -72
  87. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +18 -23
  88. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +28 -38
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +23 -33
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +48 -51
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +48 -51
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +15 -15
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +48 -51
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +13 -13
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +11 -11
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +34 -40
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +33 -39
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +175 -105
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +29 -39
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +27 -37
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +3 -2
  103. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +16 -19
  104. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +44 -41
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +71 -51
  106. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +71 -51
  107. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +71 -54
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +71 -51
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +71 -51
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +71 -51
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +71 -51
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +71 -51
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +68 -54
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +107 -114
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +3 -2
  116. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
  117. data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -28
  118. data/lib/twilio-ruby/rest/api/v2010.rb +6 -5
  119. data/lib/twilio-ruby/rest/api.rb +26 -22
  120. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
  121. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
  122. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -60
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -61
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -60
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +111 -93
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -53
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +89 -86
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -32
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +37 -30
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -76
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -102
  134. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1.rb +15 -7
  136. data/lib/twilio-ruby/rest/autopilot.rb +8 -2
  137. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export/day.rb +100 -25
  138. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  139. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  140. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export.rb +72 -32
  141. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export_configuration.rb +42 -43
  142. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  143. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  144. data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
  145. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
  146. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
  147. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +82 -74
  148. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +84 -76
  149. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
  150. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
  151. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +75 -82
  152. data/lib/twilio-ruby/rest/chat/v1/service.rb +340 -359
  153. data/lib/twilio-ruby/rest/chat/v1.rb +15 -11
  154. data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
  155. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
  156. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
  157. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +162 -154
  158. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +144 -136
  159. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
  160. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +136 -119
  161. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
  162. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
  163. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +101 -53
  164. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +94 -89
  165. data/lib/twilio-ruby/rest/chat/v2/service.rb +228 -189
  166. data/lib/twilio-ruby/rest/chat/v2.rb +13 -11
  167. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  168. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  169. data/lib/twilio-ruby/rest/chat.rb +19 -3
  170. data/lib/twilio-ruby/rest/client.rb +218 -75
  171. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  172. data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → content/v1/content.rb} +107 -149
  173. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +240 -0
  174. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +254 -0
  175. data/lib/twilio-ruby/rest/content/v1.rb +59 -0
  176. data/lib/twilio-ruby/rest/content.rb +59 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +517 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +600 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +323 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +286 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +563 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  196. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +633 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  201. data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +171 -92
  202. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  204. data/lib/twilio-ruby/rest/conversations/v1.rb +143 -0
  205. data/lib/twilio-ruby/rest/conversations.rb +104 -0
  206. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  207. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → events/v1/schema/version.rb} +85 -110
  208. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  209. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  210. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  211. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  212. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  213. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  214. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  215. data/lib/twilio-ruby/rest/events.rb +72 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +397 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +504 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +314 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +216 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +394 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +313 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +390 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +413 -0
  226. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +198 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +144 -0
  228. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +130 -0
  229. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +174 -0
  230. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  231. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  233. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  234. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  235. data/lib/twilio-ruby/rest/flex_api/v1.rb +221 -0
  236. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  237. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  238. data/lib/twilio-ruby/rest/flex_api.rb +169 -0
  239. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  240. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  241. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  242. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  243. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  244. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  245. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +321 -0
  246. data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
  247. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +447 -0
  248. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  249. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  250. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  251. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  252. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  253. data/lib/twilio-ruby/rest/insights/v1.rb +58 -11
  254. data/lib/twilio-ruby/rest/insights.rb +34 -6
  255. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
  256. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
  257. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
  258. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +42 -62
  259. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +52 -71
  260. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +48 -77
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +71 -205
  264. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +15 -13
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
  267. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +86 -154
  269. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +88 -134
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +87 -120
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +69 -88
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +80 -130
  277. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +15 -13
  278. data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
  279. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
  280. data/lib/twilio-ruby/rest/lookups/v1.rb +9 -6
  281. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +343 -0
  282. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  283. data/lib/twilio-ruby/rest/lookups.rb +11 -4
  284. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  285. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  286. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  287. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  288. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  289. data/lib/twilio-ruby/rest/media.rb +65 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +134 -0
  291. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  292. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +476 -0
  293. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  294. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  295. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +242 -0
  296. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +226 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  298. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +218 -0
  299. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
  300. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
  301. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +40 -48
  302. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  304. data/lib/twilio-ruby/rest/messaging/v1/service.rb +272 -128
  305. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +723 -0
  306. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  307. data/lib/twilio-ruby/rest/messaging/v1.rb +135 -6
  308. data/lib/twilio-ruby/rest/messaging.rb +73 -2
  309. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +317 -0
  310. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +310 -0
  311. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +192 -0
  312. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +330 -0
  313. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +342 -0
  314. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +335 -0
  315. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +393 -0
  316. data/lib/twilio-ruby/rest/microvisor/v1.rb +92 -0
  317. data/lib/twilio-ruby/rest/microvisor.rb +70 -0
  318. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
  319. data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
  320. data/lib/twilio-ruby/rest/monitor/v1.rb +13 -11
  321. data/lib/twilio-ruby/rest/monitor.rb +5 -3
  322. data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
  323. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
  324. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +127 -125
  325. data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
  326. data/lib/twilio-ruby/rest/notify/v1.rb +15 -11
  327. data/lib/twilio-ruby/rest/notify.rb +5 -3
  328. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +111 -0
  329. data/lib/twilio-ruby/rest/numbers/v1.rb +35 -0
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +614 -0
  335. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
  336. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  337. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  338. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +378 -0
  339. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  340. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  341. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  342. data/lib/twilio-ruby/rest/numbers.rb +57 -0
  343. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  344. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  345. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  346. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  347. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  348. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  349. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  350. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
  351. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
  352. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
  353. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
  354. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
  355. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +6 -5
  356. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +17 -16
  357. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
  358. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +34 -44
  359. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +11 -9
  360. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
  361. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
  362. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
  363. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
  364. data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
  365. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
  366. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +37 -40
  368. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
  369. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
  370. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
  371. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
  372. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
  373. data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
  374. data/lib/twilio-ruby/rest/preview/sync.rb +6 -5
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
  383. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
  384. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
  385. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
  386. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +13 -12
  387. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
  388. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
  389. data/lib/twilio-ruby/rest/preview/understand.rb +6 -5
  390. data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
  391. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +26 -36
  392. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
  393. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
  394. data/lib/twilio-ruby/rest/preview/wireless.rb +16 -13
  395. data/lib/twilio-ruby/rest/preview.rb +6 -35
  396. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
  397. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
  398. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
  399. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
  400. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
  401. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
  402. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
  403. data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
  404. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  405. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  406. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
  407. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
  408. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
  409. data/lib/twilio-ruby/rest/pricing/v2.rb +38 -1
  410. data/lib/twilio-ruby/rest/pricing.rb +20 -1
  411. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +69 -68
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +56 -55
  413. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
  414. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +60 -62
  415. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +86 -96
  416. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
  417. data/lib/twilio-ruby/rest/proxy/v1/service.rb +153 -119
  418. data/lib/twilio-ruby/rest/proxy/v1.rb +8 -6
  419. data/lib/twilio-ruby/rest/proxy.rb +3 -2
  420. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  421. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  422. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  423. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  424. data/lib/twilio-ruby/rest/routes.rb +62 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  426. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  428. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  432. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  435. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  436. data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +183 -158
  437. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  438. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  439. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
  443. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +88 -65
  447. data/lib/twilio-ruby/rest/studio/v1/flow.rb +31 -32
  448. data/lib/twilio-ruby/rest/studio/v1.rb +7 -6
  449. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  453. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
  454. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  455. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  457. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  458. data/lib/twilio-ruby/rest/studio.rb +19 -5
  459. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +392 -0
  460. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +493 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +419 -0
  462. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  463. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  464. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  465. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  466. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  467. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  468. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +463 -0
  469. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  470. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +352 -0
  471. data/lib/twilio-ruby/rest/supersim/v1.rb +154 -0
  472. data/lib/twilio-ruby/rest/supersim.rb +112 -0
  473. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
  474. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +71 -75
  475. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +142 -122
  476. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
  477. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +64 -70
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +146 -129
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +65 -72
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +57 -67
  483. data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
  484. data/lib/twilio-ruby/rest/sync/v1.rb +7 -6
  485. data/lib/twilio-ruby/rest/sync.rb +3 -2
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +83 -77
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +316 -205
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +220 -179
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +78 -61
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +95 -81
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +63 -33
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +129 -126
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +309 -161
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +59 -62
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +49 -45
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +28 -20
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +155 -123
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +85 -72
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +44 -28
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +109 -108
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +74 -67
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +37 -27
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +140 -128
  511. data/lib/twilio-ruby/rest/taskrouter/v1.rb +7 -6
  512. data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
  513. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
  514. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
  515. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +76 -85
  516. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
  517. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +165 -136
  519. data/lib/twilio-ruby/rest/trunking/v1.rb +8 -7
  520. data/lib/twilio-ruby/rest/trunking.rb +3 -3
  521. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  522. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  523. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  524. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  525. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  526. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  527. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  528. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  529. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  530. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  531. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  532. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  533. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  534. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  535. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  536. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +26 -25
  537. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  538. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +261 -0
  539. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  540. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +543 -0
  541. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +116 -124
  542. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  543. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +96 -47
  544. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  545. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  546. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  547. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +379 -0
  548. data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +66 -39
  549. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +419 -0
  550. data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
  551. data/lib/twilio-ruby/rest/verify/v2/template.rb +213 -0
  552. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  553. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  554. data/lib/twilio-ruby/rest/verify/v2.rb +110 -0
  555. data/lib/twilio-ruby/rest/verify.rb +48 -9
  556. data/lib/twilio-ruby/rest/video/v1/composition.rb +149 -144
  557. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +268 -232
  558. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
  559. data/lib/twilio-ruby/rest/video/v1/recording.rb +104 -77
  560. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
  561. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +73 -55
  562. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  563. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
  564. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  565. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
  566. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +120 -77
  567. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  568. data/lib/twilio-ruby/rest/video/v1/room.rb +176 -86
  569. data/lib/twilio-ruby/rest/video/v1.rb +25 -24
  570. data/lib/twilio-ruby/rest/video.rb +9 -9
  571. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  572. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  573. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  574. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  575. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +6 -11
  576. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
  577. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +45 -44
  578. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  579. data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
  580. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  581. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  582. data/lib/twilio-ruby/rest/voice/v1.rb +94 -5
  583. data/lib/twilio-ruby/rest/voice.rb +48 -4
  584. data/lib/twilio-ruby/rest/wireless/v1/command.rb +74 -77
  585. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +89 -91
  586. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +39 -42
  587. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
  588. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +179 -161
  589. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  590. data/lib/twilio-ruby/rest/wireless/v1.rb +26 -18
  591. data/lib/twilio-ruby/rest/wireless.rb +10 -4
  592. data/lib/twilio-ruby/rest.rb +13 -0
  593. data/lib/twilio-ruby/security/request_validator.rb +64 -11
  594. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  595. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  596. data/lib/twilio-ruby/twiml/twiml.rb +4 -0
  597. data/lib/twilio-ruby/twiml/voice_response.rb +1156 -172
  598. data/lib/twilio-ruby/util/configuration.rb +22 -5
  599. data/lib/twilio-ruby/version.rb +1 -1
  600. data/lib/twilio-ruby.rb +9 -25
  601. data/sonar-project.properties +13 -0
  602. data/twilio-ruby.gemspec +12 -7
  603. metadata +355 -656
  604. data/.travis.yml +0 -26
  605. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -398
  606. data/lib/twilio-ruby/rest/authy/v1.rb +0 -59
  607. data/lib/twilio-ruby/rest/authy.rb +0 -55
  608. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -531
  609. data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
  610. data/lib/twilio-ruby/rest/fax.rb +0 -46
  611. data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -286
  612. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  613. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  614. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  615. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  616. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -206
  617. data/lib/twilio-ruby/rest/verify/v1.rb +0 -43
  618. data/spec/framework/request_spec.rb +0 -36
  619. data/spec/framework/serialize_spec.rb +0 -80
  620. data/spec/holodeck/holodeck.rb +0 -61
  621. data/spec/holodeck/hologram.rb +0 -4
  622. data/spec/http/http_client_spec.rb +0 -122
  623. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  624. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  625. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  626. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  627. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  628. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  629. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  630. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  631. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  632. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  633. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  634. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  635. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  636. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  637. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  638. data/spec/integration/api/v2010/account/balance_spec.rb +0 -45
  639. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  640. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  641. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  642. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  643. data/spec/integration/api/v2010/account/call_spec.rb +0 -314
  644. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -350
  645. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -237
  646. data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
  647. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
  648. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  649. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  650. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  651. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  652. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  653. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  654. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  655. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  656. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  657. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  658. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  659. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  660. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  661. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  662. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
  663. data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
  664. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  665. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  666. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  667. data/spec/integration/api/v2010/account/recording_spec.rb +0 -187
  668. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  669. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  670. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  671. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  672. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -220
  673. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -220
  674. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  675. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -220
  676. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  677. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  678. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  679. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  680. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -295
  681. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  682. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  683. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  684. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  685. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  686. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  687. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  688. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  689. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  690. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  691. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  692. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  693. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  694. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  695. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  696. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  697. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  698. data/spec/integration/api/v2010/account_spec.rb +0 -275
  699. data/spec/integration/authy/v1/form_spec.rb +0 -48
  700. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -262
  701. data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
  702. data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
  703. data/spec/integration/authy/v1/service_spec.rb +0 -227
  704. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -81
  705. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -47
  706. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -210
  707. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -246
  708. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -241
  709. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -306
  710. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -81
  711. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -207
  712. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -253
  713. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -87
  714. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -50
  715. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -262
  716. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -270
  717. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  718. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  719. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  720. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  721. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  722. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  723. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  724. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  725. data/spec/integration/chat/v1/service_spec.rb +0 -299
  726. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  727. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  728. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  729. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -261
  730. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  731. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  732. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  733. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  734. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  735. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -192
  736. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  737. data/spec/integration/chat/v2/service_spec.rb +0 -354
  738. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  739. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  740. data/spec/integration/insights/v1/summary_spec.rb +0 -60
  741. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  742. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  743. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  744. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  745. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  746. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  747. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  748. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  749. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  750. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  751. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  752. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  753. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -261
  754. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  755. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  756. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  757. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  758. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  759. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -192
  760. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  761. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  762. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
  763. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  764. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  765. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  766. data/spec/integration/messaging/v1/service_spec.rb +0 -271
  767. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  768. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  769. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  770. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  771. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  772. data/spec/integration/notify/v1/service_spec.rb +0 -286
  773. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  774. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  775. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  776. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  777. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  778. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  779. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  780. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  781. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  782. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  783. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  784. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  785. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  786. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  787. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  788. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  789. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  790. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  791. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  792. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  793. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  794. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  795. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  796. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  797. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  798. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  799. data/spec/integration/preview/sync/service_spec.rb +0 -246
  800. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -81
  801. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -81
  802. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -47
  803. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  804. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  805. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  806. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  807. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -81
  808. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -207
  809. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -253
  810. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -87
  811. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -50
  812. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -262
  813. data/spec/integration/preview/understand/assistant_spec.rb +0 -274
  814. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  815. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  816. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  817. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  818. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  819. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  820. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  821. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  822. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  823. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  824. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  825. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -181
  826. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -62
  827. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  828. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -232
  829. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  830. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  831. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -243
  832. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  833. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -229
  834. data/spec/integration/proxy/v1/service_spec.rb +0 -218
  835. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  836. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  837. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  838. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  839. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  840. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  841. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  842. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  843. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  844. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  845. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  846. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  847. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  848. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  849. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  850. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  851. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  852. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  853. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  854. data/spec/integration/sync/v1/service_spec.rb +0 -254
  855. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  856. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
  857. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -225
  858. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -310
  859. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  860. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
  861. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  862. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  863. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -294
  864. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  865. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  866. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  867. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  868. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  869. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  870. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  871. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  872. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  873. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  874. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  875. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  876. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  877. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  878. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  879. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  880. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  881. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  882. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  883. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  884. data/spec/integration/trunking/v1/trunk_spec.rb +0 -362
  885. data/spec/integration/verify/v1/service/verification_check_spec.rb +0 -52
  886. data/spec/integration/verify/v1/service/verification_spec.rb +0 -61
  887. data/spec/integration/verify/v1/service_spec.rb +0 -227
  888. data/spec/integration/video/v1/composition_hook_spec.rb +0 -410
  889. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  890. data/spec/integration/video/v1/composition_spec.rb +0 -325
  891. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  892. data/spec/integration/video/v1/recording_spec.rb +0 -179
  893. data/spec/integration/video/v1/room/recording_spec.rb +0 -188
  894. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  895. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
  896. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  897. data/spec/integration/video/v1/room_spec.rb +0 -257
  898. data/spec/integration/voice/v1/voice_permission/bulk_country_update_spec.rb +0 -45
  899. data/spec/integration/voice/v1/voice_permission/country/highrisk_special_prefix_spec.rb +0 -61
  900. data/spec/integration/voice/v1/voice_permission/country_spec.rb +0 -112
  901. data/spec/integration/voice/v1/voice_permission_spec.rb +0 -12
  902. data/spec/integration/wireless/v1/command_spec.rb +0 -289
  903. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  904. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
  905. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  906. data/spec/integration/wireless/v1/sim_spec.rb +0 -242
  907. data/spec/jwt/access_token_spec.rb +0 -151
  908. data/spec/jwt/client_capability_spec.rb +0 -104
  909. data/spec/jwt/task_router_spec.rb +0 -172
  910. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  911. data/spec/rest/client_spec.rb +0 -61
  912. data/spec/security/request_validator_spec.rb +0 -86
  913. data/spec/spec_helper.rb +0 -38
  914. data/spec/support/fakeweb.rb +0 -2
  915. data/spec/twilio_spec.rb +0 -15
  916. data/spec/twiml/messaging_response_spec.rb +0 -235
  917. data/spec/twiml/voice_response_spec.rb +0 -847
  918. data/spec/util/configuration_spec.rb +0 -15
  919. data/spec/util/url_encode_spec.rb +0 -12
  920. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  921. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  922. /data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  923. /data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
@@ -3,7 +3,7 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
- #
6
+ #
7
7
  # frozen_string_literal: true
8
8
 
9
9
  module Twilio
@@ -46,9 +46,13 @@ module Twilio
46
46
  # recording_status_callback_event:: Recording status callback events
47
47
  # answer_on_bridge:: Preserve the ringing behavior of the inbound call until the Dialed call picks up
48
48
  # ring_tone:: Ringtone allows you to override the ringback tone that Twilio will play back to the caller while executing the Dial
49
+ # recording_track:: To indicate which audio track should be recorded
50
+ # sequential:: Used to determine if child TwiML nouns should be dialed in order, one after the other (sequential) or dial all at once (parallel). Default is false, parallel
51
+ # refer_url:: Webhook that will receive future SIP REFER requests
52
+ # refer_method:: The HTTP method to use for the refer Webhook
49
53
  # keyword_args:: additional attributes
50
- def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, **keyword_args)
51
- dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, **keyword_args)
54
+ def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, refer_url: nil, refer_method: nil, **keyword_args)
55
+ dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, refer_url: refer_url, refer_method: refer_method, **keyword_args)
52
56
 
53
57
  yield(dial) if block_given?
54
58
  append(dial)
@@ -65,13 +69,14 @@ module Twilio
65
69
  # Create a new <Enqueue> element
66
70
  # name:: Friendly name
67
71
  # action:: Action URL
72
+ # max_queue_size:: Maximum size of queue
68
73
  # method:: Action URL method
69
74
  # wait_url:: Wait URL
70
75
  # wait_url_method:: Wait URL method
71
76
  # workflow_sid:: TaskRouter Workflow SID
72
77
  # keyword_args:: additional attributes
73
- def enqueue(name: nil, action: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
74
- enqueue = Enqueue.new(name: name, action: action, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
78
+ def enqueue(name: nil, action: nil, max_queue_size: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
79
+ enqueue = Enqueue.new(name: name, action: action, max_queue_size: max_queue_size, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
75
80
 
76
81
  yield(enqueue) if block_given?
77
82
  append(enqueue)
@@ -94,9 +99,12 @@ module Twilio
94
99
  # hints:: Speech recognition hints
95
100
  # barge_in:: Stop playing media upon speech
96
101
  # debug:: Allow debug for gather
102
+ # action_on_empty_result:: Force webhook to the action URL event if there is no input
103
+ # speech_model:: Specify the model that is best suited for your use case
104
+ # enhanced:: Use enhanced speech model
97
105
  # keyword_args:: additional attributes
98
- def gather(input: nil, action: nil, method: nil, timeout: nil, speech_timeout: nil, max_speech_time: nil, profanity_filter: nil, finish_on_key: nil, num_digits: nil, partial_result_callback: nil, partial_result_callback_method: nil, language: nil, hints: nil, barge_in: nil, debug: nil, **keyword_args)
99
- gather = Gather.new(input: input, action: action, method: method, timeout: timeout, speech_timeout: speech_timeout, max_speech_time: max_speech_time, profanity_filter: profanity_filter, finish_on_key: finish_on_key, num_digits: num_digits, partial_result_callback: partial_result_callback, partial_result_callback_method: partial_result_callback_method, language: language, hints: hints, barge_in: barge_in, debug: debug, **keyword_args)
106
+ def gather(input: nil, action: nil, method: nil, timeout: nil, speech_timeout: nil, max_speech_time: nil, profanity_filter: nil, finish_on_key: nil, num_digits: nil, partial_result_callback: nil, partial_result_callback_method: nil, language: nil, hints: nil, barge_in: nil, debug: nil, action_on_empty_result: nil, speech_model: nil, enhanced: nil, **keyword_args)
107
+ gather = Gather.new(input: input, action: action, method: method, timeout: timeout, speech_timeout: speech_timeout, max_speech_time: max_speech_time, profanity_filter: profanity_filter, finish_on_key: finish_on_key, num_digits: num_digits, partial_result_callback: partial_result_callback, partial_result_callback_method: partial_result_callback_method, language: language, hints: hints, barge_in: barge_in, debug: debug, action_on_empty_result: action_on_empty_result, speech_model: speech_model, enhanced: enhanced, **keyword_args)
100
108
 
101
109
  yield(gather) if block_given?
102
110
  append(gather)
@@ -106,7 +114,10 @@ module Twilio
106
114
  # Create a new <Hangup> element
107
115
  # keyword_args:: additional attributes
108
116
  def hangup(**keyword_args)
109
- append(Hangup.new(**keyword_args))
117
+ hangup = Hangup.new(**keyword_args)
118
+
119
+ yield(hangup) if block_given?
120
+ append(hangup)
110
121
  end
111
122
 
112
123
  ##
@@ -179,7 +190,10 @@ module Twilio
179
190
  # reason:: Rejection reason
180
191
  # keyword_args:: additional attributes
181
192
  def reject(reason: nil, **keyword_args)
182
- append(Reject.new(reason: reason, **keyword_args))
193
+ reject = Reject.new(reason: reason, **keyword_args)
194
+
195
+ yield(reject) if block_given?
196
+ append(reject)
183
197
  end
184
198
 
185
199
  ##
@@ -187,7 +201,7 @@ module Twilio
187
201
  # message:: Message to say
188
202
  # voice:: Voice to use
189
203
  # loop:: Times to loop message
190
- # language:: Message langauge
204
+ # language:: Message language
191
205
  # keyword_args:: additional attributes
192
206
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
193
207
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -213,13 +227,16 @@ module Twilio
213
227
  # Create a new <Pay> element
214
228
  # input:: Input type Twilio should accept
215
229
  # action:: Action URL
230
+ # bank_account_type:: Bank account type for ach transactions. If set, payment method attribute must be provided and value should be set to ach-debit. defaults to consumer-checking
216
231
  # status_callback:: Status callback URL
217
232
  # status_callback_method:: Status callback method
218
233
  # timeout:: Time to wait to gather input
219
234
  # max_attempts:: Maximum number of allowed retries when gathering input
220
235
  # security_code:: Prompt for security code
221
236
  # postal_code:: Prompt for postal code and it should be true/false or default postal code
237
+ # min_postal_code_length:: Prompt for minimum postal code length
222
238
  # payment_connector:: Unique name for payment connector
239
+ # payment_method:: Payment method to be used. defaults to credit-card
223
240
  # token_type:: Type of token
224
241
  # charge_amount:: Amount to process. If value is greater than 0 then make the payment else create a payment token
225
242
  # currency:: Currency of the amount attribute
@@ -227,8 +244,8 @@ module Twilio
227
244
  # valid_card_types:: Comma separated accepted card types
228
245
  # language:: Language to use
229
246
  # keyword_args:: additional attributes
230
- def pay(input: nil, action: nil, status_callback: nil, status_callback_method: nil, timeout: nil, max_attempts: nil, security_code: nil, postal_code: nil, payment_connector: nil, token_type: nil, charge_amount: nil, currency: nil, description: nil, valid_card_types: nil, language: nil, **keyword_args)
231
- pay = Pay.new(input: input, action: action, status_callback: status_callback, status_callback_method: status_callback_method, timeout: timeout, max_attempts: max_attempts, security_code: security_code, postal_code: postal_code, payment_connector: payment_connector, token_type: token_type, charge_amount: charge_amount, currency: currency, description: description, valid_card_types: valid_card_types, language: language, **keyword_args)
247
+ def pay(input: nil, action: nil, bank_account_type: nil, status_callback: nil, status_callback_method: nil, timeout: nil, max_attempts: nil, security_code: nil, postal_code: nil, min_postal_code_length: nil, payment_connector: nil, payment_method: nil, token_type: nil, charge_amount: nil, currency: nil, description: nil, valid_card_types: nil, language: nil, **keyword_args)
248
+ pay = Pay.new(input: input, action: action, bank_account_type: bank_account_type, status_callback: status_callback, status_callback_method: status_callback_method, timeout: timeout, max_attempts: max_attempts, security_code: security_code, postal_code: postal_code, min_postal_code_length: min_postal_code_length, payment_connector: payment_connector, payment_method: payment_method, token_type: token_type, charge_amount: charge_amount, currency: currency, description: description, valid_card_types: valid_card_types, language: language, **keyword_args)
232
249
 
233
250
  yield(pay) if block_given?
234
251
  append(pay)
@@ -236,17 +253,213 @@ module Twilio
236
253
 
237
254
  ##
238
255
  # Create a new <Prompt> element
239
- # for_:: Name of the credit card data element
256
+ # for_:: Name of the payment source data element
240
257
  # error_type:: Type of error
241
258
  # card_type:: Type of the credit card
242
259
  # attempt:: Current attempt count
260
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
243
261
  # keyword_args:: additional attributes
244
- def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
245
- prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
262
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
263
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
246
264
 
247
265
  yield(prompt) if block_given?
248
266
  append(prompt)
249
267
  end
268
+
269
+ ##
270
+ # Create a new <Start> element
271
+ # action:: Action URL
272
+ # method:: Action URL method
273
+ # keyword_args:: additional attributes
274
+ def start(action: nil, method: nil, **keyword_args)
275
+ start = Start.new(action: action, method: method, **keyword_args)
276
+
277
+ yield(start) if block_given?
278
+ append(start)
279
+ end
280
+
281
+ ##
282
+ # Create a new <Stop> element
283
+ # keyword_args:: additional attributes
284
+ def stop(**keyword_args)
285
+ stop = Stop.new(**keyword_args)
286
+
287
+ yield(stop) if block_given?
288
+ append(stop)
289
+ end
290
+
291
+ ##
292
+ # Create a new <Refer> element
293
+ # action:: Action URL
294
+ # method:: Action URL method
295
+ # keyword_args:: additional attributes
296
+ def refer(action: nil, method: nil, **keyword_args)
297
+ refer = Refer.new(action: action, method: method, **keyword_args)
298
+
299
+ yield(refer) if block_given?
300
+ append(refer)
301
+ end
302
+ end
303
+
304
+ ##
305
+ # <Refer> TwiML Verb
306
+ class Refer < TwiML
307
+ def initialize(**keyword_args)
308
+ super(**keyword_args)
309
+ @name = 'Refer'
310
+
311
+ yield(self) if block_given?
312
+ end
313
+
314
+ ##
315
+ # Create a new <Sip> element
316
+ # sip_url:: SIP URL
317
+ # keyword_args:: additional attributes
318
+ def sip(sip_url, **keyword_args)
319
+ append(ReferSip.new(sip_url, **keyword_args))
320
+ end
321
+ end
322
+
323
+ ##
324
+ # <Sip> TwiML Noun used in <Refer>
325
+ class ReferSip < TwiML
326
+ def initialize(sip_url, **keyword_args)
327
+ super(**keyword_args)
328
+ @name = 'Sip'
329
+ @value = sip_url
330
+ yield(self) if block_given?
331
+ end
332
+ end
333
+
334
+ ##
335
+ # <Stop> TwiML Verb
336
+ class Stop < TwiML
337
+ def initialize(**keyword_args)
338
+ super(**keyword_args)
339
+ @name = 'Stop'
340
+
341
+ yield(self) if block_given?
342
+ end
343
+
344
+ ##
345
+ # Create a new <Stream> element
346
+ # name:: Friendly name given to the Stream
347
+ # connector_name:: Unique name for Stream Connector
348
+ # url:: URL of the remote service where the Stream is routed
349
+ # track:: Track to be streamed to remote service
350
+ # status_callback:: Status Callback URL
351
+ # status_callback_method:: Status Callback URL method
352
+ # keyword_args:: additional attributes
353
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
354
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
355
+
356
+ yield(stream) if block_given?
357
+ append(stream)
358
+ end
359
+
360
+ ##
361
+ # Create a new <Siprec> element
362
+ # name:: Friendly name given to SIPREC
363
+ # connector_name:: Unique name for Connector
364
+ # track:: Track to be streamed to remote service
365
+ # keyword_args:: additional attributes
366
+ def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
367
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
368
+
369
+ yield(siprec) if block_given?
370
+ append(siprec)
371
+ end
372
+ end
373
+
374
+ ##
375
+ # <Siprec> TwiML Noun
376
+ class Siprec < TwiML
377
+ def initialize(**keyword_args)
378
+ super(**keyword_args)
379
+ @name = 'Siprec'
380
+
381
+ yield(self) if block_given?
382
+ end
383
+
384
+ ##
385
+ # Create a new <Parameter> element
386
+ # name:: The name of the custom parameter
387
+ # value:: The value of the custom parameter
388
+ # keyword_args:: additional attributes
389
+ def parameter(name: nil, value: nil, **keyword_args)
390
+ append(Parameter.new(name: name, value: value, **keyword_args))
391
+ end
392
+ end
393
+
394
+ ##
395
+ # <Parameter> TwiML Noun
396
+ class Parameter < TwiML
397
+ def initialize(**keyword_args)
398
+ super(**keyword_args)
399
+ @name = 'Parameter'
400
+
401
+ yield(self) if block_given?
402
+ end
403
+ end
404
+
405
+ ##
406
+ # <Stream> TwiML Noun
407
+ class Stream < TwiML
408
+ def initialize(**keyword_args)
409
+ super(**keyword_args)
410
+ @name = 'Stream'
411
+
412
+ yield(self) if block_given?
413
+ end
414
+
415
+ ##
416
+ # Create a new <Parameter> element
417
+ # name:: The name of the custom parameter
418
+ # value:: The value of the custom parameter
419
+ # keyword_args:: additional attributes
420
+ def parameter(name: nil, value: nil, **keyword_args)
421
+ append(Parameter.new(name: name, value: value, **keyword_args))
422
+ end
423
+ end
424
+
425
+ ##
426
+ # <Start> TwiML Verb
427
+ class Start < TwiML
428
+ def initialize(**keyword_args)
429
+ super(**keyword_args)
430
+ @name = 'Start'
431
+
432
+ yield(self) if block_given?
433
+ end
434
+
435
+ ##
436
+ # Create a new <Stream> element
437
+ # name:: Friendly name given to the Stream
438
+ # connector_name:: Unique name for Stream Connector
439
+ # url:: URL of the remote service where the Stream is routed
440
+ # track:: Track to be streamed to remote service
441
+ # status_callback:: Status Callback URL
442
+ # status_callback_method:: Status Callback URL method
443
+ # keyword_args:: additional attributes
444
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
445
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
446
+
447
+ yield(stream) if block_given?
448
+ append(stream)
449
+ end
450
+
451
+ ##
452
+ # Create a new <Siprec> element
453
+ # name:: Friendly name given to SIPREC
454
+ # connector_name:: Unique name for Connector
455
+ # track:: Track to be streamed to remote service
456
+ # keyword_args:: additional attributes
457
+ def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
458
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
459
+
460
+ yield(siprec) if block_given?
461
+ append(siprec)
462
+ end
250
463
  end
251
464
 
252
465
  ##
@@ -264,7 +477,7 @@ module Twilio
264
477
  # message:: Message to say
265
478
  # voice:: Voice to use
266
479
  # loop:: Times to loop message
267
- # language:: Message langauge
480
+ # language:: Message language
268
481
  # keyword_args:: additional attributes
269
482
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
270
483
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -315,12 +528,692 @@ module Twilio
315
528
  end
316
529
 
317
530
  ##
318
- # <Say> TwiML Verb
319
- class Say < TwiML
320
- def initialize(message: nil, **keyword_args)
531
+ # <Say> TwiML Verb
532
+ class Say < TwiML
533
+ def initialize(message: nil, **keyword_args)
534
+ super(**keyword_args)
535
+ @name = 'Say'
536
+ @value = message unless message.nil?
537
+ yield(self) if block_given?
538
+ end
539
+
540
+ ##
541
+ # Create a new <Break> element
542
+ # strength:: Set a pause based on strength
543
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
544
+ # keyword_args:: additional attributes
545
+ def break(strength: nil, time: nil, **keyword_args)
546
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
547
+ end
548
+
549
+ ##
550
+ # Create a new <Emphasis> element
551
+ # words:: Words to emphasize
552
+ # level:: Specify the degree of emphasis
553
+ # keyword_args:: additional attributes
554
+ def emphasis(words: nil, level: nil, **keyword_args)
555
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
556
+
557
+ yield(emphasis) if block_given?
558
+ append(emphasis)
559
+ end
560
+
561
+ ##
562
+ # Create a new <Lang> element
563
+ # words:: Words to speak
564
+ # xmlLang:: Specify the language
565
+ # keyword_args:: additional attributes
566
+ def lang(words: nil, xmlLang: nil, **keyword_args)
567
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
568
+
569
+ yield(lang) if block_given?
570
+ append(lang)
571
+ end
572
+
573
+ ##
574
+ # Create a new <P> element
575
+ # words:: Words to speak
576
+ # keyword_args:: additional attributes
577
+ def p(words: nil, **keyword_args)
578
+ p = SsmlP.new(words: words, **keyword_args)
579
+
580
+ yield(p) if block_given?
581
+ append(p)
582
+ end
583
+
584
+ ##
585
+ # Create a new <Phoneme> element
586
+ # words:: Words to speak
587
+ # alphabet:: Specify the phonetic alphabet
588
+ # ph:: Specifiy the phonetic symbols for pronunciation
589
+ # keyword_args:: additional attributes
590
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
591
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
592
+ end
593
+
594
+ ##
595
+ # Create a new <Prosody> element
596
+ # words:: Words to speak
597
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
598
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
599
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
600
+ # keyword_args:: additional attributes
601
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
602
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
603
+
604
+ yield(prosody) if block_given?
605
+ append(prosody)
606
+ end
607
+
608
+ ##
609
+ # Create a new <S> element
610
+ # words:: Words to speak
611
+ # keyword_args:: additional attributes
612
+ def s(words: nil, **keyword_args)
613
+ s = SsmlS.new(words: words, **keyword_args)
614
+
615
+ yield(s) if block_given?
616
+ append(s)
617
+ end
618
+
619
+ ##
620
+ # Create a new <Say-As> element
621
+ # words:: Words to be interpreted
622
+ # interpretAs:: Specify the type of words are spoken
623
+ # format:: Specify the format of the date when interpret-as is set to date
624
+ # keyword_args:: additional attributes
625
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
626
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
627
+ end
628
+
629
+ ##
630
+ # Create a new <Sub> element
631
+ # words:: Words to be substituted
632
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
633
+ # keyword_args:: additional attributes
634
+ def sub(words, aliasAttribute: nil, **keyword_args)
635
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
636
+ end
637
+
638
+ ##
639
+ # Create a new <W> element
640
+ # words:: Words to speak
641
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
642
+ # keyword_args:: additional attributes
643
+ def w(words: nil, role: nil, **keyword_args)
644
+ w = SsmlW.new(words: words, role: role, **keyword_args)
645
+
646
+ yield(w) if block_given?
647
+ append(w)
648
+ end
649
+ end
650
+
651
+ ##
652
+ # Improving Pronunciation by Specifying Parts of Speech in <Say>
653
+ class SsmlW < TwiML
654
+ def initialize(words: nil, **keyword_args)
655
+ super(**keyword_args)
656
+ @name = 'w'
657
+ @value = words unless words.nil?
658
+ yield(self) if block_given?
659
+ end
660
+
661
+ ##
662
+ # Create a new <Break> element
663
+ # strength:: Set a pause based on strength
664
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
665
+ # keyword_args:: additional attributes
666
+ def break(strength: nil, time: nil, **keyword_args)
667
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
668
+ end
669
+
670
+ ##
671
+ # Create a new <Emphasis> element
672
+ # words:: Words to emphasize
673
+ # level:: Specify the degree of emphasis
674
+ # keyword_args:: additional attributes
675
+ def emphasis(words: nil, level: nil, **keyword_args)
676
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
677
+
678
+ yield(emphasis) if block_given?
679
+ append(emphasis)
680
+ end
681
+
682
+ ##
683
+ # Create a new <Phoneme> element
684
+ # words:: Words to speak
685
+ # alphabet:: Specify the phonetic alphabet
686
+ # ph:: Specifiy the phonetic symbols for pronunciation
687
+ # keyword_args:: additional attributes
688
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
689
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
690
+ end
691
+
692
+ ##
693
+ # Create a new <Prosody> element
694
+ # words:: Words to speak
695
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
696
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
697
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
698
+ # keyword_args:: additional attributes
699
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
700
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
701
+
702
+ yield(prosody) if block_given?
703
+ append(prosody)
704
+ end
705
+
706
+ ##
707
+ # Create a new <Say-As> element
708
+ # words:: Words to be interpreted
709
+ # interpretAs:: Specify the type of words are spoken
710
+ # format:: Specify the format of the date when interpret-as is set to date
711
+ # keyword_args:: additional attributes
712
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
713
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
714
+ end
715
+
716
+ ##
717
+ # Create a new <Sub> element
718
+ # words:: Words to be substituted
719
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
720
+ # keyword_args:: additional attributes
721
+ def sub(words, aliasAttribute: nil, **keyword_args)
722
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
723
+ end
724
+ end
725
+
726
+ ##
727
+ # Pronouncing Acronyms and Abbreviations in <Say>
728
+ class SsmlSub < TwiML
729
+ def initialize(words, **keyword_args)
730
+ super(**keyword_args)
731
+ @name = 'sub'
732
+ @value = words
733
+ yield(self) if block_given?
734
+ end
735
+ end
736
+
737
+ ##
738
+ # Controlling How Special Types of Words Are Spoken in <Say>
739
+ class SsmlSayAs < TwiML
740
+ def initialize(words, **keyword_args)
741
+ super(**keyword_args)
742
+ @name = 'say-as'
743
+ @value = words
744
+ yield(self) if block_given?
745
+ end
746
+ end
747
+
748
+ ##
749
+ # Controling Volume, Speaking Rate, and Pitch in <Say>
750
+ class SsmlProsody < TwiML
751
+ def initialize(words: nil, **keyword_args)
752
+ super(**keyword_args)
753
+ @name = 'prosody'
754
+ @value = words unless words.nil?
755
+ yield(self) if block_given?
756
+ end
757
+
758
+ ##
759
+ # Create a new <Break> element
760
+ # strength:: Set a pause based on strength
761
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
762
+ # keyword_args:: additional attributes
763
+ def break(strength: nil, time: nil, **keyword_args)
764
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
765
+ end
766
+
767
+ ##
768
+ # Create a new <Emphasis> element
769
+ # words:: Words to emphasize
770
+ # level:: Specify the degree of emphasis
771
+ # keyword_args:: additional attributes
772
+ def emphasis(words: nil, level: nil, **keyword_args)
773
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
774
+
775
+ yield(emphasis) if block_given?
776
+ append(emphasis)
777
+ end
778
+
779
+ ##
780
+ # Create a new <Lang> element
781
+ # words:: Words to speak
782
+ # xmlLang:: Specify the language
783
+ # keyword_args:: additional attributes
784
+ def lang(words: nil, xmlLang: nil, **keyword_args)
785
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
786
+
787
+ yield(lang) if block_given?
788
+ append(lang)
789
+ end
790
+
791
+ ##
792
+ # Create a new <P> element
793
+ # words:: Words to speak
794
+ # keyword_args:: additional attributes
795
+ def p(words: nil, **keyword_args)
796
+ p = SsmlP.new(words: words, **keyword_args)
797
+
798
+ yield(p) if block_given?
799
+ append(p)
800
+ end
801
+
802
+ ##
803
+ # Create a new <Phoneme> element
804
+ # words:: Words to speak
805
+ # alphabet:: Specify the phonetic alphabet
806
+ # ph:: Specifiy the phonetic symbols for pronunciation
807
+ # keyword_args:: additional attributes
808
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
809
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
810
+ end
811
+
812
+ ##
813
+ # Create a new <Prosody> element
814
+ # words:: Words to speak
815
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
816
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
817
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
818
+ # keyword_args:: additional attributes
819
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
820
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
821
+
822
+ yield(prosody) if block_given?
823
+ append(prosody)
824
+ end
825
+
826
+ ##
827
+ # Create a new <S> element
828
+ # words:: Words to speak
829
+ # keyword_args:: additional attributes
830
+ def s(words: nil, **keyword_args)
831
+ s = SsmlS.new(words: words, **keyword_args)
832
+
833
+ yield(s) if block_given?
834
+ append(s)
835
+ end
836
+
837
+ ##
838
+ # Create a new <Say-As> element
839
+ # words:: Words to be interpreted
840
+ # interpretAs:: Specify the type of words are spoken
841
+ # format:: Specify the format of the date when interpret-as is set to date
842
+ # keyword_args:: additional attributes
843
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
844
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
845
+ end
846
+
847
+ ##
848
+ # Create a new <Sub> element
849
+ # words:: Words to be substituted
850
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
851
+ # keyword_args:: additional attributes
852
+ def sub(words, aliasAttribute: nil, **keyword_args)
853
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
854
+ end
855
+
856
+ ##
857
+ # Create a new <W> element
858
+ # words:: Words to speak
859
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
860
+ # keyword_args:: additional attributes
861
+ def w(words: nil, role: nil, **keyword_args)
862
+ w = SsmlW.new(words: words, role: role, **keyword_args)
863
+
864
+ yield(w) if block_given?
865
+ append(w)
866
+ end
867
+ end
868
+
869
+ ##
870
+ # Adding A Pause Between Sentences in <Say>
871
+ class SsmlS < TwiML
872
+ def initialize(words: nil, **keyword_args)
873
+ super(**keyword_args)
874
+ @name = 's'
875
+ @value = words unless words.nil?
876
+ yield(self) if block_given?
877
+ end
878
+
879
+ ##
880
+ # Create a new <Break> element
881
+ # strength:: Set a pause based on strength
882
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
883
+ # keyword_args:: additional attributes
884
+ def break(strength: nil, time: nil, **keyword_args)
885
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
886
+ end
887
+
888
+ ##
889
+ # Create a new <Emphasis> element
890
+ # words:: Words to emphasize
891
+ # level:: Specify the degree of emphasis
892
+ # keyword_args:: additional attributes
893
+ def emphasis(words: nil, level: nil, **keyword_args)
894
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
895
+
896
+ yield(emphasis) if block_given?
897
+ append(emphasis)
898
+ end
899
+
900
+ ##
901
+ # Create a new <Lang> element
902
+ # words:: Words to speak
903
+ # xmlLang:: Specify the language
904
+ # keyword_args:: additional attributes
905
+ def lang(words: nil, xmlLang: nil, **keyword_args)
906
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
907
+
908
+ yield(lang) if block_given?
909
+ append(lang)
910
+ end
911
+
912
+ ##
913
+ # Create a new <Phoneme> element
914
+ # words:: Words to speak
915
+ # alphabet:: Specify the phonetic alphabet
916
+ # ph:: Specifiy the phonetic symbols for pronunciation
917
+ # keyword_args:: additional attributes
918
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
919
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
920
+ end
921
+
922
+ ##
923
+ # Create a new <Prosody> element
924
+ # words:: Words to speak
925
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
926
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
927
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
928
+ # keyword_args:: additional attributes
929
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
930
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
931
+
932
+ yield(prosody) if block_given?
933
+ append(prosody)
934
+ end
935
+
936
+ ##
937
+ # Create a new <Say-As> element
938
+ # words:: Words to be interpreted
939
+ # interpretAs:: Specify the type of words are spoken
940
+ # format:: Specify the format of the date when interpret-as is set to date
941
+ # keyword_args:: additional attributes
942
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
943
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
944
+ end
945
+
946
+ ##
947
+ # Create a new <Sub> element
948
+ # words:: Words to be substituted
949
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
950
+ # keyword_args:: additional attributes
951
+ def sub(words, aliasAttribute: nil, **keyword_args)
952
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
953
+ end
954
+
955
+ ##
956
+ # Create a new <W> element
957
+ # words:: Words to speak
958
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
959
+ # keyword_args:: additional attributes
960
+ def w(words: nil, role: nil, **keyword_args)
961
+ w = SsmlW.new(words: words, role: role, **keyword_args)
962
+
963
+ yield(w) if block_given?
964
+ append(w)
965
+ end
966
+ end
967
+
968
+ ##
969
+ # Using Phonetic Pronunciation in <Say>
970
+ class SsmlPhoneme < TwiML
971
+ def initialize(words, **keyword_args)
972
+ super(**keyword_args)
973
+ @name = 'phoneme'
974
+ @value = words
975
+ yield(self) if block_given?
976
+ end
977
+ end
978
+
979
+ ##
980
+ # Specifying Another Language for Specific Words in <Say>
981
+ class SsmlLang < TwiML
982
+ def initialize(words: nil, **keyword_args)
983
+ super(**keyword_args)
984
+ @name = 'lang'
985
+ @value = words unless words.nil?
986
+ yield(self) if block_given?
987
+ end
988
+
989
+ ##
990
+ # Create a new <Break> element
991
+ # strength:: Set a pause based on strength
992
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
993
+ # keyword_args:: additional attributes
994
+ def break(strength: nil, time: nil, **keyword_args)
995
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
996
+ end
997
+
998
+ ##
999
+ # Create a new <Emphasis> element
1000
+ # words:: Words to emphasize
1001
+ # level:: Specify the degree of emphasis
1002
+ # keyword_args:: additional attributes
1003
+ def emphasis(words: nil, level: nil, **keyword_args)
1004
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1005
+
1006
+ yield(emphasis) if block_given?
1007
+ append(emphasis)
1008
+ end
1009
+
1010
+ ##
1011
+ # Create a new <Lang> element
1012
+ # words:: Words to speak
1013
+ # xmlLang:: Specify the language
1014
+ # keyword_args:: additional attributes
1015
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1016
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1017
+
1018
+ yield(lang) if block_given?
1019
+ append(lang)
1020
+ end
1021
+
1022
+ ##
1023
+ # Create a new <P> element
1024
+ # words:: Words to speak
1025
+ # keyword_args:: additional attributes
1026
+ def p(words: nil, **keyword_args)
1027
+ p = SsmlP.new(words: words, **keyword_args)
1028
+
1029
+ yield(p) if block_given?
1030
+ append(p)
1031
+ end
1032
+
1033
+ ##
1034
+ # Create a new <Phoneme> element
1035
+ # words:: Words to speak
1036
+ # alphabet:: Specify the phonetic alphabet
1037
+ # ph:: Specifiy the phonetic symbols for pronunciation
1038
+ # keyword_args:: additional attributes
1039
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1040
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1041
+ end
1042
+
1043
+ ##
1044
+ # Create a new <Prosody> element
1045
+ # words:: Words to speak
1046
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1047
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1048
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1049
+ # keyword_args:: additional attributes
1050
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1051
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1052
+
1053
+ yield(prosody) if block_given?
1054
+ append(prosody)
1055
+ end
1056
+
1057
+ ##
1058
+ # Create a new <S> element
1059
+ # words:: Words to speak
1060
+ # keyword_args:: additional attributes
1061
+ def s(words: nil, **keyword_args)
1062
+ s = SsmlS.new(words: words, **keyword_args)
1063
+
1064
+ yield(s) if block_given?
1065
+ append(s)
1066
+ end
1067
+
1068
+ ##
1069
+ # Create a new <Say-As> element
1070
+ # words:: Words to be interpreted
1071
+ # interpretAs:: Specify the type of words are spoken
1072
+ # format:: Specify the format of the date when interpret-as is set to date
1073
+ # keyword_args:: additional attributes
1074
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1075
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1076
+ end
1077
+
1078
+ ##
1079
+ # Create a new <Sub> element
1080
+ # words:: Words to be substituted
1081
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1082
+ # keyword_args:: additional attributes
1083
+ def sub(words, aliasAttribute: nil, **keyword_args)
1084
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1085
+ end
1086
+
1087
+ ##
1088
+ # Create a new <W> element
1089
+ # words:: Words to speak
1090
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1091
+ # keyword_args:: additional attributes
1092
+ def w(words: nil, role: nil, **keyword_args)
1093
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1094
+
1095
+ yield(w) if block_given?
1096
+ append(w)
1097
+ end
1098
+ end
1099
+
1100
+ ##
1101
+ # Adding a Pause Between Paragraphs in <Say>
1102
+ class SsmlP < TwiML
1103
+ def initialize(words: nil, **keyword_args)
1104
+ super(**keyword_args)
1105
+ @name = 'p'
1106
+ @value = words unless words.nil?
1107
+ yield(self) if block_given?
1108
+ end
1109
+
1110
+ ##
1111
+ # Create a new <Break> element
1112
+ # strength:: Set a pause based on strength
1113
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1114
+ # keyword_args:: additional attributes
1115
+ def break(strength: nil, time: nil, **keyword_args)
1116
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1117
+ end
1118
+
1119
+ ##
1120
+ # Create a new <Emphasis> element
1121
+ # words:: Words to emphasize
1122
+ # level:: Specify the degree of emphasis
1123
+ # keyword_args:: additional attributes
1124
+ def emphasis(words: nil, level: nil, **keyword_args)
1125
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1126
+
1127
+ yield(emphasis) if block_given?
1128
+ append(emphasis)
1129
+ end
1130
+
1131
+ ##
1132
+ # Create a new <Lang> element
1133
+ # words:: Words to speak
1134
+ # xmlLang:: Specify the language
1135
+ # keyword_args:: additional attributes
1136
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1137
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1138
+
1139
+ yield(lang) if block_given?
1140
+ append(lang)
1141
+ end
1142
+
1143
+ ##
1144
+ # Create a new <Phoneme> element
1145
+ # words:: Words to speak
1146
+ # alphabet:: Specify the phonetic alphabet
1147
+ # ph:: Specifiy the phonetic symbols for pronunciation
1148
+ # keyword_args:: additional attributes
1149
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1150
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1151
+ end
1152
+
1153
+ ##
1154
+ # Create a new <Prosody> element
1155
+ # words:: Words to speak
1156
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1157
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1158
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1159
+ # keyword_args:: additional attributes
1160
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1161
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1162
+
1163
+ yield(prosody) if block_given?
1164
+ append(prosody)
1165
+ end
1166
+
1167
+ ##
1168
+ # Create a new <S> element
1169
+ # words:: Words to speak
1170
+ # keyword_args:: additional attributes
1171
+ def s(words: nil, **keyword_args)
1172
+ s = SsmlS.new(words: words, **keyword_args)
1173
+
1174
+ yield(s) if block_given?
1175
+ append(s)
1176
+ end
1177
+
1178
+ ##
1179
+ # Create a new <Say-As> element
1180
+ # words:: Words to be interpreted
1181
+ # interpretAs:: Specify the type of words are spoken
1182
+ # format:: Specify the format of the date when interpret-as is set to date
1183
+ # keyword_args:: additional attributes
1184
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1185
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1186
+ end
1187
+
1188
+ ##
1189
+ # Create a new <Sub> element
1190
+ # words:: Words to be substituted
1191
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1192
+ # keyword_args:: additional attributes
1193
+ def sub(words, aliasAttribute: nil, **keyword_args)
1194
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1195
+ end
1196
+
1197
+ ##
1198
+ # Create a new <W> element
1199
+ # words:: Words to speak
1200
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1201
+ # keyword_args:: additional attributes
1202
+ def w(words: nil, role: nil, **keyword_args)
1203
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1204
+
1205
+ yield(w) if block_given?
1206
+ append(w)
1207
+ end
1208
+ end
1209
+
1210
+ ##
1211
+ # Emphasizing Words in <Say>
1212
+ class SsmlEmphasis < TwiML
1213
+ def initialize(words: nil, **keyword_args)
321
1214
  super(**keyword_args)
322
- @name = 'Say'
323
- @value = message unless message.nil?
1215
+ @name = 'emphasis'
1216
+ @value = words unless words.nil?
324
1217
  yield(self) if block_given?
325
1218
  end
326
1219
 
@@ -338,25 +1231,23 @@ module Twilio
338
1231
  # words:: Words to emphasize
339
1232
  # level:: Specify the degree of emphasis
340
1233
  # keyword_args:: additional attributes
341
- def emphasis(words, level: nil, **keyword_args)
342
- append(SsmlEmphasis.new(words, level: level, **keyword_args))
1234
+ def emphasis(words: nil, level: nil, **keyword_args)
1235
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1236
+
1237
+ yield(emphasis) if block_given?
1238
+ append(emphasis)
343
1239
  end
344
1240
 
345
1241
  ##
346
1242
  # Create a new <Lang> element
347
1243
  # words:: Words to speak
348
- # xml:lang:: Specify the language
1244
+ # xmlLang:: Specify the language
349
1245
  # keyword_args:: additional attributes
350
- def lang(words, xmlLang: nil, **keyword_args)
351
- append(SsmlLang.new(words, xmlLang: xmlLang, **keyword_args))
352
- end
1246
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1247
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
353
1248
 
354
- ##
355
- # Create a new <P> element
356
- # words:: Words to speak
357
- # keyword_args:: additional attributes
358
- def p(words, **keyword_args)
359
- append(SsmlP.new(words, **keyword_args))
1249
+ yield(lang) if block_given?
1250
+ append(lang)
360
1251
  end
361
1252
 
362
1253
  ##
@@ -376,32 +1267,27 @@ module Twilio
376
1267
  # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
377
1268
  # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
378
1269
  # keyword_args:: additional attributes
379
- def prosody(words, volume: nil, rate: nil, pitch: nil, **keyword_args)
380
- append(SsmlProsody.new(words, volume: volume, rate: rate, pitch: pitch, **keyword_args))
381
- end
1270
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1271
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
382
1272
 
383
- ##
384
- # Create a new <S> element
385
- # words:: Words to speak
386
- # keyword_args:: additional attributes
387
- def s(words, **keyword_args)
388
- append(SsmlS.new(words, **keyword_args))
1273
+ yield(prosody) if block_given?
1274
+ append(prosody)
389
1275
  end
390
1276
 
391
1277
  ##
392
1278
  # Create a new <Say-As> element
393
1279
  # words:: Words to be interpreted
394
- # interpret-as:: Specify the type of words are spoken
395
- # role:: Specify the format of the date when interpret-as is set to date
1280
+ # interpretAs:: Specify the type of words are spoken
1281
+ # format:: Specify the format of the date when interpret-as is set to date
396
1282
  # keyword_args:: additional attributes
397
- def say_as(words, interpretAs: nil, role: nil, **keyword_args)
398
- append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
1283
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1284
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
399
1285
  end
400
1286
 
401
1287
  ##
402
1288
  # Create a new <Sub> element
403
1289
  # words:: Words to be substituted
404
- # alias:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1290
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
405
1291
  # keyword_args:: additional attributes
406
1292
  def sub(words, aliasAttribute: nil, **keyword_args)
407
1293
  append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
@@ -412,107 +1298,11 @@ module Twilio
412
1298
  # words:: Words to speak
413
1299
  # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
414
1300
  # keyword_args:: additional attributes
415
- def w(words, role: nil, **keyword_args)
416
- append(SsmlW.new(words, role: role, **keyword_args))
417
- end
418
- end
419
-
420
- ##
421
- # Improving Pronunciation by Specifying Parts of Speech in <Say>
422
- class SsmlW < TwiML
423
- def initialize(words, **keyword_args)
424
- super(**keyword_args)
425
- @name = 'w'
426
- @value = words
427
- yield(self) if block_given?
428
- end
429
- end
430
-
431
- ##
432
- # Pronouncing Acronyms and Abbreviations in <Say>
433
- class SsmlSub < TwiML
434
- def initialize(words, **keyword_args)
435
- super(**keyword_args)
436
- @name = 'sub'
437
- @value = words
438
- yield(self) if block_given?
439
- end
440
- end
441
-
442
- ##
443
- # Controlling How Special Types of Words Are Spoken in <Say>
444
- class SsmlSayAs < TwiML
445
- def initialize(words, **keyword_args)
446
- super(**keyword_args)
447
- @name = 'say-as'
448
- @value = words
449
- yield(self) if block_given?
450
- end
451
- end
452
-
453
- ##
454
- # Adding A Pause Between Sentences in <Say>
455
- class SsmlS < TwiML
456
- def initialize(words, **keyword_args)
457
- super(**keyword_args)
458
- @name = 's'
459
- @value = words
460
- yield(self) if block_given?
461
- end
462
- end
463
-
464
- ##
465
- # Controling Volume, Speaking Rate, and Pitch in <Say>
466
- class SsmlProsody < TwiML
467
- def initialize(words, **keyword_args)
468
- super(**keyword_args)
469
- @name = 'prosody'
470
- @value = words
471
- yield(self) if block_given?
472
- end
473
- end
474
-
475
- ##
476
- # Using Phonetic Pronunciation in <Say>
477
- class SsmlPhoneme < TwiML
478
- def initialize(words, **keyword_args)
479
- super(**keyword_args)
480
- @name = 'phoneme'
481
- @value = words
482
- yield(self) if block_given?
483
- end
484
- end
485
-
486
- ##
487
- # Adding a Pause Between Paragraphs in <Say>
488
- class SsmlP < TwiML
489
- def initialize(words, **keyword_args)
490
- super(**keyword_args)
491
- @name = 'p'
492
- @value = words
493
- yield(self) if block_given?
494
- end
495
- end
496
-
497
- ##
498
- # Specifying Another Language for Specific Words in <Say>
499
- class SsmlLang < TwiML
500
- def initialize(words, **keyword_args)
501
- super(**keyword_args)
502
- @name = 'lang'
503
- @value = words
504
- yield(self) if block_given?
505
- end
506
- end
1301
+ def w(words: nil, role: nil, **keyword_args)
1302
+ w = SsmlW.new(words: words, role: role, **keyword_args)
507
1303
 
508
- ##
509
- # Emphasizing Words in <Say>
510
- class SsmlEmphasis < TwiML
511
- def initialize(words, **keyword_args)
512
- super(**keyword_args)
513
- @name = 'emphasis'
514
- @value = words
515
- yield(self) if block_given?
1304
+ yield(w) if block_given?
1305
+ append(w)
516
1306
  end
517
1307
  end
518
1308
 
@@ -539,17 +1329,27 @@ module Twilio
539
1329
 
540
1330
  ##
541
1331
  # Create a new <Prompt> element
542
- # for_:: Name of the credit card data element
1332
+ # for_:: Name of the payment source data element
543
1333
  # error_type:: Type of error
544
1334
  # card_type:: Type of the credit card
545
1335
  # attempt:: Current attempt count
1336
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
546
1337
  # keyword_args:: additional attributes
547
- def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
548
- prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
1338
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
1339
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
549
1340
 
550
1341
  yield(prompt) if block_given?
551
1342
  append(prompt)
552
1343
  end
1344
+
1345
+ ##
1346
+ # Create a new <Parameter> element
1347
+ # name:: The name of the custom parameter
1348
+ # value:: The value of the custom parameter
1349
+ # keyword_args:: additional attributes
1350
+ def parameter(name: nil, value: nil, **keyword_args)
1351
+ append(Parameter.new(name: name, value: value, **keyword_args))
1352
+ end
553
1353
  end
554
1354
 
555
1355
  ##
@@ -572,6 +1372,15 @@ module Twilio
572
1372
 
573
1373
  yield(self) if block_given?
574
1374
  end
1375
+
1376
+ ##
1377
+ # Create a new <Parameter> element
1378
+ # name:: The name of the custom parameter
1379
+ # value:: The value of the custom parameter
1380
+ # keyword_args:: additional attributes
1381
+ def parameter(name: nil, value: nil, **keyword_args)
1382
+ append(Parameter.new(name: name, value: value, **keyword_args))
1383
+ end
575
1384
  end
576
1385
 
577
1386
  ##
@@ -627,6 +1436,15 @@ module Twilio
627
1436
 
628
1437
  yield(self) if block_given?
629
1438
  end
1439
+
1440
+ ##
1441
+ # Create a new <Parameter> element
1442
+ # name:: The name of the custom parameter
1443
+ # value:: The value of the custom parameter
1444
+ # keyword_args:: additional attributes
1445
+ def parameter(name: nil, value: nil, **keyword_args)
1446
+ append(Parameter.new(name: name, value: value, **keyword_args))
1447
+ end
630
1448
  end
631
1449
 
632
1450
  ##
@@ -644,7 +1462,7 @@ module Twilio
644
1462
  # message:: Message to say
645
1463
  # voice:: Voice to use
646
1464
  # loop:: Times to loop message
647
- # language:: Message langauge
1465
+ # language:: Message language
648
1466
  # keyword_args:: additional attributes
649
1467
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
650
1468
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -753,7 +1571,7 @@ module Twilio
753
1571
  # max_participants:: Maximum number of participants
754
1572
  # record:: Record the conference
755
1573
  # region:: Conference region
756
- # whisper:: Call whisper
1574
+ # coach:: Call coach
757
1575
  # trim:: Trim the conference recording
758
1576
  # status_callback_event:: Events to call status callback URL
759
1577
  # status_callback:: Status callback URL
@@ -762,9 +1580,11 @@ module Twilio
762
1580
  # recording_status_callback_method:: Recording status callback URL method
763
1581
  # recording_status_callback_event:: Recording status callback events
764
1582
  # event_callback_url:: Event callback URL
1583
+ # jitter_buffer_size:: Size of jitter buffer for participant
1584
+ # participant_label:: A label for participant
765
1585
  # keyword_args:: additional attributes
766
- def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil, whisper: nil, trim: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, event_callback_url: nil, **keyword_args)
767
- append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region, whisper: whisper, trim: trim, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, event_callback_url: event_callback_url, **keyword_args))
1586
+ def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil, coach: nil, trim: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, event_callback_url: nil, jitter_buffer_size: nil, participant_label: nil, **keyword_args)
1587
+ append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region, coach: coach, trim: trim, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, event_callback_url: event_callback_url, jitter_buffer_size: jitter_buffer_size, participant_label: participant_label, **keyword_args))
768
1588
  end
769
1589
 
770
1590
  ##
@@ -776,9 +1596,17 @@ module Twilio
776
1596
  # status_callback_event:: Events to call status callback
777
1597
  # status_callback:: Status callback URL
778
1598
  # status_callback_method:: Status callback URL method
1599
+ # byoc:: BYOC trunk SID (Beta)
1600
+ # machine_detection:: Enable machine detection or end of greeting detection
1601
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1602
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1603
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1604
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1605
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1606
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
779
1607
  # keyword_args:: additional attributes
780
- def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
781
- append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
1608
+ def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
1609
+ append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, byoc: byoc, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
782
1610
  end
783
1611
 
784
1612
  ##
@@ -811,9 +1639,73 @@ module Twilio
811
1639
  # status_callback_event:: Status callback events
812
1640
  # status_callback:: Status callback URL
813
1641
  # status_callback_method:: Status callback URL method
1642
+ # machine_detection:: Enable machine detection or end of greeting detection
1643
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1644
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1645
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1646
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1647
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1648
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
1649
+ # keyword_args:: additional attributes
1650
+ def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
1651
+ append(Sip.new(sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
1652
+ end
1653
+
1654
+ ##
1655
+ # Create a new <Application> element
1656
+ # application_sid:: Application sid
1657
+ # url:: TwiML URL
1658
+ # method:: TwiML URL Method
1659
+ # status_callback_event:: Events to trigger status callback
1660
+ # status_callback:: Status Callback URL
1661
+ # status_callback_method:: Status Callback URL Method
1662
+ # customer_id:: Identity of the customer calling application
1663
+ # copy_parent_to:: Copy parent call To field to called application side, otherwise use the application sid as To field
1664
+ # keyword_args:: additional attributes
1665
+ def application(application_sid: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, customer_id: nil, copy_parent_to: nil, **keyword_args)
1666
+ application = Application.new(application_sid: application_sid, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, customer_id: customer_id, copy_parent_to: copy_parent_to, **keyword_args)
1667
+
1668
+ yield(application) if block_given?
1669
+ append(application)
1670
+ end
1671
+ end
1672
+
1673
+ ##
1674
+ # <Application> TwiML Noun
1675
+ class Application < TwiML
1676
+ def initialize(application_sid: nil, **keyword_args)
1677
+ super(**keyword_args)
1678
+ @name = 'Application'
1679
+ @value = application_sid unless application_sid.nil?
1680
+ yield(self) if block_given?
1681
+ end
1682
+
1683
+ ##
1684
+ # Create a new <ApplicationSid> element
1685
+ # sid:: Application sid to dial
1686
+ # keyword_args:: additional attributes
1687
+ def application_sid(sid, **keyword_args)
1688
+ append(ApplicationSid.new(sid, **keyword_args))
1689
+ end
1690
+
1691
+ ##
1692
+ # Create a new <Parameter> element
1693
+ # name:: The name of the custom parameter
1694
+ # value:: The value of the custom parameter
814
1695
  # keyword_args:: additional attributes
815
- def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
816
- append(Sip.new(sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
1696
+ def parameter(name: nil, value: nil, **keyword_args)
1697
+ append(Parameter.new(name: name, value: value, **keyword_args))
1698
+ end
1699
+ end
1700
+
1701
+ ##
1702
+ # <ApplicationSid> TwiML Noun
1703
+ class ApplicationSid < TwiML
1704
+ def initialize(sid, **keyword_args)
1705
+ super(**keyword_args)
1706
+ @name = 'ApplicationSid'
1707
+ @value = sid
1708
+ yield(self) if block_given?
817
1709
  end
818
1710
  end
819
1711
 
@@ -889,17 +1781,6 @@ module Twilio
889
1781
  end
890
1782
  end
891
1783
 
892
- ##
893
- # <Parameter> TwiML Noun
894
- class Parameter < TwiML
895
- def initialize(**keyword_args)
896
- super(**keyword_args)
897
- @name = 'Parameter'
898
-
899
- yield(self) if block_given?
900
- end
901
- end
902
-
903
1784
  ##
904
1785
  # <Identity> TwiML Noun
905
1786
  class Identity < TwiML
@@ -924,10 +1805,10 @@ module Twilio
924
1805
  ##
925
1806
  # Create a new <Room> element
926
1807
  # name:: Room name
927
- # participantIdentity:: Participant identity when connecting to the Room
1808
+ # participant_identity:: Participant identity when connecting to the Room
928
1809
  # keyword_args:: additional attributes
929
- def room(name, participantIdentity: nil, **keyword_args)
930
- append(Room.new(name, participantIdentity: participantIdentity, **keyword_args))
1810
+ def room(name, participant_identity: nil, **keyword_args)
1811
+ append(Room.new(name, participant_identity: participant_identity, **keyword_args))
931
1812
  end
932
1813
 
933
1814
  ##
@@ -937,6 +1818,109 @@ module Twilio
937
1818
  def autopilot(name, **keyword_args)
938
1819
  append(Autopilot.new(name, **keyword_args))
939
1820
  end
1821
+
1822
+ ##
1823
+ # Create a new <Stream> element
1824
+ # name:: Friendly name given to the Stream
1825
+ # connector_name:: Unique name for Stream Connector
1826
+ # url:: URL of the remote service where the Stream is routed
1827
+ # track:: Track to be streamed to remote service
1828
+ # status_callback:: Status Callback URL
1829
+ # status_callback_method:: Status Callback URL method
1830
+ # keyword_args:: additional attributes
1831
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1832
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
1833
+
1834
+ yield(stream) if block_given?
1835
+ append(stream)
1836
+ end
1837
+
1838
+ ##
1839
+ # Create a new <VirtualAgent> element
1840
+ # connector_name:: Defines the conversation profile Dialogflow needs to use
1841
+ # language:: Language to be used by Dialogflow to transcribe speech
1842
+ # sentiment_analysis:: Whether sentiment analysis needs to be enabled or not
1843
+ # status_callback:: URL to post status callbacks from Twilio
1844
+ # status_callback_method:: HTTP method to use when requesting the status callback URL
1845
+ # keyword_args:: additional attributes
1846
+ def virtual_agent(connector_name: nil, language: nil, sentiment_analysis: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1847
+ virtual_agent = VirtualAgent.new(connector_name: connector_name, language: language, sentiment_analysis: sentiment_analysis, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
1848
+
1849
+ yield(virtual_agent) if block_given?
1850
+ append(virtual_agent)
1851
+ end
1852
+
1853
+ ##
1854
+ # Create a new <Conversation> element
1855
+ # service_instance_sid:: Service instance Sid
1856
+ # inbound_autocreation:: Inbound autocreation
1857
+ # routing_assignment_timeout:: Routing assignment timeout
1858
+ # inbound_timeout:: Inbound timeout
1859
+ # url:: TwiML URL
1860
+ # method:: TwiML URL method
1861
+ # record:: Record
1862
+ # trim:: Trim
1863
+ # recording_status_callback:: Recording status callback URL
1864
+ # recording_status_callback_method:: Recording status callback URL method
1865
+ # recording_status_callback_event:: Recording status callback events
1866
+ # status_callback:: Status callback URL
1867
+ # status_callback_method:: Status callback URL method
1868
+ # status_callback_event:: Events to call status callback URL
1869
+ # keyword_args:: additional attributes
1870
+ def conversation(service_instance_sid: nil, inbound_autocreation: nil, routing_assignment_timeout: nil, inbound_timeout: nil, url: nil, method: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, status_callback: nil, status_callback_method: nil, status_callback_event: nil, **keyword_args)
1871
+ append(Conversation.new(service_instance_sid: service_instance_sid, inbound_autocreation: inbound_autocreation, routing_assignment_timeout: routing_assignment_timeout, inbound_timeout: inbound_timeout, url: url, method: method, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, status_callback_event: status_callback_event, **keyword_args))
1872
+ end
1873
+ end
1874
+
1875
+ ##
1876
+ # <Conversation> TwiML Noun
1877
+ class Conversation < TwiML
1878
+ def initialize(**keyword_args)
1879
+ super(**keyword_args)
1880
+ @name = 'Conversation'
1881
+
1882
+ yield(self) if block_given?
1883
+ end
1884
+ end
1885
+
1886
+ ##
1887
+ # <VirtualAgent> TwiML Noun
1888
+ class VirtualAgent < TwiML
1889
+ def initialize(**keyword_args)
1890
+ super(**keyword_args)
1891
+ @name = 'VirtualAgent'
1892
+
1893
+ yield(self) if block_given?
1894
+ end
1895
+
1896
+ ##
1897
+ # Create a new <Config> element
1898
+ # name:: The name of the custom config
1899
+ # value:: The value of the custom config
1900
+ # keyword_args:: additional attributes
1901
+ def config(name: nil, value: nil, **keyword_args)
1902
+ append(Config.new(name: name, value: value, **keyword_args))
1903
+ end
1904
+
1905
+ ##
1906
+ # Create a new <Parameter> element
1907
+ # name:: The name of the custom parameter
1908
+ # value:: The value of the custom parameter
1909
+ # keyword_args:: additional attributes
1910
+ def parameter(name: nil, value: nil, **keyword_args)
1911
+ append(Parameter.new(name: name, value: value, **keyword_args))
1912
+ end
1913
+ end
1914
+
1915
+ ##
1916
+ # <Config> TwiML Noun
1917
+ class Config < TwiML
1918
+ def initialize(**keyword_args)
1919
+ super(**keyword_args)
1920
+ @name = 'Config'
1921
+
1922
+ yield(self) if block_given?
1923
+ end
940
1924
  end
941
1925
 
942
1926
  ##