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,580 +1,938 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Flex
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.
6
13
  #
7
- # frozen_string_literal: true
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class FlexApi < Domain
12
- class V1 < Version
13
- class FlexFlowList < ListResource
14
- ##
15
- # Initialize the FlexFlowList
16
- # @param [Version] version Version that contains the resource
17
- # @return [FlexFlowList] FlexFlowList
18
- def initialize(version)
19
- super(version)
20
-
21
- # Path Solution
22
- @solution = {}
23
- @uri = "/FlexFlows"
24
- end
25
-
26
- ##
27
- # Lists FlexFlowInstance records from the API as a list.
28
- # Unlike stream(), this operation is eager and will load `limit` records into
29
- # memory before returning.
30
- # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
31
- # read.
32
- # @param [Integer] limit Upper limit for the number of records to return. stream()
33
- # guarantees to never return more than limit. Default is no limit
34
- # @param [Integer] page_size Number of records to fetch per request, when
35
- # not set will use the default value of 50 records. If no page_size is defined
36
- # but a limit is defined, stream() will attempt to read the limit with the most
37
- # efficient page size, i.e. min(limit, 1000)
38
- # @return [Array] Array of up to limit results
39
- def list(friendly_name: :unset, limit: nil, page_size: nil)
40
- self.stream(friendly_name: friendly_name, limit: limit, page_size: page_size).entries
41
- end
42
-
43
- ##
44
- # Streams FlexFlowInstance records from the API as an Enumerable.
45
- # This operation lazily loads records as efficiently as possible until the limit
46
- # is reached.
47
- # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
48
- # read.
49
- # @param [Integer] limit Upper limit for the number of records to return. stream()
50
- # guarantees to never return more than limit. Default is no limit.
51
- # @param [Integer] page_size Number of records to fetch per request, when
52
- # not set will use the default value of 50 records. If no page_size is defined
53
- # but a limit is defined, stream() will attempt to read the limit with the most
54
- # efficient page size, i.e. min(limit, 1000)
55
- # @return [Enumerable] Enumerable that will yield up to limit results
56
- def stream(friendly_name: :unset, limit: nil, page_size: nil)
57
- limits = @version.read_limits(limit, page_size)
58
-
59
- page = self.page(friendly_name: friendly_name, page_size: limits[:page_size], )
60
-
61
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
62
- end
63
-
64
- ##
65
- # When passed a block, yields FlexFlowInstance records from the API.
66
- # This operation lazily loads records as efficiently as possible until the limit
67
- # is reached.
68
- def each
69
- limits = @version.read_limits
70
-
71
- page = self.page(page_size: limits[:page_size], )
72
-
73
- @version.stream(page,
17
+ module REST
18
+ class FlexApi < FlexApiBase
19
+ class V1 < Version
20
+ class FlexFlowList < ListResource
21
+
22
+ ##
23
+ # Initialize the FlexFlowList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [FlexFlowList] FlexFlowList
26
+ def initialize(version)
27
+ super(version)
28
+
29
+ # Path Solution
30
+ @solution = { }
31
+ @uri = "/FlexFlows"
32
+
33
+ end
34
+ ##
35
+ # Create the FlexFlowInstance
36
+ # @param [String] friendly_name A descriptive string that you create to describe the Flex Flow resource.
37
+ # @param [String] chat_service_sid The SID of the chat service.
38
+ # @param [ChannelType] channel_type
39
+ # @param [String] contact_identity The channel contact's Identity.
40
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
41
+ # @param [IntegrationType] integration_type
42
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when `integrationType` is `studio`.
43
+ # @param [String] integration_url The URL of the external webhook. Required when `integrationType` is `external`.
44
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task. Required when `integrationType` is `task`.
45
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task. Required when `integrationType` is `task`.
46
+ # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`.
47
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise.
48
+ # @param [String] integration_priority The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.
49
+ # @param [Boolean] integration_creation_on_message In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.
50
+ # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`.
51
+ # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`.
52
+ # @param [String] integration_retry_count The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise.
53
+ # @return [FlexFlowInstance] Created FlexFlowInstance
54
+ def create(
55
+ friendly_name: nil,
56
+ chat_service_sid: nil,
57
+ channel_type: nil,
58
+ contact_identity: :unset,
59
+ enabled: :unset,
60
+ integration_type: :unset,
61
+ integration_flow_sid: :unset,
62
+ integration_url: :unset,
63
+ integration_workspace_sid: :unset,
64
+ integration_workflow_sid: :unset,
65
+ integration_channel: :unset,
66
+ integration_timeout: :unset,
67
+ integration_priority: :unset,
68
+ integration_creation_on_message: :unset,
69
+ long_lived: :unset,
70
+ janitor_enabled: :unset,
71
+ integration_retry_count: :unset
72
+ )
73
+
74
+ data = Twilio::Values.of({
75
+ 'FriendlyName' => friendly_name,
76
+ 'ChatServiceSid' => chat_service_sid,
77
+ 'ChannelType' => channel_type,
78
+ 'ContactIdentity' => contact_identity,
79
+ 'Enabled' => enabled,
80
+ 'IntegrationType' => integration_type,
81
+ 'Integration.FlowSid' => integration_flow_sid,
82
+ 'Integration.Url' => integration_url,
83
+ 'Integration.WorkspaceSid' => integration_workspace_sid,
84
+ 'Integration.WorkflowSid' => integration_workflow_sid,
85
+ 'Integration.Channel' => integration_channel,
86
+ 'Integration.Timeout' => integration_timeout,
87
+ 'Integration.Priority' => integration_priority,
88
+ 'Integration.CreationOnMessage' => integration_creation_on_message,
89
+ 'LongLived' => long_lived,
90
+ 'JanitorEnabled' => janitor_enabled,
91
+ 'Integration.RetryCount' => integration_retry_count,
92
+ })
93
+
94
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
95
+
96
+
97
+
98
+
99
+
100
+ payload = @version.create('POST', @uri, data: data, headers: headers)
101
+ FlexFlowInstance.new(
102
+ @version,
103
+ payload,
104
+ )
105
+ end
106
+
107
+ ##
108
+ # Create the FlexFlowInstanceMetadata
109
+ # @param [String] friendly_name A descriptive string that you create to describe the Flex Flow resource.
110
+ # @param [String] chat_service_sid The SID of the chat service.
111
+ # @param [ChannelType] channel_type
112
+ # @param [String] contact_identity The channel contact's Identity.
113
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
114
+ # @param [IntegrationType] integration_type
115
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when `integrationType` is `studio`.
116
+ # @param [String] integration_url The URL of the external webhook. Required when `integrationType` is `external`.
117
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task. Required when `integrationType` is `task`.
118
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task. Required when `integrationType` is `task`.
119
+ # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`.
120
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise.
121
+ # @param [String] integration_priority The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.
122
+ # @param [Boolean] integration_creation_on_message In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.
123
+ # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`.
124
+ # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`.
125
+ # @param [String] integration_retry_count The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise.
126
+ # @return [FlexFlowInstance] Created FlexFlowInstance
127
+ def create_with_metadata(
128
+ friendly_name: nil,
129
+ chat_service_sid: nil,
130
+ channel_type: nil,
131
+ contact_identity: :unset,
132
+ enabled: :unset,
133
+ integration_type: :unset,
134
+ integration_flow_sid: :unset,
135
+ integration_url: :unset,
136
+ integration_workspace_sid: :unset,
137
+ integration_workflow_sid: :unset,
138
+ integration_channel: :unset,
139
+ integration_timeout: :unset,
140
+ integration_priority: :unset,
141
+ integration_creation_on_message: :unset,
142
+ long_lived: :unset,
143
+ janitor_enabled: :unset,
144
+ integration_retry_count: :unset
145
+ )
146
+
147
+ data = Twilio::Values.of({
148
+ 'FriendlyName' => friendly_name,
149
+ 'ChatServiceSid' => chat_service_sid,
150
+ 'ChannelType' => channel_type,
151
+ 'ContactIdentity' => contact_identity,
152
+ 'Enabled' => enabled,
153
+ 'IntegrationType' => integration_type,
154
+ 'Integration.FlowSid' => integration_flow_sid,
155
+ 'Integration.Url' => integration_url,
156
+ 'Integration.WorkspaceSid' => integration_workspace_sid,
157
+ 'Integration.WorkflowSid' => integration_workflow_sid,
158
+ 'Integration.Channel' => integration_channel,
159
+ 'Integration.Timeout' => integration_timeout,
160
+ 'Integration.Priority' => integration_priority,
161
+ 'Integration.CreationOnMessage' => integration_creation_on_message,
162
+ 'LongLived' => long_lived,
163
+ 'JanitorEnabled' => janitor_enabled,
164
+ 'Integration.RetryCount' => integration_retry_count,
165
+ })
166
+
167
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
168
+
169
+
170
+
171
+
172
+
173
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
174
+ flex_flow_instance = FlexFlowInstance.new(
175
+ @version,
176
+ response.body,
177
+ )
178
+ FlexFlowInstanceMetadata.new(
179
+ @version,
180
+ flex_flow_instance,
181
+ response.headers,
182
+ response.status_code
183
+ )
184
+ end
185
+
186
+
187
+ ##
188
+ # Lists FlexFlowInstance records from the API as a list.
189
+ # Unlike stream(), this operation is eager and will load `limit` records into
190
+ # memory before returning.
191
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to read.
192
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
193
+ # guarantees to never return more than limit. Default is no limit
194
+ # @param [Integer] page_size Number of records to fetch per request, when
195
+ # not set will use the default value of 50 records. If no page_size is defined
196
+ # but a limit is defined, stream() will attempt to read the limit with the most
197
+ # efficient page size, i.e. min(limit, 1000)
198
+ # @return [Array] Array of up to limit results
199
+ def list(friendly_name: :unset, limit: nil, page_size: nil)
200
+ self.stream(
201
+ friendly_name: friendly_name,
202
+ limit: limit,
203
+ page_size: page_size
204
+ ).entries
205
+ end
206
+
207
+ ##
208
+ # Streams Instance records from the API as an Enumerable.
209
+ # This operation lazily loads records as efficiently as possible until the limit
210
+ # is reached.
211
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to read.
212
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
213
+ # guarantees to never return more than limit. Default is no limit
214
+ # @param [Integer] page_size Number of records to fetch per request, when
215
+ # not set will use the default value of 50 records. If no page_size is defined
216
+ # but a limit is defined, stream() will attempt to read the limit with the most
217
+ # efficient page size, i.e. min(limit, 1000)
218
+ # @return [Enumerable] Enumerable that will yield up to limit results
219
+ def stream(friendly_name: :unset, limit: nil, page_size: nil)
220
+ limits = @version.read_limits(limit, page_size)
221
+
222
+ page = self.page(
223
+ friendly_name: friendly_name,
224
+ page_size: limits[:page_size], )
225
+
226
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
227
+ end
228
+
229
+ ##
230
+ # Lists FlexFlowPageMetadata records from the API as a list.
231
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to read.
232
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
233
+ # guarantees to never return more than limit. Default is no limit
234
+ # @param [Integer] page_size Number of records to fetch per request, when
235
+ # not set will use the default value of 50 records. If no page_size is defined
236
+ # but a limit is defined, stream() will attempt to read the limit with the most
237
+ # efficient page size, i.e. min(limit, 1000)
238
+ # @return [Array] Array of up to limit results
239
+ def list_with_metadata(friendly_name: :unset, limit: nil, page_size: nil)
240
+ limits = @version.read_limits(limit, page_size)
241
+ params = Twilio::Values.of({
242
+ 'FriendlyName' => friendly_name,
243
+
244
+ 'PageSize' => limits[:page_size],
245
+ });
246
+ headers = Twilio::Values.of({})
247
+
248
+ response = @version.page('GET', @uri, params: params, headers: headers)
249
+
250
+ FlexFlowPageMetadata.new(@version, response, @solution, limits[:limit])
251
+ end
252
+
253
+ ##
254
+ # When passed a block, yields FlexFlowInstance records from the API.
255
+ # This operation lazily loads records as efficiently as possible until the limit
256
+ # is reached.
257
+ def each
258
+ limits = @version.read_limits
259
+
260
+ page = self.page(page_size: limits[:page_size], )
261
+
262
+ @version.stream(page,
74
263
  limit: limits[:limit],
75
264
  page_limit: limits[:page_limit]).each {|x| yield x}
76
- end
77
-
78
- ##
79
- # Retrieve a single page of FlexFlowInstance records from the API.
80
- # Request is executed immediately.
81
- # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
82
- # read.
83
- # @param [String] page_token PageToken provided by the API
84
- # @param [Integer] page_number Page Number, this value is simply for client state
85
- # @param [Integer] page_size Number of records to return, defaults to 50
86
- # @return [Page] Page of FlexFlowInstance
87
- def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
88
- params = Twilio::Values.of({
89
- 'FriendlyName' => friendly_name,
90
- 'PageToken' => page_token,
91
- 'Page' => page_number,
92
- 'PageSize' => page_size,
93
- })
94
-
95
- response = @version.page('GET', @uri, params: params)
96
-
97
- FlexFlowPage.new(@version, response, @solution)
98
- end
99
-
100
- ##
101
- # Retrieve a single page of FlexFlowInstance records from the API.
102
- # Request is executed immediately.
103
- # @param [String] target_url API-generated URL for the requested results page
104
- # @return [Page] Page of FlexFlowInstance
105
- def get_page(target_url)
106
- response = @version.domain.request(
107
- 'GET',
108
- target_url
109
- )
110
- FlexFlowPage.new(@version, response, @solution)
111
- end
112
-
113
- ##
114
- # Create the FlexFlowInstance
115
- # @param [String] friendly_name A descriptive string that you create to describe
116
- # the Flex Flow resource.
117
- # @param [String] chat_service_sid The SID of the chat service.
118
- # @param [flex_flow.ChannelType] channel_type The channel type. One of `web`,
119
- # `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio’s Send to
120
- # Flex widget passes it on to the Task attributes for Tasks created based on this
121
- # Flex Flow. The Task attributes will be used by the Flex UI to render the
122
- # respective Task as appropriate (applying channel-specific design and length
123
- # limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex
124
- # widget should set the Task Channel to Programmable Chat.
125
- # @param [String] contact_identity The channel contact's Identity.
126
- # @param [Boolean] enabled Whether the new Flex Flow is enabled.
127
- # @param [flex_flow.IntegrationType] integration_type The software that will
128
- # handle inbound messages. {Integration
129
- # Type}[https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types]
130
- # can be: `studio`, `external`, or `task`.
131
- # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
132
- # `integrationType` is `studio`.
133
- # @param [String] integration_url The URL of the external webhook. Required when
134
- # `integrationType` is `external`.
135
- # @param [String] integration_workspace_sid The Workspace SID for a new Task.
136
- # Required when `integrationType` is `task`.
137
- # @param [String] integration_workflow_sid The Workflow SID for a new Task.
138
- # Required when `integrationType` is `task`.
139
- # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name
140
- # (e.g., `sms`) to use for the Task that will be created. Applicable and required
141
- # when `integrationType` is `task`. The default value is `default`.
142
- # @param [String] integration_timeout The Task timeout in seconds for a new Task.
143
- # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
144
- # not applicable otherwise.
145
- # @param [String] integration_priority The Task priority of a new Task. The
146
- # default priority is 0. Optional when `integrationType` is `task`, not applicable
147
- # otherwise.
148
- # @param [Boolean] integration_creation_on_message In the context of outbound
149
- # messaging, defines whether to create a Task immediately (and therefore reserve
150
- # the conversation to current agent), or delay Task creation until the customer
151
- # sends the first response. Set to false to create immediately, true to delay Task
152
- # creation. This setting is only applicable for outbound messaging.
153
- # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
154
- # so that it may be used for subsequent interactions with a contact identity.
155
- # Defaults to `false`.
156
- # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor
157
- # will remove active Proxy sessions if the associated Task is deleted outside of
158
- # the Flex UI. Defaults to `false`.
159
- # @param [String] integration_retry_count The number of times to retry the Studio
160
- # Flow or webhook in case of failure. Takes integer values from 0 to 3 with the
161
- # default being 3. Optional when `integrationType` is `studio` or `external`, not
162
- # applicable otherwise.
163
- # @return [FlexFlowInstance] Created FlexFlowInstance
164
- def create(friendly_name: nil, chat_service_sid: nil, channel_type: nil, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
165
- data = Twilio::Values.of({
166
- 'FriendlyName' => friendly_name,
167
- 'ChatServiceSid' => chat_service_sid,
168
- 'ChannelType' => channel_type,
169
- 'ContactIdentity' => contact_identity,
170
- 'Enabled' => enabled,
171
- 'IntegrationType' => integration_type,
172
- 'Integration.FlowSid' => integration_flow_sid,
173
- 'Integration.Url' => integration_url,
174
- 'Integration.WorkspaceSid' => integration_workspace_sid,
175
- 'Integration.WorkflowSid' => integration_workflow_sid,
176
- 'Integration.Channel' => integration_channel,
177
- 'Integration.Timeout' => integration_timeout,
178
- 'Integration.Priority' => integration_priority,
179
- 'Integration.CreationOnMessage' => integration_creation_on_message,
180
- 'LongLived' => long_lived,
181
- 'JanitorEnabled' => janitor_enabled,
182
- 'Integration.RetryCount' => integration_retry_count,
183
- })
184
-
185
- payload = @version.create('POST', @uri, data: data)
186
-
187
- FlexFlowInstance.new(@version, payload, )
188
- end
189
-
190
- ##
191
- # Provide a user friendly representation
192
- def to_s
193
- '#<Twilio.FlexApi.V1.FlexFlowList>'
194
- end
195
- end
196
-
197
- class FlexFlowPage < Page
198
- ##
199
- # Initialize the FlexFlowPage
200
- # @param [Version] version Version that contains the resource
201
- # @param [Response] response Response from the API
202
- # @param [Hash] solution Path solution for the resource
203
- # @return [FlexFlowPage] FlexFlowPage
204
- def initialize(version, response, solution)
205
- super(version, response)
206
-
207
- # Path Solution
208
- @solution = solution
209
- end
210
-
211
- ##
212
- # Build an instance of FlexFlowInstance
213
- # @param [Hash] payload Payload response from the API
214
- # @return [FlexFlowInstance] FlexFlowInstance
215
- def get_instance(payload)
216
- FlexFlowInstance.new(@version, payload, )
217
- end
218
-
219
- ##
220
- # Provide a user friendly representation
221
- def to_s
222
- '<Twilio.FlexApi.V1.FlexFlowPage>'
223
- end
224
- end
225
-
226
- class FlexFlowContext < InstanceContext
227
- ##
228
- # Initialize the FlexFlowContext
229
- # @param [Version] version Version that contains the resource
230
- # @param [String] sid The SID of the Flex Flow resource to fetch.
231
- # @return [FlexFlowContext] FlexFlowContext
232
- def initialize(version, sid)
233
- super(version)
234
-
235
- # Path Solution
236
- @solution = {sid: sid, }
237
- @uri = "/FlexFlows/#{@solution[:sid]}"
238
- end
239
-
240
- ##
241
- # Fetch the FlexFlowInstance
242
- # @return [FlexFlowInstance] Fetched FlexFlowInstance
243
- def fetch
244
- payload = @version.fetch('GET', @uri)
245
-
246
- FlexFlowInstance.new(@version, payload, sid: @solution[:sid], )
247
- end
248
-
249
- ##
250
- # Update the FlexFlowInstance
251
- # @param [String] friendly_name A descriptive string that you create to describe
252
- # the Flex Flow resource.
253
- # @param [String] chat_service_sid The SID of the chat service.
254
- # @param [flex_flow.ChannelType] channel_type The channel type. One of `web`,
255
- # `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio’s Send to
256
- # Flex widget passes it on to the Task attributes for Tasks created based on this
257
- # Flex Flow. The Task attributes will be used by the Flex UI to render the
258
- # respective Task as appropriate (applying channel-specific design and length
259
- # limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex
260
- # widget should set the Task Channel to Programmable Chat.
261
- # @param [String] contact_identity The channel contact's Identity.
262
- # @param [Boolean] enabled Whether the new Flex Flow is enabled.
263
- # @param [flex_flow.IntegrationType] integration_type The software that will
264
- # handle inbound messages. {Integration
265
- # Type}[https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types]
266
- # can be: `studio`, `external`, or `task`.
267
- # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
268
- # `integrationType` is `studio`.
269
- # @param [String] integration_url The URL of the external webhook. Required when
270
- # `integrationType` is `external`.
271
- # @param [String] integration_workspace_sid The Workspace SID for a new Task.
272
- # Required when `integrationType` is `task`.
273
- # @param [String] integration_workflow_sid The Workflow SID for a new Task.
274
- # Required when `integrationType` is `task`.
275
- # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name
276
- # (e.g., `sms`) to use for the Task that will be created. Applicable and required
277
- # when `integrationType` is `task`. The default value is `default`.
278
- # @param [String] integration_timeout The Task timeout in seconds for a new Task.
279
- # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
280
- # not applicable otherwise.
281
- # @param [String] integration_priority The Task priority of a new Task. The
282
- # default priority is 0. Optional when `integrationType` is `task`, not applicable
283
- # otherwise.
284
- # @param [Boolean] integration_creation_on_message In the context of outbound
285
- # messaging, defines whether to create a Task immediately (and therefore reserve
286
- # the conversation to current agent), or delay Task creation until the customer
287
- # sends the first response. Set to false to create immediately, true to delay Task
288
- # creation. This setting is only applicable for outbound messaging.
289
- # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
290
- # so that it may be used for subsequent interactions with a contact identity.
291
- # Defaults to `false`.
292
- # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor
293
- # will remove active Proxy sessions if the associated Task is deleted outside of
294
- # the Flex UI. Defaults to `false`.
295
- # @param [String] integration_retry_count The number of times to retry the Studio
296
- # Flow or webhook in case of failure. Takes integer values from 0 to 3 with the
297
- # default being 3. Optional when `integrationType` is `studio` or `external`, not
298
- # applicable otherwise.
299
- # @return [FlexFlowInstance] Updated FlexFlowInstance
300
- def update(friendly_name: :unset, chat_service_sid: :unset, channel_type: :unset, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
301
- data = Twilio::Values.of({
302
- 'FriendlyName' => friendly_name,
303
- 'ChatServiceSid' => chat_service_sid,
304
- 'ChannelType' => channel_type,
305
- 'ContactIdentity' => contact_identity,
306
- 'Enabled' => enabled,
307
- 'IntegrationType' => integration_type,
308
- 'Integration.FlowSid' => integration_flow_sid,
309
- 'Integration.Url' => integration_url,
310
- 'Integration.WorkspaceSid' => integration_workspace_sid,
311
- 'Integration.WorkflowSid' => integration_workflow_sid,
312
- 'Integration.Channel' => integration_channel,
313
- 'Integration.Timeout' => integration_timeout,
314
- 'Integration.Priority' => integration_priority,
315
- 'Integration.CreationOnMessage' => integration_creation_on_message,
316
- 'LongLived' => long_lived,
317
- 'JanitorEnabled' => janitor_enabled,
318
- 'Integration.RetryCount' => integration_retry_count,
319
- })
320
-
321
- payload = @version.update('POST', @uri, data: data)
322
-
323
- FlexFlowInstance.new(@version, payload, sid: @solution[:sid], )
324
- end
325
-
326
- ##
327
- # Delete the FlexFlowInstance
328
- # @return [Boolean] true if delete succeeds, false otherwise
329
- def delete
330
- @version.delete('DELETE', @uri)
331
- end
332
-
333
- ##
334
- # Provide a user friendly representation
335
- def to_s
336
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
337
- "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
338
- end
339
-
340
- ##
341
- # Provide a detailed, user friendly representation
342
- def inspect
343
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
344
- "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
345
- end
346
- end
265
+ end
266
+
267
+ ##
268
+ # Retrieve a single page of FlexFlowInstance records from the API.
269
+ # Request is executed immediately.
270
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to read.
271
+ # @param [String] page_token PageToken provided by the API
272
+ # @param [Integer] page_number Page Number, this value is simply for client state
273
+ # @param [Integer] page_size Number of records to return, defaults to 50
274
+ # @return [Page] Page of FlexFlowInstance
275
+ def page(friendly_name: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
276
+ params = Twilio::Values.of({
277
+ 'FriendlyName' => friendly_name,
278
+ 'PageToken' => page_token,
279
+ 'Page' => page_number,
280
+ 'PageSize' => page_size,
281
+ })
282
+ headers = Twilio::Values.of({})
283
+
284
+
285
+
286
+ response = @version.page('GET', @uri, params: params, headers: headers)
287
+
288
+ FlexFlowPage.new(@version, response, @solution)
289
+ end
290
+
291
+ ##
292
+ # Retrieve a single page of FlexFlowInstance records from the API.
293
+ # Request is executed immediately.
294
+ # @param [String] target_url API-generated URL for the requested results page
295
+ # @return [Page] Page of FlexFlowInstance
296
+ def get_page(target_url)
297
+ response = @version.domain.request(
298
+ 'GET',
299
+ target_url
300
+ )
301
+ FlexFlowPage.new(@version, response, @solution)
302
+ end
303
+
304
+
305
+
306
+ # Provide a user friendly representation
307
+ def to_s
308
+ '#<Twilio.FlexApi.V1.FlexFlowList>'
309
+ end
310
+ end
311
+
312
+
313
+ class FlexFlowContext < InstanceContext
314
+ ##
315
+ # Initialize the FlexFlowContext
316
+ # @param [Version] version Version that contains the resource
317
+ # @param [String] sid The SID of the Flex Flow resource to update.
318
+ # @return [FlexFlowContext] FlexFlowContext
319
+ def initialize(version, sid)
320
+ super(version)
321
+
322
+
323
+ # Path Solution
324
+ @solution = { sid: sid, }
325
+ @uri = "/FlexFlows/#{@solution[:sid]}"
326
+
327
+
328
+ end
329
+ ##
330
+ # Delete the FlexFlowInstance
331
+ # @return [Boolean] True if delete succeeds, false otherwise
332
+ def delete
333
+
334
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
335
+
336
+
337
+
338
+
339
+ @version.delete('DELETE', @uri, headers: headers)
340
+ end
341
+
342
+ ##
343
+ # Delete the FlexFlowInstanceMetadata
344
+ # @return [Boolean] True if delete succeeds, false otherwise
345
+ def delete_with_metadata
346
+
347
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
348
+
349
+
350
+
351
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
352
+ flexFlow_instance = FlexFlowInstance.new(
353
+ @version,
354
+ response.body,
355
+ account_sid: @solution[:account_sid],
356
+ sid: @solution[:sid],
357
+ )
358
+ FlexFlowInstanceMetadata.new(@version, flexFlow_instance, response.headers, response.status_code)
359
+ end
360
+
361
+ ##
362
+ # Fetch the FlexFlowInstance
363
+ # @return [FlexFlowInstance] Fetched FlexFlowInstance
364
+ def fetch
365
+
366
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
367
+
368
+
369
+
370
+
371
+
372
+ payload = @version.fetch('GET', @uri, headers: headers)
373
+ FlexFlowInstance.new(
374
+ @version,
375
+ payload,
376
+ sid: @solution[:sid],
377
+ )
378
+ end
379
+
380
+ ##
381
+ # Fetch the FlexFlowInstanceMetadata
382
+ # @return [FlexFlowInstance] Fetched FlexFlowInstance
383
+ def fetch_with_metadata
384
+
385
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
386
+
387
+
388
+
389
+
390
+
391
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
392
+ flex_flow_instance = FlexFlowInstance.new(
393
+ @version,
394
+ response.body,
395
+ sid: @solution[:sid],
396
+ )
397
+ FlexFlowInstanceMetadata.new(
398
+ @version,
399
+ flex_flow_instance,
400
+ response.headers,
401
+ response.status_code
402
+ )
403
+ end
404
+
405
+ ##
406
+ # Update the FlexFlowInstance
407
+ # @param [String] friendly_name A descriptive string that you create to describe the Flex Flow resource.
408
+ # @param [String] chat_service_sid The SID of the chat service.
409
+ # @param [ChannelType] channel_type
410
+ # @param [String] contact_identity The channel contact's Identity.
411
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
412
+ # @param [IntegrationType] integration_type
413
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when `integrationType` is `studio`.
414
+ # @param [String] integration_url The URL of the external webhook. Required when `integrationType` is `external`.
415
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task. Required when `integrationType` is `task`.
416
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task. Required when `integrationType` is `task`.
417
+ # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`.
418
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise.
419
+ # @param [String] integration_priority The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.
420
+ # @param [Boolean] integration_creation_on_message In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.
421
+ # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`.
422
+ # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`.
423
+ # @param [String] integration_retry_count The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise.
424
+ # @return [FlexFlowInstance] Updated FlexFlowInstance
425
+ def update(
426
+ friendly_name: :unset,
427
+ chat_service_sid: :unset,
428
+ channel_type: :unset,
429
+ contact_identity: :unset,
430
+ enabled: :unset,
431
+ integration_type: :unset,
432
+ integration_flow_sid: :unset,
433
+ integration_url: :unset,
434
+ integration_workspace_sid: :unset,
435
+ integration_workflow_sid: :unset,
436
+ integration_channel: :unset,
437
+ integration_timeout: :unset,
438
+ integration_priority: :unset,
439
+ integration_creation_on_message: :unset,
440
+ long_lived: :unset,
441
+ janitor_enabled: :unset,
442
+ integration_retry_count: :unset
443
+ )
444
+
445
+ data = Twilio::Values.of({
446
+ 'FriendlyName' => friendly_name,
447
+ 'ChatServiceSid' => chat_service_sid,
448
+ 'ChannelType' => channel_type,
449
+ 'ContactIdentity' => contact_identity,
450
+ 'Enabled' => enabled,
451
+ 'IntegrationType' => integration_type,
452
+ 'Integration.FlowSid' => integration_flow_sid,
453
+ 'Integration.Url' => integration_url,
454
+ 'Integration.WorkspaceSid' => integration_workspace_sid,
455
+ 'Integration.WorkflowSid' => integration_workflow_sid,
456
+ 'Integration.Channel' => integration_channel,
457
+ 'Integration.Timeout' => integration_timeout,
458
+ 'Integration.Priority' => integration_priority,
459
+ 'Integration.CreationOnMessage' => integration_creation_on_message,
460
+ 'LongLived' => long_lived,
461
+ 'JanitorEnabled' => janitor_enabled,
462
+ 'Integration.RetryCount' => integration_retry_count,
463
+ })
464
+
465
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
466
+
467
+
468
+
469
+
470
+
471
+ payload = @version.update('POST', @uri, data: data, headers: headers)
472
+ FlexFlowInstance.new(
473
+ @version,
474
+ payload,
475
+ sid: @solution[:sid],
476
+ )
477
+ end
478
+
479
+ ##
480
+ # Update the FlexFlowInstanceMetadata
481
+ # @param [String] friendly_name A descriptive string that you create to describe the Flex Flow resource.
482
+ # @param [String] chat_service_sid The SID of the chat service.
483
+ # @param [ChannelType] channel_type
484
+ # @param [String] contact_identity The channel contact's Identity.
485
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
486
+ # @param [IntegrationType] integration_type
487
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when `integrationType` is `studio`.
488
+ # @param [String] integration_url The URL of the external webhook. Required when `integrationType` is `external`.
489
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task. Required when `integrationType` is `task`.
490
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task. Required when `integrationType` is `task`.
491
+ # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`.
492
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise.
493
+ # @param [String] integration_priority The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.
494
+ # @param [Boolean] integration_creation_on_message In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.
495
+ # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`.
496
+ # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`.
497
+ # @param [String] integration_retry_count The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise.
498
+ # @return [FlexFlowInstance] Updated FlexFlowInstance
499
+ def update_with_metadata(
500
+ friendly_name: :unset,
501
+ chat_service_sid: :unset,
502
+ channel_type: :unset,
503
+ contact_identity: :unset,
504
+ enabled: :unset,
505
+ integration_type: :unset,
506
+ integration_flow_sid: :unset,
507
+ integration_url: :unset,
508
+ integration_workspace_sid: :unset,
509
+ integration_workflow_sid: :unset,
510
+ integration_channel: :unset,
511
+ integration_timeout: :unset,
512
+ integration_priority: :unset,
513
+ integration_creation_on_message: :unset,
514
+ long_lived: :unset,
515
+ janitor_enabled: :unset,
516
+ integration_retry_count: :unset
517
+ )
518
+
519
+ data = Twilio::Values.of({
520
+ 'FriendlyName' => friendly_name,
521
+ 'ChatServiceSid' => chat_service_sid,
522
+ 'ChannelType' => channel_type,
523
+ 'ContactIdentity' => contact_identity,
524
+ 'Enabled' => enabled,
525
+ 'IntegrationType' => integration_type,
526
+ 'Integration.FlowSid' => integration_flow_sid,
527
+ 'Integration.Url' => integration_url,
528
+ 'Integration.WorkspaceSid' => integration_workspace_sid,
529
+ 'Integration.WorkflowSid' => integration_workflow_sid,
530
+ 'Integration.Channel' => integration_channel,
531
+ 'Integration.Timeout' => integration_timeout,
532
+ 'Integration.Priority' => integration_priority,
533
+ 'Integration.CreationOnMessage' => integration_creation_on_message,
534
+ 'LongLived' => long_lived,
535
+ 'JanitorEnabled' => janitor_enabled,
536
+ 'Integration.RetryCount' => integration_retry_count,
537
+ })
538
+
539
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
540
+
541
+
542
+
543
+
544
+
545
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
546
+ flex_flow_instance = FlexFlowInstance.new(
547
+ @version,
548
+ response.body,
549
+ sid: @solution[:sid],
550
+ )
551
+ FlexFlowInstanceMetadata.new(
552
+ @version,
553
+ flex_flow_instance,
554
+ response.headers,
555
+ response.status_code
556
+ )
557
+ end
558
+
559
+
560
+ ##
561
+ # Provide a user friendly representation
562
+ def to_s
563
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
564
+ "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
565
+ end
566
+
567
+ ##
568
+ # Provide a detailed, user friendly representation
569
+ def inspect
570
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
571
+ "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
572
+ end
573
+ end
574
+
575
+ class FlexFlowInstanceMetadata < InstanceResourceMetadata
576
+ ##
577
+ # Initializes a new FlexFlowInstanceMetadata.
578
+ # @param [Version] version Version that contains the resource
579
+ # @param [}FlexFlowInstance] flex_flow_instance The instance associated with the metadata.
580
+ # @param [Hash] headers Header object with response headers.
581
+ # @param [Integer] status_code The HTTP status code of the response.
582
+ # @return [FlexFlowInstanceMetadata] The initialized instance with metadata.
583
+ def initialize(version, flex_flow_instance, headers, status_code)
584
+ super(version, headers, status_code)
585
+ @flex_flow_instance = flex_flow_instance
586
+ end
587
+
588
+ def flex_flow
589
+ @flex_flow_instance
590
+ end
591
+
592
+ def headers
593
+ @headers
594
+ end
595
+
596
+ def status_code
597
+ @status_code
598
+ end
599
+
600
+ def to_s
601
+ "<Twilio.Api.V2010.FlexFlowInstanceMetadata status=#{@status_code}>"
602
+ end
603
+ end
604
+
605
+ class FlexFlowListResponse < InstanceListResource
606
+ # @param [Array<FlexFlowInstance>] instance
607
+ # @param [Hash{String => Object}] headers
608
+ # @param [Integer] status_code
609
+ def initialize(version, payload, key)
610
+ @flex_flow_instance = payload.body[key].map do |data|
611
+ FlexFlowInstance.new(version, data)
612
+ end
613
+ @headers = payload.headers
614
+ @status_code = payload.status_code
615
+ end
616
+
617
+ def flex_flow_instance
618
+ @instance
619
+ end
620
+ end
621
+
622
+ class FlexFlowPage < Page
623
+ ##
624
+ # Initialize the FlexFlowPage
625
+ # @param [Version] version Version that contains the resource
626
+ # @param [Response] response Response from the API
627
+ # @param [Hash] solution Path solution for the resource
628
+ # @return [FlexFlowPage] FlexFlowPage
629
+ def initialize(version, response, solution)
630
+ super(version, response)
631
+
632
+
633
+ # Path Solution
634
+ @solution = solution
635
+ end
636
+
637
+ ##
638
+ # Build an instance of FlexFlowInstance
639
+ # @param [Hash] payload Payload response from the API
640
+ # @return [FlexFlowInstance] FlexFlowInstance
641
+ def get_instance(payload)
642
+ FlexFlowInstance.new(@version, payload)
643
+ end
644
+
645
+ ##
646
+ # Provide a user friendly representation
647
+ def to_s
648
+ '<Twilio.FlexApi.V1.FlexFlowPage>'
649
+ end
650
+ end
651
+
652
+ class FlexFlowPageMetadata < PageMetadata
653
+ attr_reader :flex_flow_page
654
+
655
+ def initialize(version, response, solution, limit)
656
+ super(version, response)
657
+ @flex_flow_page = []
658
+ @limit = limit
659
+ key = get_key(response.body)
660
+ records = 0
661
+ while( limit != :unset && records < limit )
662
+ @flex_flow_page << FlexFlowListResponse.new(version, @payload, key, limit - records)
663
+ @payload = self.next_page
664
+ break unless @payload
665
+ records += @payload.body[key].size
666
+ end
667
+ # Path Solution
668
+ @solution = solution
669
+ end
670
+
671
+ def each
672
+ @flex_flow_page.each do |record|
673
+ yield record
674
+ end
675
+ end
676
+
677
+ def to_s
678
+ '<Twilio::REST::FlexApi::V1PageMetadata>';
679
+ end
680
+ end
681
+ class FlexFlowListResponse < InstanceListResource
682
+
683
+ # @param [Array<FlexFlowInstance>] instance
684
+ # @param [Hash{String => Object}] headers
685
+ # @param [Integer] status_code
686
+ def initialize(version, payload, key, limit = :unset)
687
+ data_list = payload.body[key]
688
+ if limit != :unset
689
+ data_list = data_list[0, limit]
690
+ end
691
+ @flex_flow = data_list.map do |data|
692
+ FlexFlowInstance.new(version, data)
693
+ end
694
+ @headers = payload.headers
695
+ @status_code = payload.status_code
696
+ end
697
+
698
+ def flex_flow
699
+ @flex_flow
700
+ end
701
+
702
+ def headers
703
+ @headers
704
+ end
705
+
706
+ def status_code
707
+ @status_code
708
+ end
709
+ end
710
+
711
+ class FlexFlowInstance < InstanceResource
712
+ ##
713
+ # Initialize the FlexFlowInstance
714
+ # @param [Version] version Version that contains the resource
715
+ # @param [Hash] payload payload that contains response from Twilio
716
+ # @param [String] account_sid The SID of the
717
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this FlexFlow
718
+ # resource.
719
+ # @param [String] sid The SID of the Call resource to fetch.
720
+ # @return [FlexFlowInstance] FlexFlowInstance
721
+ def initialize(version, payload , sid: nil)
722
+ super(version)
723
+
724
+
725
+ # Marshaled Properties
726
+ @properties = {
727
+ 'account_sid' => payload['account_sid'],
728
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
729
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
730
+ 'sid' => payload['sid'],
731
+ 'friendly_name' => payload['friendly_name'],
732
+ 'chat_service_sid' => payload['chat_service_sid'],
733
+ 'channel_type' => payload['channel_type'],
734
+ 'contact_identity' => payload['contact_identity'],
735
+ 'enabled' => payload['enabled'],
736
+ 'integration_type' => payload['integration_type'],
737
+ 'integration' => payload['integration'],
738
+ 'long_lived' => payload['long_lived'],
739
+ 'janitor_enabled' => payload['janitor_enabled'],
740
+ 'url' => payload['url'],
741
+ }
742
+
743
+ # Context
744
+ @instance_context = nil
745
+ @params = { 'sid' => sid || @properties['sid'] , }
746
+ end
747
+
748
+ ##
749
+ # Generate an instance context for the instance, the context is capable of
750
+ # performing various actions. All instance actions are proxied to the context
751
+ # @return [FlexFlowContext] CallContext for this CallInstance
752
+ def context
753
+ unless @instance_context
754
+ @instance_context = FlexFlowContext.new(@version , @params['sid'])
755
+ end
756
+ @instance_context
757
+ end
758
+
759
+ ##
760
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Flex Flow resource and owns this Workflow.
761
+ def account_sid
762
+ @properties['account_sid']
763
+ end
764
+
765
+ ##
766
+ # @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.
767
+ def date_created
768
+ @properties['date_created']
769
+ end
770
+
771
+ ##
772
+ # @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.
773
+ def date_updated
774
+ @properties['date_updated']
775
+ end
776
+
777
+ ##
778
+ # @return [String] The unique string that we created to identify the Flex Flow resource.
779
+ def sid
780
+ @properties['sid']
781
+ end
782
+
783
+ ##
784
+ # @return [String] The string that you assigned to describe the resource.
785
+ def friendly_name
786
+ @properties['friendly_name']
787
+ end
788
+
789
+ ##
790
+ # @return [String] The SID of the chat service.
791
+ def chat_service_sid
792
+ @properties['chat_service_sid']
793
+ end
794
+
795
+ ##
796
+ # @return [ChannelType]
797
+ def channel_type
798
+ @properties['channel_type']
799
+ end
800
+
801
+ ##
802
+ # @return [String] The channel contact's Identity.
803
+ def contact_identity
804
+ @properties['contact_identity']
805
+ end
806
+
807
+ ##
808
+ # @return [Boolean] Whether the Flex Flow is enabled.
809
+ def enabled
810
+ @properties['enabled']
811
+ end
812
+
813
+ ##
814
+ # @return [IntegrationType]
815
+ def integration_type
816
+ @properties['integration_type']
817
+ end
818
+
819
+ ##
820
+ # @return [Hash] An object that contains specific parameters for the integration.
821
+ def integration
822
+ @properties['integration']
823
+ end
824
+
825
+ ##
826
+ # @return [Boolean] When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`.
827
+ def long_lived
828
+ @properties['long_lived']
829
+ end
830
+
831
+ ##
832
+ # @return [Boolean] When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`.
833
+ def janitor_enabled
834
+ @properties['janitor_enabled']
835
+ end
836
+
837
+ ##
838
+ # @return [String] The absolute URL of the Flex Flow resource.
839
+ def url
840
+ @properties['url']
841
+ end
842
+
843
+ ##
844
+ # Delete the FlexFlowInstance
845
+ # @return [Boolean] True if delete succeeds, false otherwise
846
+ def delete
847
+
848
+ context.delete
849
+ end
850
+
851
+ ##
852
+ # Fetch the FlexFlowInstance
853
+ # @return [FlexFlowInstance] Fetched FlexFlowInstance
854
+ def fetch
855
+
856
+ context.fetch
857
+ end
858
+
859
+ ##
860
+ # Update the FlexFlowInstance
861
+ # @param [String] friendly_name A descriptive string that you create to describe the Flex Flow resource.
862
+ # @param [String] chat_service_sid The SID of the chat service.
863
+ # @param [ChannelType] channel_type
864
+ # @param [String] contact_identity The channel contact's Identity.
865
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
866
+ # @param [IntegrationType] integration_type
867
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when `integrationType` is `studio`.
868
+ # @param [String] integration_url The URL of the external webhook. Required when `integrationType` is `external`.
869
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task. Required when `integrationType` is `task`.
870
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task. Required when `integrationType` is `task`.
871
+ # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name (e.g., `sms`) to use for the Task that will be created. Applicable and required when `integrationType` is `task`. The default value is `default`.
872
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`, not applicable otherwise.
873
+ # @param [String] integration_priority The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.
874
+ # @param [Boolean] integration_creation_on_message In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.
875
+ # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to `false`.
876
+ # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to `false`.
877
+ # @param [String] integration_retry_count The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when `integrationType` is `studio` or `external`, not applicable otherwise.
878
+ # @return [FlexFlowInstance] Updated FlexFlowInstance
879
+ def update(
880
+ friendly_name: :unset,
881
+ chat_service_sid: :unset,
882
+ channel_type: :unset,
883
+ contact_identity: :unset,
884
+ enabled: :unset,
885
+ integration_type: :unset,
886
+ integration_flow_sid: :unset,
887
+ integration_url: :unset,
888
+ integration_workspace_sid: :unset,
889
+ integration_workflow_sid: :unset,
890
+ integration_channel: :unset,
891
+ integration_timeout: :unset,
892
+ integration_priority: :unset,
893
+ integration_creation_on_message: :unset,
894
+ long_lived: :unset,
895
+ janitor_enabled: :unset,
896
+ integration_retry_count: :unset
897
+ )
898
+
899
+ context.update(
900
+ friendly_name: friendly_name,
901
+ chat_service_sid: chat_service_sid,
902
+ channel_type: channel_type,
903
+ contact_identity: contact_identity,
904
+ enabled: enabled,
905
+ integration_type: integration_type,
906
+ integration_flow_sid: integration_flow_sid,
907
+ integration_url: integration_url,
908
+ integration_workspace_sid: integration_workspace_sid,
909
+ integration_workflow_sid: integration_workflow_sid,
910
+ integration_channel: integration_channel,
911
+ integration_timeout: integration_timeout,
912
+ integration_priority: integration_priority,
913
+ integration_creation_on_message: integration_creation_on_message,
914
+ long_lived: long_lived,
915
+ janitor_enabled: janitor_enabled,
916
+ integration_retry_count: integration_retry_count,
917
+ )
918
+ end
919
+
920
+ ##
921
+ # Provide a user friendly representation
922
+ def to_s
923
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
924
+ "<Twilio.FlexApi.V1.FlexFlowInstance #{values}>"
925
+ end
926
+
927
+ ##
928
+ # Provide a detailed, user friendly representation
929
+ def inspect
930
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
931
+ "<Twilio.FlexApi.V1.FlexFlowInstance #{values}>"
932
+ end
933
+ end
347
934
 
348
- class FlexFlowInstance < InstanceResource
349
- ##
350
- # Initialize the FlexFlowInstance
351
- # @param [Version] version Version that contains the resource
352
- # @param [Hash] payload payload that contains response from Twilio
353
- # @param [String] sid The SID of the Flex Flow resource to fetch.
354
- # @return [FlexFlowInstance] FlexFlowInstance
355
- def initialize(version, payload, sid: nil)
356
- super(version)
357
-
358
- # Marshaled Properties
359
- @properties = {
360
- 'account_sid' => payload['account_sid'],
361
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
362
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
363
- 'sid' => payload['sid'],
364
- 'friendly_name' => payload['friendly_name'],
365
- 'chat_service_sid' => payload['chat_service_sid'],
366
- 'channel_type' => payload['channel_type'],
367
- 'contact_identity' => payload['contact_identity'],
368
- 'enabled' => payload['enabled'],
369
- 'integration_type' => payload['integration_type'],
370
- 'integration' => payload['integration'],
371
- 'long_lived' => payload['long_lived'],
372
- 'janitor_enabled' => payload['janitor_enabled'],
373
- 'url' => payload['url'],
374
- }
375
-
376
- # Context
377
- @instance_context = nil
378
- @params = {'sid' => sid || @properties['sid'], }
379
- end
380
-
381
- ##
382
- # Generate an instance context for the instance, the context is capable of
383
- # performing various actions. All instance actions are proxied to the context
384
- # @return [FlexFlowContext] FlexFlowContext for this FlexFlowInstance
385
- def context
386
- unless @instance_context
387
- @instance_context = FlexFlowContext.new(@version, @params['sid'], )
388
935
  end
389
- @instance_context
390
- end
391
-
392
- ##
393
- # @return [String] The SID of the Account that created the resource
394
- def account_sid
395
- @properties['account_sid']
396
- end
397
-
398
- ##
399
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
400
- def date_created
401
- @properties['date_created']
402
- end
403
-
404
- ##
405
- # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
406
- def date_updated
407
- @properties['date_updated']
408
- end
409
-
410
- ##
411
- # @return [String] The unique string that identifies the resource
412
- def sid
413
- @properties['sid']
414
- end
415
-
416
- ##
417
- # @return [String] The string that you assigned to describe the resource
418
- def friendly_name
419
- @properties['friendly_name']
420
- end
421
-
422
- ##
423
- # @return [String] The SID of the chat service
424
- def chat_service_sid
425
- @properties['chat_service_sid']
426
- end
427
-
428
- ##
429
- # @return [flex_flow.ChannelType] The channel type
430
- def channel_type
431
- @properties['channel_type']
432
- end
433
-
434
- ##
435
- # @return [String] The channel contact's Identity
436
- def contact_identity
437
- @properties['contact_identity']
438
- end
439
-
440
- ##
441
- # @return [Boolean] Whether the Flex Flow is enabled
442
- def enabled
443
- @properties['enabled']
444
- end
445
-
446
- ##
447
- # @return [flex_flow.IntegrationType] The software that will handle inbound messages.
448
- def integration_type
449
- @properties['integration_type']
450
- end
451
-
452
- ##
453
- # @return [Hash] An object that contains specific parameters for the integration
454
- def integration
455
- @properties['integration']
456
- end
457
-
458
- ##
459
- # @return [Boolean] Re-use this chat channel for future interactions with a contact
460
- def long_lived
461
- @properties['long_lived']
462
- end
463
-
464
- ##
465
- # @return [Boolean] Remove active Proxy sessions if the corresponding Task is deleted.
466
- def janitor_enabled
467
- @properties['janitor_enabled']
468
- end
469
-
470
- ##
471
- # @return [String] The absolute URL of the Flex Flow resource
472
- def url
473
- @properties['url']
474
- end
475
-
476
- ##
477
- # Fetch the FlexFlowInstance
478
- # @return [FlexFlowInstance] Fetched FlexFlowInstance
479
- def fetch
480
- context.fetch
481
- end
482
-
483
- ##
484
- # Update the FlexFlowInstance
485
- # @param [String] friendly_name A descriptive string that you create to describe
486
- # the Flex Flow resource.
487
- # @param [String] chat_service_sid The SID of the chat service.
488
- # @param [flex_flow.ChannelType] channel_type The channel type. One of `web`,
489
- # `facebook`, `sms`, `whatsapp`, `line` or `custom`. By default, Studio’s Send to
490
- # Flex widget passes it on to the Task attributes for Tasks created based on this
491
- # Flex Flow. The Task attributes will be used by the Flex UI to render the
492
- # respective Task as appropriate (applying channel-specific design and length
493
- # limits). If `channelType` is `facebook`, `whatsapp` or `line`, the Send to Flex
494
- # widget should set the Task Channel to Programmable Chat.
495
- # @param [String] contact_identity The channel contact's Identity.
496
- # @param [Boolean] enabled Whether the new Flex Flow is enabled.
497
- # @param [flex_flow.IntegrationType] integration_type The software that will
498
- # handle inbound messages. {Integration
499
- # Type}[https://www.twilio.com/docs/flex/developer/messaging/manage-flows#integration-types]
500
- # can be: `studio`, `external`, or `task`.
501
- # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
502
- # `integrationType` is `studio`.
503
- # @param [String] integration_url The URL of the external webhook. Required when
504
- # `integrationType` is `external`.
505
- # @param [String] integration_workspace_sid The Workspace SID for a new Task.
506
- # Required when `integrationType` is `task`.
507
- # @param [String] integration_workflow_sid The Workflow SID for a new Task.
508
- # Required when `integrationType` is `task`.
509
- # @param [String] integration_channel The Task Channel SID (TCXXXX) or unique name
510
- # (e.g., `sms`) to use for the Task that will be created. Applicable and required
511
- # when `integrationType` is `task`. The default value is `default`.
512
- # @param [String] integration_timeout The Task timeout in seconds for a new Task.
513
- # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
514
- # not applicable otherwise.
515
- # @param [String] integration_priority The Task priority of a new Task. The
516
- # default priority is 0. Optional when `integrationType` is `task`, not applicable
517
- # otherwise.
518
- # @param [Boolean] integration_creation_on_message In the context of outbound
519
- # messaging, defines whether to create a Task immediately (and therefore reserve
520
- # the conversation to current agent), or delay Task creation until the customer
521
- # sends the first response. Set to false to create immediately, true to delay Task
522
- # creation. This setting is only applicable for outbound messaging.
523
- # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
524
- # so that it may be used for subsequent interactions with a contact identity.
525
- # Defaults to `false`.
526
- # @param [Boolean] janitor_enabled When enabled, the Messaging Channel Janitor
527
- # will remove active Proxy sessions if the associated Task is deleted outside of
528
- # the Flex UI. Defaults to `false`.
529
- # @param [String] integration_retry_count The number of times to retry the Studio
530
- # Flow or webhook in case of failure. Takes integer values from 0 to 3 with the
531
- # default being 3. Optional when `integrationType` is `studio` or `external`, not
532
- # applicable otherwise.
533
- # @return [FlexFlowInstance] Updated FlexFlowInstance
534
- def update(friendly_name: :unset, chat_service_sid: :unset, channel_type: :unset, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
535
- context.update(
536
- friendly_name: friendly_name,
537
- chat_service_sid: chat_service_sid,
538
- channel_type: channel_type,
539
- contact_identity: contact_identity,
540
- enabled: enabled,
541
- integration_type: integration_type,
542
- integration_flow_sid: integration_flow_sid,
543
- integration_url: integration_url,
544
- integration_workspace_sid: integration_workspace_sid,
545
- integration_workflow_sid: integration_workflow_sid,
546
- integration_channel: integration_channel,
547
- integration_timeout: integration_timeout,
548
- integration_priority: integration_priority,
549
- integration_creation_on_message: integration_creation_on_message,
550
- long_lived: long_lived,
551
- janitor_enabled: janitor_enabled,
552
- integration_retry_count: integration_retry_count,
553
- )
554
- end
555
-
556
- ##
557
- # Delete the FlexFlowInstance
558
- # @return [Boolean] true if delete succeeds, false otherwise
559
- def delete
560
- context.delete
561
- end
562
-
563
- ##
564
- # Provide a user friendly representation
565
- def to_s
566
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
567
- "<Twilio.FlexApi.V1.FlexFlowInstance #{values}>"
568
- end
569
-
570
- ##
571
- # Provide a detailed, user friendly representation
572
- def inspect
573
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
574
- "<Twilio.FlexApi.V1.FlexFlowInstance #{values}>"
575
- end
576
936
  end
577
- end
578
937
  end
579
- end
580
- end
938
+ end