twilio-ruby 5.19.0 → 5.74.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (906) 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 +2126 -0
  9. data/CODE_OF_CONDUCT.md +73 -0
  10. data/CONTRIBUTING.md +4 -2
  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 +119 -54
  18. data/Rakefile +0 -54
  19. data/VERSIONS.md +9 -10
  20. data/examples/examples.rb +1 -1
  21. data/githooks/pre-commit +0 -0
  22. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  23. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -1
  24. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -3
  25. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  26. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  27. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  28. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  29. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  30. data/lib/twilio-ruby/http/http_client.rb +34 -15
  31. data/lib/twilio-ruby/http.rb +5 -0
  32. data/lib/twilio-ruby/jwt/access_token.rb +20 -2
  33. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  34. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  35. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  36. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -53
  37. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
  38. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -5
  39. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  40. data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
  41. data/lib/twilio-ruby/rest/accounts.rb +13 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +40 -38
  43. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +133 -123
  44. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +182 -182
  45. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +35 -32
  46. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +171 -180
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +189 -87
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +168 -174
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +189 -87
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +189 -87
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +168 -174
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +189 -87
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +28 -23
  54. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +3 -9
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +59 -66
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +32 -36
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +76 -73
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +404 -188
  66. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +374 -201
  67. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +58 -63
  68. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +38 -29
  69. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +80 -71
  70. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +48 -41
  71. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +53 -54
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +179 -127
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +178 -127
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +178 -127
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +314 -292
  76. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
  77. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +25 -20
  78. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +35 -36
  79. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +234 -209
  80. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +11 -15
  81. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +11 -15
  82. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +47 -55
  83. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +56 -61
  84. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +43 -40
  85. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +57 -67
  86. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
  87. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +55 -42
  89. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -72
  90. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +18 -23
  91. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +28 -38
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +23 -33
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +48 -51
  95. 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
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +15 -15
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +48 -51
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +13 -13
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +11 -11
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +34 -40
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +33 -39
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +175 -105
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +29 -39
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +27 -37
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +3 -2
  106. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +16 -19
  107. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +44 -41
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +71 -51
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +71 -51
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +71 -54
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +71 -51
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +71 -51
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +71 -51
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +71 -51
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +71 -51
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +68 -54
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +107 -114
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +3 -2
  119. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
  120. data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -28
  121. data/lib/twilio-ruby/rest/api/v2010.rb +6 -5
  122. data/lib/twilio-ruby/rest/api.rb +26 -22
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -60
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -61
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -60
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +111 -93
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -53
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +89 -86
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -32
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +37 -30
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -76
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -102
  137. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1.rb +15 -7
  139. data/lib/twilio-ruby/rest/autopilot.rb +8 -2
  140. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export/day.rb +100 -25
  141. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  143. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export.rb +72 -32
  144. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export_configuration.rb +42 -43
  145. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  146. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  147. data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
  148. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
  149. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +82 -74
  151. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +84 -76
  152. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
  153. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
  154. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +75 -82
  155. data/lib/twilio-ruby/rest/chat/v1/service.rb +340 -359
  156. data/lib/twilio-ruby/rest/chat/v1.rb +15 -11
  157. data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
  158. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
  159. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
  160. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +162 -154
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +144 -136
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +136 -119
  164. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
  165. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
  166. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +101 -53
  167. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +94 -89
  168. data/lib/twilio-ruby/rest/chat/v2/service.rb +228 -189
  169. data/lib/twilio-ruby/rest/chat/v2.rb +13 -11
  170. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  171. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  172. data/lib/twilio-ruby/rest/chat.rb +19 -3
  173. data/lib/twilio-ruby/rest/client.rb +218 -75
  174. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  175. data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → content/v1/content.rb} +107 -149
  176. data/lib/twilio-ruby/rest/content/v1.rb +45 -0
  177. data/lib/twilio-ruby/rest/content.rb +47 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +517 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +323 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +286 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +563 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  196. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  201. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  202. data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +171 -92
  203. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  205. data/lib/twilio-ruby/rest/conversations/v1.rb +143 -0
  206. data/lib/twilio-ruby/rest/conversations.rb +104 -0
  207. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  208. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → events/v1/schema/version.rb} +85 -110
  209. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  210. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  211. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  212. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  213. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  214. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  215. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  216. data/lib/twilio-ruby/rest/events.rb +72 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +504 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +229 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +288 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +190 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +144 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +130 -0
  226. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +166 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  228. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  229. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  230. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  231. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1.rb +166 -0
  233. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  234. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  235. data/lib/twilio-ruby/rest/flex_api.rb +139 -0
  236. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  237. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  238. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  239. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  240. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  241. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  242. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +321 -0
  243. data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
  244. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
  245. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  246. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  247. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  248. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  249. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  250. data/lib/twilio-ruby/rest/insights/v1.rb +58 -11
  251. data/lib/twilio-ruby/rest/insights.rb +34 -6
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
  254. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
  255. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +42 -62
  256. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +52 -71
  257. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
  258. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
  259. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +48 -77
  260. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +71 -205
  261. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +15 -13
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +86 -154
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +88 -134
  267. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +87 -120
  269. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +69 -88
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +80 -130
  274. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +15 -13
  275. data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
  276. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
  277. data/lib/twilio-ruby/rest/lookups/v1.rb +9 -6
  278. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
  279. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  280. data/lib/twilio-ruby/rest/lookups.rb +11 -4
  281. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  282. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  283. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  284. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  285. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  286. data/lib/twilio-ruby/rest/media.rb +65 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  288. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +453 -0
  289. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  291. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
  292. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  293. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
  294. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
  295. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +40 -48
  296. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  298. data/lib/twilio-ruby/rest/messaging/v1/service.rb +272 -128
  299. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +709 -0
  300. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  301. data/lib/twilio-ruby/rest/messaging/v1.rb +94 -6
  302. data/lib/twilio-ruby/rest/messaging.rb +55 -2
  303. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  304. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
  305. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  306. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  307. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
  308. data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
  309. data/lib/twilio-ruby/rest/monitor/v1.rb +13 -11
  310. data/lib/twilio-ruby/rest/monitor.rb +5 -3
  311. data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
  312. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
  313. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +127 -125
  314. data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
  315. data/lib/twilio-ruby/rest/notify/v1.rb +15 -11
  316. data/lib/twilio-ruby/rest/notify.rb +5 -3
  317. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  318. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  319. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  320. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  321. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +614 -0
  322. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
  323. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +378 -0
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  328. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  329. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  330. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  331. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  332. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  333. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  334. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  335. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  336. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  337. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
  338. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
  339. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
  340. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
  341. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
  342. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +6 -5
  343. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +17 -16
  344. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
  345. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +34 -44
  346. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +11 -9
  347. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
  348. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
  349. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
  350. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
  351. data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
  352. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
  353. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
  354. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +37 -40
  355. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
  356. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
  357. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
  358. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
  359. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
  360. data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
  361. data/lib/twilio-ruby/rest/preview/sync.rb +6 -5
  362. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
  363. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
  364. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
  365. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
  366. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
  367. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
  368. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
  369. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
  370. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +13 -12
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
  375. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
  376. data/lib/twilio-ruby/rest/preview/understand.rb +6 -5
  377. data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
  378. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +26 -36
  379. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
  380. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
  381. data/lib/twilio-ruby/rest/preview/wireless.rb +16 -13
  382. data/lib/twilio-ruby/rest/preview.rb +6 -35
  383. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
  384. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
  385. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
  386. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
  387. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
  388. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
  389. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
  390. data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
  391. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  392. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  393. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
  394. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
  395. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
  396. data/lib/twilio-ruby/rest/pricing/v2.rb +38 -1
  397. data/lib/twilio-ruby/rest/pricing.rb +20 -1
  398. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +69 -68
  399. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +56 -55
  400. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
  401. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +60 -62
  402. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +86 -96
  403. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
  404. data/lib/twilio-ruby/rest/proxy/v1/service.rb +153 -119
  405. data/lib/twilio-ruby/rest/proxy/v1.rb +8 -6
  406. data/lib/twilio-ruby/rest/proxy.rb +3 -2
  407. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  408. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  409. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  410. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  411. data/lib/twilio-ruby/rest/routes.rb +62 -0
  412. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  413. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  414. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  415. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  416. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  417. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  418. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  419. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  420. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  421. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  422. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  423. data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +183 -158
  424. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  425. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  426. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
  427. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
  428. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
  429. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
  430. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
  431. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
  432. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
  433. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +88 -65
  434. data/lib/twilio-ruby/rest/studio/v1/flow.rb +31 -32
  435. data/lib/twilio-ruby/rest/studio/v1.rb +7 -6
  436. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  437. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  438. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  439. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  440. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
  441. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  442. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  443. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  444. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  445. data/lib/twilio-ruby/rest/studio.rb +19 -5
  446. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  447. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +493 -0
  448. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +419 -0
  449. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  450. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  451. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  452. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  453. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  454. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  455. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +463 -0
  456. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  457. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +352 -0
  458. data/lib/twilio-ruby/rest/supersim/v1.rb +154 -0
  459. data/lib/twilio-ruby/rest/supersim.rb +112 -0
  460. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
  461. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +71 -75
  462. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +142 -122
  463. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
  464. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +64 -70
  465. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +146 -129
  466. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
  467. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +65 -72
  468. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
  469. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +57 -67
  470. data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
  471. data/lib/twilio-ruby/rest/sync/v1.rb +7 -6
  472. data/lib/twilio-ruby/rest/sync.rb +3 -2
  473. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +83 -77
  474. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
  475. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +316 -205
  476. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +220 -179
  477. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +78 -61
  478. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +95 -81
  479. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +63 -33
  480. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +129 -126
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +309 -161
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +59 -62
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +49 -45
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +28 -20
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +155 -123
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +85 -72
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +44 -28
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +109 -108
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +74 -67
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +37 -27
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +140 -128
  498. data/lib/twilio-ruby/rest/taskrouter/v1.rb +7 -6
  499. data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
  500. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
  501. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
  502. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +76 -85
  503. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
  504. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  505. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +165 -136
  506. data/lib/twilio-ruby/rest/trunking/v1.rb +8 -7
  507. data/lib/twilio-ruby/rest/trunking.rb +3 -3
  508. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  509. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  510. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  511. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  512. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  513. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  514. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  515. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  516. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  517. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  518. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  519. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  520. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  521. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  522. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  523. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +26 -25
  524. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  525. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +261 -0
  526. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  527. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +543 -0
  528. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +116 -124
  529. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  530. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +96 -47
  531. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  532. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  533. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  534. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +378 -0
  535. data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +66 -39
  536. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +419 -0
  537. data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
  538. data/lib/twilio-ruby/rest/verify/v2/template.rb +213 -0
  539. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  540. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  541. data/lib/twilio-ruby/rest/verify/v2.rb +110 -0
  542. data/lib/twilio-ruby/rest/verify.rb +48 -9
  543. data/lib/twilio-ruby/rest/video/v1/composition.rb +149 -144
  544. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +268 -232
  545. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
  546. data/lib/twilio-ruby/rest/video/v1/recording.rb +104 -77
  547. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
  548. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +73 -55
  549. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  550. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
  551. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  552. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
  553. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +120 -77
  554. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  555. data/lib/twilio-ruby/rest/video/v1/room.rb +176 -86
  556. data/lib/twilio-ruby/rest/video/v1.rb +25 -24
  557. data/lib/twilio-ruby/rest/video.rb +9 -9
  558. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  559. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  560. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  561. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  562. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +6 -11
  563. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
  564. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +45 -44
  565. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  566. data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
  567. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  568. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  569. data/lib/twilio-ruby/rest/voice/v1.rb +94 -5
  570. data/lib/twilio-ruby/rest/voice.rb +48 -4
  571. data/lib/twilio-ruby/rest/wireless/v1/command.rb +74 -77
  572. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +89 -91
  573. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +39 -42
  574. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
  575. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +179 -161
  576. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  577. data/lib/twilio-ruby/rest/wireless/v1.rb +26 -18
  578. data/lib/twilio-ruby/rest/wireless.rb +10 -4
  579. data/lib/twilio-ruby/rest.rb +13 -0
  580. data/lib/twilio-ruby/security/request_validator.rb +64 -11
  581. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  582. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  583. data/lib/twilio-ruby/twiml/twiml.rb +4 -0
  584. data/lib/twilio-ruby/twiml/voice_response.rb +1156 -172
  585. data/lib/twilio-ruby/util/configuration.rb +22 -5
  586. data/lib/twilio-ruby/version.rb +1 -1
  587. data/lib/twilio-ruby.rb +9 -25
  588. data/sonar-project.properties +13 -0
  589. data/twilio-ruby.gemspec +12 -7
  590. metadata +336 -654
  591. data/.travis.yml +0 -26
  592. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -398
  593. data/lib/twilio-ruby/rest/authy/v1.rb +0 -59
  594. data/lib/twilio-ruby/rest/authy.rb +0 -55
  595. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -531
  596. data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
  597. data/lib/twilio-ruby/rest/fax.rb +0 -46
  598. data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -286
  599. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  600. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  601. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  602. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  603. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -206
  604. data/lib/twilio-ruby/rest/verify/v1.rb +0 -43
  605. data/spec/framework/request_spec.rb +0 -36
  606. data/spec/framework/serialize_spec.rb +0 -80
  607. data/spec/holodeck/holodeck.rb +0 -61
  608. data/spec/holodeck/hologram.rb +0 -4
  609. data/spec/http/http_client_spec.rb +0 -122
  610. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  611. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  612. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  613. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  614. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  615. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  616. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  617. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  618. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  619. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  620. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  621. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  622. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  623. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  624. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  625. data/spec/integration/api/v2010/account/balance_spec.rb +0 -45
  626. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  627. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  628. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  629. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  630. data/spec/integration/api/v2010/account/call_spec.rb +0 -314
  631. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -350
  632. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -237
  633. data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
  634. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
  635. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  636. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  637. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  638. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  639. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  640. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  641. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  642. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  643. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  644. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  645. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  646. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  647. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  648. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  649. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
  650. data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
  651. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  652. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  653. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  654. data/spec/integration/api/v2010/account/recording_spec.rb +0 -187
  655. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  656. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  657. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  658. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  659. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -220
  660. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -220
  661. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  662. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -220
  663. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  664. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  665. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  666. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  667. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -295
  668. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  669. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  670. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  671. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  672. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  673. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  674. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  675. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  676. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  677. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  678. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  679. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  680. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  681. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  682. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  683. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  684. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  685. data/spec/integration/api/v2010/account_spec.rb +0 -275
  686. data/spec/integration/authy/v1/form_spec.rb +0 -48
  687. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -262
  688. data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
  689. data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
  690. data/spec/integration/authy/v1/service_spec.rb +0 -227
  691. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -81
  692. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -47
  693. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -210
  694. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -246
  695. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -241
  696. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -306
  697. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -81
  698. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -207
  699. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -253
  700. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -87
  701. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -50
  702. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -262
  703. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -270
  704. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  705. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  706. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  707. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  708. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  709. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  710. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  711. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  712. data/spec/integration/chat/v1/service_spec.rb +0 -299
  713. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  714. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  715. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  716. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -261
  717. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  718. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  719. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  720. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  721. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  722. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -192
  723. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  724. data/spec/integration/chat/v2/service_spec.rb +0 -354
  725. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  726. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  727. data/spec/integration/insights/v1/summary_spec.rb +0 -60
  728. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  729. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  730. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  731. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  732. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  733. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  734. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  735. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  736. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  737. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  738. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  739. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  740. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -261
  741. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  742. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  743. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  744. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  745. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  746. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -192
  747. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  748. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  749. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
  750. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  751. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  752. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  753. data/spec/integration/messaging/v1/service_spec.rb +0 -271
  754. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  755. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  756. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  757. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  758. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  759. data/spec/integration/notify/v1/service_spec.rb +0 -286
  760. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  761. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  762. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  763. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  764. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  765. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  766. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  767. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  768. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  769. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  770. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  771. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  772. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  773. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  774. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  775. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  776. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  777. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  778. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  779. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  780. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  781. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  782. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  783. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  784. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  785. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  786. data/spec/integration/preview/sync/service_spec.rb +0 -246
  787. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -81
  788. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -81
  789. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -47
  790. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  791. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  792. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  793. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  794. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -81
  795. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -207
  796. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -253
  797. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -87
  798. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -50
  799. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -262
  800. data/spec/integration/preview/understand/assistant_spec.rb +0 -274
  801. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  802. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  803. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  804. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  805. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  806. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  807. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  808. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  809. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  810. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  811. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  812. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -181
  813. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -62
  814. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  815. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -232
  816. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  817. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  818. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -243
  819. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  820. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -229
  821. data/spec/integration/proxy/v1/service_spec.rb +0 -218
  822. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  823. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  824. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  825. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  826. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  827. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  828. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  829. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  830. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  831. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  832. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  833. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  834. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  835. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  836. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  837. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  838. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  839. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  840. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  841. data/spec/integration/sync/v1/service_spec.rb +0 -254
  842. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  843. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
  844. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -225
  845. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -310
  846. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  847. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
  848. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  849. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  850. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -294
  851. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  852. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  853. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  854. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  855. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  856. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  857. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  858. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  859. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  860. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  861. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  862. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  863. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  864. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  865. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  866. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  867. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  868. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  869. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  870. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  871. data/spec/integration/trunking/v1/trunk_spec.rb +0 -362
  872. data/spec/integration/verify/v1/service/verification_check_spec.rb +0 -52
  873. data/spec/integration/verify/v1/service/verification_spec.rb +0 -61
  874. data/spec/integration/verify/v1/service_spec.rb +0 -227
  875. data/spec/integration/video/v1/composition_hook_spec.rb +0 -410
  876. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  877. data/spec/integration/video/v1/composition_spec.rb +0 -325
  878. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  879. data/spec/integration/video/v1/recording_spec.rb +0 -179
  880. data/spec/integration/video/v1/room/recording_spec.rb +0 -188
  881. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  882. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
  883. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  884. data/spec/integration/video/v1/room_spec.rb +0 -257
  885. data/spec/integration/voice/v1/voice_permission/bulk_country_update_spec.rb +0 -45
  886. data/spec/integration/voice/v1/voice_permission/country/highrisk_special_prefix_spec.rb +0 -61
  887. data/spec/integration/voice/v1/voice_permission/country_spec.rb +0 -112
  888. data/spec/integration/voice/v1/voice_permission_spec.rb +0 -12
  889. data/spec/integration/wireless/v1/command_spec.rb +0 -289
  890. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  891. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
  892. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  893. data/spec/integration/wireless/v1/sim_spec.rb +0 -242
  894. data/spec/jwt/access_token_spec.rb +0 -151
  895. data/spec/jwt/client_capability_spec.rb +0 -104
  896. data/spec/jwt/task_router_spec.rb +0 -172
  897. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  898. data/spec/rest/client_spec.rb +0 -61
  899. data/spec/security/request_validator_spec.rb +0 -86
  900. data/spec/spec_helper.rb +0 -38
  901. data/spec/support/fakeweb.rb +0 -2
  902. data/spec/twilio_spec.rb +0 -15
  903. data/spec/twiml/messaging_response_spec.rb +0 -235
  904. data/spec/twiml/voice_response_spec.rb +0 -847
  905. data/spec/util/configuration_spec.rb +0 -15
  906. data/spec/util/url_encode_spec.rb +0 -12
@@ -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
  ##