twilio-ruby 5.74.0 → 7.10.1

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 (796) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +20 -2
  5. data/.gitignore +4 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1367 -0
  8. data/CONTRIBUTING.md +11 -9
  9. data/Dockerfile +2 -1
  10. data/Gemfile +5 -0
  11. data/LICENSE +1 -1
  12. data/Makefile +6 -0
  13. data/README.md +138 -40
  14. data/UPGRADE.md +21 -0
  15. data/advanced-examples/custom-http-client.md +170 -0
  16. data/cluster/cluster_oauth_spec.rb +19 -0
  17. data/cluster/cluster_orgs_spec.rb +40 -0
  18. data/cluster/cluster_spec.rb +75 -0
  19. data/examples/public_oauth.rb +13 -0
  20. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  21. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  22. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  23. data/lib/twilio-ruby/base/client_base.rb +131 -0
  24. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  25. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  26. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  27. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  28. data/lib/twilio-ruby/framework/request.rb +8 -1
  29. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  30. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  31. data/lib/twilio-ruby/framework/rest/error.rb +27 -12
  32. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  33. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  34. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  35. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  36. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  37. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  38. data/lib/twilio-ruby/http/http_client.rb +22 -5
  39. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  40. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  42. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  45. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  46. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  47. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  50. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  51. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  52. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  54. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -530
  55. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  56. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1658 -663
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1658 -663
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +260 -151
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +409 -240
  75. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -1050
  76. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -756
  77. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  78. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  79. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  80. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  81. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -554
  83. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -553
  84. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -553
  85. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -903
  86. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  87. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  88. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  89. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -641
  90. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  91. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  92. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  93. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  94. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  95. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  96. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  98. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  99. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  100. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -513
  101. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  102. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  117. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  118. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  130. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  131. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  132. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  133. data/lib/twilio-ruby/rest/api.rb +25 -34
  134. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  139. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  140. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  147. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  148. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  149. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  150. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -279
  151. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -279
  152. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -248
  153. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -235
  154. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -216
  155. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  156. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  157. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  159. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  160. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  161. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  162. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  163. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  164. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  165. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  166. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  167. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  168. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  169. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  170. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  171. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  172. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  173. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  174. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  175. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  176. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  177. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -419
  178. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  179. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  180. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  181. data/lib/twilio-ruby/rest/chat/v3/channel.rb +444 -267
  182. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  183. data/lib/twilio-ruby/rest/chat.rb +4 -48
  184. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  185. data/lib/twilio-ruby/rest/client.rb +338 -584
  186. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  187. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +327 -173
  188. data/lib/twilio-ruby/rest/content/v1/content.rb +1909 -334
  189. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  190. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  191. data/lib/twilio-ruby/rest/content/v1.rb +54 -38
  192. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  193. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  194. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  195. data/lib/twilio-ruby/rest/content.rb +2 -34
  196. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +798 -444
  198. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  199. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  200. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  201. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -495
  202. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  203. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  204. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -552
  205. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  207. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +397 -304
  208. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  209. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  210. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -312
  211. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +459 -258
  212. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -279
  213. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  214. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -533
  215. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  216. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  217. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -588
  218. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +403 -317
  220. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  221. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +686 -455
  222. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -474
  223. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -447
  224. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +683 -435
  225. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -441
  226. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -136
  227. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  228. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  229. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -288
  230. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +468 -0
  231. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  232. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  233. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  234. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -408
  235. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +638 -339
  236. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -387
  237. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  238. data/lib/twilio-ruby/rest/events.rb +5 -34
  239. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +687 -146
  241. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  242. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -496
  243. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -570
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +370 -227
  256. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +560 -319
  257. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +637 -398
  259. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +529 -225
  260. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  270. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -113
  271. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  272. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +258 -125
  273. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  274. data/lib/twilio-ruby/rest/flex_api.rb +9 -47
  275. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +453 -248
  277. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  278. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  279. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  281. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  282. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  283. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  284. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  285. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  286. data/lib/twilio-ruby/rest/iam.rb +6 -0
  287. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  288. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +509 -315
  289. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  290. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  291. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  292. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -236
  293. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +718 -433
  294. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +665 -467
  295. data/lib/twilio-ruby/rest/insights/v1/conference.rb +683 -502
  296. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  297. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -489
  298. data/lib/twilio-ruby/rest/insights/v1/setting.rb +435 -205
  299. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  300. data/lib/twilio-ruby/rest/insights.rb +6 -34
  301. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  305. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  306. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  307. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  316. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  317. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  318. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  319. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  320. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  321. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  327. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  330. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  331. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  340. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  341. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  342. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  343. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  344. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  345. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  346. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  347. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  348. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  349. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  350. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  351. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  352. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  353. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +570 -328
  354. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  355. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +128 -38
  357. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  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 +475 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +735 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -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 +231 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +568 -346
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +758 -443
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +469 -259
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +263 -142
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  383. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  386. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +937 -521
  388. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +222 -115
  389. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -763
  390. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1517 -549
  391. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +209 -103
  392. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -124
  393. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  394. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  395. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  396. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  397. data/lib/twilio-ruby/rest/messaging.rb +10 -35
  398. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  399. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  400. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  401. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  402. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  403. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  404. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  405. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  406. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  407. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  408. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  409. data/lib/twilio-ruby/rest/notify.rb +3 -34
  410. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  412. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  413. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  414. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  415. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  416. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  421. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  422. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  423. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  424. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  425. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  426. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  427. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +405 -261
  429. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  430. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  431. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +294 -179
  432. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -607
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -371
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  439. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  440. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  441. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  442. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  443. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  444. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  445. data/lib/twilio-ruby/rest/oauth/v1/token.rb +293 -149
  446. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  447. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  448. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  449. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  451. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  466. data/lib/twilio-ruby/rest/preview.rb +10 -87
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -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 +468 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -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 +465 -275
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +457 -270
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +379 -215
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  492. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -440
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -506
  499. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  500. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  501. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  502. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  503. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +444 -227
  504. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +444 -223
  505. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +444 -227
  506. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  507. data/lib/twilio-ruby/rest/routes.rb +4 -34
  508. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  511. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -384
  513. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  517. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  520. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -493
  521. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  522. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  523. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  524. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  528. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  532. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  533. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  534. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -442
  538. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -320
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -472
  541. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -109
  542. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  543. data/lib/twilio-ruby/rest/studio.rb +3 -41
  544. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  545. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +611 -362
  546. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -483
  547. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +624 -406
  548. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  549. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  551. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +339 -237
  552. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +311 -204
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +275 -174
  554. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -453
  555. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +576 -361
  556. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +410 -344
  557. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  558. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  559. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  560. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -371
  561. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -423
  562. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -490
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -370
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -445
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -495
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -368
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -444
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -132
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -400
  570. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -567
  571. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  572. data/lib/twilio-ruby/rest/sync.rb +2 -34
  573. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  574. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -395
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -749
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -661
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -370
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -572
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -732
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -637
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -376
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -356
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -730
  600. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  601. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  602. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  603. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -630
  609. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  610. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  611. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  612. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +595 -352
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +574 -323
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +540 -321
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +823 -513
  619. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +659 -346
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +450 -261
  621. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +443 -252
  622. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +673 -359
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +450 -261
  624. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +595 -352
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +574 -323
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +540 -321
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +823 -513
  628. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  629. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  630. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  631. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  632. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +423 -205
  633. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +463 -254
  634. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +275 -172
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +768 -530
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +386 -271
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -414
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  641. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  645. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  646. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -366
  647. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +320 -187
  648. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -412
  649. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -780
  650. data/lib/twilio-ruby/rest/verify/v2/template.rb +310 -203
  651. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +556 -387
  652. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +400 -224
  653. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  654. data/lib/twilio-ruby/rest/verify.rb +7 -34
  655. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  656. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -507
  657. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -647
  658. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  659. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -426
  660. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  665. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  666. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  667. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  669. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -602
  670. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  671. data/lib/twilio-ruby/rest/video.rb +7 -34
  672. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  673. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +292 -174
  674. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  675. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  676. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  678. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  679. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  680. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  681. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  682. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  683. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  684. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  685. data/lib/twilio-ruby/rest/voice.rb +7 -34
  686. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  687. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  688. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  689. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  690. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  691. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -647
  692. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  693. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  694. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  695. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  696. data/lib/twilio-ruby/rest.rb +1 -0
  697. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  698. data/lib/twilio-ruby/twiml/voice_response.rb +481 -26
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/sonar-project.properties +1 -1
  701. data/twilio-ruby.gemspec +3 -2
  702. metadata +238 -105
  703. data/conf/cacert.pem +0 -3376
  704. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  705. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  706. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  713. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  714. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  715. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  716. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  717. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  718. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  719. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  720. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  721. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  722. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  723. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  724. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  725. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  726. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  727. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  728. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  729. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  730. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  731. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  732. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  733. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  734. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  735. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  736. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  737. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  738. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +0 -190
  739. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +0 -166
  740. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  741. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  742. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  743. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  744. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  745. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  746. data/lib/twilio-ruby/rest/media.rb +0 -65
  747. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  748. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  749. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +0 -305
  750. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -339
  751. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -60
  752. data/lib/twilio-ruby/rest/microvisor.rb +0 -54
  753. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  754. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  755. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  756. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  757. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  758. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  759. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  760. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  761. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  762. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  763. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  764. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -406
  765. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  766. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  767. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  768. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  769. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  771. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  772. data/lib/twilio-ruby/rest/preview/sync.rb +0 -44
  773. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  774. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  775. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  776. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  777. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  778. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  779. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  780. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  781. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  782. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  783. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  784. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  786. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  787. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  788. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  789. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  790. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  791. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  792. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  793. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  794. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  795. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  796. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,743 +1,1064 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
- # frozen_string_literal: true
7
+ # Twilio - Taskrouter
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Taskrouter < Domain
12
- class V1 < Version
13
- class WorkspaceContext < InstanceContext
14
- class WorkerContext < InstanceContext
15
- class ReservationList < ListResource
16
- ##
17
- # Initialize the ReservationList
18
- # @param [Version] version Version that contains the resource
19
- # @param [String] workspace_sid The SID of the Workspace that this worker is
20
- # contained within.
21
- # @param [String] worker_sid The SID of the reserved Worker resource.
22
- # @return [ReservationList] ReservationList
23
- def initialize(version, workspace_sid: nil, worker_sid: nil)
24
- super(version)
25
-
26
- # Path Solution
27
- @solution = {workspace_sid: workspace_sid, worker_sid: worker_sid}
28
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workers/#{@solution[:worker_sid]}/Reservations"
29
- end
30
-
31
- ##
32
- # Lists ReservationInstance records from the API as a list.
33
- # Unlike stream(), this operation is eager and will load `limit` records into
34
- # memory before returning.
35
- # @param [reservation.Status] reservation_status Returns the list of reservations
36
- # for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`,
37
- # `rejected`, `timeout`, `canceled`, or `rescinded`.
38
- # @param [Integer] limit Upper limit for the number of records to return. stream()
39
- # guarantees to never return more than limit. Default is no limit
40
- # @param [Integer] page_size Number of records to fetch per request, when
41
- # not set will use the default value of 50 records. If no page_size is defined
42
- # but a limit is defined, stream() will attempt to read the limit with the most
43
- # efficient page size, i.e. min(limit, 1000)
44
- # @return [Array] Array of up to limit results
45
- def list(reservation_status: :unset, limit: nil, page_size: nil)
46
- self.stream(reservation_status: reservation_status, limit: limit, page_size: page_size).entries
47
- end
48
-
49
- ##
50
- # Streams ReservationInstance records from the API as an Enumerable.
51
- # This operation lazily loads records as efficiently as possible until the limit
52
- # is reached.
53
- # @param [reservation.Status] reservation_status Returns the list of reservations
54
- # for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`,
55
- # `rejected`, `timeout`, `canceled`, or `rescinded`.
56
- # @param [Integer] limit Upper limit for the number of records to return. stream()
57
- # guarantees to never return more than limit. Default is no limit.
58
- # @param [Integer] page_size Number of records to fetch per request, when
59
- # not set will use the default value of 50 records. If no page_size is defined
60
- # but a limit is defined, stream() will attempt to read the limit with the most
61
- # efficient page size, i.e. min(limit, 1000)
62
- # @return [Enumerable] Enumerable that will yield up to limit results
63
- def stream(reservation_status: :unset, limit: nil, page_size: nil)
64
- limits = @version.read_limits(limit, page_size)
65
-
66
- page = self.page(reservation_status: reservation_status, page_size: limits[:page_size], )
67
-
68
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
69
- end
70
-
71
- ##
72
- # When passed a block, yields ReservationInstance records from the API.
73
- # This operation lazily loads records as efficiently as possible until the limit
74
- # is reached.
75
- def each
76
- limits = @version.read_limits
77
-
78
- page = self.page(page_size: limits[:page_size], )
79
-
80
- @version.stream(page,
81
- limit: limits[:limit],
82
- page_limit: limits[:page_limit]).each {|x| yield x}
83
- end
84
-
85
- ##
86
- # Retrieve a single page of ReservationInstance records from the API.
87
- # Request is executed immediately.
88
- # @param [reservation.Status] reservation_status Returns the list of reservations
89
- # for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`,
90
- # `rejected`, `timeout`, `canceled`, or `rescinded`.
91
- # @param [String] page_token PageToken provided by the API
92
- # @param [Integer] page_number Page Number, this value is simply for client state
93
- # @param [Integer] page_size Number of records to return, defaults to 50
94
- # @return [Page] Page of ReservationInstance
95
- def page(reservation_status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
96
- params = Twilio::Values.of({
97
- 'ReservationStatus' => reservation_status,
98
- 'PageToken' => page_token,
99
- 'Page' => page_number,
100
- 'PageSize' => page_size,
101
- })
102
-
103
- response = @version.page('GET', @uri, params: params)
104
-
105
- ReservationPage.new(@version, response, @solution)
106
- end
107
-
108
- ##
109
- # Retrieve a single page of ReservationInstance records from the API.
110
- # Request is executed immediately.
111
- # @param [String] target_url API-generated URL for the requested results page
112
- # @return [Page] Page of ReservationInstance
113
- def get_page(target_url)
114
- response = @version.domain.request(
115
- 'GET',
116
- target_url
117
- )
118
- ReservationPage.new(@version, response, @solution)
119
- end
120
-
121
- ##
122
- # Provide a user friendly representation
123
- def to_s
124
- '#<Twilio.Taskrouter.V1.ReservationList>'
125
- end
126
- end
17
+ module REST
18
+ class Taskrouter < TaskrouterBase
19
+ class V1 < Version
20
+ class WorkspaceContext < InstanceContext
21
+ class WorkerContext < InstanceContext
127
22
 
128
- class ReservationPage < Page
129
- ##
130
- # Initialize the ReservationPage
131
- # @param [Version] version Version that contains the resource
132
- # @param [Response] response Response from the API
133
- # @param [Hash] solution Path solution for the resource
134
- # @return [ReservationPage] ReservationPage
135
- def initialize(version, response, solution)
136
- super(version, response)
137
-
138
- # Path Solution
139
- @solution = solution
140
- end
141
-
142
- ##
143
- # Build an instance of ReservationInstance
144
- # @param [Hash] payload Payload response from the API
145
- # @return [ReservationInstance] ReservationInstance
146
- def get_instance(payload)
147
- ReservationInstance.new(
148
- @version,
149
- payload,
150
- workspace_sid: @solution[:workspace_sid],
151
- worker_sid: @solution[:worker_sid],
152
- )
153
- end
154
-
155
- ##
156
- # Provide a user friendly representation
157
- def to_s
158
- '<Twilio.Taskrouter.V1.ReservationPage>'
159
- end
160
- end
23
+ class ReservationList < ListResource
24
+
25
+ ##
26
+ # Initialize the ReservationList
27
+ # @param [Version] version Version that contains the resource
28
+ # @return [ReservationList] ReservationList
29
+ def initialize(version, workspace_sid: nil, worker_sid: nil)
30
+ super(version)
31
+
32
+ # Path Solution
33
+ @solution = { workspace_sid: workspace_sid, worker_sid: worker_sid }
34
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workers/#{@solution[:worker_sid]}/Reservations"
35
+
36
+ end
37
+
38
+ ##
39
+ # Lists ReservationInstance records from the API as a list.
40
+ # Unlike stream(), this operation is eager and will load `limit` records into
41
+ # memory before returning.
42
+ # @param [Status] reservation_status Returns the list of reservations for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.
43
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
44
+ # guarantees to never return more than limit. Default is no limit
45
+ # @param [Integer] page_size Number of records to fetch per request, when
46
+ # not set will use the default value of 50 records. If no page_size is defined
47
+ # but a limit is defined, stream() will attempt to read the limit with the most
48
+ # efficient page size, i.e. min(limit, 1000)
49
+ # @return [Array] Array of up to limit results
50
+ def list(reservation_status: :unset, limit: nil, page_size: nil)
51
+ self.stream(
52
+ reservation_status: reservation_status,
53
+ limit: limit,
54
+ page_size: page_size
55
+ ).entries
56
+ end
161
57
 
162
- class ReservationContext < InstanceContext
163
- ##
164
- # Initialize the ReservationContext
165
- # @param [Version] version Version that contains the resource
166
- # @param [String] workspace_sid The SID of the Workspace with the
167
- # WorkerReservation resource to fetch.
168
- # @param [String] worker_sid The SID of the reserved Worker resource with the
169
- # WorkerReservation resource to fetch.
170
- # @param [String] sid The SID of the WorkerReservation resource to fetch.
171
- # @return [ReservationContext] ReservationContext
172
- def initialize(version, workspace_sid, worker_sid, sid)
173
- super(version)
174
-
175
- # Path Solution
176
- @solution = {workspace_sid: workspace_sid, worker_sid: worker_sid, sid: sid, }
177
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workers/#{@solution[:worker_sid]}/Reservations/#{@solution[:sid]}"
178
- end
179
-
180
- ##
181
- # Fetch the ReservationInstance
182
- # @return [ReservationInstance] Fetched ReservationInstance
183
- def fetch
184
- payload = @version.fetch('GET', @uri)
185
-
186
- ReservationInstance.new(
187
- @version,
188
- payload,
189
- workspace_sid: @solution[:workspace_sid],
190
- worker_sid: @solution[:worker_sid],
191
- sid: @solution[:sid],
192
- )
193
- end
194
-
195
- ##
196
- # Update the ReservationInstance
197
- # @param [reservation.Status] reservation_status The new status of the
198
- # reservation. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`,
199
- # or `rescinded`.
200
- # @param [String] worker_activity_sid The new worker activity SID if rejecting a
201
- # reservation.
202
- # @param [String] instruction The assignment instruction for the reservation.
203
- # @param [String] dequeue_post_work_activity_sid The SID of the Activity resource
204
- # to start after executing a Dequeue instruction.
205
- # @param [String] dequeue_from The caller ID of the call to the worker when
206
- # executing a Dequeue instruction.
207
- # @param [String] dequeue_record Whether to record both legs of a call when
208
- # executing a Dequeue instruction or which leg to record.
209
- # @param [String] dequeue_timeout The timeout for call when executing a Dequeue
210
- # instruction.
211
- # @param [String] dequeue_to The contact URI of the worker when executing a
212
- # Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for
213
- # Programmable SIP, or the {E.164}[https://www.twilio.com/docs/glossary/what-e164]
214
- # formatted phone number, depending on the destination.
215
- # @param [String] dequeue_status_callback_url The callback URL for completed call
216
- # event when executing a Dequeue instruction.
217
- # @param [String] call_from The Caller ID of the outbound call when executing a
218
- # Call instruction.
219
- # @param [String] call_record Whether to record both legs of a call when executing
220
- # a Call instruction.
221
- # @param [String] call_timeout The timeout for a call when executing a Call
222
- # instruction.
223
- # @param [String] call_to The contact URI of the worker when executing a Call
224
- # instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable
225
- # SIP, or the {E.164}[https://www.twilio.com/docs/glossary/what-e164] formatted
226
- # phone number, depending on the destination.
227
- # @param [String] call_url TwiML URI executed on answering the worker's leg as a
228
- # result of the Call instruction.
229
- # @param [String] call_status_callback_url The URL to call for the completed call
230
- # event when executing a Call instruction.
231
- # @param [Boolean] call_accept Whether to accept a reservation when executing a
232
- # Call instruction.
233
- # @param [String] redirect_call_sid The Call SID of the call parked in the queue
234
- # when executing a Redirect instruction.
235
- # @param [Boolean] redirect_accept Whether the reservation should be accepted when
236
- # executing a Redirect instruction.
237
- # @param [String] redirect_url TwiML URI to redirect the call to when executing
238
- # the Redirect instruction.
239
- # @param [String] to The Contact URI of the worker when executing a Conference
240
- # instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable
241
- # SIP, or the {E.164}[https://www.twilio.com/docs/glossary/what-e164] formatted
242
- # phone number, depending on the destination.
243
- # @param [String] from The caller ID of the call to the worker when executing a
244
- # Conference instruction.
245
- # @param [String] status_callback The URL we should call using the
246
- # `status_callback_method` to send status information to your application.
247
- # @param [String] status_callback_method The HTTP method we should use to call
248
- # `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
249
- # @param [Array[reservation.CallStatus]] status_callback_event The call progress
250
- # events that we will send to `status_callback`. Can be: `initiated`, `ringing`,
251
- # `answered`, or `completed`.
252
- # @param [String] timeout The timeout for a call when executing a Conference
253
- # instruction.
254
- # @param [Boolean] record Whether to record the participant and their conferences,
255
- # including the time between conferences. Can be `true` or `false` and the default
256
- # is `false`.
257
- # @param [Boolean] muted Whether the agent is muted in the conference. Defaults to
258
- # `false`.
259
- # @param [String] beep Whether to play a notification beep when the participant
260
- # joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`.
261
- # The default value is `true`.
262
- # @param [Boolean] start_conference_on_enter Whether to start the conference when
263
- # the participant joins, if it has not already started. Can be: `true` or `false`
264
- # and the default is `true`. If `false` and the conference has not started, the
265
- # participant is muted and hears background music until another participant starts
266
- # the conference.
267
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
268
- # agent leaves.
269
- # @param [String] wait_url The URL we should call using the `wait_method` for the
270
- # music to play while participants are waiting for the conference to start. The
271
- # default value is the URL of our standard hold music. {Learn more about hold
272
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
273
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
274
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
275
- # file, this should be `GET` so that we can cache the file.
276
- # @param [Boolean] early_media Whether to allow an agent to hear the state of the
277
- # outbound call, including ringing or disconnect messages. The default is `true`.
278
- # @param [String] max_participants The maximum number of participants allowed in
279
- # the conference. Can be a positive integer from `2` to `250`. The default value
280
- # is `250`.
281
- # @param [String] conference_status_callback The URL we should call using the
282
- # `conference_status_callback_method` when the conference events in
283
- # `conference_status_callback_event` occur. Only the value set by the first
284
- # participant to join the conference is used. Subsequent
285
- # `conference_status_callback` values are ignored.
286
- # @param [String] conference_status_callback_method The HTTP method we should use
287
- # to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to
288
- # `POST`.
289
- # @param [Array[reservation.ConferenceEvent]] conference_status_callback_event The
290
- # conference status events that we will send to `conference_status_callback`. Can
291
- # be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`.
292
- # @param [String] conference_record Whether to record the conference the
293
- # participant is joining or when to record the conference. Can be: `true`,
294
- # `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
295
- # @param [String] conference_trim Whether to trim leading and trailing silence
296
- # from your recorded conference audio files. Can be: `trim-silence` or
297
- # `do-not-trim` and defaults to `trim-silence`.
298
- # @param [String] recording_channels The recording channels for the final
299
- # recording. Can be: `mono` or `dual` and the default is `mono`.
300
- # @param [String] recording_status_callback The URL that we should call using the
301
- # `recording_status_callback_method` when the recording status changes.
302
- # @param [String] recording_status_callback_method The HTTP method we should use
303
- # when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults
304
- # to `POST`.
305
- # @param [String] conference_recording_status_callback The URL we should call
306
- # using the `conference_recording_status_callback_method` when the conference
307
- # recording is available.
308
- # @param [String] conference_recording_status_callback_method The HTTP method we
309
- # should use to call `conference_recording_status_callback`. Can be: `GET` or
310
- # `POST` and defaults to `POST`.
311
- # @param [String] region The
312
- # {region}[https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls]
313
- # where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`,
314
- # `br1`, `au1`, or `jp1`.
315
- # @param [String] sip_auth_username The SIP username used for authentication.
316
- # @param [String] sip_auth_password The SIP password for authentication.
317
- # @param [Array[String]] dequeue_status_callback_event The call progress events
318
- # sent via webhooks as a result of a Dequeue instruction.
319
- # @param [String] post_work_activity_sid The new worker activity SID after
320
- # executing a Conference instruction.
321
- # @param [Boolean] end_conference_on_customer_exit Whether to end the conference
322
- # when the customer leaves.
323
- # @param [Boolean] beep_on_customer_entrance Whether to play a notification beep
324
- # when the customer joins.
325
- # @param [String] if_match The If-Match HTTP request header
326
- # @return [ReservationInstance] Updated ReservationInstance
327
- def update(reservation_status: :unset, worker_activity_sid: :unset, instruction: :unset, dequeue_post_work_activity_sid: :unset, dequeue_from: :unset, dequeue_record: :unset, dequeue_timeout: :unset, dequeue_to: :unset, dequeue_status_callback_url: :unset, call_from: :unset, call_record: :unset, call_timeout: :unset, call_to: :unset, call_url: :unset, call_status_callback_url: :unset, call_accept: :unset, redirect_call_sid: :unset, redirect_accept: :unset, redirect_url: :unset, to: :unset, from: :unset, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, conference_record: :unset, conference_trim: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, region: :unset, sip_auth_username: :unset, sip_auth_password: :unset, dequeue_status_callback_event: :unset, post_work_activity_sid: :unset, end_conference_on_customer_exit: :unset, beep_on_customer_entrance: :unset, if_match: :unset)
328
- data = Twilio::Values.of({
329
- 'ReservationStatus' => reservation_status,
330
- 'WorkerActivitySid' => worker_activity_sid,
331
- 'Instruction' => instruction,
332
- 'DequeuePostWorkActivitySid' => dequeue_post_work_activity_sid,
333
- 'DequeueFrom' => dequeue_from,
334
- 'DequeueRecord' => dequeue_record,
335
- 'DequeueTimeout' => dequeue_timeout,
336
- 'DequeueTo' => dequeue_to,
337
- 'DequeueStatusCallbackUrl' => dequeue_status_callback_url,
338
- 'CallFrom' => call_from,
339
- 'CallRecord' => call_record,
340
- 'CallTimeout' => call_timeout,
341
- 'CallTo' => call_to,
342
- 'CallUrl' => call_url,
343
- 'CallStatusCallbackUrl' => call_status_callback_url,
344
- 'CallAccept' => call_accept,
345
- 'RedirectCallSid' => redirect_call_sid,
346
- 'RedirectAccept' => redirect_accept,
347
- 'RedirectUrl' => redirect_url,
348
- 'To' => to,
349
- 'From' => from,
350
- 'StatusCallback' => status_callback,
351
- 'StatusCallbackMethod' => status_callback_method,
352
- 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
353
- 'Timeout' => timeout,
354
- 'Record' => record,
355
- 'Muted' => muted,
356
- 'Beep' => beep,
357
- 'StartConferenceOnEnter' => start_conference_on_enter,
358
- 'EndConferenceOnExit' => end_conference_on_exit,
359
- 'WaitUrl' => wait_url,
360
- 'WaitMethod' => wait_method,
361
- 'EarlyMedia' => early_media,
362
- 'MaxParticipants' => max_participants,
363
- 'ConferenceStatusCallback' => conference_status_callback,
364
- 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
365
- 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
366
- 'ConferenceRecord' => conference_record,
367
- 'ConferenceTrim' => conference_trim,
368
- 'RecordingChannels' => recording_channels,
369
- 'RecordingStatusCallback' => recording_status_callback,
370
- 'RecordingStatusCallbackMethod' => recording_status_callback_method,
371
- 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
372
- 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
373
- 'Region' => region,
374
- 'SipAuthUsername' => sip_auth_username,
375
- 'SipAuthPassword' => sip_auth_password,
376
- 'DequeueStatusCallbackEvent' => Twilio.serialize_list(dequeue_status_callback_event) { |e| e },
377
- 'PostWorkActivitySid' => post_work_activity_sid,
378
- 'EndConferenceOnCustomerExit' => end_conference_on_customer_exit,
379
- 'BeepOnCustomerEntrance' => beep_on_customer_entrance,
380
- })
381
- headers = Twilio::Values.of({'If-Match' => if_match, })
382
-
383
- payload = @version.update('POST', @uri, data: data, headers: headers)
384
-
385
- ReservationInstance.new(
386
- @version,
387
- payload,
388
- workspace_sid: @solution[:workspace_sid],
389
- worker_sid: @solution[:worker_sid],
390
- sid: @solution[:sid],
391
- )
392
- end
393
-
394
- ##
395
- # Provide a user friendly representation
396
- def to_s
397
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
398
- "#<Twilio.Taskrouter.V1.ReservationContext #{context}>"
399
- end
400
-
401
- ##
402
- # Provide a detailed, user friendly representation
403
- def inspect
404
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
405
- "#<Twilio.Taskrouter.V1.ReservationContext #{context}>"
406
- end
407
- end
58
+ ##
59
+ # Streams Instance records from the API as an Enumerable.
60
+ # This operation lazily loads records as efficiently as possible until the limit
61
+ # is reached.
62
+ # @param [Status] reservation_status Returns the list of reservations for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.
63
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
64
+ # guarantees to never return more than limit. Default is no limit
65
+ # @param [Integer] page_size Number of records to fetch per request, when
66
+ # not set will use the default value of 50 records. If no page_size is defined
67
+ # but a limit is defined, stream() will attempt to read the limit with the most
68
+ # efficient page size, i.e. min(limit, 1000)
69
+ # @return [Enumerable] Enumerable that will yield up to limit results
70
+ def stream(reservation_status: :unset, limit: nil, page_size: nil)
71
+ limits = @version.read_limits(limit, page_size)
72
+
73
+ page = self.page(
74
+ reservation_status: reservation_status,
75
+ page_size: limits[:page_size], )
76
+
77
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
78
+ end
79
+
80
+ ##
81
+ # Lists ReservationPageMetadata records from the API as a list.
82
+ # @param [Status] reservation_status Returns the list of reservations for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.
83
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
84
+ # guarantees to never return more than limit. Default is no limit
85
+ # @param [Integer] page_size Number of records to fetch per request, when
86
+ # not set will use the default value of 50 records. If no page_size is defined
87
+ # but a limit is defined, stream() will attempt to read the limit with the most
88
+ # efficient page size, i.e. min(limit, 1000)
89
+ # @return [Array] Array of up to limit results
90
+ def list_with_metadata(reservation_status: :unset, limit: nil, page_size: nil)
91
+ limits = @version.read_limits(limit, page_size)
92
+ params = Twilio::Values.of({
93
+ 'ReservationStatus' => reservation_status,
94
+
95
+ 'PageSize' => limits[:page_size],
96
+ });
97
+ headers = Twilio::Values.of({})
98
+
99
+ response = @version.page('GET', @uri, params: params, headers: headers)
100
+
101
+ ReservationPageMetadata.new(@version, response, @solution, limits[:limit])
102
+ end
103
+
104
+ ##
105
+ # When passed a block, yields ReservationInstance records from the API.
106
+ # This operation lazily loads records as efficiently as possible until the limit
107
+ # is reached.
108
+ def each
109
+ limits = @version.read_limits
110
+
111
+ page = self.page(page_size: limits[:page_size], )
112
+
113
+ @version.stream(page,
114
+ limit: limits[:limit],
115
+ page_limit: limits[:page_limit]).each {|x| yield x}
116
+ end
117
+
118
+ ##
119
+ # Retrieve a single page of ReservationInstance records from the API.
120
+ # Request is executed immediately.
121
+ # @param [Status] reservation_status Returns the list of reservations for a worker with a specified ReservationStatus. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`, or `rescinded`.
122
+ # @param [String] page_token PageToken provided by the API
123
+ # @param [Integer] page_number Page Number, this value is simply for client state
124
+ # @param [Integer] page_size Number of records to return, defaults to 50
125
+ # @return [Page] Page of ReservationInstance
126
+ def page(reservation_status: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
127
+ params = Twilio::Values.of({
128
+ 'ReservationStatus' => reservation_status,
129
+ 'PageToken' => page_token,
130
+ 'Page' => page_number,
131
+ 'PageSize' => page_size,
132
+ })
133
+ headers = Twilio::Values.of({})
134
+
135
+
136
+
137
+ response = @version.page('GET', @uri, params: params, headers: headers)
138
+
139
+ ReservationPage.new(@version, response, @solution)
140
+ end
141
+
142
+ ##
143
+ # Retrieve a single page of ReservationInstance records from the API.
144
+ # Request is executed immediately.
145
+ # @param [String] target_url API-generated URL for the requested results page
146
+ # @return [Page] Page of ReservationInstance
147
+ def get_page(target_url)
148
+ response = @version.domain.request(
149
+ 'GET',
150
+ target_url
151
+ )
152
+ ReservationPage.new(@version, response, @solution)
153
+ end
154
+
155
+
156
+
157
+ # Provide a user friendly representation
158
+ def to_s
159
+ '#<Twilio.Taskrouter.V1.ReservationList>'
160
+ end
161
+ end
162
+
163
+
164
+ class ReservationContext < InstanceContext
165
+ ##
166
+ # Initialize the ReservationContext
167
+ # @param [Version] version Version that contains the resource
168
+ # @param [String] workspace_sid The SID of the Workspace with the WorkerReservation resources to update.
169
+ # @param [String] worker_sid The SID of the reserved Worker resource with the WorkerReservation resources to update.
170
+ # @param [String] sid The SID of the WorkerReservation resource to update.
171
+ # @return [ReservationContext] ReservationContext
172
+ def initialize(version, workspace_sid, worker_sid, sid)
173
+ super(version)
174
+
175
+
176
+ # Path Solution
177
+ @solution = { workspace_sid: workspace_sid, worker_sid: worker_sid, sid: sid, }
178
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workers/#{@solution[:worker_sid]}/Reservations/#{@solution[:sid]}"
179
+
180
+
181
+ end
182
+ ##
183
+ # Fetch the ReservationInstance
184
+ # @return [ReservationInstance] Fetched ReservationInstance
185
+ def fetch
186
+
187
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
188
+
189
+
190
+
191
+
192
+
193
+ payload = @version.fetch('GET', @uri, headers: headers)
194
+ ReservationInstance.new(
195
+ @version,
196
+ payload,
197
+ workspace_sid: @solution[:workspace_sid],
198
+ worker_sid: @solution[:worker_sid],
199
+ sid: @solution[:sid],
200
+ )
201
+ end
202
+
203
+ ##
204
+ # Fetch the ReservationInstanceMetadata
205
+ # @return [ReservationInstance] Fetched ReservationInstance
206
+ def fetch_with_metadata
207
+
208
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
209
+
210
+
211
+
212
+
213
+
214
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
215
+ reservation_instance = ReservationInstance.new(
216
+ @version,
217
+ response.body,
218
+ workspace_sid: @solution[:workspace_sid],
219
+ worker_sid: @solution[:worker_sid],
220
+ sid: @solution[:sid],
221
+ )
222
+ ReservationInstanceMetadata.new(
223
+ @version,
224
+ reservation_instance,
225
+ response.headers,
226
+ response.status_code
227
+ )
228
+ end
229
+
230
+ ##
231
+ # Update the ReservationInstance
232
+ # @param [Status] reservation_status
233
+ # @param [String] worker_activity_sid The new worker activity SID if rejecting a reservation.
234
+ # @param [String] instruction The assignment instruction for the reservation.
235
+ # @param [String] dequeue_post_work_activity_sid The SID of the Activity resource to start after executing a Dequeue instruction.
236
+ # @param [String] dequeue_from The caller ID of the call to the worker when executing a Dequeue instruction.
237
+ # @param [String] dequeue_record Whether to record both legs of a call when executing a Dequeue instruction or which leg to record.
238
+ # @param [String] dequeue_timeout The timeout for call when executing a Dequeue instruction.
239
+ # @param [String] dequeue_to The contact URI of the worker when executing a Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
240
+ # @param [String] dequeue_status_callback_url The callback URL for completed call event when executing a Dequeue instruction.
241
+ # @param [String] call_from The Caller ID of the outbound call when executing a Call instruction.
242
+ # @param [String] call_record Whether to record both legs of a call when executing a Call instruction.
243
+ # @param [String] call_timeout The timeout for a call when executing a Call instruction.
244
+ # @param [String] call_to The contact URI of the worker when executing a Call instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
245
+ # @param [String] call_url TwiML URI executed on answering the worker's leg as a result of the Call instruction.
246
+ # @param [String] call_status_callback_url The URL to call for the completed call event when executing a Call instruction.
247
+ # @param [Boolean] call_accept Whether to accept a reservation when executing a Call instruction.
248
+ # @param [String] redirect_call_sid The Call SID of the call parked in the queue when executing a Redirect instruction.
249
+ # @param [Boolean] redirect_accept Whether the reservation should be accepted when executing a Redirect instruction.
250
+ # @param [String] redirect_url TwiML URI to redirect the call to when executing the Redirect instruction.
251
+ # @param [String] to The Contact URI of the worker when executing a Conference instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
252
+ # @param [String] from The caller ID of the call to the worker when executing a Conference instruction.
253
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application.
254
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
255
+ # @param [Array[CallStatus]] status_callback_event The call progress events that we will send to `status_callback`. Can be: `initiated`, `ringing`, `answered`, or `completed`.
256
+ # @param [String] timeout The timeout for a call when executing a Conference instruction.
257
+ # @param [Boolean] record Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.
258
+ # @param [Boolean] muted Whether the agent is muted in the conference. Defaults to `false`.
259
+ # @param [String] beep Whether to play a notification beep when the participant joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.
260
+ # @param [Boolean] start_conference_on_enter Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
261
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the agent leaves.
262
+ # @param [String] wait_url The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
263
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
264
+ # @param [Boolean] early_media Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. The default is `true`.
265
+ # @param [String] max_participants The maximum number of participants allowed in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
266
+ # @param [String] conference_status_callback The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.
267
+ # @param [String] conference_status_callback_method The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
268
+ # @param [Array[ConferenceEvent]] conference_status_callback_event The conference status events that we will send to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`.
269
+ # @param [String] conference_record Whether to record the conference the participant is joining or when to record the conference. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
270
+ # @param [String] conference_trim Whether to trim leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
271
+ # @param [String] recording_channels The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
272
+ # @param [String] recording_status_callback The URL that we should call using the `recording_status_callback_method` when the recording status changes.
273
+ # @param [String] recording_status_callback_method The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
274
+ # @param [String] conference_recording_status_callback The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
275
+ # @param [String] conference_recording_status_callback_method The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
276
+ # @param [String] region The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `us2`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
277
+ # @param [String] sip_auth_username The SIP username used for authentication.
278
+ # @param [String] sip_auth_password The SIP password for authentication.
279
+ # @param [Array[String]] dequeue_status_callback_event The call progress events sent via webhooks as a result of a Dequeue instruction.
280
+ # @param [String] post_work_activity_sid The new worker activity SID after executing a Conference instruction.
281
+ # @param [Boolean] end_conference_on_customer_exit Whether to end the conference when the customer leaves.
282
+ # @param [Boolean] beep_on_customer_entrance Whether to play a notification beep when the customer joins.
283
+ # @param [String] jitter_buffer_size The jitter buffer size for conference. Can be: `small`, `medium`, `large`, `off`.
284
+ # @param [String] if_match The If-Match HTTP request header
285
+ # @return [ReservationInstance] Updated ReservationInstance
286
+ def update(
287
+ reservation_status: :unset,
288
+ worker_activity_sid: :unset,
289
+ instruction: :unset,
290
+ dequeue_post_work_activity_sid: :unset,
291
+ dequeue_from: :unset,
292
+ dequeue_record: :unset,
293
+ dequeue_timeout: :unset,
294
+ dequeue_to: :unset,
295
+ dequeue_status_callback_url: :unset,
296
+ call_from: :unset,
297
+ call_record: :unset,
298
+ call_timeout: :unset,
299
+ call_to: :unset,
300
+ call_url: :unset,
301
+ call_status_callback_url: :unset,
302
+ call_accept: :unset,
303
+ redirect_call_sid: :unset,
304
+ redirect_accept: :unset,
305
+ redirect_url: :unset,
306
+ to: :unset,
307
+ from: :unset,
308
+ status_callback: :unset,
309
+ status_callback_method: :unset,
310
+ status_callback_event: :unset,
311
+ timeout: :unset,
312
+ record: :unset,
313
+ muted: :unset,
314
+ beep: :unset,
315
+ start_conference_on_enter: :unset,
316
+ end_conference_on_exit: :unset,
317
+ wait_url: :unset,
318
+ wait_method: :unset,
319
+ early_media: :unset,
320
+ max_participants: :unset,
321
+ conference_status_callback: :unset,
322
+ conference_status_callback_method: :unset,
323
+ conference_status_callback_event: :unset,
324
+ conference_record: :unset,
325
+ conference_trim: :unset,
326
+ recording_channels: :unset,
327
+ recording_status_callback: :unset,
328
+ recording_status_callback_method: :unset,
329
+ conference_recording_status_callback: :unset,
330
+ conference_recording_status_callback_method: :unset,
331
+ region: :unset,
332
+ sip_auth_username: :unset,
333
+ sip_auth_password: :unset,
334
+ dequeue_status_callback_event: :unset,
335
+ post_work_activity_sid: :unset,
336
+ end_conference_on_customer_exit: :unset,
337
+ beep_on_customer_entrance: :unset,
338
+ jitter_buffer_size: :unset,
339
+ if_match: :unset
340
+ )
341
+
342
+ data = Twilio::Values.of({
343
+ 'ReservationStatus' => reservation_status,
344
+ 'WorkerActivitySid' => worker_activity_sid,
345
+ 'Instruction' => instruction,
346
+ 'DequeuePostWorkActivitySid' => dequeue_post_work_activity_sid,
347
+ 'DequeueFrom' => dequeue_from,
348
+ 'DequeueRecord' => dequeue_record,
349
+ 'DequeueTimeout' => dequeue_timeout,
350
+ 'DequeueTo' => dequeue_to,
351
+ 'DequeueStatusCallbackUrl' => dequeue_status_callback_url,
352
+ 'CallFrom' => call_from,
353
+ 'CallRecord' => call_record,
354
+ 'CallTimeout' => call_timeout,
355
+ 'CallTo' => call_to,
356
+ 'CallUrl' => call_url,
357
+ 'CallStatusCallbackUrl' => call_status_callback_url,
358
+ 'CallAccept' => call_accept,
359
+ 'RedirectCallSid' => redirect_call_sid,
360
+ 'RedirectAccept' => redirect_accept,
361
+ 'RedirectUrl' => redirect_url,
362
+ 'To' => to,
363
+ 'From' => from,
364
+ 'StatusCallback' => status_callback,
365
+ 'StatusCallbackMethod' => status_callback_method,
366
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
367
+ 'Timeout' => timeout,
368
+ 'Record' => record,
369
+ 'Muted' => muted,
370
+ 'Beep' => beep,
371
+ 'StartConferenceOnEnter' => start_conference_on_enter,
372
+ 'EndConferenceOnExit' => end_conference_on_exit,
373
+ 'WaitUrl' => wait_url,
374
+ 'WaitMethod' => wait_method,
375
+ 'EarlyMedia' => early_media,
376
+ 'MaxParticipants' => max_participants,
377
+ 'ConferenceStatusCallback' => conference_status_callback,
378
+ 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
379
+ 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
380
+ 'ConferenceRecord' => conference_record,
381
+ 'ConferenceTrim' => conference_trim,
382
+ 'RecordingChannels' => recording_channels,
383
+ 'RecordingStatusCallback' => recording_status_callback,
384
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
385
+ 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
386
+ 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
387
+ 'Region' => region,
388
+ 'SipAuthUsername' => sip_auth_username,
389
+ 'SipAuthPassword' => sip_auth_password,
390
+ 'DequeueStatusCallbackEvent' => Twilio.serialize_list(dequeue_status_callback_event) { |e| e },
391
+ 'PostWorkActivitySid' => post_work_activity_sid,
392
+ 'EndConferenceOnCustomerExit' => end_conference_on_customer_exit,
393
+ 'BeepOnCustomerEntrance' => beep_on_customer_entrance,
394
+ 'JitterBufferSize' => jitter_buffer_size,
395
+ })
396
+
397
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
398
+
399
+
400
+
401
+
402
+
403
+ payload = @version.update('POST', @uri, data: data, headers: headers)
404
+ ReservationInstance.new(
405
+ @version,
406
+ payload,
407
+ workspace_sid: @solution[:workspace_sid],
408
+ worker_sid: @solution[:worker_sid],
409
+ sid: @solution[:sid],
410
+ )
411
+ end
412
+
413
+ ##
414
+ # Update the ReservationInstanceMetadata
415
+ # @param [Status] reservation_status
416
+ # @param [String] worker_activity_sid The new worker activity SID if rejecting a reservation.
417
+ # @param [String] instruction The assignment instruction for the reservation.
418
+ # @param [String] dequeue_post_work_activity_sid The SID of the Activity resource to start after executing a Dequeue instruction.
419
+ # @param [String] dequeue_from The caller ID of the call to the worker when executing a Dequeue instruction.
420
+ # @param [String] dequeue_record Whether to record both legs of a call when executing a Dequeue instruction or which leg to record.
421
+ # @param [String] dequeue_timeout The timeout for call when executing a Dequeue instruction.
422
+ # @param [String] dequeue_to The contact URI of the worker when executing a Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
423
+ # @param [String] dequeue_status_callback_url The callback URL for completed call event when executing a Dequeue instruction.
424
+ # @param [String] call_from The Caller ID of the outbound call when executing a Call instruction.
425
+ # @param [String] call_record Whether to record both legs of a call when executing a Call instruction.
426
+ # @param [String] call_timeout The timeout for a call when executing a Call instruction.
427
+ # @param [String] call_to The contact URI of the worker when executing a Call instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
428
+ # @param [String] call_url TwiML URI executed on answering the worker's leg as a result of the Call instruction.
429
+ # @param [String] call_status_callback_url The URL to call for the completed call event when executing a Call instruction.
430
+ # @param [Boolean] call_accept Whether to accept a reservation when executing a Call instruction.
431
+ # @param [String] redirect_call_sid The Call SID of the call parked in the queue when executing a Redirect instruction.
432
+ # @param [Boolean] redirect_accept Whether the reservation should be accepted when executing a Redirect instruction.
433
+ # @param [String] redirect_url TwiML URI to redirect the call to when executing the Redirect instruction.
434
+ # @param [String] to The Contact URI of the worker when executing a Conference instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
435
+ # @param [String] from The caller ID of the call to the worker when executing a Conference instruction.
436
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application.
437
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
438
+ # @param [Array[CallStatus]] status_callback_event The call progress events that we will send to `status_callback`. Can be: `initiated`, `ringing`, `answered`, or `completed`.
439
+ # @param [String] timeout The timeout for a call when executing a Conference instruction.
440
+ # @param [Boolean] record Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.
441
+ # @param [Boolean] muted Whether the agent is muted in the conference. Defaults to `false`.
442
+ # @param [String] beep Whether to play a notification beep when the participant joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.
443
+ # @param [Boolean] start_conference_on_enter Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
444
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the agent leaves.
445
+ # @param [String] wait_url The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
446
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
447
+ # @param [Boolean] early_media Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. The default is `true`.
448
+ # @param [String] max_participants The maximum number of participants allowed in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
449
+ # @param [String] conference_status_callback The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.
450
+ # @param [String] conference_status_callback_method The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
451
+ # @param [Array[ConferenceEvent]] conference_status_callback_event The conference status events that we will send to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`.
452
+ # @param [String] conference_record Whether to record the conference the participant is joining or when to record the conference. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
453
+ # @param [String] conference_trim Whether to trim leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
454
+ # @param [String] recording_channels The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
455
+ # @param [String] recording_status_callback The URL that we should call using the `recording_status_callback_method` when the recording status changes.
456
+ # @param [String] recording_status_callback_method The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
457
+ # @param [String] conference_recording_status_callback The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
458
+ # @param [String] conference_recording_status_callback_method The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
459
+ # @param [String] region The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `us2`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
460
+ # @param [String] sip_auth_username The SIP username used for authentication.
461
+ # @param [String] sip_auth_password The SIP password for authentication.
462
+ # @param [Array[String]] dequeue_status_callback_event The call progress events sent via webhooks as a result of a Dequeue instruction.
463
+ # @param [String] post_work_activity_sid The new worker activity SID after executing a Conference instruction.
464
+ # @param [Boolean] end_conference_on_customer_exit Whether to end the conference when the customer leaves.
465
+ # @param [Boolean] beep_on_customer_entrance Whether to play a notification beep when the customer joins.
466
+ # @param [String] jitter_buffer_size The jitter buffer size for conference. Can be: `small`, `medium`, `large`, `off`.
467
+ # @param [String] if_match The If-Match HTTP request header
468
+ # @return [ReservationInstance] Updated ReservationInstance
469
+ def update_with_metadata(
470
+ reservation_status: :unset,
471
+ worker_activity_sid: :unset,
472
+ instruction: :unset,
473
+ dequeue_post_work_activity_sid: :unset,
474
+ dequeue_from: :unset,
475
+ dequeue_record: :unset,
476
+ dequeue_timeout: :unset,
477
+ dequeue_to: :unset,
478
+ dequeue_status_callback_url: :unset,
479
+ call_from: :unset,
480
+ call_record: :unset,
481
+ call_timeout: :unset,
482
+ call_to: :unset,
483
+ call_url: :unset,
484
+ call_status_callback_url: :unset,
485
+ call_accept: :unset,
486
+ redirect_call_sid: :unset,
487
+ redirect_accept: :unset,
488
+ redirect_url: :unset,
489
+ to: :unset,
490
+ from: :unset,
491
+ status_callback: :unset,
492
+ status_callback_method: :unset,
493
+ status_callback_event: :unset,
494
+ timeout: :unset,
495
+ record: :unset,
496
+ muted: :unset,
497
+ beep: :unset,
498
+ start_conference_on_enter: :unset,
499
+ end_conference_on_exit: :unset,
500
+ wait_url: :unset,
501
+ wait_method: :unset,
502
+ early_media: :unset,
503
+ max_participants: :unset,
504
+ conference_status_callback: :unset,
505
+ conference_status_callback_method: :unset,
506
+ conference_status_callback_event: :unset,
507
+ conference_record: :unset,
508
+ conference_trim: :unset,
509
+ recording_channels: :unset,
510
+ recording_status_callback: :unset,
511
+ recording_status_callback_method: :unset,
512
+ conference_recording_status_callback: :unset,
513
+ conference_recording_status_callback_method: :unset,
514
+ region: :unset,
515
+ sip_auth_username: :unset,
516
+ sip_auth_password: :unset,
517
+ dequeue_status_callback_event: :unset,
518
+ post_work_activity_sid: :unset,
519
+ end_conference_on_customer_exit: :unset,
520
+ beep_on_customer_entrance: :unset,
521
+ jitter_buffer_size: :unset,
522
+ if_match: :unset
523
+ )
524
+
525
+ data = Twilio::Values.of({
526
+ 'ReservationStatus' => reservation_status,
527
+ 'WorkerActivitySid' => worker_activity_sid,
528
+ 'Instruction' => instruction,
529
+ 'DequeuePostWorkActivitySid' => dequeue_post_work_activity_sid,
530
+ 'DequeueFrom' => dequeue_from,
531
+ 'DequeueRecord' => dequeue_record,
532
+ 'DequeueTimeout' => dequeue_timeout,
533
+ 'DequeueTo' => dequeue_to,
534
+ 'DequeueStatusCallbackUrl' => dequeue_status_callback_url,
535
+ 'CallFrom' => call_from,
536
+ 'CallRecord' => call_record,
537
+ 'CallTimeout' => call_timeout,
538
+ 'CallTo' => call_to,
539
+ 'CallUrl' => call_url,
540
+ 'CallStatusCallbackUrl' => call_status_callback_url,
541
+ 'CallAccept' => call_accept,
542
+ 'RedirectCallSid' => redirect_call_sid,
543
+ 'RedirectAccept' => redirect_accept,
544
+ 'RedirectUrl' => redirect_url,
545
+ 'To' => to,
546
+ 'From' => from,
547
+ 'StatusCallback' => status_callback,
548
+ 'StatusCallbackMethod' => status_callback_method,
549
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
550
+ 'Timeout' => timeout,
551
+ 'Record' => record,
552
+ 'Muted' => muted,
553
+ 'Beep' => beep,
554
+ 'StartConferenceOnEnter' => start_conference_on_enter,
555
+ 'EndConferenceOnExit' => end_conference_on_exit,
556
+ 'WaitUrl' => wait_url,
557
+ 'WaitMethod' => wait_method,
558
+ 'EarlyMedia' => early_media,
559
+ 'MaxParticipants' => max_participants,
560
+ 'ConferenceStatusCallback' => conference_status_callback,
561
+ 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
562
+ 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
563
+ 'ConferenceRecord' => conference_record,
564
+ 'ConferenceTrim' => conference_trim,
565
+ 'RecordingChannels' => recording_channels,
566
+ 'RecordingStatusCallback' => recording_status_callback,
567
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
568
+ 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
569
+ 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
570
+ 'Region' => region,
571
+ 'SipAuthUsername' => sip_auth_username,
572
+ 'SipAuthPassword' => sip_auth_password,
573
+ 'DequeueStatusCallbackEvent' => Twilio.serialize_list(dequeue_status_callback_event) { |e| e },
574
+ 'PostWorkActivitySid' => post_work_activity_sid,
575
+ 'EndConferenceOnCustomerExit' => end_conference_on_customer_exit,
576
+ 'BeepOnCustomerEntrance' => beep_on_customer_entrance,
577
+ 'JitterBufferSize' => jitter_buffer_size,
578
+ })
579
+
580
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
581
+
582
+
583
+
584
+
585
+
586
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
587
+ reservation_instance = ReservationInstance.new(
588
+ @version,
589
+ response.body,
590
+ workspace_sid: @solution[:workspace_sid],
591
+ worker_sid: @solution[:worker_sid],
592
+ sid: @solution[:sid],
593
+ )
594
+ ReservationInstanceMetadata.new(
595
+ @version,
596
+ reservation_instance,
597
+ response.headers,
598
+ response.status_code
599
+ )
600
+ end
601
+
602
+
603
+ ##
604
+ # Provide a user friendly representation
605
+ def to_s
606
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
607
+ "#<Twilio.Taskrouter.V1.ReservationContext #{context}>"
608
+ end
408
609
 
409
- class ReservationInstance < InstanceResource
410
- ##
411
- # Initialize the ReservationInstance
412
- # @param [Version] version Version that contains the resource
413
- # @param [Hash] payload payload that contains response from Twilio
414
- # @param [String] workspace_sid The SID of the Workspace that this worker is
415
- # contained within.
416
- # @param [String] worker_sid The SID of the reserved Worker resource.
417
- # @param [String] sid The SID of the WorkerReservation resource to fetch.
418
- # @return [ReservationInstance] ReservationInstance
419
- def initialize(version, payload, workspace_sid: nil, worker_sid: nil, sid: nil)
420
- super(version)
421
-
422
- # Marshaled Properties
423
- @properties = {
424
- 'account_sid' => payload['account_sid'],
425
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
426
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
427
- 'reservation_status' => payload['reservation_status'],
428
- 'sid' => payload['sid'],
429
- 'task_sid' => payload['task_sid'],
430
- 'worker_name' => payload['worker_name'],
431
- 'worker_sid' => payload['worker_sid'],
432
- 'workspace_sid' => payload['workspace_sid'],
433
- 'url' => payload['url'],
434
- 'links' => payload['links'],
435
- }
436
-
437
- # Context
438
- @instance_context = nil
439
- @params = {
440
- 'workspace_sid' => workspace_sid,
441
- 'worker_sid' => worker_sid,
442
- 'sid' => sid || @properties['sid'],
443
- }
444
- end
445
-
446
- ##
447
- # Generate an instance context for the instance, the context is capable of
448
- # performing various actions. All instance actions are proxied to the context
449
- # @return [ReservationContext] ReservationContext for this ReservationInstance
450
- def context
451
- unless @instance_context
452
- @instance_context = ReservationContext.new(
453
- @version,
454
- @params['workspace_sid'],
455
- @params['worker_sid'],
456
- @params['sid'],
457
- )
610
+ ##
611
+ # Provide a detailed, user friendly representation
612
+ def inspect
613
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
614
+ "#<Twilio.Taskrouter.V1.ReservationContext #{context}>"
615
+ end
458
616
  end
459
- @instance_context
460
- end
461
-
462
- ##
463
- # @return [String] The SID of the Account that created the resource
464
- def account_sid
465
- @properties['account_sid']
466
- end
467
-
468
- ##
469
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
470
- def date_created
471
- @properties['date_created']
472
- end
473
-
474
- ##
475
- # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
476
- def date_updated
477
- @properties['date_updated']
478
- end
479
-
480
- ##
481
- # @return [reservation.Status] The current status of the reservation
482
- def reservation_status
483
- @properties['reservation_status']
484
- end
485
-
486
- ##
487
- # @return [String] The unique string that identifies the resource
488
- def sid
489
- @properties['sid']
490
- end
491
-
492
- ##
493
- # @return [String] The SID of the reserved Task resource
494
- def task_sid
495
- @properties['task_sid']
496
- end
497
-
498
- ##
499
- # @return [String] The friendly_name of the Worker that is reserved
500
- def worker_name
501
- @properties['worker_name']
502
- end
503
-
504
- ##
505
- # @return [String] The SID of the reserved Worker resource
506
- def worker_sid
507
- @properties['worker_sid']
508
- end
509
-
510
- ##
511
- # @return [String] The SID of the Workspace that this worker is contained within.
512
- def workspace_sid
513
- @properties['workspace_sid']
514
- end
515
-
516
- ##
517
- # @return [String] The absolute URL of the WorkerReservation resource
518
- def url
519
- @properties['url']
520
- end
521
-
522
- ##
523
- # @return [String] The URLs of related resources
524
- def links
525
- @properties['links']
526
- end
527
-
528
- ##
529
- # Fetch the ReservationInstance
530
- # @return [ReservationInstance] Fetched ReservationInstance
531
- def fetch
532
- context.fetch
533
- end
534
-
535
- ##
536
- # Update the ReservationInstance
537
- # @param [reservation.Status] reservation_status The new status of the
538
- # reservation. Can be: `pending`, `accepted`, `rejected`, `timeout`, `canceled`,
539
- # or `rescinded`.
540
- # @param [String] worker_activity_sid The new worker activity SID if rejecting a
541
- # reservation.
542
- # @param [String] instruction The assignment instruction for the reservation.
543
- # @param [String] dequeue_post_work_activity_sid The SID of the Activity resource
544
- # to start after executing a Dequeue instruction.
545
- # @param [String] dequeue_from The caller ID of the call to the worker when
546
- # executing a Dequeue instruction.
547
- # @param [String] dequeue_record Whether to record both legs of a call when
548
- # executing a Dequeue instruction or which leg to record.
549
- # @param [String] dequeue_timeout The timeout for call when executing a Dequeue
550
- # instruction.
551
- # @param [String] dequeue_to The contact URI of the worker when executing a
552
- # Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for
553
- # Programmable SIP, or the {E.164}[https://www.twilio.com/docs/glossary/what-e164]
554
- # formatted phone number, depending on the destination.
555
- # @param [String] dequeue_status_callback_url The callback URL for completed call
556
- # event when executing a Dequeue instruction.
557
- # @param [String] call_from The Caller ID of the outbound call when executing a
558
- # Call instruction.
559
- # @param [String] call_record Whether to record both legs of a call when executing
560
- # a Call instruction.
561
- # @param [String] call_timeout The timeout for a call when executing a Call
562
- # instruction.
563
- # @param [String] call_to The contact URI of the worker when executing a Call
564
- # instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable
565
- # SIP, or the {E.164}[https://www.twilio.com/docs/glossary/what-e164] formatted
566
- # phone number, depending on the destination.
567
- # @param [String] call_url TwiML URI executed on answering the worker's leg as a
568
- # result of the Call instruction.
569
- # @param [String] call_status_callback_url The URL to call for the completed call
570
- # event when executing a Call instruction.
571
- # @param [Boolean] call_accept Whether to accept a reservation when executing a
572
- # Call instruction.
573
- # @param [String] redirect_call_sid The Call SID of the call parked in the queue
574
- # when executing a Redirect instruction.
575
- # @param [Boolean] redirect_accept Whether the reservation should be accepted when
576
- # executing a Redirect instruction.
577
- # @param [String] redirect_url TwiML URI to redirect the call to when executing
578
- # the Redirect instruction.
579
- # @param [String] to The Contact URI of the worker when executing a Conference
580
- # instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable
581
- # SIP, or the {E.164}[https://www.twilio.com/docs/glossary/what-e164] formatted
582
- # phone number, depending on the destination.
583
- # @param [String] from The caller ID of the call to the worker when executing a
584
- # Conference instruction.
585
- # @param [String] status_callback The URL we should call using the
586
- # `status_callback_method` to send status information to your application.
587
- # @param [String] status_callback_method The HTTP method we should use to call
588
- # `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
589
- # @param [Array[reservation.CallStatus]] status_callback_event The call progress
590
- # events that we will send to `status_callback`. Can be: `initiated`, `ringing`,
591
- # `answered`, or `completed`.
592
- # @param [String] timeout The timeout for a call when executing a Conference
593
- # instruction.
594
- # @param [Boolean] record Whether to record the participant and their conferences,
595
- # including the time between conferences. Can be `true` or `false` and the default
596
- # is `false`.
597
- # @param [Boolean] muted Whether the agent is muted in the conference. Defaults to
598
- # `false`.
599
- # @param [String] beep Whether to play a notification beep when the participant
600
- # joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`.
601
- # The default value is `true`.
602
- # @param [Boolean] start_conference_on_enter Whether to start the conference when
603
- # the participant joins, if it has not already started. Can be: `true` or `false`
604
- # and the default is `true`. If `false` and the conference has not started, the
605
- # participant is muted and hears background music until another participant starts
606
- # the conference.
607
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
608
- # agent leaves.
609
- # @param [String] wait_url The URL we should call using the `wait_method` for the
610
- # music to play while participants are waiting for the conference to start. The
611
- # default value is the URL of our standard hold music. {Learn more about hold
612
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
613
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
614
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
615
- # file, this should be `GET` so that we can cache the file.
616
- # @param [Boolean] early_media Whether to allow an agent to hear the state of the
617
- # outbound call, including ringing or disconnect messages. The default is `true`.
618
- # @param [String] max_participants The maximum number of participants allowed in
619
- # the conference. Can be a positive integer from `2` to `250`. The default value
620
- # is `250`.
621
- # @param [String] conference_status_callback The URL we should call using the
622
- # `conference_status_callback_method` when the conference events in
623
- # `conference_status_callback_event` occur. Only the value set by the first
624
- # participant to join the conference is used. Subsequent
625
- # `conference_status_callback` values are ignored.
626
- # @param [String] conference_status_callback_method The HTTP method we should use
627
- # to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to
628
- # `POST`.
629
- # @param [Array[reservation.ConferenceEvent]] conference_status_callback_event The
630
- # conference status events that we will send to `conference_status_callback`. Can
631
- # be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`.
632
- # @param [String] conference_record Whether to record the conference the
633
- # participant is joining or when to record the conference. Can be: `true`,
634
- # `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
635
- # @param [String] conference_trim Whether to trim leading and trailing silence
636
- # from your recorded conference audio files. Can be: `trim-silence` or
637
- # `do-not-trim` and defaults to `trim-silence`.
638
- # @param [String] recording_channels The recording channels for the final
639
- # recording. Can be: `mono` or `dual` and the default is `mono`.
640
- # @param [String] recording_status_callback The URL that we should call using the
641
- # `recording_status_callback_method` when the recording status changes.
642
- # @param [String] recording_status_callback_method The HTTP method we should use
643
- # when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults
644
- # to `POST`.
645
- # @param [String] conference_recording_status_callback The URL we should call
646
- # using the `conference_recording_status_callback_method` when the conference
647
- # recording is available.
648
- # @param [String] conference_recording_status_callback_method The HTTP method we
649
- # should use to call `conference_recording_status_callback`. Can be: `GET` or
650
- # `POST` and defaults to `POST`.
651
- # @param [String] region The
652
- # {region}[https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls]
653
- # where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`,
654
- # `br1`, `au1`, or `jp1`.
655
- # @param [String] sip_auth_username The SIP username used for authentication.
656
- # @param [String] sip_auth_password The SIP password for authentication.
657
- # @param [Array[String]] dequeue_status_callback_event The call progress events
658
- # sent via webhooks as a result of a Dequeue instruction.
659
- # @param [String] post_work_activity_sid The new worker activity SID after
660
- # executing a Conference instruction.
661
- # @param [Boolean] end_conference_on_customer_exit Whether to end the conference
662
- # when the customer leaves.
663
- # @param [Boolean] beep_on_customer_entrance Whether to play a notification beep
664
- # when the customer joins.
665
- # @param [String] if_match The If-Match HTTP request header
666
- # @return [ReservationInstance] Updated ReservationInstance
667
- def update(reservation_status: :unset, worker_activity_sid: :unset, instruction: :unset, dequeue_post_work_activity_sid: :unset, dequeue_from: :unset, dequeue_record: :unset, dequeue_timeout: :unset, dequeue_to: :unset, dequeue_status_callback_url: :unset, call_from: :unset, call_record: :unset, call_timeout: :unset, call_to: :unset, call_url: :unset, call_status_callback_url: :unset, call_accept: :unset, redirect_call_sid: :unset, redirect_accept: :unset, redirect_url: :unset, to: :unset, from: :unset, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, conference_record: :unset, conference_trim: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, region: :unset, sip_auth_username: :unset, sip_auth_password: :unset, dequeue_status_callback_event: :unset, post_work_activity_sid: :unset, end_conference_on_customer_exit: :unset, beep_on_customer_entrance: :unset, if_match: :unset)
668
- context.update(
669
- reservation_status: reservation_status,
670
- worker_activity_sid: worker_activity_sid,
671
- instruction: instruction,
672
- dequeue_post_work_activity_sid: dequeue_post_work_activity_sid,
673
- dequeue_from: dequeue_from,
674
- dequeue_record: dequeue_record,
675
- dequeue_timeout: dequeue_timeout,
676
- dequeue_to: dequeue_to,
677
- dequeue_status_callback_url: dequeue_status_callback_url,
678
- call_from: call_from,
679
- call_record: call_record,
680
- call_timeout: call_timeout,
681
- call_to: call_to,
682
- call_url: call_url,
683
- call_status_callback_url: call_status_callback_url,
684
- call_accept: call_accept,
685
- redirect_call_sid: redirect_call_sid,
686
- redirect_accept: redirect_accept,
687
- redirect_url: redirect_url,
688
- to: to,
689
- from: from,
690
- status_callback: status_callback,
691
- status_callback_method: status_callback_method,
692
- status_callback_event: status_callback_event,
693
- timeout: timeout,
694
- record: record,
695
- muted: muted,
696
- beep: beep,
697
- start_conference_on_enter: start_conference_on_enter,
698
- end_conference_on_exit: end_conference_on_exit,
699
- wait_url: wait_url,
700
- wait_method: wait_method,
701
- early_media: early_media,
702
- max_participants: max_participants,
703
- conference_status_callback: conference_status_callback,
704
- conference_status_callback_method: conference_status_callback_method,
705
- conference_status_callback_event: conference_status_callback_event,
706
- conference_record: conference_record,
707
- conference_trim: conference_trim,
708
- recording_channels: recording_channels,
709
- recording_status_callback: recording_status_callback,
710
- recording_status_callback_method: recording_status_callback_method,
711
- conference_recording_status_callback: conference_recording_status_callback,
712
- conference_recording_status_callback_method: conference_recording_status_callback_method,
713
- region: region,
714
- sip_auth_username: sip_auth_username,
715
- sip_auth_password: sip_auth_password,
716
- dequeue_status_callback_event: dequeue_status_callback_event,
717
- post_work_activity_sid: post_work_activity_sid,
718
- end_conference_on_customer_exit: end_conference_on_customer_exit,
719
- beep_on_customer_entrance: beep_on_customer_entrance,
720
- if_match: if_match,
721
- )
722
- end
723
-
724
- ##
725
- # Provide a user friendly representation
726
- def to_s
727
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
728
- "<Twilio.Taskrouter.V1.ReservationInstance #{values}>"
729
- end
730
-
731
- ##
732
- # Provide a detailed, user friendly representation
733
- def inspect
734
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
735
- "<Twilio.Taskrouter.V1.ReservationInstance #{values}>"
736
- end
617
+
618
+ class ReservationInstanceMetadata < InstanceResourceMetadata
619
+ ##
620
+ # Initializes a new ReservationInstanceMetadata.
621
+ # @param [Version] version Version that contains the resource
622
+ # @param [}ReservationInstance] reservation_instance The instance associated with the metadata.
623
+ # @param [Hash] headers Header object with response headers.
624
+ # @param [Integer] status_code The HTTP status code of the response.
625
+ # @return [ReservationInstanceMetadata] The initialized instance with metadata.
626
+ def initialize(version, reservation_instance, headers, status_code)
627
+ super(version, headers, status_code)
628
+ @reservation_instance = reservation_instance
629
+ end
630
+
631
+ def reservation
632
+ @reservation_instance
633
+ end
634
+
635
+ def headers
636
+ @headers
637
+ end
638
+
639
+ def status_code
640
+ @status_code
641
+ end
642
+
643
+ def to_s
644
+ "<Twilio.Api.V2010.ReservationInstanceMetadata status=#{@status_code}>"
645
+ end
646
+ end
647
+
648
+ class ReservationListResponse < InstanceListResource
649
+ # @param [Array<ReservationInstance>] instance
650
+ # @param [Hash{String => Object}] headers
651
+ # @param [Integer] status_code
652
+ def initialize(version, payload, key)
653
+ @reservation_instance = payload.body[key].map do |data|
654
+ ReservationInstance.new(version, data)
655
+ end
656
+ @headers = payload.headers
657
+ @status_code = payload.status_code
658
+ end
659
+
660
+ def reservation_instance
661
+ @instance
662
+ end
663
+ end
664
+
665
+ class ReservationPage < Page
666
+ ##
667
+ # Initialize the ReservationPage
668
+ # @param [Version] version Version that contains the resource
669
+ # @param [Response] response Response from the API
670
+ # @param [Hash] solution Path solution for the resource
671
+ # @return [ReservationPage] ReservationPage
672
+ def initialize(version, response, solution)
673
+ super(version, response)
674
+
675
+
676
+ # Path Solution
677
+ @solution = solution
678
+ end
679
+
680
+ ##
681
+ # Build an instance of ReservationInstance
682
+ # @param [Hash] payload Payload response from the API
683
+ # @return [ReservationInstance] ReservationInstance
684
+ def get_instance(payload)
685
+ ReservationInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], worker_sid: @solution[:worker_sid])
686
+ end
687
+
688
+ ##
689
+ # Provide a user friendly representation
690
+ def to_s
691
+ '<Twilio.Taskrouter.V1.ReservationPage>'
692
+ end
693
+ end
694
+
695
+ class ReservationPageMetadata < PageMetadata
696
+ attr_reader :reservation_page
697
+
698
+ def initialize(version, response, solution, limit)
699
+ super(version, response)
700
+ @reservation_page = []
701
+ @limit = limit
702
+ key = get_key(response.body)
703
+ records = 0
704
+ while( limit != :unset && records < limit )
705
+ @reservation_page << ReservationListResponse.new(version, @payload, key, limit - records)
706
+ @payload = self.next_page
707
+ break unless @payload
708
+ records += @payload.body[key].size
709
+ end
710
+ # Path Solution
711
+ @solution = solution
712
+ end
713
+
714
+ def each
715
+ @reservation_page.each do |record|
716
+ yield record
717
+ end
718
+ end
719
+
720
+ def to_s
721
+ '<Twilio::REST::Taskrouter::V1PageMetadata>';
722
+ end
723
+ end
724
+ class ReservationListResponse < InstanceListResource
725
+
726
+ # @param [Array<ReservationInstance>] instance
727
+ # @param [Hash{String => Object}] headers
728
+ # @param [Integer] status_code
729
+ def initialize(version, payload, key, limit = :unset)
730
+ data_list = payload.body[key]
731
+ if limit != :unset
732
+ data_list = data_list[0, limit]
733
+ end
734
+ @reservation = data_list.map do |data|
735
+ ReservationInstance.new(version, data)
736
+ end
737
+ @headers = payload.headers
738
+ @status_code = payload.status_code
739
+ end
740
+
741
+ def reservation
742
+ @reservation
743
+ end
744
+
745
+ def headers
746
+ @headers
747
+ end
748
+
749
+ def status_code
750
+ @status_code
751
+ end
752
+ end
753
+
754
+ class ReservationInstance < InstanceResource
755
+ ##
756
+ # Initialize the ReservationInstance
757
+ # @param [Version] version Version that contains the resource
758
+ # @param [Hash] payload payload that contains response from Twilio
759
+ # @param [String] account_sid The SID of the
760
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Reservation
761
+ # resource.
762
+ # @param [String] sid The SID of the Call resource to fetch.
763
+ # @return [ReservationInstance] ReservationInstance
764
+ def initialize(version, payload , workspace_sid: nil, worker_sid: nil, sid: nil)
765
+ super(version)
766
+
767
+
768
+ # Marshaled Properties
769
+ @properties = {
770
+ 'account_sid' => payload['account_sid'],
771
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
772
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
773
+ 'reservation_status' => payload['reservation_status'],
774
+ 'sid' => payload['sid'],
775
+ 'task_sid' => payload['task_sid'],
776
+ 'worker_name' => payload['worker_name'],
777
+ 'worker_sid' => payload['worker_sid'],
778
+ 'workspace_sid' => payload['workspace_sid'],
779
+ 'url' => payload['url'],
780
+ 'links' => payload['links'],
781
+ }
782
+
783
+ # Context
784
+ @instance_context = nil
785
+ @params = { 'workspace_sid' => workspace_sid || @properties['workspace_sid'] ,'worker_sid' => worker_sid || @properties['worker_sid'] ,'sid' => sid || @properties['sid'] , }
786
+ end
787
+
788
+ ##
789
+ # Generate an instance context for the instance, the context is capable of
790
+ # performing various actions. All instance actions are proxied to the context
791
+ # @return [ReservationContext] CallContext for this CallInstance
792
+ def context
793
+ unless @instance_context
794
+ @instance_context = ReservationContext.new(@version , @params['workspace_sid'], @params['worker_sid'], @params['sid'])
795
+ end
796
+ @instance_context
797
+ end
798
+
799
+ ##
800
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the WorkerReservation resource.
801
+ def account_sid
802
+ @properties['account_sid']
803
+ end
804
+
805
+ ##
806
+ # @return [Time] The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
807
+ def date_created
808
+ @properties['date_created']
809
+ end
810
+
811
+ ##
812
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
813
+ def date_updated
814
+ @properties['date_updated']
815
+ end
816
+
817
+ ##
818
+ # @return [Status]
819
+ def reservation_status
820
+ @properties['reservation_status']
821
+ end
822
+
823
+ ##
824
+ # @return [String] The unique string that we created to identify the WorkerReservation resource.
825
+ def sid
826
+ @properties['sid']
827
+ end
828
+
829
+ ##
830
+ # @return [String] The SID of the reserved Task resource.
831
+ def task_sid
832
+ @properties['task_sid']
833
+ end
834
+
835
+ ##
836
+ # @return [String] The `friendly_name` of the Worker that is reserved.
837
+ def worker_name
838
+ @properties['worker_name']
839
+ end
840
+
841
+ ##
842
+ # @return [String] The SID of the reserved Worker resource.
843
+ def worker_sid
844
+ @properties['worker_sid']
845
+ end
846
+
847
+ ##
848
+ # @return [String] The SID of the Workspace that this worker is contained within.
849
+ def workspace_sid
850
+ @properties['workspace_sid']
851
+ end
852
+
853
+ ##
854
+ # @return [String] The absolute URL of the WorkerReservation resource.
855
+ def url
856
+ @properties['url']
857
+ end
858
+
859
+ ##
860
+ # @return [Hash] The URLs of related resources.
861
+ def links
862
+ @properties['links']
863
+ end
864
+
865
+ ##
866
+ # Fetch the ReservationInstance
867
+ # @return [ReservationInstance] Fetched ReservationInstance
868
+ def fetch
869
+
870
+ context.fetch
871
+ end
872
+
873
+ ##
874
+ # Update the ReservationInstance
875
+ # @param [Status] reservation_status
876
+ # @param [String] worker_activity_sid The new worker activity SID if rejecting a reservation.
877
+ # @param [String] instruction The assignment instruction for the reservation.
878
+ # @param [String] dequeue_post_work_activity_sid The SID of the Activity resource to start after executing a Dequeue instruction.
879
+ # @param [String] dequeue_from The caller ID of the call to the worker when executing a Dequeue instruction.
880
+ # @param [String] dequeue_record Whether to record both legs of a call when executing a Dequeue instruction or which leg to record.
881
+ # @param [String] dequeue_timeout The timeout for call when executing a Dequeue instruction.
882
+ # @param [String] dequeue_to The contact URI of the worker when executing a Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
883
+ # @param [String] dequeue_status_callback_url The callback URL for completed call event when executing a Dequeue instruction.
884
+ # @param [String] call_from The Caller ID of the outbound call when executing a Call instruction.
885
+ # @param [String] call_record Whether to record both legs of a call when executing a Call instruction.
886
+ # @param [String] call_timeout The timeout for a call when executing a Call instruction.
887
+ # @param [String] call_to The contact URI of the worker when executing a Call instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
888
+ # @param [String] call_url TwiML URI executed on answering the worker's leg as a result of the Call instruction.
889
+ # @param [String] call_status_callback_url The URL to call for the completed call event when executing a Call instruction.
890
+ # @param [Boolean] call_accept Whether to accept a reservation when executing a Call instruction.
891
+ # @param [String] redirect_call_sid The Call SID of the call parked in the queue when executing a Redirect instruction.
892
+ # @param [Boolean] redirect_accept Whether the reservation should be accepted when executing a Redirect instruction.
893
+ # @param [String] redirect_url TwiML URI to redirect the call to when executing the Redirect instruction.
894
+ # @param [String] to The Contact URI of the worker when executing a Conference instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](https://www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.
895
+ # @param [String] from The caller ID of the call to the worker when executing a Conference instruction.
896
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application.
897
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
898
+ # @param [Array[CallStatus]] status_callback_event The call progress events that we will send to `status_callback`. Can be: `initiated`, `ringing`, `answered`, or `completed`.
899
+ # @param [String] timeout The timeout for a call when executing a Conference instruction.
900
+ # @param [Boolean] record Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.
901
+ # @param [Boolean] muted Whether the agent is muted in the conference. Defaults to `false`.
902
+ # @param [String] beep Whether to play a notification beep when the participant joins or when to play a beep. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.
903
+ # @param [Boolean] start_conference_on_enter Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
904
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the agent leaves.
905
+ # @param [String] wait_url The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
906
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
907
+ # @param [Boolean] early_media Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. The default is `true`.
908
+ # @param [String] max_participants The maximum number of participants allowed in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
909
+ # @param [String] conference_status_callback The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.
910
+ # @param [String] conference_status_callback_method The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
911
+ # @param [Array[ConferenceEvent]] conference_status_callback_event The conference status events that we will send to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`.
912
+ # @param [String] conference_record Whether to record the conference the participant is joining or when to record the conference. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
913
+ # @param [String] conference_trim Whether to trim leading and trailing silence from your recorded conference audio files. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
914
+ # @param [String] recording_channels The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
915
+ # @param [String] recording_status_callback The URL that we should call using the `recording_status_callback_method` when the recording status changes.
916
+ # @param [String] recording_status_callback_method The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
917
+ # @param [String] conference_recording_status_callback The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
918
+ # @param [String] conference_recording_status_callback_method The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
919
+ # @param [String] region The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `us2`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
920
+ # @param [String] sip_auth_username The SIP username used for authentication.
921
+ # @param [String] sip_auth_password The SIP password for authentication.
922
+ # @param [Array[String]] dequeue_status_callback_event The call progress events sent via webhooks as a result of a Dequeue instruction.
923
+ # @param [String] post_work_activity_sid The new worker activity SID after executing a Conference instruction.
924
+ # @param [Boolean] end_conference_on_customer_exit Whether to end the conference when the customer leaves.
925
+ # @param [Boolean] beep_on_customer_entrance Whether to play a notification beep when the customer joins.
926
+ # @param [String] jitter_buffer_size The jitter buffer size for conference. Can be: `small`, `medium`, `large`, `off`.
927
+ # @param [String] if_match The If-Match HTTP request header
928
+ # @return [ReservationInstance] Updated ReservationInstance
929
+ def update(
930
+ reservation_status: :unset,
931
+ worker_activity_sid: :unset,
932
+ instruction: :unset,
933
+ dequeue_post_work_activity_sid: :unset,
934
+ dequeue_from: :unset,
935
+ dequeue_record: :unset,
936
+ dequeue_timeout: :unset,
937
+ dequeue_to: :unset,
938
+ dequeue_status_callback_url: :unset,
939
+ call_from: :unset,
940
+ call_record: :unset,
941
+ call_timeout: :unset,
942
+ call_to: :unset,
943
+ call_url: :unset,
944
+ call_status_callback_url: :unset,
945
+ call_accept: :unset,
946
+ redirect_call_sid: :unset,
947
+ redirect_accept: :unset,
948
+ redirect_url: :unset,
949
+ to: :unset,
950
+ from: :unset,
951
+ status_callback: :unset,
952
+ status_callback_method: :unset,
953
+ status_callback_event: :unset,
954
+ timeout: :unset,
955
+ record: :unset,
956
+ muted: :unset,
957
+ beep: :unset,
958
+ start_conference_on_enter: :unset,
959
+ end_conference_on_exit: :unset,
960
+ wait_url: :unset,
961
+ wait_method: :unset,
962
+ early_media: :unset,
963
+ max_participants: :unset,
964
+ conference_status_callback: :unset,
965
+ conference_status_callback_method: :unset,
966
+ conference_status_callback_event: :unset,
967
+ conference_record: :unset,
968
+ conference_trim: :unset,
969
+ recording_channels: :unset,
970
+ recording_status_callback: :unset,
971
+ recording_status_callback_method: :unset,
972
+ conference_recording_status_callback: :unset,
973
+ conference_recording_status_callback_method: :unset,
974
+ region: :unset,
975
+ sip_auth_username: :unset,
976
+ sip_auth_password: :unset,
977
+ dequeue_status_callback_event: :unset,
978
+ post_work_activity_sid: :unset,
979
+ end_conference_on_customer_exit: :unset,
980
+ beep_on_customer_entrance: :unset,
981
+ jitter_buffer_size: :unset,
982
+ if_match: :unset
983
+ )
984
+
985
+ context.update(
986
+ reservation_status: reservation_status,
987
+ worker_activity_sid: worker_activity_sid,
988
+ instruction: instruction,
989
+ dequeue_post_work_activity_sid: dequeue_post_work_activity_sid,
990
+ dequeue_from: dequeue_from,
991
+ dequeue_record: dequeue_record,
992
+ dequeue_timeout: dequeue_timeout,
993
+ dequeue_to: dequeue_to,
994
+ dequeue_status_callback_url: dequeue_status_callback_url,
995
+ call_from: call_from,
996
+ call_record: call_record,
997
+ call_timeout: call_timeout,
998
+ call_to: call_to,
999
+ call_url: call_url,
1000
+ call_status_callback_url: call_status_callback_url,
1001
+ call_accept: call_accept,
1002
+ redirect_call_sid: redirect_call_sid,
1003
+ redirect_accept: redirect_accept,
1004
+ redirect_url: redirect_url,
1005
+ to: to,
1006
+ from: from,
1007
+ status_callback: status_callback,
1008
+ status_callback_method: status_callback_method,
1009
+ status_callback_event: status_callback_event,
1010
+ timeout: timeout,
1011
+ record: record,
1012
+ muted: muted,
1013
+ beep: beep,
1014
+ start_conference_on_enter: start_conference_on_enter,
1015
+ end_conference_on_exit: end_conference_on_exit,
1016
+ wait_url: wait_url,
1017
+ wait_method: wait_method,
1018
+ early_media: early_media,
1019
+ max_participants: max_participants,
1020
+ conference_status_callback: conference_status_callback,
1021
+ conference_status_callback_method: conference_status_callback_method,
1022
+ conference_status_callback_event: conference_status_callback_event,
1023
+ conference_record: conference_record,
1024
+ conference_trim: conference_trim,
1025
+ recording_channels: recording_channels,
1026
+ recording_status_callback: recording_status_callback,
1027
+ recording_status_callback_method: recording_status_callback_method,
1028
+ conference_recording_status_callback: conference_recording_status_callback,
1029
+ conference_recording_status_callback_method: conference_recording_status_callback_method,
1030
+ region: region,
1031
+ sip_auth_username: sip_auth_username,
1032
+ sip_auth_password: sip_auth_password,
1033
+ dequeue_status_callback_event: dequeue_status_callback_event,
1034
+ post_work_activity_sid: post_work_activity_sid,
1035
+ end_conference_on_customer_exit: end_conference_on_customer_exit,
1036
+ beep_on_customer_entrance: beep_on_customer_entrance,
1037
+ jitter_buffer_size: jitter_buffer_size,
1038
+ if_match: if_match,
1039
+ )
1040
+ end
1041
+
1042
+ ##
1043
+ # Provide a user friendly representation
1044
+ def to_s
1045
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
1046
+ "<Twilio.Taskrouter.V1.ReservationInstance #{values}>"
1047
+ end
1048
+
1049
+ ##
1050
+ # Provide a detailed, user friendly representation
1051
+ def inspect
1052
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
1053
+ "<Twilio.Taskrouter.V1.ReservationInstance #{values}>"
1054
+ end
1055
+ end
1056
+
1057
+ end
1058
+ end
737
1059
  end
738
- end
739
1060
  end
740
- end
741
1061
  end
742
- end
743
- end
1062
+ end
1063
+
1064
+