twilio-ruby 5.10.7 → 7.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1049) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/pr-lint.yml +21 -0
  5. data/.github/workflows/test-and-deploy.yml +147 -0
  6. data/.gitignore +11 -1
  7. data/.rubocop.yml +23 -6
  8. data/.rubocop_todo.yml +147 -73
  9. data/CHANGES.md +3392 -0
  10. data/CODE_OF_CONDUCT.md +73 -0
  11. data/CONTRIBUTING.md +14 -10
  12. data/Dockerfile +4 -3
  13. data/Gemfile +5 -8
  14. data/ISSUE_TEMPLATE.md +17 -13
  15. data/{LICENSE.md → LICENSE} +2 -2
  16. data/Makefile +22 -22
  17. data/PULL_REQUEST_TEMPLATE.md +30 -3
  18. data/README.md +219 -57
  19. data/Rakefile +0 -54
  20. data/UPGRADE.md +21 -0
  21. data/VERSIONS.md +9 -10
  22. data/advanced-examples/custom-http-client.md +170 -0
  23. data/cluster/cluster_oauth_spec.rb +19 -0
  24. data/cluster/cluster_orgs_spec.rb +40 -0
  25. data/cluster/cluster_spec.rb +75 -0
  26. data/examples/examples.rb +1 -1
  27. data/examples/public_oauth.rb +13 -0
  28. data/githooks/pre-commit +0 -0
  29. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  30. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  31. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  32. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  33. data/lib/twilio-ruby/base/client_base.rb +131 -0
  34. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  35. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  36. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  37. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  38. data/lib/twilio-ruby/framework/request.rb +8 -1
  39. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -2
  40. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -15
  41. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +1 -0
  42. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  43. data/lib/twilio-ruby/http/client_token_manager.rb +28 -0
  44. data/lib/twilio-ruby/http/http_client.rb +53 -17
  45. data/lib/twilio-ruby/http/org_token_manager.rb +28 -0
  46. data/lib/twilio-ruby/http.rb +5 -0
  47. data/lib/twilio-ruby/jwt/access_token.rb +20 -61
  48. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  49. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  50. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +213 -0
  51. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +137 -0
  52. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +137 -0
  53. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +398 -334
  54. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +398 -341
  55. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +123 -114
  56. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +186 -0
  57. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +233 -0
  58. data/lib/twilio-ruby/rest/accounts/v1.rb +64 -29
  59. data/lib/twilio-ruby/rest/accounts.rb +10 -28
  60. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +375 -364
  62. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +584 -521
  63. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +642 -606
  64. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +324 -318
  65. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +398 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +398 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +398 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +398 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +398 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +398 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +398 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +442 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +150 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +213 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +411 -413
  76. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +335 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +521 -485
  78. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +885 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +885 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +318 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +170 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +250 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +973 -827
  84. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +686 -576
  85. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +472 -450
  86. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -477
  87. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +447 -399
  88. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +331 -346
  89. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +417 -420
  90. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +547 -503
  91. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +547 -503
  92. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +547 -503
  93. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +868 -865
  94. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +356 -304
  95. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +175 -162
  96. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -347
  97. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +645 -601
  98. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +165 -143
  99. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +165 -143
  100. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +411 -408
  101. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +389 -364
  102. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +357 -324
  103. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +453 -390
  104. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +204 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +386 -366
  106. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +383 -380
  107. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +379 -360
  108. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -478
  109. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +434 -410
  110. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +356 -312
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +402 -375
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +426 -383
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +366 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +366 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +366 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +127 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +360 -340
  120. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +360 -340
  121. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +677 -539
  122. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +439 -410
  123. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +426 -383
  124. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +143 -150
  125. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +179 -158
  126. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +379 -348
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -320
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -320
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -323
  130. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -320
  131. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -320
  132. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -320
  133. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -320
  134. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -320
  135. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -397
  136. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +512 -492
  137. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +114 -104
  138. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +180 -167
  139. data/lib/twilio-ruby/rest/api/v2010/account.rb +1002 -934
  140. data/lib/twilio-ruby/rest/api/v2010.rb +127 -144
  141. data/lib/twilio-ruby/rest/api.rb +62 -60
  142. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +371 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +371 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +311 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +206 -0
  147. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +687 -0
  148. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +232 -0
  149. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +213 -0
  150. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +629 -0
  151. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +267 -0
  152. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +267 -0
  153. data/lib/twilio-ruby/rest/assistants/v1/session.rb +335 -0
  154. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +605 -0
  155. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  156. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  157. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +316 -0
  159. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +315 -0
  160. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +289 -0
  161. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +261 -0
  162. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +266 -0
  163. data/lib/twilio-ruby/rest/bulkexports/v1.rb +64 -0
  164. data/lib/twilio-ruby/rest/bulkexports.rb +25 -0
  165. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  166. data/lib/twilio-ruby/rest/chat/v1/credential.rb +446 -393
  167. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +395 -386
  168. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +449 -444
  169. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +465 -430
  170. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +561 -508
  171. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +423 -368
  172. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +249 -238
  173. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +492 -448
  174. data/lib/twilio-ruby/rest/chat/v1/service.rb +888 -914
  175. data/lib/twilio-ruby/rest/chat/v1.rb +58 -52
  176. data/lib/twilio-ruby/rest/chat/v2/credential.rb +446 -409
  177. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +386 -361
  178. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +395 -389
  179. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +510 -492
  180. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +537 -514
  181. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +467 -422
  182. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +630 -576
  183. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +423 -365
  184. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +379 -377
  185. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +428 -240
  186. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +534 -477
  187. data/lib/twilio-ruby/rest/chat/v2/service.rb +791 -740
  188. data/lib/twilio-ruby/rest/chat/v2.rb +58 -52
  189. data/lib/twilio-ruby/rest/chat/v3/channel.rb +303 -0
  190. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  191. data/lib/twilio-ruby/rest/chat.rb +12 -40
  192. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  193. data/lib/twilio-ruby/rest/client.rb +344 -400
  194. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +190 -0
  195. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +213 -0
  196. data/lib/twilio-ruby/rest/content/v1/content.rb +974 -0
  197. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +255 -0
  198. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +269 -0
  199. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  200. data/lib/twilio-ruby/rest/content/v2/content.rb +319 -0
  201. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +312 -0
  202. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  203. data/lib/twilio-ruby/rest/content.rb +15 -0
  204. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  205. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +508 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +294 -0
  207. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +300 -0
  208. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  209. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +567 -0
  210. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +528 -0
  211. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +458 -0
  212. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +653 -0
  213. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +263 -0
  214. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +461 -0
  215. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +316 -0
  216. data/lib/twilio-ruby/rest/conversations/v1/role.rb +420 -0
  217. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +385 -0
  218. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +347 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +293 -0
  220. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +327 -0
  221. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +366 -0
  222. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +580 -0
  223. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  224. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +471 -0
  225. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +662 -0
  226. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +269 -0
  227. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +321 -0
  228. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +429 -0
  229. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +477 -0
  230. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +514 -0
  231. data/lib/twilio-ruby/rest/conversations/v1/service.rb +525 -0
  232. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +472 -0
  233. data/lib/twilio-ruby/rest/conversations/v1/user.rb +505 -0
  234. data/lib/twilio-ruby/rest/conversations/v1.rb +142 -0
  235. data/lib/twilio-ruby/rest/conversations.rb +79 -0
  236. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  237. data/lib/twilio-ruby/rest/events/v1/event_type.rb +336 -0
  238. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +309 -0
  239. data/lib/twilio-ruby/rest/events/v1/schema.rb +242 -0
  240. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +136 -0
  241. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +143 -0
  242. data/lib/twilio-ruby/rest/events/v1/sink.rb +470 -0
  243. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +398 -0
  244. data/lib/twilio-ruby/rest/events/v1/subscription.rb +452 -0
  245. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  246. data/lib/twilio-ruby/rest/events.rb +43 -0
  247. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +460 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +395 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +563 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +599 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +336 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +232 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +462 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +373 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +458 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +365 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +221 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +161 -0
  260. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +147 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +200 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +261 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +365 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +352 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +449 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +329 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +408 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +461 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +251 -0
  270. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +400 -0
  271. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +397 -0
  272. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +237 -0
  273. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +343 -0
  274. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +260 -0
  275. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +192 -0
  276. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +414 -0
  277. data/lib/twilio-ruby/rest/flex_api/v1.rb +320 -0
  278. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +339 -0
  279. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +155 -0
  280. data/lib/twilio-ruby/rest/flex_api/v2.rb +77 -0
  281. data/lib/twilio-ruby/rest/flex_api.rb +73 -0
  282. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  283. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +286 -0
  284. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  285. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  286. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  287. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +280 -0
  288. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +226 -0
  289. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +181 -0
  290. data/lib/twilio-ruby/rest/iam/v1/token.rb +186 -0
  291. data/lib/twilio-ruby/rest/iam/v1.rb +67 -0
  292. data/lib/twilio-ruby/rest/iam.rb +6 -0
  293. data/lib/twilio-ruby/rest/iam_base.rb +38 -0
  294. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +330 -0
  295. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +357 -0
  296. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +280 -0
  297. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +272 -0
  298. data/lib/twilio-ruby/rest/insights/v1/call.rb +275 -0
  299. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +545 -0
  300. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +498 -0
  301. data/lib/twilio-ruby/rest/insights/v1/conference.rb +515 -0
  302. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +393 -0
  303. data/lib/twilio-ruby/rest/insights/v1/room.rb +508 -0
  304. data/lib/twilio-ruby/rest/insights/v1/setting.rb +267 -0
  305. data/lib/twilio-ruby/rest/insights/v1.rb +91 -0
  306. data/lib/twilio-ruby/rest/insights.rb +46 -0
  307. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +464 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +363 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +223 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +201 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +365 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +363 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +534 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +231 -0
  316. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +403 -0
  317. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +265 -0
  318. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +538 -0
  319. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  320. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  321. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +446 -393
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +395 -386
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +449 -444
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +465 -430
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +561 -508
  327. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +423 -368
  328. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +249 -238
  329. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +492 -448
  330. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +888 -914
  331. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +58 -52
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +446 -409
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +386 -361
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +395 -389
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +510 -492
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +537 -514
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +467 -422
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +630 -576
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +423 -365
  340. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +379 -377
  341. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +420 -240
  342. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +534 -477
  343. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +791 -740
  344. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +58 -52
  345. data/lib/twilio-ruby/rest/ip_messaging.rb +9 -49
  346. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  347. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +232 -0
  348. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +213 -0
  349. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +617 -0
  350. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  351. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  352. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  353. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +249 -231
  354. data/lib/twilio-ruby/rest/lookups/v1.rb +43 -37
  355. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +394 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  357. data/lib/twilio-ruby/rest/lookups.rb +5 -37
  358. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +316 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +343 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +363 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +162 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +482 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +221 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +325 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +146 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  368. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  369. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +143 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +379 -0
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +524 -0
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +196 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +295 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +300 -0
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +243 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +171 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +223 -0
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +201 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +243 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +370 -338
  382. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +383 -0
  383. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +386 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +377 -342
  385. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +377 -337
  386. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +637 -0
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +142 -0
  388. data/lib/twilio-ruby/rest/messaging/v1/service.rb +819 -620
  389. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +820 -0
  390. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +130 -0
  391. data/lib/twilio-ruby/rest/messaging/v1.rb +203 -37
  392. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +492 -0
  393. data/lib/twilio-ruby/rest/messaging/v2.rb +49 -0
  394. data/lib/twilio-ruby/rest/messaging.rb +53 -25
  395. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  396. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +382 -0
  397. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +375 -0
  398. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +213 -0
  399. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +361 -0
  400. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +398 -0
  401. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +391 -0
  402. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +441 -0
  403. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  404. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  405. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  406. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +409 -409
  407. data/lib/twilio-ruby/rest/monitor/v1/event.rb +392 -365
  408. data/lib/twilio-ruby/rest/monitor/v1.rb +58 -52
  409. data/lib/twilio-ruby/rest/monitor.rb +7 -36
  410. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/notify/v1/credential.rb +446 -408
  412. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +456 -447
  413. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +321 -361
  414. data/lib/twilio-ruby/rest/notify/v1/service.rb +651 -635
  415. data/lib/twilio-ruby/rest/notify/v1.rb +58 -52
  416. data/lib/twilio-ruby/rest/notify.rb +7 -36
  417. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +249 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +132 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +304 -0
  421. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +328 -0
  422. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +260 -0
  423. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +153 -0
  424. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +170 -0
  425. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +280 -0
  426. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +165 -0
  427. data/lib/twilio-ruby/rest/numbers/v1.rb +155 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +347 -0
  429. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +421 -0
  430. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +274 -0
  431. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +281 -0
  432. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +613 -0
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +295 -0
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +351 -0
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +364 -0
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +208 -0
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +637 -0
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +424 -0
  439. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +307 -0
  440. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +356 -0
  441. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +452 -0
  442. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +307 -0
  443. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +186 -0
  444. data/lib/twilio-ruby/rest/numbers/v2.rb +100 -0
  445. data/lib/twilio-ruby/rest/numbers.rb +12 -0
  446. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  447. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +148 -0
  448. data/lib/twilio-ruby/rest/oauth/v1/token.rb +186 -0
  449. data/lib/twilio-ruby/rest/oauth/v1.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +6 -0
  451. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +375 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +467 -452
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +635 -636
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +58 -54
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +310 -297
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +334 -313
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +357 -333
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +454 -412
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -54
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +402 -371
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +473 -409
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +241 -206
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +589 -529
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +73 -67
  466. data/lib/twilio-ruby/rest/preview.rb +15 -143
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +148 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +186 -0
  470. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  471. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +309 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +375 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +530 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +277 -0
  475. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  476. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  477. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +308 -273
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +109 -118
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +301 -266
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +109 -118
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +308 -273
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +228 -197
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +123 -134
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +46 -43
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +309 -0
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +247 -0
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +314 -0
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +252 -0
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +130 -0
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +70 -0
  492. data/lib/twilio-ruby/rest/pricing.rb +24 -33
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +444 -357
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +421 -441
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +445 -449
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +440 -449
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +547 -528
  499. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +424 -339
  500. data/lib/twilio-ruby/rest/proxy/v1/service.rb +584 -535
  501. data/lib/twilio-ruby/rest/proxy/v1.rb +43 -37
  502. data/lib/twilio-ruby/rest/proxy.rb +4 -35
  503. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  504. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +281 -0
  505. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +281 -0
  506. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +281 -0
  507. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  508. data/lib/twilio-ruby/rest/routes.rb +32 -0
  509. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  511. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +443 -0
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +224 -0
  513. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +432 -0
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +364 -0
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +380 -0
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +438 -0
  517. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +481 -0
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +235 -0
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +361 -0
  520. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +443 -0
  521. data/lib/twilio-ruby/rest/serverless/v1/service.rb +557 -0
  522. data/lib/twilio-ruby/rest/serverless/v1.rb +49 -0
  523. data/lib/twilio-ruby/rest/serverless.rb +15 -0
  524. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +214 -207
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +229 -226
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +379 -365
  528. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +443 -400
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +214 -207
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +229 -226
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +379 -370
  532. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +495 -404
  533. data/lib/twilio-ruby/rest/studio/v1/flow.rb +395 -365
  534. data/lib/twilio-ruby/rest/studio/v1.rb +43 -37
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +224 -0
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +235 -0
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +389 -0
  538. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +494 -0
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +358 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +245 -0
  541. data/lib/twilio-ruby/rest/studio/v2/flow.rb +555 -0
  542. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +146 -0
  543. data/lib/twilio-ruby/rest/studio/v2.rb +55 -0
  544. data/lib/twilio-ruby/rest/studio.rb +11 -35
  545. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  546. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +417 -0
  547. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +502 -0
  548. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +422 -0
  549. data/lib/twilio-ruby/rest/supersim/v1/network.rb +320 -0
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +362 -0
  551. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +410 -0
  552. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +260 -0
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +253 -0
  554. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +211 -0
  555. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +490 -0
  556. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +382 -0
  557. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +317 -0
  558. data/lib/twilio-ruby/rest/supersim/v1.rb +151 -0
  559. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  560. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  561. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +397 -381
  562. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +482 -428
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +491 -443
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +397 -381
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +497 -442
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +494 -444
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +397 -381
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +497 -442
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +147 -142
  570. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +446 -411
  571. data/lib/twilio-ruby/rest/sync/v1/service.rb +602 -514
  572. data/lib/twilio-ruby/rest/sync/v1.rb +43 -37
  573. data/lib/twilio-ruby/rest/sync.rb +4 -35
  574. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +432 -390
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +453 -419
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +721 -577
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +677 -621
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +436 -295
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +168 -0
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +367 -356
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +270 -229
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +238 -234
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +244 -268
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +601 -570
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +703 -575
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -392
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +243 -231
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +289 -262
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +223 -186
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +259 -232
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +648 -606
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +367 -363
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +253 -226
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +238 -234
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +550 -510
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +361 -350
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +242 -200
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +249 -230
  600. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +747 -719
  601. data/lib/twilio-ruby/rest/taskrouter/v1.rb +43 -37
  602. data/lib/twilio-ruby/rest/taskrouter.rb +4 -35
  603. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +363 -322
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +363 -323
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +467 -429
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +496 -449
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +244 -0
  609. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +650 -600
  610. data/lib/twilio-ruby/rest/trunking/v1.rb +43 -37
  611. data/lib/twilio-ruby/rest/trunking.rb +4 -36
  612. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +257 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +365 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +224 -0
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +384 -0
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +368 -0
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +356 -0
  619. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +568 -0
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +419 -0
  621. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +302 -0
  622. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +295 -0
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +433 -0
  624. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +302 -0
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +384 -0
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +368 -0
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +356 -0
  628. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +568 -0
  629. data/lib/twilio-ruby/rest/trusthub/v1.rb +175 -0
  630. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  631. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  632. data/lib/twilio-ruby/rest/verify/v2/form.rb +208 -0
  633. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +246 -0
  634. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +292 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +530 -0
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +478 -0
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +276 -0
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +449 -0
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +412 -0
  641. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +438 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +453 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +409 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +235 -0
  645. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +480 -0
  646. data/lib/twilio-ruby/rest/verify/v2/service.rb +843 -0
  647. data/lib/twilio-ruby/rest/verify/v2/template.rb +233 -0
  648. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +392 -0
  649. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +254 -0
  650. data/lib/twilio-ruby/rest/verify/v2.rb +106 -0
  651. data/lib/twilio-ruby/rest/verify.rb +58 -0
  652. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  653. data/lib/twilio-ruby/rest/video/v1/composition.rb +498 -491
  654. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +561 -0
  655. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +295 -271
  656. data/lib/twilio-ruby/rest/video/v1/recording.rb +441 -387
  657. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +295 -271
  658. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +266 -0
  659. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +341 -0
  660. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +194 -0
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +348 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +514 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +183 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +437 -0
  665. data/lib/twilio-ruby/rest/video/v1/room.rb +635 -512
  666. data/lib/twilio-ruby/rest/video/v1.rb +100 -83
  667. data/lib/twilio-ruby/rest/video.rb +22 -40
  668. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  669. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +171 -0
  670. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +537 -0
  671. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +473 -0
  672. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +427 -0
  673. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +149 -0
  674. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +206 -0
  675. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +390 -0
  676. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +235 -0
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +131 -0
  678. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +413 -0
  679. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +396 -0
  680. data/lib/twilio-ruby/rest/voice/v1.rb +137 -0
  681. data/lib/twilio-ruby/rest/voice.rb +61 -0
  682. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  683. data/lib/twilio-ruby/rest/wireless/v1/command.rb +429 -361
  684. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +493 -439
  685. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +303 -288
  686. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +244 -240
  687. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +655 -611
  688. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +238 -0
  689. data/lib/twilio-ruby/rest/wireless/v1.rb +79 -67
  690. data/lib/twilio-ruby/rest/wireless.rb +11 -34
  691. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  692. data/lib/twilio-ruby/rest.rb +14 -0
  693. data/lib/twilio-ruby/security/request_validator.rb +102 -8
  694. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  695. data/lib/twilio-ruby/twiml/messaging_response.rb +2 -2
  696. data/lib/twilio-ruby/twiml/twiml.rb +12 -1
  697. data/lib/twilio-ruby/twiml/voice_response.rb +1705 -81
  698. data/lib/twilio-ruby/util/configuration.rb +22 -5
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/lib/twilio-ruby.rb +9 -25
  701. data/sonar-project.properties +13 -0
  702. data/twilio-ruby.gemspec +15 -10
  703. metadata +542 -646
  704. data/.travis.yml +0 -31
  705. data/conf/cacert.pem +0 -3376
  706. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -509
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -398
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -506
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -398
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -398
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -506
  713. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -398
  714. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -459
  715. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -296
  716. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  717. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -315
  718. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -530
  719. data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
  720. data/lib/twilio-ruby/rest/fax.rb +0 -46
  721. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +0 -225
  722. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -262
  723. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -438
  724. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -438
  725. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  726. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  727. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +0 -388
  728. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  729. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -211
  730. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -203
  731. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -227
  732. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  733. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -392
  734. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -375
  735. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -435
  736. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -386
  737. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -479
  738. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -44
  739. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -347
  740. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -437
  741. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -455
  742. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -514
  743. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -497
  744. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -342
  745. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -464
  746. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -43
  747. data/lib/twilio-ruby/rest/preview/studio/flow/engagement/step.rb +0 -350
  748. data/lib/twilio-ruby/rest/preview/studio/flow/engagement.rb +0 -372
  749. data/lib/twilio-ruby/rest/preview/studio/flow.rb +0 -355
  750. data/lib/twilio-ruby/rest/preview/studio.rb +0 -43
  751. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -390
  752. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -413
  753. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -421
  754. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -390
  755. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -411
  756. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -418
  757. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -390
  758. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -411
  759. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -472
  760. data/lib/twilio-ruby/rest/preview/sync.rb +0 -43
  761. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -392
  762. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -417
  763. data/lib/twilio-ruby/rest/preview/understand/assistant/intent/field.rb +0 -379
  764. data/lib/twilio-ruby/rest/preview/understand/assistant/intent/sample.rb +0 -438
  765. data/lib/twilio-ruby/rest/preview/understand/assistant/intent.rb +0 -447
  766. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -390
  767. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -443
  768. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -562
  769. data/lib/twilio-ruby/rest/preview/understand.rb +0 -43
  770. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -388
  771. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -333
  772. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -313
  773. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -456
  774. data/spec/framework/request_spec.rb +0 -36
  775. data/spec/framework/serialize_spec.rb +0 -80
  776. data/spec/holodeck/holodeck.rb +0 -61
  777. data/spec/holodeck/hologram.rb +0 -4
  778. data/spec/http/http_client_spec.rb +0 -122
  779. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  780. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  781. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  782. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  783. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  784. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  785. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  786. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  787. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  788. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  789. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  790. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  791. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  792. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  793. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  794. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  795. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  796. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  797. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -291
  798. data/spec/integration/api/v2010/account/call_spec.rb +0 -314
  799. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -282
  800. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -240
  801. data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
  802. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
  803. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  804. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  805. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  806. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  807. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  808. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  809. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  810. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  811. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  812. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  813. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  814. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  815. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  816. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  817. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
  818. data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
  819. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  820. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  821. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  822. data/spec/integration/api/v2010/account/recording_spec.rb +0 -189
  823. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  824. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  825. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  826. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  827. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  828. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  829. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -287
  830. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  831. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  832. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  833. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  834. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  835. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  836. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  837. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  838. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  839. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  840. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  841. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  842. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  843. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  844. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  845. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  846. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  847. data/spec/integration/api/v2010/account_spec.rb +0 -272
  848. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  849. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  850. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  851. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  852. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  853. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  854. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  855. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  856. data/spec/integration/chat/v1/service_spec.rb +0 -299
  857. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  858. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  859. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  860. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -257
  861. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  862. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  863. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  864. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  865. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  866. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -94
  867. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  868. data/spec/integration/chat/v2/service_spec.rb +0 -354
  869. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  870. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  871. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  872. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  873. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  874. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  875. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  876. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  877. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  878. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  879. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  880. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  881. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  882. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  883. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -257
  884. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  885. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  886. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  887. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  888. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  889. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -94
  890. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  891. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  892. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
  893. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  894. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  895. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  896. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  897. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  898. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  899. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  900. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  901. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  902. data/spec/integration/notify/v1/service/segment_spec.rb +0 -86
  903. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  904. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -268
  905. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  906. data/spec/integration/notify/v1/service_spec.rb +0 -286
  907. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  908. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  909. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  910. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  911. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  912. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  913. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  914. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  915. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  916. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  917. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  918. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  919. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  920. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  921. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  922. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  923. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  924. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  925. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  926. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -106
  927. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -166
  928. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  929. data/spec/integration/preview/proxy/service/session_spec.rb +0 -218
  930. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  931. data/spec/integration/preview/proxy/service_spec.rb +0 -202
  932. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +0 -98
  933. data/spec/integration/preview/studio/flow/engagement_spec.rb +0 -145
  934. data/spec/integration/preview/studio/flow_spec.rb +0 -117
  935. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  936. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  937. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  938. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  939. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  940. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  941. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  942. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  943. data/spec/integration/preview/sync/service_spec.rb +0 -246
  944. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  945. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  946. data/spec/integration/preview/understand/assistant/intent/field_spec.rb +0 -207
  947. data/spec/integration/preview/understand/assistant/intent/sample_spec.rb +0 -253
  948. data/spec/integration/preview/understand/assistant/intent_spec.rb +0 -250
  949. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  950. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  951. data/spec/integration/preview/understand/assistant_spec.rb +0 -266
  952. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  953. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  954. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  955. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  956. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  957. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  958. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  959. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  960. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  961. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  962. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  963. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -184
  964. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  965. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  966. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -181
  967. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  968. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -182
  969. data/spec/integration/proxy/v1/service_spec.rb +0 -215
  970. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  971. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  972. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  973. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  974. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  975. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  976. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  977. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  978. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  979. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  980. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  981. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  982. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  983. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  984. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  985. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  986. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  987. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  988. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  989. data/spec/integration/sync/v1/service_spec.rb +0 -254
  990. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  991. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
  992. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -194
  993. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -129
  994. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  995. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
  996. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  997. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  998. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -298
  999. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  1000. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  1001. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  1002. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  1003. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  1004. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  1005. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  1006. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  1007. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  1008. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  1009. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  1010. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  1011. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  1012. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  1013. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  1014. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  1015. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  1016. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  1017. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  1018. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  1019. data/spec/integration/trunking/v1/trunk_spec.rb +0 -282
  1020. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  1021. data/spec/integration/video/v1/composition_spec.rb +0 -325
  1022. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  1023. data/spec/integration/video/v1/recording_spec.rb +0 -177
  1024. data/spec/integration/video/v1/room/recording_spec.rb +0 -186
  1025. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  1026. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
  1027. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  1028. data/spec/integration/video/v1/room_spec.rb +0 -257
  1029. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  1030. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  1031. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
  1032. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  1033. data/spec/integration/wireless/v1/sim_spec.rb +0 -216
  1034. data/spec/jwt/access_token_spec.rb +0 -151
  1035. data/spec/jwt/client_capability_spec.rb +0 -104
  1036. data/spec/jwt/task_router_spec.rb +0 -172
  1037. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  1038. data/spec/rest/client_spec.rb +0 -61
  1039. data/spec/security/request_validator_spec.rb +0 -113
  1040. data/spec/spec_helper.rb +0 -38
  1041. data/spec/support/fakeweb.rb +0 -2
  1042. data/spec/twilio_spec.rb +0 -15
  1043. data/spec/twiml/messaging_response_spec.rb +0 -235
  1044. data/spec/twiml/voice_response_spec.rb +0 -807
  1045. data/spec/util/configuration_spec.rb +0 -15
  1046. data/spec/util/url_encode_spec.rb +0 -12
  1047. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  1048. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  1049. /data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
@@ -3,7 +3,7 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
- #
6
+ #
7
7
  # frozen_string_literal: true
8
8
 
9
9
  module Twilio
@@ -18,6 +18,18 @@ module Twilio
18
18
  yield(self) if block_given?
19
19
  end
20
20
 
21
+ ##
22
+ # Create a new <Connect> element
23
+ # action:: Action URL
24
+ # method:: Action URL method
25
+ # keyword_args:: additional attributes
26
+ def connect(action: nil, method: nil, **keyword_args)
27
+ connect = Connect.new(action: action, method: method, **keyword_args)
28
+
29
+ yield(connect) if block_given?
30
+ append(connect)
31
+ end
32
+
21
33
  ##
22
34
  # Create a new <Dial> element
23
35
  # number:: Phone number to dial
@@ -34,9 +46,14 @@ module Twilio
34
46
  # recording_status_callback_event:: Recording status callback events
35
47
  # answer_on_bridge:: Preserve the ringing behavior of the inbound call until the Dialed call picks up
36
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
53
+ # events:: Subscription to events
37
54
  # keyword_args:: additional attributes
38
- 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)
39
- 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)
55
+ 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, events: nil, **keyword_args)
56
+ 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, events: events, **keyword_args)
40
57
 
41
58
  yield(dial) if block_given?
42
59
  append(dial)
@@ -53,13 +70,14 @@ module Twilio
53
70
  # Create a new <Enqueue> element
54
71
  # name:: Friendly name
55
72
  # action:: Action URL
73
+ # max_queue_size:: Maximum size of queue
56
74
  # method:: Action URL method
57
75
  # wait_url:: Wait URL
58
76
  # wait_url_method:: Wait URL method
59
77
  # workflow_sid:: TaskRouter Workflow SID
60
78
  # keyword_args:: additional attributes
61
- def enqueue(name: nil, action: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
62
- 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)
79
+ def enqueue(name: nil, action: nil, max_queue_size: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
80
+ 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)
63
81
 
64
82
  yield(enqueue) if block_given?
65
83
  append(enqueue)
@@ -81,9 +99,13 @@ module Twilio
81
99
  # language:: Language to use
82
100
  # hints:: Speech recognition hints
83
101
  # barge_in:: Stop playing media upon speech
102
+ # debug:: Allow debug for gather
103
+ # action_on_empty_result:: Force webhook to the action URL event if there is no input
104
+ # speech_model:: Specify the model that is best suited for your use case
105
+ # enhanced:: Use enhanced speech model
84
106
  # keyword_args:: additional attributes
85
- 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, **keyword_args)
86
- 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, **keyword_args)
107
+ 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)
108
+ 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)
87
109
 
88
110
  yield(gather) if block_given?
89
111
  append(gather)
@@ -93,7 +115,10 @@ module Twilio
93
115
  # Create a new <Hangup> element
94
116
  # keyword_args:: additional attributes
95
117
  def hangup(**keyword_args)
96
- append(Hangup.new(**keyword_args))
118
+ hangup = Hangup.new(**keyword_args)
119
+
120
+ yield(hangup) if block_given?
121
+ append(hangup)
97
122
  end
98
123
 
99
124
  ##
@@ -144,72 +169,1288 @@ module Twilio
144
169
  # trim:: Trim the recording
145
170
  # recording_status_callback:: Status callback URL
146
171
  # recording_status_callback_method:: Status callback URL method
172
+ # recording_status_callback_event:: Recording status callback events
147
173
  # transcribe:: Transcribe the recording
148
174
  # transcribe_callback:: Transcribe callback URL
149
175
  # keyword_args:: additional attributes
150
- def record(action: nil, method: nil, timeout: nil, finish_on_key: nil, max_length: nil, play_beep: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, transcribe: nil, transcribe_callback: nil, **keyword_args)
151
- append(Record.new(action: action, method: method, timeout: timeout, finish_on_key: finish_on_key, max_length: max_length, play_beep: play_beep, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, transcribe: transcribe, transcribe_callback: transcribe_callback, **keyword_args))
176
+ def record(action: nil, method: nil, timeout: nil, finish_on_key: nil, max_length: nil, play_beep: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, transcribe: nil, transcribe_callback: nil, **keyword_args)
177
+ append(Record.new(action: action, method: method, timeout: timeout, finish_on_key: finish_on_key, max_length: max_length, play_beep: play_beep, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, transcribe: transcribe, transcribe_callback: transcribe_callback, **keyword_args))
178
+ end
179
+
180
+ ##
181
+ # Create a new <Redirect> element
182
+ # url:: Redirect URL
183
+ # method:: Redirect URL method
184
+ # keyword_args:: additional attributes
185
+ def redirect(url, method: nil, **keyword_args)
186
+ append(Redirect.new(url, method: method, **keyword_args))
187
+ end
188
+
189
+ ##
190
+ # Create a new <Reject> element
191
+ # reason:: Rejection reason
192
+ # keyword_args:: additional attributes
193
+ def reject(reason: nil, **keyword_args)
194
+ reject = Reject.new(reason: reason, **keyword_args)
195
+
196
+ yield(reject) if block_given?
197
+ append(reject)
198
+ end
199
+
200
+ ##
201
+ # Create a new <Say> element
202
+ # message:: Message to say
203
+ # voice:: Voice to use
204
+ # loop:: Times to loop message
205
+ # language:: Message language
206
+ # keyword_args:: additional attributes
207
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
208
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
209
+
210
+ yield(say) if block_given?
211
+ append(say)
212
+ end
213
+
214
+ ##
215
+ # Create a new <Sms> element
216
+ # message:: Message body
217
+ # to:: Number to send message to
218
+ # from:: Number to send message from
219
+ # action:: Action URL
220
+ # method:: Action URL method
221
+ # status_callback:: Status callback URL
222
+ # keyword_args:: additional attributes
223
+ def sms(message, to: nil, from: nil, action: nil, method: nil, status_callback: nil, **keyword_args)
224
+ append(Sms.new(message, to: to, from: from, action: action, method: method, status_callback: status_callback, **keyword_args))
225
+ end
226
+
227
+ ##
228
+ # Create a new <Pay> element
229
+ # input:: Input type Twilio should accept
230
+ # action:: Action URL
231
+ # 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
232
+ # status_callback:: Status callback URL
233
+ # status_callback_method:: Status callback method
234
+ # timeout:: Time to wait to gather input
235
+ # max_attempts:: Maximum number of allowed retries when gathering input
236
+ # security_code:: Prompt for security code
237
+ # postal_code:: Prompt for postal code and it should be true/false or default postal code
238
+ # min_postal_code_length:: Prompt for minimum postal code length
239
+ # payment_connector:: Unique name for payment connector
240
+ # payment_method:: Payment method to be used. defaults to credit-card
241
+ # token_type:: Type of token
242
+ # charge_amount:: Amount to process. If value is greater than 0 then make the payment else create a payment token
243
+ # currency:: Currency of the amount attribute
244
+ # description:: Details regarding the payment
245
+ # valid_card_types:: Comma separated accepted card types
246
+ # language:: Language to use
247
+ # keyword_args:: additional attributes
248
+ 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)
249
+ 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)
250
+
251
+ yield(pay) if block_given?
252
+ append(pay)
253
+ end
254
+
255
+ ##
256
+ # Create a new <Prompt> element
257
+ # for_:: Name of the payment source data element
258
+ # error_type:: Type of error
259
+ # card_type:: Type of the credit card
260
+ # attempt:: Current attempt count
261
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
262
+ # keyword_args:: additional attributes
263
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
264
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
265
+
266
+ yield(prompt) if block_given?
267
+ append(prompt)
268
+ end
269
+
270
+ ##
271
+ # Create a new <Start> element
272
+ # action:: Action URL
273
+ # method:: Action URL method
274
+ # keyword_args:: additional attributes
275
+ def start(action: nil, method: nil, **keyword_args)
276
+ start = Start.new(action: action, method: method, **keyword_args)
277
+
278
+ yield(start) if block_given?
279
+ append(start)
280
+ end
281
+
282
+ ##
283
+ # Create a new <Stop> element
284
+ # keyword_args:: additional attributes
285
+ def stop(**keyword_args)
286
+ stop = Stop.new(**keyword_args)
287
+
288
+ yield(stop) if block_given?
289
+ append(stop)
290
+ end
291
+
292
+ ##
293
+ # Create a new <Refer> element
294
+ # action:: Action URL
295
+ # method:: Action URL method
296
+ # keyword_args:: additional attributes
297
+ def refer(action: nil, method: nil, **keyword_args)
298
+ refer = Refer.new(action: action, method: method, **keyword_args)
299
+
300
+ yield(refer) if block_given?
301
+ append(refer)
302
+ end
303
+ end
304
+
305
+ ##
306
+ # <Refer> TwiML Verb
307
+ class Refer < TwiML
308
+ def initialize(**keyword_args)
309
+ super(**keyword_args)
310
+ @name = 'Refer'
311
+
312
+ yield(self) if block_given?
313
+ end
314
+
315
+ ##
316
+ # Create a new <Sip> element
317
+ # sip_url:: SIP URL
318
+ # keyword_args:: additional attributes
319
+ def sip(sip_url, **keyword_args)
320
+ append(ReferSip.new(sip_url, **keyword_args))
321
+ end
322
+ end
323
+
324
+ ##
325
+ # <Sip> TwiML Noun used in <Refer>
326
+ class ReferSip < TwiML
327
+ def initialize(sip_url, **keyword_args)
328
+ super(**keyword_args)
329
+ @name = 'Sip'
330
+ @value = sip_url
331
+ yield(self) if block_given?
332
+ end
333
+ end
334
+
335
+ ##
336
+ # <Stop> TwiML Verb
337
+ class Stop < TwiML
338
+ def initialize(**keyword_args)
339
+ super(**keyword_args)
340
+ @name = 'Stop'
341
+
342
+ yield(self) if block_given?
343
+ end
344
+
345
+ ##
346
+ # Create a new <Stream> element
347
+ # name:: Friendly name given to the Stream
348
+ # connector_name:: Unique name for Stream Connector
349
+ # url:: URL of the remote service where the Stream is routed
350
+ # track:: Track to be streamed to remote service
351
+ # status_callback:: Status Callback URL
352
+ # status_callback_method:: Status Callback URL method
353
+ # keyword_args:: additional attributes
354
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
355
+ 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)
356
+
357
+ yield(stream) if block_given?
358
+ append(stream)
359
+ end
360
+
361
+ ##
362
+ # Create a new <Siprec> element
363
+ # name:: Friendly name given to SIPREC
364
+ # connector_name:: Unique name for Connector
365
+ # track:: Track to be streamed to remote service
366
+ # status_callback:: Status Callback URL
367
+ # status_callback_method:: Status Callback URL method
368
+ # keyword_args:: additional attributes
369
+ def siprec(name: nil, connector_name: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
370
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
371
+
372
+ yield(siprec) if block_given?
373
+ append(siprec)
374
+ end
375
+
376
+ ##
377
+ # Create a new <Transcription> element
378
+ # name:: Friendly name given to the Transcription
379
+ # track:: Track to be analyze by the provider
380
+ # status_callback_url:: Status Callback URL
381
+ # status_callback_method:: Status Callback URL method
382
+ # inbound_track_label:: Friendly name given to the Inbound Track
383
+ # outbound_track_label:: Friendly name given to the Outbound Track Label
384
+ # partial_results:: Indicates if partial results are going to be send to the customer
385
+ # language_code:: Language Code used by the transcription engine
386
+ # transcription_engine:: Transcription Engine to be used
387
+ # profanity_filter:: Enable Profanity Filter
388
+ # speech_model:: Speech Model used by the transcription engine
389
+ # hints:: Hints to be provided to the transcription engine
390
+ # enable_automatic_punctuation:: Enable Automatic Punctuation
391
+ # intelligence_service:: The SID or the unique name of the Intelligence Service to be used
392
+ # keyword_args:: additional attributes
393
+ def transcription(name: nil, track: nil, status_callback_url: nil, status_callback_method: nil, inbound_track_label: nil, outbound_track_label: nil, partial_results: nil, language_code: nil, transcription_engine: nil, profanity_filter: nil, speech_model: nil, hints: nil, enable_automatic_punctuation: nil, intelligence_service: nil, **keyword_args)
394
+ transcription = Transcription.new(name: name, track: track, status_callback_url: status_callback_url, status_callback_method: status_callback_method, inbound_track_label: inbound_track_label, outbound_track_label: outbound_track_label, partial_results: partial_results, language_code: language_code, transcription_engine: transcription_engine, profanity_filter: profanity_filter, speech_model: speech_model, hints: hints, enable_automatic_punctuation: enable_automatic_punctuation, intelligence_service: intelligence_service, **keyword_args)
395
+
396
+ yield(transcription) if block_given?
397
+ append(transcription)
398
+ end
399
+ end
400
+
401
+ ##
402
+ # <Transcription> TwiML Noun
403
+ class Transcription < TwiML
404
+ def initialize(**keyword_args)
405
+ super(**keyword_args)
406
+ @name = 'Transcription'
407
+
408
+ yield(self) if block_given?
409
+ end
410
+
411
+ ##
412
+ # Create a new <Config> element
413
+ # name:: The name of the custom config
414
+ # value:: The value of the custom config
415
+ # keyword_args:: additional attributes
416
+ def config(name: nil, value: nil, **keyword_args)
417
+ append(Config.new(name: name, value: value, **keyword_args))
418
+ end
419
+
420
+ ##
421
+ # Create a new <Parameter> element
422
+ # name:: The name of the custom parameter
423
+ # value:: The value of the custom parameter
424
+ # keyword_args:: additional attributes
425
+ def parameter(name: nil, value: nil, **keyword_args)
426
+ append(Parameter.new(name: name, value: value, **keyword_args))
427
+ end
428
+ end
429
+
430
+ ##
431
+ # <Parameter> TwiML Noun
432
+ class Parameter < TwiML
433
+ def initialize(**keyword_args)
434
+ super(**keyword_args)
435
+ @name = 'Parameter'
436
+
437
+ yield(self) if block_given?
438
+ end
439
+ end
440
+
441
+ ##
442
+ # <Config> TwiML Noun
443
+ class Config < TwiML
444
+ def initialize(**keyword_args)
445
+ super(**keyword_args)
446
+ @name = 'Config'
447
+
448
+ yield(self) if block_given?
449
+ end
450
+ end
451
+
452
+ ##
453
+ # <Siprec> TwiML Noun
454
+ class Siprec < TwiML
455
+ def initialize(**keyword_args)
456
+ super(**keyword_args)
457
+ @name = 'Siprec'
458
+
459
+ yield(self) if block_given?
460
+ end
461
+
462
+ ##
463
+ # Create a new <Parameter> element
464
+ # name:: The name of the custom parameter
465
+ # value:: The value of the custom parameter
466
+ # keyword_args:: additional attributes
467
+ def parameter(name: nil, value: nil, **keyword_args)
468
+ append(Parameter.new(name: name, value: value, **keyword_args))
469
+ end
470
+ end
471
+
472
+ ##
473
+ # <Stream> TwiML Noun
474
+ class Stream < TwiML
475
+ def initialize(**keyword_args)
476
+ super(**keyword_args)
477
+ @name = 'Stream'
478
+
479
+ yield(self) if block_given?
480
+ end
481
+
482
+ ##
483
+ # Create a new <Parameter> element
484
+ # name:: The name of the custom parameter
485
+ # value:: The value of the custom parameter
486
+ # keyword_args:: additional attributes
487
+ def parameter(name: nil, value: nil, **keyword_args)
488
+ append(Parameter.new(name: name, value: value, **keyword_args))
489
+ end
490
+ end
491
+
492
+ ##
493
+ # <Start> TwiML Verb
494
+ class Start < TwiML
495
+ def initialize(**keyword_args)
496
+ super(**keyword_args)
497
+ @name = 'Start'
498
+
499
+ yield(self) if block_given?
500
+ end
501
+
502
+ ##
503
+ # Create a new <Stream> element
504
+ # name:: Friendly name given to the Stream
505
+ # connector_name:: Unique name for Stream Connector
506
+ # url:: URL of the remote service where the Stream is routed
507
+ # track:: Track to be streamed to remote service
508
+ # status_callback:: Status Callback URL
509
+ # status_callback_method:: Status Callback URL method
510
+ # keyword_args:: additional attributes
511
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
512
+ 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)
513
+
514
+ yield(stream) if block_given?
515
+ append(stream)
516
+ end
517
+
518
+ ##
519
+ # Create a new <Siprec> element
520
+ # name:: Friendly name given to SIPREC
521
+ # connector_name:: Unique name for Connector
522
+ # track:: Track to be streamed to remote service
523
+ # status_callback:: Status Callback URL
524
+ # status_callback_method:: Status Callback URL method
525
+ # keyword_args:: additional attributes
526
+ def siprec(name: nil, connector_name: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
527
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
528
+
529
+ yield(siprec) if block_given?
530
+ append(siprec)
531
+ end
532
+
533
+ ##
534
+ # Create a new <Transcription> element
535
+ # name:: Friendly name given to the Transcription
536
+ # track:: Track to be analyze by the provider
537
+ # status_callback_url:: Status Callback URL
538
+ # status_callback_method:: Status Callback URL method
539
+ # inbound_track_label:: Friendly name given to the Inbound Track
540
+ # outbound_track_label:: Friendly name given to the Outbound Track Label
541
+ # partial_results:: Indicates if partial results are going to be send to the customer
542
+ # language_code:: Language Code used by the transcription engine
543
+ # transcription_engine:: Transcription Engine to be used
544
+ # profanity_filter:: Enable Profanity Filter
545
+ # speech_model:: Speech Model used by the transcription engine
546
+ # hints:: Hints to be provided to the transcription engine
547
+ # enable_automatic_punctuation:: Enable Automatic Punctuation
548
+ # intelligence_service:: The SID or the unique name of the Intelligence Service to be used
549
+ # keyword_args:: additional attributes
550
+ def transcription(name: nil, track: nil, status_callback_url: nil, status_callback_method: nil, inbound_track_label: nil, outbound_track_label: nil, partial_results: nil, language_code: nil, transcription_engine: nil, profanity_filter: nil, speech_model: nil, hints: nil, enable_automatic_punctuation: nil, intelligence_service: nil, **keyword_args)
551
+ transcription = Transcription.new(name: name, track: track, status_callback_url: status_callback_url, status_callback_method: status_callback_method, inbound_track_label: inbound_track_label, outbound_track_label: outbound_track_label, partial_results: partial_results, language_code: language_code, transcription_engine: transcription_engine, profanity_filter: profanity_filter, speech_model: speech_model, hints: hints, enable_automatic_punctuation: enable_automatic_punctuation, intelligence_service: intelligence_service, **keyword_args)
552
+
553
+ yield(transcription) if block_given?
554
+ append(transcription)
555
+ end
556
+ end
557
+
558
+ ##
559
+ # <Prompt> Twiml Verb
560
+ class Prompt < TwiML
561
+ def initialize(**keyword_args)
562
+ super(**keyword_args)
563
+ @name = 'Prompt'
564
+
565
+ yield(self) if block_given?
566
+ end
567
+
568
+ ##
569
+ # Create a new <Say> element
570
+ # message:: Message to say
571
+ # voice:: Voice to use
572
+ # loop:: Times to loop message
573
+ # language:: Message language
574
+ # keyword_args:: additional attributes
575
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
576
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
577
+
578
+ yield(say) if block_given?
579
+ append(say)
580
+ end
581
+
582
+ ##
583
+ # Create a new <Play> element
584
+ # url:: Media URL
585
+ # loop:: Times to loop media
586
+ # digits:: Play DTMF tones for digits
587
+ # keyword_args:: additional attributes
588
+ def play(url: nil, loop: nil, digits: nil, **keyword_args)
589
+ append(Play.new(url: url, loop: loop, digits: digits, **keyword_args))
590
+ end
591
+
592
+ ##
593
+ # Create a new <Pause> element
594
+ # length:: Length in seconds to pause
595
+ # keyword_args:: additional attributes
596
+ def pause(length: nil, **keyword_args)
597
+ append(Pause.new(length: length, **keyword_args))
598
+ end
599
+ end
600
+
601
+ ##
602
+ # <Pause> TwiML Verb
603
+ class Pause < TwiML
604
+ def initialize(**keyword_args)
605
+ super(**keyword_args)
606
+ @name = 'Pause'
607
+
608
+ yield(self) if block_given?
609
+ end
610
+ end
611
+
612
+ ##
613
+ # <Play> TwiML Verb
614
+ class Play < TwiML
615
+ def initialize(url: nil, **keyword_args)
616
+ super(**keyword_args)
617
+ @name = 'Play'
618
+ @value = url unless url.nil?
619
+ yield(self) if block_given?
620
+ end
621
+ end
622
+
623
+ ##
624
+ # <Say> TwiML Verb
625
+ class Say < TwiML
626
+ def initialize(message: nil, **keyword_args)
627
+ super(**keyword_args)
628
+ @name = 'Say'
629
+ @value = message unless message.nil?
630
+ yield(self) if block_given?
631
+ end
632
+
633
+ ##
634
+ # Create a new <Break> element
635
+ # strength:: Set a pause based on strength
636
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
637
+ # keyword_args:: additional attributes
638
+ def break(strength: nil, time: nil, **keyword_args)
639
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
640
+ end
641
+
642
+ ##
643
+ # Create a new <Emphasis> element
644
+ # words:: Words to emphasize
645
+ # level:: Specify the degree of emphasis
646
+ # keyword_args:: additional attributes
647
+ def emphasis(words: nil, level: nil, **keyword_args)
648
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
649
+
650
+ yield(emphasis) if block_given?
651
+ append(emphasis)
652
+ end
653
+
654
+ ##
655
+ # Create a new <Lang> element
656
+ # words:: Words to speak
657
+ # xmlLang:: Specify the language
658
+ # keyword_args:: additional attributes
659
+ def lang(words: nil, xmlLang: nil, **keyword_args)
660
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
661
+
662
+ yield(lang) if block_given?
663
+ append(lang)
664
+ end
665
+
666
+ ##
667
+ # Create a new <P> element
668
+ # words:: Words to speak
669
+ # keyword_args:: additional attributes
670
+ def p(words: nil, **keyword_args)
671
+ p = SsmlP.new(words: words, **keyword_args)
672
+
673
+ yield(p) if block_given?
674
+ append(p)
675
+ end
676
+
677
+ ##
678
+ # Create a new <Phoneme> element
679
+ # words:: Words to speak
680
+ # alphabet:: Specify the phonetic alphabet
681
+ # ph:: Specifiy the phonetic symbols for pronunciation
682
+ # keyword_args:: additional attributes
683
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
684
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
685
+ end
686
+
687
+ ##
688
+ # Create a new <Prosody> element
689
+ # words:: Words to speak
690
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
691
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
692
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
693
+ # keyword_args:: additional attributes
694
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
695
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
696
+
697
+ yield(prosody) if block_given?
698
+ append(prosody)
699
+ end
700
+
701
+ ##
702
+ # Create a new <S> element
703
+ # words:: Words to speak
704
+ # keyword_args:: additional attributes
705
+ def s(words: nil, **keyword_args)
706
+ s = SsmlS.new(words: words, **keyword_args)
707
+
708
+ yield(s) if block_given?
709
+ append(s)
710
+ end
711
+
712
+ ##
713
+ # Create a new <Say-As> element
714
+ # words:: Words to be interpreted
715
+ # interpretAs:: Specify the type of words are spoken
716
+ # format:: Specify the format of the date when interpret-as is set to date
717
+ # keyword_args:: additional attributes
718
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
719
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
720
+ end
721
+
722
+ ##
723
+ # Create a new <Sub> element
724
+ # words:: Words to be substituted
725
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
726
+ # keyword_args:: additional attributes
727
+ def sub(words, aliasAttribute: nil, **keyword_args)
728
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
729
+ end
730
+
731
+ ##
732
+ # Create a new <W> element
733
+ # words:: Words to speak
734
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
735
+ # keyword_args:: additional attributes
736
+ def w(words: nil, role: nil, **keyword_args)
737
+ w = SsmlW.new(words: words, role: role, **keyword_args)
738
+
739
+ yield(w) if block_given?
740
+ append(w)
741
+ end
742
+ end
743
+
744
+ ##
745
+ # Improving Pronunciation by Specifying Parts of Speech in <Say>
746
+ class SsmlW < TwiML
747
+ def initialize(words: nil, **keyword_args)
748
+ super(**keyword_args)
749
+ @name = 'w'
750
+ @value = words unless words.nil?
751
+ yield(self) if block_given?
752
+ end
753
+
754
+ ##
755
+ # Create a new <Break> element
756
+ # strength:: Set a pause based on strength
757
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
758
+ # keyword_args:: additional attributes
759
+ def break(strength: nil, time: nil, **keyword_args)
760
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
761
+ end
762
+
763
+ ##
764
+ # Create a new <Emphasis> element
765
+ # words:: Words to emphasize
766
+ # level:: Specify the degree of emphasis
767
+ # keyword_args:: additional attributes
768
+ def emphasis(words: nil, level: nil, **keyword_args)
769
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
770
+
771
+ yield(emphasis) if block_given?
772
+ append(emphasis)
773
+ end
774
+
775
+ ##
776
+ # Create a new <Phoneme> element
777
+ # words:: Words to speak
778
+ # alphabet:: Specify the phonetic alphabet
779
+ # ph:: Specifiy the phonetic symbols for pronunciation
780
+ # keyword_args:: additional attributes
781
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
782
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
783
+ end
784
+
785
+ ##
786
+ # Create a new <Prosody> element
787
+ # words:: Words to speak
788
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
789
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
790
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
791
+ # keyword_args:: additional attributes
792
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
793
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
794
+
795
+ yield(prosody) if block_given?
796
+ append(prosody)
797
+ end
798
+
799
+ ##
800
+ # Create a new <Say-As> element
801
+ # words:: Words to be interpreted
802
+ # interpretAs:: Specify the type of words are spoken
803
+ # format:: Specify the format of the date when interpret-as is set to date
804
+ # keyword_args:: additional attributes
805
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
806
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
807
+ end
808
+
809
+ ##
810
+ # Create a new <Sub> element
811
+ # words:: Words to be substituted
812
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
813
+ # keyword_args:: additional attributes
814
+ def sub(words, aliasAttribute: nil, **keyword_args)
815
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
816
+ end
817
+ end
818
+
819
+ ##
820
+ # Pronouncing Acronyms and Abbreviations in <Say>
821
+ class SsmlSub < TwiML
822
+ def initialize(words, **keyword_args)
823
+ super(**keyword_args)
824
+ @name = 'sub'
825
+ @value = words
826
+ yield(self) if block_given?
827
+ end
828
+ end
829
+
830
+ ##
831
+ # Controlling How Special Types of Words Are Spoken in <Say>
832
+ class SsmlSayAs < TwiML
833
+ def initialize(words, **keyword_args)
834
+ super(**keyword_args)
835
+ @name = 'say-as'
836
+ @value = words
837
+ yield(self) if block_given?
838
+ end
839
+ end
840
+
841
+ ##
842
+ # Controling Volume, Speaking Rate, and Pitch in <Say>
843
+ class SsmlProsody < TwiML
844
+ def initialize(words: nil, **keyword_args)
845
+ super(**keyword_args)
846
+ @name = 'prosody'
847
+ @value = words unless words.nil?
848
+ yield(self) if block_given?
849
+ end
850
+
851
+ ##
852
+ # Create a new <Break> element
853
+ # strength:: Set a pause based on strength
854
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
855
+ # keyword_args:: additional attributes
856
+ def break(strength: nil, time: nil, **keyword_args)
857
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
858
+ end
859
+
860
+ ##
861
+ # Create a new <Emphasis> element
862
+ # words:: Words to emphasize
863
+ # level:: Specify the degree of emphasis
864
+ # keyword_args:: additional attributes
865
+ def emphasis(words: nil, level: nil, **keyword_args)
866
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
867
+
868
+ yield(emphasis) if block_given?
869
+ append(emphasis)
870
+ end
871
+
872
+ ##
873
+ # Create a new <Lang> element
874
+ # words:: Words to speak
875
+ # xmlLang:: Specify the language
876
+ # keyword_args:: additional attributes
877
+ def lang(words: nil, xmlLang: nil, **keyword_args)
878
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
879
+
880
+ yield(lang) if block_given?
881
+ append(lang)
882
+ end
883
+
884
+ ##
885
+ # Create a new <P> element
886
+ # words:: Words to speak
887
+ # keyword_args:: additional attributes
888
+ def p(words: nil, **keyword_args)
889
+ p = SsmlP.new(words: words, **keyword_args)
890
+
891
+ yield(p) if block_given?
892
+ append(p)
893
+ end
894
+
895
+ ##
896
+ # Create a new <Phoneme> element
897
+ # words:: Words to speak
898
+ # alphabet:: Specify the phonetic alphabet
899
+ # ph:: Specifiy the phonetic symbols for pronunciation
900
+ # keyword_args:: additional attributes
901
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
902
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
903
+ end
904
+
905
+ ##
906
+ # Create a new <Prosody> element
907
+ # words:: Words to speak
908
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
909
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
910
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
911
+ # keyword_args:: additional attributes
912
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
913
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
914
+
915
+ yield(prosody) if block_given?
916
+ append(prosody)
917
+ end
918
+
919
+ ##
920
+ # Create a new <S> element
921
+ # words:: Words to speak
922
+ # keyword_args:: additional attributes
923
+ def s(words: nil, **keyword_args)
924
+ s = SsmlS.new(words: words, **keyword_args)
925
+
926
+ yield(s) if block_given?
927
+ append(s)
928
+ end
929
+
930
+ ##
931
+ # Create a new <Say-As> element
932
+ # words:: Words to be interpreted
933
+ # interpretAs:: Specify the type of words are spoken
934
+ # format:: Specify the format of the date when interpret-as is set to date
935
+ # keyword_args:: additional attributes
936
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
937
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
938
+ end
939
+
940
+ ##
941
+ # Create a new <Sub> element
942
+ # words:: Words to be substituted
943
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
944
+ # keyword_args:: additional attributes
945
+ def sub(words, aliasAttribute: nil, **keyword_args)
946
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
947
+ end
948
+
949
+ ##
950
+ # Create a new <W> element
951
+ # words:: Words to speak
952
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
953
+ # keyword_args:: additional attributes
954
+ def w(words: nil, role: nil, **keyword_args)
955
+ w = SsmlW.new(words: words, role: role, **keyword_args)
956
+
957
+ yield(w) if block_given?
958
+ append(w)
959
+ end
960
+ end
961
+
962
+ ##
963
+ # Adding A Pause Between Sentences in <Say>
964
+ class SsmlS < TwiML
965
+ def initialize(words: nil, **keyword_args)
966
+ super(**keyword_args)
967
+ @name = 's'
968
+ @value = words unless words.nil?
969
+ yield(self) if block_given?
970
+ end
971
+
972
+ ##
973
+ # Create a new <Break> element
974
+ # strength:: Set a pause based on strength
975
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
976
+ # keyword_args:: additional attributes
977
+ def break(strength: nil, time: nil, **keyword_args)
978
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
979
+ end
980
+
981
+ ##
982
+ # Create a new <Emphasis> element
983
+ # words:: Words to emphasize
984
+ # level:: Specify the degree of emphasis
985
+ # keyword_args:: additional attributes
986
+ def emphasis(words: nil, level: nil, **keyword_args)
987
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
988
+
989
+ yield(emphasis) if block_given?
990
+ append(emphasis)
991
+ end
992
+
993
+ ##
994
+ # Create a new <Lang> element
995
+ # words:: Words to speak
996
+ # xmlLang:: Specify the language
997
+ # keyword_args:: additional attributes
998
+ def lang(words: nil, xmlLang: nil, **keyword_args)
999
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1000
+
1001
+ yield(lang) if block_given?
1002
+ append(lang)
1003
+ end
1004
+
1005
+ ##
1006
+ # Create a new <Phoneme> element
1007
+ # words:: Words to speak
1008
+ # alphabet:: Specify the phonetic alphabet
1009
+ # ph:: Specifiy the phonetic symbols for pronunciation
1010
+ # keyword_args:: additional attributes
1011
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1012
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1013
+ end
1014
+
1015
+ ##
1016
+ # Create a new <Prosody> element
1017
+ # words:: Words to speak
1018
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1019
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1020
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1021
+ # keyword_args:: additional attributes
1022
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1023
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1024
+
1025
+ yield(prosody) if block_given?
1026
+ append(prosody)
1027
+ end
1028
+
1029
+ ##
1030
+ # Create a new <Say-As> element
1031
+ # words:: Words to be interpreted
1032
+ # interpretAs:: Specify the type of words are spoken
1033
+ # format:: Specify the format of the date when interpret-as is set to date
1034
+ # keyword_args:: additional attributes
1035
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1036
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1037
+ end
1038
+
1039
+ ##
1040
+ # Create a new <Sub> element
1041
+ # words:: Words to be substituted
1042
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1043
+ # keyword_args:: additional attributes
1044
+ def sub(words, aliasAttribute: nil, **keyword_args)
1045
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1046
+ end
1047
+
1048
+ ##
1049
+ # Create a new <W> element
1050
+ # words:: Words to speak
1051
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1052
+ # keyword_args:: additional attributes
1053
+ def w(words: nil, role: nil, **keyword_args)
1054
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1055
+
1056
+ yield(w) if block_given?
1057
+ append(w)
1058
+ end
1059
+ end
1060
+
1061
+ ##
1062
+ # Using Phonetic Pronunciation in <Say>
1063
+ class SsmlPhoneme < TwiML
1064
+ def initialize(words, **keyword_args)
1065
+ super(**keyword_args)
1066
+ @name = 'phoneme'
1067
+ @value = words
1068
+ yield(self) if block_given?
1069
+ end
1070
+ end
1071
+
1072
+ ##
1073
+ # Specifying Another Language for Specific Words in <Say>
1074
+ class SsmlLang < TwiML
1075
+ def initialize(words: nil, **keyword_args)
1076
+ super(**keyword_args)
1077
+ @name = 'lang'
1078
+ @value = words unless words.nil?
1079
+ yield(self) if block_given?
1080
+ end
1081
+
1082
+ ##
1083
+ # Create a new <Break> element
1084
+ # strength:: Set a pause based on strength
1085
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1086
+ # keyword_args:: additional attributes
1087
+ def break(strength: nil, time: nil, **keyword_args)
1088
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1089
+ end
1090
+
1091
+ ##
1092
+ # Create a new <Emphasis> element
1093
+ # words:: Words to emphasize
1094
+ # level:: Specify the degree of emphasis
1095
+ # keyword_args:: additional attributes
1096
+ def emphasis(words: nil, level: nil, **keyword_args)
1097
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1098
+
1099
+ yield(emphasis) if block_given?
1100
+ append(emphasis)
1101
+ end
1102
+
1103
+ ##
1104
+ # Create a new <Lang> element
1105
+ # words:: Words to speak
1106
+ # xmlLang:: Specify the language
1107
+ # keyword_args:: additional attributes
1108
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1109
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1110
+
1111
+ yield(lang) if block_given?
1112
+ append(lang)
1113
+ end
1114
+
1115
+ ##
1116
+ # Create a new <P> element
1117
+ # words:: Words to speak
1118
+ # keyword_args:: additional attributes
1119
+ def p(words: nil, **keyword_args)
1120
+ p = SsmlP.new(words: words, **keyword_args)
1121
+
1122
+ yield(p) if block_given?
1123
+ append(p)
1124
+ end
1125
+
1126
+ ##
1127
+ # Create a new <Phoneme> element
1128
+ # words:: Words to speak
1129
+ # alphabet:: Specify the phonetic alphabet
1130
+ # ph:: Specifiy the phonetic symbols for pronunciation
1131
+ # keyword_args:: additional attributes
1132
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1133
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1134
+ end
1135
+
1136
+ ##
1137
+ # Create a new <Prosody> element
1138
+ # words:: Words to speak
1139
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1140
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1141
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1142
+ # keyword_args:: additional attributes
1143
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1144
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1145
+
1146
+ yield(prosody) if block_given?
1147
+ append(prosody)
1148
+ end
1149
+
1150
+ ##
1151
+ # Create a new <S> element
1152
+ # words:: Words to speak
1153
+ # keyword_args:: additional attributes
1154
+ def s(words: nil, **keyword_args)
1155
+ s = SsmlS.new(words: words, **keyword_args)
1156
+
1157
+ yield(s) if block_given?
1158
+ append(s)
1159
+ end
1160
+
1161
+ ##
1162
+ # Create a new <Say-As> element
1163
+ # words:: Words to be interpreted
1164
+ # interpretAs:: Specify the type of words are spoken
1165
+ # format:: Specify the format of the date when interpret-as is set to date
1166
+ # keyword_args:: additional attributes
1167
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1168
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1169
+ end
1170
+
1171
+ ##
1172
+ # Create a new <Sub> element
1173
+ # words:: Words to be substituted
1174
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1175
+ # keyword_args:: additional attributes
1176
+ def sub(words, aliasAttribute: nil, **keyword_args)
1177
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1178
+ end
1179
+
1180
+ ##
1181
+ # Create a new <W> element
1182
+ # words:: Words to speak
1183
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1184
+ # keyword_args:: additional attributes
1185
+ def w(words: nil, role: nil, **keyword_args)
1186
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1187
+
1188
+ yield(w) if block_given?
1189
+ append(w)
1190
+ end
1191
+ end
1192
+
1193
+ ##
1194
+ # Adding a Pause Between Paragraphs in <Say>
1195
+ class SsmlP < TwiML
1196
+ def initialize(words: nil, **keyword_args)
1197
+ super(**keyword_args)
1198
+ @name = 'p'
1199
+ @value = words unless words.nil?
1200
+ yield(self) if block_given?
1201
+ end
1202
+
1203
+ ##
1204
+ # Create a new <Break> element
1205
+ # strength:: Set a pause based on strength
1206
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1207
+ # keyword_args:: additional attributes
1208
+ def break(strength: nil, time: nil, **keyword_args)
1209
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1210
+ end
1211
+
1212
+ ##
1213
+ # Create a new <Emphasis> element
1214
+ # words:: Words to emphasize
1215
+ # level:: Specify the degree of emphasis
1216
+ # keyword_args:: additional attributes
1217
+ def emphasis(words: nil, level: nil, **keyword_args)
1218
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1219
+
1220
+ yield(emphasis) if block_given?
1221
+ append(emphasis)
1222
+ end
1223
+
1224
+ ##
1225
+ # Create a new <Lang> element
1226
+ # words:: Words to speak
1227
+ # xmlLang:: Specify the language
1228
+ # keyword_args:: additional attributes
1229
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1230
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1231
+
1232
+ yield(lang) if block_given?
1233
+ append(lang)
1234
+ end
1235
+
1236
+ ##
1237
+ # Create a new <Phoneme> element
1238
+ # words:: Words to speak
1239
+ # alphabet:: Specify the phonetic alphabet
1240
+ # ph:: Specifiy the phonetic symbols for pronunciation
1241
+ # keyword_args:: additional attributes
1242
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1243
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1244
+ end
1245
+
1246
+ ##
1247
+ # Create a new <Prosody> element
1248
+ # words:: Words to speak
1249
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1250
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1251
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1252
+ # keyword_args:: additional attributes
1253
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1254
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1255
+
1256
+ yield(prosody) if block_given?
1257
+ append(prosody)
1258
+ end
1259
+
1260
+ ##
1261
+ # Create a new <S> element
1262
+ # words:: Words to speak
1263
+ # keyword_args:: additional attributes
1264
+ def s(words: nil, **keyword_args)
1265
+ s = SsmlS.new(words: words, **keyword_args)
1266
+
1267
+ yield(s) if block_given?
1268
+ append(s)
1269
+ end
1270
+
1271
+ ##
1272
+ # Create a new <Say-As> element
1273
+ # words:: Words to be interpreted
1274
+ # interpretAs:: Specify the type of words are spoken
1275
+ # format:: Specify the format of the date when interpret-as is set to date
1276
+ # keyword_args:: additional attributes
1277
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1278
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1279
+ end
1280
+
1281
+ ##
1282
+ # Create a new <Sub> element
1283
+ # words:: Words to be substituted
1284
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1285
+ # keyword_args:: additional attributes
1286
+ def sub(words, aliasAttribute: nil, **keyword_args)
1287
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1288
+ end
1289
+
1290
+ ##
1291
+ # Create a new <W> element
1292
+ # words:: Words to speak
1293
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1294
+ # keyword_args:: additional attributes
1295
+ def w(words: nil, role: nil, **keyword_args)
1296
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1297
+
1298
+ yield(w) if block_given?
1299
+ append(w)
1300
+ end
1301
+ end
1302
+
1303
+ ##
1304
+ # Emphasizing Words in <Say>
1305
+ class SsmlEmphasis < TwiML
1306
+ def initialize(words: nil, **keyword_args)
1307
+ super(**keyword_args)
1308
+ @name = 'emphasis'
1309
+ @value = words unless words.nil?
1310
+ yield(self) if block_given?
1311
+ end
1312
+
1313
+ ##
1314
+ # Create a new <Break> element
1315
+ # strength:: Set a pause based on strength
1316
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1317
+ # keyword_args:: additional attributes
1318
+ def break(strength: nil, time: nil, **keyword_args)
1319
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1320
+ end
1321
+
1322
+ ##
1323
+ # Create a new <Emphasis> element
1324
+ # words:: Words to emphasize
1325
+ # level:: Specify the degree of emphasis
1326
+ # keyword_args:: additional attributes
1327
+ def emphasis(words: nil, level: nil, **keyword_args)
1328
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1329
+
1330
+ yield(emphasis) if block_given?
1331
+ append(emphasis)
1332
+ end
1333
+
1334
+ ##
1335
+ # Create a new <Lang> element
1336
+ # words:: Words to speak
1337
+ # xmlLang:: Specify the language
1338
+ # keyword_args:: additional attributes
1339
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1340
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1341
+
1342
+ yield(lang) if block_given?
1343
+ append(lang)
1344
+ end
1345
+
1346
+ ##
1347
+ # Create a new <Phoneme> element
1348
+ # words:: Words to speak
1349
+ # alphabet:: Specify the phonetic alphabet
1350
+ # ph:: Specifiy the phonetic symbols for pronunciation
1351
+ # keyword_args:: additional attributes
1352
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1353
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1354
+ end
1355
+
1356
+ ##
1357
+ # Create a new <Prosody> element
1358
+ # words:: Words to speak
1359
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1360
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1361
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1362
+ # keyword_args:: additional attributes
1363
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1364
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1365
+
1366
+ yield(prosody) if block_given?
1367
+ append(prosody)
152
1368
  end
153
1369
 
154
1370
  ##
155
- # Create a new <Redirect> element
156
- # url:: Redirect URL
157
- # method:: Redirect URL method
1371
+ # Create a new <Say-As> element
1372
+ # words:: Words to be interpreted
1373
+ # interpretAs:: Specify the type of words are spoken
1374
+ # format:: Specify the format of the date when interpret-as is set to date
158
1375
  # keyword_args:: additional attributes
159
- def redirect(url, method: nil, **keyword_args)
160
- append(Redirect.new(url, method: method, **keyword_args))
1376
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1377
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
161
1378
  end
162
1379
 
163
1380
  ##
164
- # Create a new <Reject> element
165
- # reason:: Rejection reason
1381
+ # Create a new <Sub> element
1382
+ # words:: Words to be substituted
1383
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
166
1384
  # keyword_args:: additional attributes
167
- def reject(reason: nil, **keyword_args)
168
- append(Reject.new(reason: reason, **keyword_args))
1385
+ def sub(words, aliasAttribute: nil, **keyword_args)
1386
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
169
1387
  end
170
1388
 
171
1389
  ##
172
- # Create a new <Say> element
173
- # message:: Message to say
174
- # voice:: Voice to use
175
- # loop:: Times to loop message
176
- # language:: Message langauge
1390
+ # Create a new <W> element
1391
+ # words:: Words to speak
1392
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
177
1393
  # keyword_args:: additional attributes
178
- def say(message, voice: nil, loop: nil, language: nil, **keyword_args)
179
- append(Say.new(message, voice: voice, loop: loop, language: language, **keyword_args))
1394
+ def w(words: nil, role: nil, **keyword_args)
1395
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1396
+
1397
+ yield(w) if block_given?
1398
+ append(w)
180
1399
  end
1400
+ end
181
1401
 
182
- ##
183
- # Create a new <Sms> element
184
- # message:: Message body
185
- # to:: Number to send message to
186
- # from:: Number to send message from
187
- # action:: Action URL
188
- # method:: Action URL method
189
- # status_callback:: Status callback URL
190
- # keyword_args:: additional attributes
191
- def sms(message, to: nil, from: nil, action: nil, method: nil, status_callback: nil, **keyword_args)
192
- append(Sms.new(message, to: to, from: from, action: action, method: method, status_callback: status_callback, **keyword_args))
1402
+ ##
1403
+ # Adding a Pause in <Say>
1404
+ class SsmlBreak < TwiML
1405
+ def initialize(**keyword_args)
1406
+ super(**keyword_args)
1407
+ @name = 'break'
1408
+
1409
+ yield(self) if block_given?
193
1410
  end
194
1411
  end
195
1412
 
196
1413
  ##
197
- # <Sms> TwiML Noun
198
- class Sms < TwiML
199
- def initialize(message, **keyword_args)
1414
+ # <Pay> Twiml Verb
1415
+ class Pay < TwiML
1416
+ def initialize(**keyword_args)
200
1417
  super(**keyword_args)
201
- @name = 'Sms'
202
- @value = message
1418
+ @name = 'Pay'
1419
+
203
1420
  yield(self) if block_given?
204
1421
  end
1422
+
1423
+ ##
1424
+ # Create a new <Prompt> element
1425
+ # for_:: Name of the payment source data element
1426
+ # error_type:: Type of error
1427
+ # card_type:: Type of the credit card
1428
+ # attempt:: Current attempt count
1429
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
1430
+ # keyword_args:: additional attributes
1431
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
1432
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
1433
+
1434
+ yield(prompt) if block_given?
1435
+ append(prompt)
1436
+ end
1437
+
1438
+ ##
1439
+ # Create a new <Parameter> element
1440
+ # name:: The name of the custom parameter
1441
+ # value:: The value of the custom parameter
1442
+ # keyword_args:: additional attributes
1443
+ def parameter(name: nil, value: nil, **keyword_args)
1444
+ append(Parameter.new(name: name, value: value, **keyword_args))
1445
+ end
205
1446
  end
206
1447
 
207
1448
  ##
208
- # <Say> TwiML Verb
209
- class Say < TwiML
1449
+ # <Sms> TwiML Noun
1450
+ class Sms < TwiML
210
1451
  def initialize(message, **keyword_args)
211
1452
  super(**keyword_args)
212
- @name = 'Say'
1453
+ @name = 'Sms'
213
1454
  @value = message
214
1455
  yield(self) if block_given?
215
1456
  end
@@ -224,6 +1465,15 @@ module Twilio
224
1465
 
225
1466
  yield(self) if block_given?
226
1467
  end
1468
+
1469
+ ##
1470
+ # Create a new <Parameter> element
1471
+ # name:: The name of the custom parameter
1472
+ # value:: The value of the custom parameter
1473
+ # keyword_args:: additional attributes
1474
+ def parameter(name: nil, value: nil, **keyword_args)
1475
+ append(Parameter.new(name: name, value: value, **keyword_args))
1476
+ end
227
1477
  end
228
1478
 
229
1479
  ##
@@ -259,28 +1509,6 @@ module Twilio
259
1509
  end
260
1510
  end
261
1511
 
262
- ##
263
- # <Play> TwiML Verb
264
- class Play < TwiML
265
- def initialize(url: nil, **keyword_args)
266
- super(**keyword_args)
267
- @name = 'Play'
268
- @value = url unless url.nil?
269
- yield(self) if block_given?
270
- end
271
- end
272
-
273
- ##
274
- # <Pause> TwiML Verb
275
- class Pause < TwiML
276
- def initialize(**keyword_args)
277
- super(**keyword_args)
278
- @name = 'Pause'
279
-
280
- yield(self) if block_given?
281
- end
282
- end
283
-
284
1512
  ##
285
1513
  # <Leave> TwiML Verb
286
1514
  class Leave < TwiML
@@ -301,6 +1529,15 @@ module Twilio
301
1529
 
302
1530
  yield(self) if block_given?
303
1531
  end
1532
+
1533
+ ##
1534
+ # Create a new <Parameter> element
1535
+ # name:: The name of the custom parameter
1536
+ # value:: The value of the custom parameter
1537
+ # keyword_args:: additional attributes
1538
+ def parameter(name: nil, value: nil, **keyword_args)
1539
+ append(Parameter.new(name: name, value: value, **keyword_args))
1540
+ end
304
1541
  end
305
1542
 
306
1543
  ##
@@ -318,10 +1555,13 @@ module Twilio
318
1555
  # message:: Message to say
319
1556
  # voice:: Voice to use
320
1557
  # loop:: Times to loop message
321
- # language:: Message langauge
1558
+ # language:: Message language
322
1559
  # keyword_args:: additional attributes
323
- def say(message, voice: nil, loop: nil, language: nil, **keyword_args)
324
- append(Say.new(message, voice: voice, loop: loop, language: language, **keyword_args))
1560
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
1561
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
1562
+
1563
+ yield(say) if block_given?
1564
+ append(say)
325
1565
  end
326
1566
 
327
1567
  ##
@@ -398,15 +1638,18 @@ module Twilio
398
1638
 
399
1639
  ##
400
1640
  # Create a new <Client> element
401
- # name:: Client name
1641
+ # identity:: Client identity
402
1642
  # url:: Client URL
403
1643
  # method:: Client URL Method
404
1644
  # status_callback_event:: Events to trigger status callback
405
1645
  # status_callback:: Status Callback URL
406
1646
  # status_callback_method:: Status Callback URL Method
407
1647
  # keyword_args:: additional attributes
408
- def client(name, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
409
- append(Client.new(name, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
1648
+ def client(identity: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1649
+ client = Client.new(identity: identity, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
1650
+
1651
+ yield(client) if block_given?
1652
+ append(client)
410
1653
  end
411
1654
 
412
1655
  ##
@@ -421,7 +1664,7 @@ module Twilio
421
1664
  # max_participants:: Maximum number of participants
422
1665
  # record:: Record the conference
423
1666
  # region:: Conference region
424
- # whisper:: Call whisper
1667
+ # coach:: Call coach
425
1668
  # trim:: Trim the conference recording
426
1669
  # status_callback_event:: Events to call status callback URL
427
1670
  # status_callback:: Status callback URL
@@ -430,9 +1673,11 @@ module Twilio
430
1673
  # recording_status_callback_method:: Recording status callback URL method
431
1674
  # recording_status_callback_event:: Recording status callback events
432
1675
  # event_callback_url:: Event callback URL
1676
+ # jitter_buffer_size:: Size of jitter buffer for participant
1677
+ # participant_label:: A label for participant
433
1678
  # keyword_args:: additional attributes
434
- 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)
435
- 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))
1679
+ 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)
1680
+ 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))
436
1681
  end
437
1682
 
438
1683
  ##
@@ -444,9 +1689,17 @@ module Twilio
444
1689
  # status_callback_event:: Events to call status callback
445
1690
  # status_callback:: Status callback URL
446
1691
  # status_callback_method:: Status callback URL method
1692
+ # byoc:: BYOC trunk SID (Beta)
1693
+ # machine_detection:: Enable machine detection or end of greeting detection
1694
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1695
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1696
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1697
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1698
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1699
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
447
1700
  # keyword_args:: additional attributes
448
- def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
449
- 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))
1701
+ 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)
1702
+ 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))
450
1703
  end
451
1704
 
452
1705
  ##
@@ -479,9 +1732,73 @@ module Twilio
479
1732
  # status_callback_event:: Status callback events
480
1733
  # status_callback:: Status callback URL
481
1734
  # status_callback_method:: Status callback URL method
1735
+ # machine_detection:: Enable machine detection or end of greeting detection
1736
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1737
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1738
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1739
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1740
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1741
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
1742
+ # keyword_args:: additional attributes
1743
+ 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)
1744
+ 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))
1745
+ end
1746
+
1747
+ ##
1748
+ # Create a new <Application> element
1749
+ # application_sid:: Application sid
1750
+ # url:: TwiML URL
1751
+ # method:: TwiML URL Method
1752
+ # status_callback_event:: Events to trigger status callback
1753
+ # status_callback:: Status Callback URL
1754
+ # status_callback_method:: Status Callback URL Method
1755
+ # customer_id:: Identity of the customer calling application
1756
+ # copy_parent_to:: Copy parent call To field to called application side, otherwise use the application sid as To field
1757
+ # keyword_args:: additional attributes
1758
+ 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)
1759
+ 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)
1760
+
1761
+ yield(application) if block_given?
1762
+ append(application)
1763
+ end
1764
+ end
1765
+
1766
+ ##
1767
+ # <Application> TwiML Noun
1768
+ class Application < TwiML
1769
+ def initialize(application_sid: nil, **keyword_args)
1770
+ super(**keyword_args)
1771
+ @name = 'Application'
1772
+ @value = application_sid unless application_sid.nil?
1773
+ yield(self) if block_given?
1774
+ end
1775
+
1776
+ ##
1777
+ # Create a new <ApplicationSid> element
1778
+ # sid:: Application sid to dial
1779
+ # keyword_args:: additional attributes
1780
+ def application_sid(sid, **keyword_args)
1781
+ append(ApplicationSid.new(sid, **keyword_args))
1782
+ end
1783
+
1784
+ ##
1785
+ # Create a new <Parameter> element
1786
+ # name:: The name of the custom parameter
1787
+ # value:: The value of the custom parameter
482
1788
  # keyword_args:: additional attributes
483
- 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)
484
- 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))
1789
+ def parameter(name: nil, value: nil, **keyword_args)
1790
+ append(Parameter.new(name: name, value: value, **keyword_args))
1791
+ end
1792
+ end
1793
+
1794
+ ##
1795
+ # <ApplicationSid> TwiML Noun
1796
+ class ApplicationSid < TwiML
1797
+ def initialize(sid, **keyword_args)
1798
+ super(**keyword_args)
1799
+ @name = 'ApplicationSid'
1800
+ @value = sid
1801
+ yield(self) if block_given?
485
1802
  end
486
1803
  end
487
1804
 
@@ -532,9 +1849,316 @@ module Twilio
532
1849
  ##
533
1850
  # <Client> TwiML Noun
534
1851
  class Client < TwiML
535
- def initialize(name, **keyword_args)
1852
+ def initialize(identity: nil, **keyword_args)
536
1853
  super(**keyword_args)
537
1854
  @name = 'Client'
1855
+ @value = identity unless identity.nil?
1856
+ yield(self) if block_given?
1857
+ end
1858
+
1859
+ ##
1860
+ # Create a new <Identity> element
1861
+ # client_identity:: Identity of the client to dial
1862
+ # keyword_args:: additional attributes
1863
+ def identity(client_identity, **keyword_args)
1864
+ append(Identity.new(client_identity, **keyword_args))
1865
+ end
1866
+
1867
+ ##
1868
+ # Create a new <Parameter> element
1869
+ # name:: The name of the custom parameter
1870
+ # value:: The value of the custom parameter
1871
+ # keyword_args:: additional attributes
1872
+ def parameter(name: nil, value: nil, **keyword_args)
1873
+ append(Parameter.new(name: name, value: value, **keyword_args))
1874
+ end
1875
+ end
1876
+
1877
+ ##
1878
+ # <Identity> TwiML Noun
1879
+ class Identity < TwiML
1880
+ def initialize(client_identity, **keyword_args)
1881
+ super(**keyword_args)
1882
+ @name = 'Identity'
1883
+ @value = client_identity
1884
+ yield(self) if block_given?
1885
+ end
1886
+ end
1887
+
1888
+ ##
1889
+ # <Connect> TwiML Verb
1890
+ class Connect < TwiML
1891
+ def initialize(**keyword_args)
1892
+ super(**keyword_args)
1893
+ @name = 'Connect'
1894
+
1895
+ yield(self) if block_given?
1896
+ end
1897
+
1898
+ ##
1899
+ # Create a new <Room> element
1900
+ # name:: Room name
1901
+ # participant_identity:: Participant identity when connecting to the Room
1902
+ # keyword_args:: additional attributes
1903
+ def room(name, participant_identity: nil, **keyword_args)
1904
+ append(Room.new(name, participant_identity: participant_identity, **keyword_args))
1905
+ end
1906
+
1907
+ ##
1908
+ # Create a new <Autopilot> element
1909
+ # name:: Autopilot assistant sid or unique name
1910
+ # keyword_args:: additional attributes
1911
+ def autopilot(name, **keyword_args)
1912
+ append(Autopilot.new(name, **keyword_args))
1913
+ end
1914
+
1915
+ ##
1916
+ # Create a new <Stream> element
1917
+ # name:: Friendly name given to the Stream
1918
+ # connector_name:: Unique name for Stream Connector
1919
+ # url:: URL of the remote service where the Stream is routed
1920
+ # track:: Track to be streamed to remote service
1921
+ # status_callback:: Status Callback URL
1922
+ # status_callback_method:: Status Callback URL method
1923
+ # keyword_args:: additional attributes
1924
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1925
+ 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)
1926
+
1927
+ yield(stream) if block_given?
1928
+ append(stream)
1929
+ end
1930
+
1931
+ ##
1932
+ # Create a new <VirtualAgent> element
1933
+ # connector_name:: Defines the conversation profile Dialogflow needs to use
1934
+ # language:: Language to be used by Dialogflow to transcribe speech
1935
+ # sentiment_analysis:: Whether sentiment analysis needs to be enabled or not
1936
+ # status_callback:: URL to post status callbacks from Twilio
1937
+ # status_callback_method:: HTTP method to use when requesting the status callback URL
1938
+ # keyword_args:: additional attributes
1939
+ def virtual_agent(connector_name: nil, language: nil, sentiment_analysis: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1940
+ 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)
1941
+
1942
+ yield(virtual_agent) if block_given?
1943
+ append(virtual_agent)
1944
+ end
1945
+
1946
+ ##
1947
+ # Create a new <Conversation> element
1948
+ # service_instance_sid:: Service instance Sid
1949
+ # inbound_autocreation:: Inbound autocreation
1950
+ # routing_assignment_timeout:: Routing assignment timeout
1951
+ # inbound_timeout:: Inbound timeout
1952
+ # url:: TwiML URL
1953
+ # method:: TwiML URL method
1954
+ # record:: Record
1955
+ # trim:: Trim
1956
+ # recording_status_callback:: Recording status callback URL
1957
+ # recording_status_callback_method:: Recording status callback URL method
1958
+ # recording_status_callback_event:: Recording status callback events
1959
+ # status_callback:: Status callback URL
1960
+ # status_callback_method:: Status callback URL method
1961
+ # status_callback_event:: Events to call status callback URL
1962
+ # keyword_args:: additional attributes
1963
+ 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)
1964
+ 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))
1965
+ end
1966
+
1967
+ ##
1968
+ # Create a new <ConversationRelay> element
1969
+ # url:: URL of the remote service where the session is connected to
1970
+ # language:: Language to be used for both text-to-speech and transcription
1971
+ # tts_language:: Language to be used for text-to-speech
1972
+ # transcription_language:: Language to be used for transcription
1973
+ # tts_provider:: Provider to be used for text-to-speech
1974
+ # voice:: Voice to be used for text-to-speech
1975
+ # transcription_provider:: Provider to be used for transcription
1976
+ # speech_model:: Speech model to be used for transcription
1977
+ # profanity_filter:: Whether profanities should be filtered out of the speech transcription
1978
+ # dtmf_detection:: Whether DTMF tones should be detected and reported in speech transcription
1979
+ # welcome_greeting:: The sentence to be played automatically when the session is connected
1980
+ # partial_prompts:: Whether partial prompts should be reported to WebSocket server before the caller finishes speaking
1981
+ # welcome_greeting_interruptible:: "Whether and how the input from a caller, such as speaking or DTMF can interrupt the welcome greeting
1982
+ # interruptible:: Whether and how the input from a caller, such as speaking or DTMF can interrupt the play of text-to-speech
1983
+ # preemptible:: Whether subsequent text-to-speech or play media can interrupt the on-going play of text-to-speech or media
1984
+ # hints:: Phrases to help better accuracy in speech recognition of these pharases
1985
+ # intelligence_service:: The Conversational Intelligence Service id or unique name to be used for the session
1986
+ # report_input_during_agent_speech:: Whether prompts should be reported to WebSocket server when text-to-speech playing and interrupt is disabled
1987
+ # elevenlabs_text_normalization:: When using ElevenLabs as TTS provider, this parameter allows you to enable or disable its text normalization feature
1988
+ # interrupt_sensitivity:: Set the sensitivity of the interrupt feature for speech. The value can be low, medium, or high
1989
+ # debug:: Multiple debug options to be used for troubleshooting
1990
+ # keyword_args:: additional attributes
1991
+ def conversation_relay(url: nil, language: nil, tts_language: nil, transcription_language: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, profanity_filter: nil, dtmf_detection: nil, welcome_greeting: nil, partial_prompts: nil, welcome_greeting_interruptible: nil, interruptible: nil, preemptible: nil, hints: nil, intelligence_service: nil, report_input_during_agent_speech: nil, elevenlabs_text_normalization: nil, interrupt_sensitivity: nil, debug: nil, **keyword_args)
1992
+ conversation_relay = ConversationRelay.new(url: url, language: language, tts_language: tts_language, transcription_language: transcription_language, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, profanity_filter: profanity_filter, dtmf_detection: dtmf_detection, welcome_greeting: welcome_greeting, partial_prompts: partial_prompts, welcome_greeting_interruptible: welcome_greeting_interruptible, interruptible: interruptible, preemptible: preemptible, hints: hints, intelligence_service: intelligence_service, report_input_during_agent_speech: report_input_during_agent_speech, elevenlabs_text_normalization: elevenlabs_text_normalization, interrupt_sensitivity: interrupt_sensitivity, debug: debug, **keyword_args)
1993
+
1994
+ yield(conversation_relay) if block_given?
1995
+ append(conversation_relay)
1996
+ end
1997
+
1998
+ ##
1999
+ # Create a new <Assistant> element
2000
+ # id:: The assistant ID of the AI Assistant
2001
+ # language:: Language to be used for both text-to-speech and transcription
2002
+ # tts_language:: Language to be used for text-to-speech
2003
+ # transcription_language:: Language to be used for transcription
2004
+ # tts_provider:: Provider to be used for text-to-speech
2005
+ # voice:: Voice to be used for text-to-speech
2006
+ # transcription_provider:: Provider to be used for transcription
2007
+ # speech_model:: Speech model to be used for transcription
2008
+ # profanity_filter:: Whether profanities should be filtered out of the speech transcription
2009
+ # dtmf_detection:: Whether DTMF tones should be detected and reported in speech transcription
2010
+ # welcome_greeting:: The sentence to be played automatically when the session is connected
2011
+ # partial_prompts:: Whether partial prompts should be reported to WebSocket server before the caller finishes speaking
2012
+ # welcome_greeting_interruptible:: "Whether and how the input from a caller, such as speaking or DTMF can interrupt the welcome greeting
2013
+ # interruptible:: Whether and how the input from a caller, such as speaking or DTMF can interrupt the play of text-to-speech
2014
+ # preemptible:: Whether subsequent text-to-speech or play media can interrupt the on-going play of text-to-speech or media
2015
+ # hints:: Phrases to help better accuracy in speech recognition of these pharases
2016
+ # intelligence_service:: The Conversational Intelligence Service id or unique name to be used for the session
2017
+ # report_input_during_agent_speech:: Whether prompts should be reported to WebSocket server when text-to-speech playing and interrupt is disabled
2018
+ # elevenlabs_text_normalization:: When using ElevenLabs as TTS provider, this parameter allows you to enable or disable its text normalization feature
2019
+ # interrupt_sensitivity:: Set the sensitivity of the interrupt feature for speech. The value can be low, medium, or high
2020
+ # debug:: Multiple debug options to be used for troubleshooting
2021
+ # keyword_args:: additional attributes
2022
+ def assistant(id: nil, language: nil, tts_language: nil, transcription_language: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, profanity_filter: nil, dtmf_detection: nil, welcome_greeting: nil, partial_prompts: nil, welcome_greeting_interruptible: nil, interruptible: nil, preemptible: nil, hints: nil, intelligence_service: nil, report_input_during_agent_speech: nil, elevenlabs_text_normalization: nil, interrupt_sensitivity: nil, debug: nil, **keyword_args)
2023
+ assistant = Assistant.new(id: id, language: language, tts_language: tts_language, transcription_language: transcription_language, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, profanity_filter: profanity_filter, dtmf_detection: dtmf_detection, welcome_greeting: welcome_greeting, partial_prompts: partial_prompts, welcome_greeting_interruptible: welcome_greeting_interruptible, interruptible: interruptible, preemptible: preemptible, hints: hints, intelligence_service: intelligence_service, report_input_during_agent_speech: report_input_during_agent_speech, elevenlabs_text_normalization: elevenlabs_text_normalization, interrupt_sensitivity: interrupt_sensitivity, debug: debug, **keyword_args)
2024
+
2025
+ yield(assistant) if block_given?
2026
+ append(assistant)
2027
+ end
2028
+ end
2029
+
2030
+ ##
2031
+ # <Assistant> TwiML Noun
2032
+ class Assistant < TwiML
2033
+ def initialize(**keyword_args)
2034
+ super(**keyword_args)
2035
+ @name = 'Assistant'
2036
+
2037
+ yield(self) if block_given?
2038
+ end
2039
+
2040
+ ##
2041
+ # Create a new <Language> element
2042
+ # code:: Language code of this language setting is for
2043
+ # tts_provider:: Provider to be used for text-to-speech of this language
2044
+ # voice:: Voice to be used for text-to-speech of this language
2045
+ # transcription_provider:: Provider to be used for transcription of this language
2046
+ # speech_model:: Speech model to be used for transcription of this language
2047
+ # keyword_args:: additional attributes
2048
+ def language(code: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, **keyword_args)
2049
+ append(Language.new(code: code, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, **keyword_args))
2050
+ end
2051
+
2052
+ ##
2053
+ # Create a new <Parameter> element
2054
+ # name:: The name of the custom parameter
2055
+ # value:: The value of the custom parameter
2056
+ # keyword_args:: additional attributes
2057
+ def parameter(name: nil, value: nil, **keyword_args)
2058
+ append(Parameter.new(name: name, value: value, **keyword_args))
2059
+ end
2060
+ end
2061
+
2062
+ ##
2063
+ # <Language> TwiML Noun
2064
+ class Language < TwiML
2065
+ def initialize(**keyword_args)
2066
+ super(**keyword_args)
2067
+ @name = 'Language'
2068
+
2069
+ yield(self) if block_given?
2070
+ end
2071
+ end
2072
+
2073
+ ##
2074
+ # <ConversationRelay> TwiML Noun
2075
+ class ConversationRelay < TwiML
2076
+ def initialize(**keyword_args)
2077
+ super(**keyword_args)
2078
+ @name = 'ConversationRelay'
2079
+
2080
+ yield(self) if block_given?
2081
+ end
2082
+
2083
+ ##
2084
+ # Create a new <Language> element
2085
+ # code:: Language code of this language setting is for
2086
+ # tts_provider:: Provider to be used for text-to-speech of this language
2087
+ # voice:: Voice to be used for text-to-speech of this language
2088
+ # transcription_provider:: Provider to be used for transcription of this language
2089
+ # speech_model:: Speech model to be used for transcription of this language
2090
+ # keyword_args:: additional attributes
2091
+ def language(code: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, **keyword_args)
2092
+ append(Language.new(code: code, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, **keyword_args))
2093
+ end
2094
+
2095
+ ##
2096
+ # Create a new <Parameter> element
2097
+ # name:: The name of the custom parameter
2098
+ # value:: The value of the custom parameter
2099
+ # keyword_args:: additional attributes
2100
+ def parameter(name: nil, value: nil, **keyword_args)
2101
+ append(Parameter.new(name: name, value: value, **keyword_args))
2102
+ end
2103
+ end
2104
+
2105
+ ##
2106
+ # <Conversation> TwiML Noun
2107
+ class Conversation < TwiML
2108
+ def initialize(**keyword_args)
2109
+ super(**keyword_args)
2110
+ @name = 'Conversation'
2111
+
2112
+ yield(self) if block_given?
2113
+ end
2114
+ end
2115
+
2116
+ ##
2117
+ # <VirtualAgent> TwiML Noun
2118
+ class VirtualAgent < TwiML
2119
+ def initialize(**keyword_args)
2120
+ super(**keyword_args)
2121
+ @name = 'VirtualAgent'
2122
+
2123
+ yield(self) if block_given?
2124
+ end
2125
+
2126
+ ##
2127
+ # Create a new <Config> element
2128
+ # name:: The name of the custom config
2129
+ # value:: The value of the custom config
2130
+ # keyword_args:: additional attributes
2131
+ def config(name: nil, value: nil, **keyword_args)
2132
+ append(Config.new(name: name, value: value, **keyword_args))
2133
+ end
2134
+
2135
+ ##
2136
+ # Create a new <Parameter> element
2137
+ # name:: The name of the custom parameter
2138
+ # value:: The value of the custom parameter
2139
+ # keyword_args:: additional attributes
2140
+ def parameter(name: nil, value: nil, **keyword_args)
2141
+ append(Parameter.new(name: name, value: value, **keyword_args))
2142
+ end
2143
+ end
2144
+
2145
+ ##
2146
+ # <Autopilot> TwiML Noun
2147
+ class Autopilot < TwiML
2148
+ def initialize(name, **keyword_args)
2149
+ super(**keyword_args)
2150
+ @name = 'Autopilot'
2151
+ @value = name
2152
+ yield(self) if block_given?
2153
+ end
2154
+ end
2155
+
2156
+ ##
2157
+ # <Room> TwiML Noun
2158
+ class Room < TwiML
2159
+ def initialize(name, **keyword_args)
2160
+ super(**keyword_args)
2161
+ @name = 'Room'
538
2162
  @value = name
539
2163
  yield(self) if block_given?
540
2164
  end