twilio-ruby 5.77.0 → 7.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (728) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +11 -1
  3. data/.gitignore +3 -0
  4. data/CHANGES.md +722 -0
  5. data/CONTRIBUTING.md +10 -2
  6. data/Gemfile +3 -0
  7. data/LICENSE +1 -1
  8. data/Makefile +6 -0
  9. data/README.md +15 -9
  10. data/UPGRADE.md +21 -0
  11. data/cluster_spec.rb +77 -0
  12. data/lib/twilio-ruby/base/client_base.rb +124 -0
  13. data/lib/twilio-ruby/framework/request.rb +8 -1
  14. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  15. data/lib/twilio-ruby/http/http_client.rb +13 -5
  16. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  17. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +201 -178
  18. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +133 -0
  19. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +133 -0
  20. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +380 -332
  21. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +380 -332
  22. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -114
  23. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +176 -0
  24. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +219 -192
  25. data/lib/twilio-ruby/rest/accounts/v1.rb +63 -42
  26. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  27. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  29. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  30. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +624 -605
  31. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +316 -320
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +395 -0
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +395 -0
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +395 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +395 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +395 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +395 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +395 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +435 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +139 -118
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +403 -417
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +294 -342
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +503 -511
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +844 -641
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +844 -641
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +307 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +159 -153
  49. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +233 -240
  50. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +955 -1050
  51. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +668 -756
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +458 -458
  53. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +494 -493
  54. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +433 -407
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +323 -352
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +403 -418
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +539 -554
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +539 -553
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +539 -553
  60. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  61. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +342 -302
  62. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +170 -166
  63. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +345 -350
  64. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +624 -641
  65. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +160 -138
  66. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +160 -138
  67. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +403 -399
  68. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +375 -358
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -338
  70. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +435 -390
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +200 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +384 -380
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +373 -385
  74. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +369 -372
  75. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +512 -513
  76. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +422 -408
  77. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +342 -306
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +384 -368
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +408 -373
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +353 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +353 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +353 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +95 -103
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +346 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +346 -338
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +658 -645
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +421 -421
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +408 -374
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +142 -150
  92. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +174 -154
  93. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +369 -350
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +315 -339
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +315 -339
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +315 -339
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +315 -339
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +315 -339
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +315 -339
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +315 -339
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +315 -339
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +382 -416
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +494 -484
  104. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +113 -104
  105. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +175 -161
  106. data/lib/twilio-ruby/rest/api/v2010/account.rb +986 -943
  107. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  108. data/lib/twilio-ruby/rest/api.rb +25 -34
  109. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  110. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +355 -0
  111. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +362 -0
  112. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +303 -0
  113. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +201 -0
  114. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +668 -0
  115. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +229 -0
  116. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +209 -0
  117. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +591 -0
  118. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +264 -0
  119. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +264 -0
  120. data/lib/twilio-ruby/rest/assistants/v1/session.rb +328 -0
  121. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +586 -0
  122. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  123. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  124. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  125. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +302 -279
  126. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +301 -279
  127. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +276 -248
  128. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +249 -235
  129. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +248 -216
  130. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  131. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  132. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  133. data/lib/twilio-ruby/rest/chat/v1/credential.rb +428 -403
  134. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +381 -391
  135. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -440
  136. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -437
  137. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +543 -515
  138. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +405 -367
  139. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  140. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +474 -440
  141. data/lib/twilio-ruby/rest/chat/v1/service.rb +870 -894
  142. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  143. data/lib/twilio-ruby/rest/chat/v2/credential.rb +428 -401
  144. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +376 -370
  145. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +381 -386
  146. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +492 -527
  147. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +519 -533
  148. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +449 -467
  149. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +612 -605
  150. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +405 -369
  151. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +369 -381
  152. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +412 -419
  153. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +516 -491
  154. data/lib/twilio-ruby/rest/chat/v2/service.rb +773 -778
  155. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  156. data/lib/twilio-ruby/rest/chat/v3/channel.rb +291 -267
  157. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  158. data/lib/twilio-ruby/rest/chat.rb +4 -48
  159. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  160. data/lib/twilio-ruby/rest/client.rb +333 -584
  161. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +185 -0
  162. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +202 -188
  163. data/lib/twilio-ruby/rest/content/v1/content.rb +941 -336
  164. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  165. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  166. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  167. data/lib/twilio-ruby/rest/content/v2/content.rb +316 -0
  168. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +309 -0
  169. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  170. data/lib/twilio-ruby/rest/content.rb +2 -46
  171. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  172. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +481 -444
  173. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +259 -227
  174. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +284 -252
  175. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +337 -344
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +543 -510
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +504 -495
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +434 -403
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +626 -590
  180. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +434 -409
  181. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +305 -304
  182. data/lib/twilio-ruby/rest/conversations/v1/role.rb +393 -356
  183. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +369 -373
  184. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +305 -289
  185. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +251 -235
  186. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +312 -279
  187. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +344 -371
  188. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +550 -550
  189. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +513 -530
  190. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +443 -438
  191. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +638 -626
  192. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +311 -317
  193. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +405 -380
  194. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +453 -455
  195. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +490 -474
  196. data/lib/twilio-ruby/rest/conversations/v1/service.rb +483 -447
  197. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +452 -435
  198. data/lib/twilio-ruby/rest/conversations/v1/user.rb +478 -441
  199. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  200. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  201. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  202. data/lib/twilio-ruby/rest/events/v1/event_type.rb +319 -288
  203. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  204. data/lib/twilio-ruby/rest/events/v1/schema.rb +230 -218
  205. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +117 -100
  206. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +123 -103
  207. data/lib/twilio-ruby/rest/events/v1/sink.rb +443 -408
  208. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +374 -339
  209. data/lib/twilio-ruby/rest/events/v1/subscription.rb +425 -387
  210. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  211. data/lib/twilio-ruby/rest/events.rb +5 -34
  212. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +439 -387
  214. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +372 -330
  215. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +547 -496
  216. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +572 -570
  217. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +321 -306
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +221 -208
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +352 -403
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  224. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +157 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +137 -124
  226. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  227. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +247 -229
  228. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +343 -319
  229. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +404 -398
  230. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +264 -225
  231. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +397 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +446 -0
  233. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +247 -0
  234. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +393 -0
  235. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +386 -0
  236. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +233 -0
  237. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +332 -0
  238. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +256 -0
  239. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +188 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +387 -331
  241. data/lib/twilio-ruby/rest/flex_api/v1.rb +313 -214
  242. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +370 -0
  243. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +145 -127
  244. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  245. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  246. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  247. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +247 -227
  248. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  249. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  250. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  251. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +270 -0
  252. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +223 -0
  253. data/lib/twilio-ruby/rest/iam/v1/key.rb +177 -0
  254. data/lib/twilio-ruby/rest/iam/v1.rb +61 -0
  255. data/lib/twilio-ruby/rest/iam.rb +6 -0
  256. data/lib/twilio-ruby/rest/iam_base.rb +38 -0
  257. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +315 -315
  258. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +353 -0
  259. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +270 -255
  260. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +242 -225
  261. data/lib/twilio-ruby/rest/insights/v1/call.rb +263 -236
  262. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +534 -439
  263. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +484 -467
  264. data/lib/twilio-ruby/rest/insights/v1/conference.rb +498 -502
  265. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  266. data/lib/twilio-ruby/rest/insights/v1/room.rb +491 -489
  267. data/lib/twilio-ruby/rest/insights/v1/setting.rb +249 -205
  268. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  269. data/lib/twilio-ruby/rest/insights.rb +6 -34
  270. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  271. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +447 -0
  272. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +356 -0
  273. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +217 -0
  274. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +197 -0
  275. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +358 -0
  276. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +356 -0
  277. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +517 -0
  278. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +227 -0
  279. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +389 -0
  280. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +262 -0
  281. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +525 -0
  282. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  283. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  284. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  285. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +428 -364
  286. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +381 -359
  287. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -397
  288. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -409
  289. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +543 -488
  290. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +405 -347
  291. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  292. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +474 -418
  293. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +870 -779
  294. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  295. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +428 -364
  296. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +376 -343
  297. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +381 -359
  298. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +492 -451
  299. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +519 -479
  300. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +449 -411
  301. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +612 -555
  302. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +405 -347
  303. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +369 -351
  304. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +404 -384
  305. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +516 -467
  306. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +773 -689
  307. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  308. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  309. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  310. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +246 -239
  311. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  312. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +376 -335
  313. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  314. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  315. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  316. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +309 -0
  317. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +336 -0
  318. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +352 -0
  319. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +157 -0
  320. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +465 -0
  321. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +310 -0
  322. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +199 -0
  323. data/lib/twilio-ruby/rest/marketplace/v1.rb +85 -0
  324. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  325. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  326. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +124 -119
  327. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +361 -346
  328. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +499 -466
  329. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +192 -0
  330. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +285 -0
  331. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +282 -232
  332. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +231 -218
  333. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +161 -144
  334. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +209 -210
  335. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +197 -0
  336. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +356 -335
  337. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +370 -0
  338. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +363 -341
  339. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +363 -336
  340. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +613 -521
  341. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +124 -115
  342. data/lib/twilio-ruby/rest/messaging/v1/service.rb +774 -763
  343. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +793 -713
  344. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +109 -94
  345. data/lib/twilio-ruby/rest/messaging/v1.rb +187 -165
  346. data/lib/twilio-ruby/rest/messaging.rb +10 -53
  347. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  348. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +355 -307
  349. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +348 -300
  350. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +202 -185
  351. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +342 -320
  352. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +374 -335
  353. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +367 -328
  354. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +420 -383
  355. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  356. data/lib/twilio-ruby/rest/microvisor.rb +4 -50
  357. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  358. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +401 -395
  359. data/lib/twilio-ruby/rest/monitor/v1/event.rb +384 -390
  360. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  361. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  362. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  363. data/lib/twilio-ruby/rest/notify/v1/credential.rb +428 -408
  364. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +442 -452
  365. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +316 -362
  366. data/lib/twilio-ruby/rest/notify/v1/service.rb +633 -622
  367. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  368. data/lib/twilio-ruby/rest/notify.rb +3 -34
  369. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +241 -0
  371. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +111 -94
  372. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +294 -0
  373. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +322 -0
  374. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +256 -0
  375. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +149 -0
  376. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +168 -0
  377. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +273 -0
  378. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +161 -0
  379. data/lib/twilio-ruby/rest/numbers/v1.rb +148 -28
  380. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +344 -0
  381. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +408 -0
  382. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +266 -0
  383. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +277 -0
  384. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +507 -0
  385. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +281 -261
  386. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +329 -298
  387. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +340 -309
  388. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +197 -181
  389. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +613 -607
  390. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +400 -351
  391. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +293 -266
  392. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +342 -307
  393. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +428 -371
  394. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +293 -266
  395. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +178 -181
  396. data/lib/twilio-ruby/rest/numbers/v2.rb +93 -28
  397. data/lib/twilio-ruby/rest/numbers.rb +2 -47
  398. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  399. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +144 -0
  400. data/lib/twilio-ruby/rest/oauth/v1/token.rb +176 -151
  401. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  402. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  403. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  404. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +371 -396
  405. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +451 -446
  406. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +617 -625
  407. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  408. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  409. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +326 -309
  410. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +345 -330
  411. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +436 -398
  412. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  413. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +383 -374
  414. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +448 -399
  415. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +439 -407
  416. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +383 -374
  417. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +424 -398
  418. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +442 -404
  419. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +383 -374
  420. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +424 -398
  421. data/lib/twilio-ruby/rest/preview/sync/service.rb +502 -452
  422. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  423. data/lib/twilio-ruby/rest/preview/wireless/command.rb +390 -364
  424. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +455 -398
  425. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +233 -205
  426. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +577 -523
  427. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  428. data/lib/twilio-ruby/rest/preview.rb +11 -79
  429. data/lib/twilio-ruby/rest/preview_base.rb +53 -0
  430. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +300 -275
  431. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +108 -119
  432. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +293 -268
  433. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +108 -119
  434. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +300 -275
  435. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +223 -197
  436. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +122 -135
  437. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  438. data/lib/twilio-ruby/rest/pricing/v2/country.rb +292 -270
  439. data/lib/twilio-ruby/rest/pricing/v2/number.rb +235 -217
  440. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +300 -275
  441. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +241 -220
  442. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +122 -138
  443. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  444. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  445. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  446. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +426 -403
  447. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +411 -418
  448. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +433 -449
  449. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +426 -442
  450. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +529 -506
  451. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +406 -370
  452. data/lib/twilio-ruby/rest/proxy/v1/service.rb +566 -596
  453. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  454. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  455. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  456. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +265 -227
  457. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +265 -223
  458. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +265 -227
  459. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  460. data/lib/twilio-ruby/rest/routes.rb +4 -34
  461. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  462. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  463. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +419 -380
  464. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +209 -208
  465. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +412 -384
  466. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +342 -338
  467. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +362 -383
  468. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +410 -396
  469. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +461 -447
  470. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +224 -234
  471. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  472. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +419 -380
  473. data/lib/twilio-ruby/rest/serverless/v1/service.rb +530 -493
  474. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  475. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  476. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  477. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +209 -199
  478. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +224 -218
  479. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +364 -355
  480. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +429 -394
  481. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +209 -200
  482. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +224 -221
  483. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +364 -361
  484. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +477 -449
  485. data/lib/twilio-ruby/rest/studio/v1/flow.rb +385 -355
  486. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  487. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +209 -200
  488. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +224 -221
  489. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +364 -361
  490. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +470 -442
  491. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +344 -320
  492. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +237 -0
  493. data/lib/twilio-ruby/rest/studio/v2/flow.rb +528 -472
  494. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +124 -99
  495. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  496. data/lib/twilio-ruby/rest/studio.rb +3 -41
  497. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  498. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +396 -382
  499. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +477 -483
  500. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +401 -409
  501. data/lib/twilio-ruby/rest/supersim/v1/network.rb +303 -297
  502. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +342 -332
  503. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +385 -351
  504. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -237
  505. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  506. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  507. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +465 -453
  508. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +361 -361
  509. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +306 -344
  510. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  511. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  512. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  513. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +383 -371
  514. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +464 -423
  515. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +473 -490
  516. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +383 -370
  517. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  518. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +476 -495
  519. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +383 -368
  520. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  521. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +142 -132
  522. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +428 -400
  523. data/lib/twilio-ruby/rest/sync/v1/service.rb +584 -567
  524. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  525. data/lib/twilio-ruby/rest/sync.rb +2 -34
  526. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  527. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +414 -395
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +445 -464
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +709 -749
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +659 -661
  531. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +418 -382
  532. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +164 -0
  533. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +362 -369
  534. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +282 -275
  535. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +233 -236
  536. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +240 -258
  537. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +583 -572
  538. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +691 -732
  539. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +394 -388
  540. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +238 -239
  541. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +284 -265
  542. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +218 -193
  543. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +254 -234
  544. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +630 -637
  545. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +362 -375
  546. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +248 -241
  547. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +233 -244
  548. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +532 -510
  549. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +356 -356
  550. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +234 -206
  551. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +244 -234
  552. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +729 -730
  553. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  554. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  555. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  556. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +349 -320
  557. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +349 -317
  558. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +449 -419
  559. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +482 -451
  560. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +229 -191
  561. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +632 -630
  562. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  563. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  564. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  565. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +249 -0
  566. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +357 -0
  567. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +220 -0
  568. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +364 -352
  569. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +348 -323
  570. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +338 -321
  571. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +541 -513
  572. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +392 -346
  573. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +285 -261
  574. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +278 -252
  575. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +406 -359
  576. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +285 -261
  577. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +364 -352
  578. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +348 -323
  579. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +338 -321
  580. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +541 -513
  581. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  582. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  583. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  584. data/lib/twilio-ruby/rest/verify/v2/form.rb +196 -183
  585. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +228 -207
  586. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +277 -254
  587. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +194 -192
  588. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +503 -531
  589. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +454 -453
  590. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +252 -283
  591. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +429 -414
  592. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +388 -363
  593. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +410 -388
  594. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +429 -384
  595. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +390 -372
  596. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +224 -205
  597. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +456 -412
  598. data/lib/twilio-ruby/rest/verify/v2/service.rb +816 -780
  599. data/lib/twilio-ruby/rest/verify/v2/template.rb +222 -205
  600. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +375 -387
  601. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +242 -226
  602. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  603. data/lib/twilio-ruby/rest/verify.rb +7 -34
  604. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  605. data/lib/twilio-ruby/rest/video/v1/composition.rb +484 -507
  606. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +534 -647
  607. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +286 -261
  608. data/lib/twilio-ruby/rest/video/v1/recording.rb +431 -426
  609. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +286 -261
  610. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +262 -0
  611. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +334 -0
  612. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +186 -0
  613. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +341 -0
  614. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
  615. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +175 -0
  616. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  617. data/lib/twilio-ruby/rest/video/v1/room.rb +613 -602
  618. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  619. data/lib/twilio-ruby/rest/video.rb +7 -34
  620. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  621. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +161 -176
  622. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +510 -486
  623. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +449 -434
  624. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +400 -352
  625. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +138 -121
  626. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  627. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +376 -397
  628. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +220 -190
  629. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +123 -121
  630. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +386 -339
  631. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +369 -319
  632. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  633. data/lib/twilio-ruby/rest/voice.rb +7 -34
  634. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  635. data/lib/twilio-ruby/rest/wireless/v1/command.rb +415 -406
  636. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +472 -436
  637. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  638. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +240 -243
  639. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +641 -647
  640. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +227 -221
  641. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  642. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  643. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  644. data/lib/twilio-ruby/rest.rb +1 -0
  645. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  646. data/lib/twilio-ruby/twiml/voice_response.rb +97 -18
  647. data/lib/twilio-ruby/version.rb +1 -1
  648. data/sonar-project.properties +1 -1
  649. data/twilio-ruby.gemspec +2 -1
  650. metadata +148 -80
  651. data/conf/cacert.pem +0 -3376
  652. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  653. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  654. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  655. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  656. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  657. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  658. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  659. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  660. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  661. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  662. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  663. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  664. 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
  665. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  666. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  667. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  668. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  669. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  670. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  671. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  672. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  673. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  674. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  675. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  676. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  677. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  678. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  679. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  680. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  681. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  682. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  683. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  684. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  685. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  686. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  687. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  688. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  689. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  690. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  691. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  692. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  693. data/lib/twilio-ruby/rest/media.rb +0 -65
  694. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  695. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  696. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  697. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  698. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  699. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  700. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  701. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  702. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  703. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  704. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  705. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  706. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  707. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  708. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  709. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  710. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  711. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  712. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  713. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  714. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  715. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  716. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  717. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  718. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  719. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  720. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  721. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  722. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  723. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  724. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  725. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  726. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  727. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  728. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,580 +1,582 @@
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
+ # Path Solution
29
+ @solution = { }
30
+ @uri = "/FlexFlows"
31
+
32
+ end
33
+ ##
34
+ # Create the FlexFlowInstance
35
+ # @param [String] friendly_name A descriptive string that you create to describe the Flex Flow resource.
36
+ # @param [String] chat_service_sid The SID of the chat service.
37
+ # @param [ChannelType] channel_type
38
+ # @param [String] contact_identity The channel contact's Identity.
39
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
40
+ # @param [IntegrationType] integration_type
41
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when `integrationType` is `studio`.
42
+ # @param [String] integration_url The URL of the external webhook. Required when `integrationType` is `external`.
43
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task. Required when `integrationType` is `task`.
44
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task. Required when `integrationType` is `task`.
45
+ # @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`.
46
+ # @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.
47
+ # @param [String] integration_priority The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.
48
+ # @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.
49
+ # @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`.
50
+ # @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`.
51
+ # @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.
52
+ # @return [FlexFlowInstance] Created FlexFlowInstance
53
+ def create(
54
+ friendly_name: nil,
55
+ chat_service_sid: nil,
56
+ channel_type: nil,
57
+ contact_identity: :unset,
58
+ enabled: :unset,
59
+ integration_type: :unset,
60
+ integration_flow_sid: :unset,
61
+ integration_url: :unset,
62
+ integration_workspace_sid: :unset,
63
+ integration_workflow_sid: :unset,
64
+ integration_channel: :unset,
65
+ integration_timeout: :unset,
66
+ integration_priority: :unset,
67
+ integration_creation_on_message: :unset,
68
+ long_lived: :unset,
69
+ janitor_enabled: :unset,
70
+ integration_retry_count: :unset
71
+ )
72
+
73
+ data = Twilio::Values.of({
74
+ 'FriendlyName' => friendly_name,
75
+ 'ChatServiceSid' => chat_service_sid,
76
+ 'ChannelType' => channel_type,
77
+ 'ContactIdentity' => contact_identity,
78
+ 'Enabled' => enabled,
79
+ 'IntegrationType' => integration_type,
80
+ 'Integration.FlowSid' => integration_flow_sid,
81
+ 'Integration.Url' => integration_url,
82
+ 'Integration.WorkspaceSid' => integration_workspace_sid,
83
+ 'Integration.WorkflowSid' => integration_workflow_sid,
84
+ 'Integration.Channel' => integration_channel,
85
+ 'Integration.Timeout' => integration_timeout,
86
+ 'Integration.Priority' => integration_priority,
87
+ 'Integration.CreationOnMessage' => integration_creation_on_message,
88
+ 'LongLived' => long_lived,
89
+ 'JanitorEnabled' => janitor_enabled,
90
+ 'Integration.RetryCount' => integration_retry_count,
91
+ })
92
+
93
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
94
+
95
+ payload = @version.create('POST', @uri, data: data, headers: headers)
96
+ FlexFlowInstance.new(
97
+ @version,
98
+ payload,
99
+ )
100
+ end
101
+
102
+
103
+ ##
104
+ # Lists FlexFlowInstance records from the API as a list.
105
+ # Unlike stream(), this operation is eager and will load `limit` records into
106
+ # memory before returning.
107
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to read.
108
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
109
+ # guarantees to never return more than limit. Default is no limit
110
+ # @param [Integer] page_size Number of records to fetch per request, when
111
+ # not set will use the default value of 50 records. If no page_size is defined
112
+ # but a limit is defined, stream() will attempt to read the limit with the most
113
+ # efficient page size, i.e. min(limit, 1000)
114
+ # @return [Array] Array of up to limit results
115
+ def list(friendly_name: :unset, limit: nil, page_size: nil)
116
+ self.stream(
117
+ friendly_name: friendly_name,
118
+ limit: limit,
119
+ page_size: page_size
120
+ ).entries
121
+ end
122
+
123
+ ##
124
+ # Streams Instance records from the API as an Enumerable.
125
+ # This operation lazily loads records as efficiently as possible until the limit
126
+ # is reached.
127
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to read.
128
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
129
+ # guarantees to never return more than limit. Default is no limit
130
+ # @param [Integer] page_size Number of records to fetch per request, when
131
+ # not set will use the default value of 50 records. If no page_size is defined
132
+ # but a limit is defined, stream() will attempt to read the limit with the most
133
+ # efficient page size, i.e. min(limit, 1000)
134
+ # @return [Enumerable] Enumerable that will yield up to limit results
135
+ def stream(friendly_name: :unset, limit: nil, page_size: nil)
136
+ limits = @version.read_limits(limit, page_size)
137
+
138
+ page = self.page(
139
+ friendly_name: friendly_name,
140
+ page_size: limits[:page_size], )
141
+
142
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
143
+ end
144
+
145
+ ##
146
+ # When passed a block, yields FlexFlowInstance records from the API.
147
+ # This operation lazily loads records as efficiently as possible until the limit
148
+ # is reached.
149
+ def each
150
+ limits = @version.read_limits
151
+
152
+ page = self.page(page_size: limits[:page_size], )
153
+
154
+ @version.stream(page,
74
155
  limit: limits[:limit],
75
156
  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
157
+ end
158
+
159
+ ##
160
+ # Retrieve a single page of FlexFlowInstance records from the API.
161
+ # Request is executed immediately.
162
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to read.
163
+ # @param [String] page_token PageToken provided by the API
164
+ # @param [Integer] page_number Page Number, this value is simply for client state
165
+ # @param [Integer] page_size Number of records to return, defaults to 50
166
+ # @return [Page] Page of FlexFlowInstance
167
+ def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
168
+ params = Twilio::Values.of({
169
+ 'FriendlyName' => friendly_name,
170
+ 'PageToken' => page_token,
171
+ 'Page' => page_number,
172
+ 'PageSize' => page_size,
173
+ })
174
+
175
+ response = @version.page('GET', @uri, params: params)
176
+
177
+ FlexFlowPage.new(@version, response, @solution)
178
+ end
179
+
180
+ ##
181
+ # Retrieve a single page of FlexFlowInstance records from the API.
182
+ # Request is executed immediately.
183
+ # @param [String] target_url API-generated URL for the requested results page
184
+ # @return [Page] Page of FlexFlowInstance
185
+ def get_page(target_url)
186
+ response = @version.domain.request(
187
+ 'GET',
188
+ target_url
189
+ )
190
+ FlexFlowPage.new(@version, response, @solution)
191
+ end
192
+
193
+
194
+
195
+ # Provide a user friendly representation
196
+ def to_s
197
+ '#<Twilio.FlexApi.V1.FlexFlowList>'
198
+ end
199
+ end
200
+
201
+
202
+ class FlexFlowContext < InstanceContext
203
+ ##
204
+ # Initialize the FlexFlowContext
205
+ # @param [Version] version Version that contains the resource
206
+ # @param [String] sid The SID of the Flex Flow resource to update.
207
+ # @return [FlexFlowContext] FlexFlowContext
208
+ def initialize(version, sid)
209
+ super(version)
210
+
211
+ # Path Solution
212
+ @solution = { sid: sid, }
213
+ @uri = "/FlexFlows/#{@solution[:sid]}"
214
+
215
+
216
+ end
217
+ ##
218
+ # Delete the FlexFlowInstance
219
+ # @return [Boolean] True if delete succeeds, false otherwise
220
+ def delete
221
+
222
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
223
+
224
+ @version.delete('DELETE', @uri, headers: headers)
225
+ end
226
+
227
+ ##
228
+ # Fetch the FlexFlowInstance
229
+ # @return [FlexFlowInstance] Fetched FlexFlowInstance
230
+ def fetch
231
+
232
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
233
+
234
+ payload = @version.fetch('GET', @uri, headers: headers)
235
+ FlexFlowInstance.new(
236
+ @version,
237
+ payload,
238
+ sid: @solution[:sid],
239
+ )
240
+ end
241
+
242
+ ##
243
+ # Update the FlexFlowInstance
244
+ # @param [String] friendly_name A descriptive string that you create to describe the Flex Flow resource.
245
+ # @param [String] chat_service_sid The SID of the chat service.
246
+ # @param [ChannelType] channel_type
247
+ # @param [String] contact_identity The channel contact's Identity.
248
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
249
+ # @param [IntegrationType] integration_type
250
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when `integrationType` is `studio`.
251
+ # @param [String] integration_url The URL of the external webhook. Required when `integrationType` is `external`.
252
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task. Required when `integrationType` is `task`.
253
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task. Required when `integrationType` is `task`.
254
+ # @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`.
255
+ # @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.
256
+ # @param [String] integration_priority The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.
257
+ # @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.
258
+ # @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`.
259
+ # @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`.
260
+ # @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.
261
+ # @return [FlexFlowInstance] Updated FlexFlowInstance
262
+ def update(
263
+ friendly_name: :unset,
264
+ chat_service_sid: :unset,
265
+ channel_type: :unset,
266
+ contact_identity: :unset,
267
+ enabled: :unset,
268
+ integration_type: :unset,
269
+ integration_flow_sid: :unset,
270
+ integration_url: :unset,
271
+ integration_workspace_sid: :unset,
272
+ integration_workflow_sid: :unset,
273
+ integration_channel: :unset,
274
+ integration_timeout: :unset,
275
+ integration_priority: :unset,
276
+ integration_creation_on_message: :unset,
277
+ long_lived: :unset,
278
+ janitor_enabled: :unset,
279
+ integration_retry_count: :unset
280
+ )
281
+
282
+ data = Twilio::Values.of({
283
+ 'FriendlyName' => friendly_name,
284
+ 'ChatServiceSid' => chat_service_sid,
285
+ 'ChannelType' => channel_type,
286
+ 'ContactIdentity' => contact_identity,
287
+ 'Enabled' => enabled,
288
+ 'IntegrationType' => integration_type,
289
+ 'Integration.FlowSid' => integration_flow_sid,
290
+ 'Integration.Url' => integration_url,
291
+ 'Integration.WorkspaceSid' => integration_workspace_sid,
292
+ 'Integration.WorkflowSid' => integration_workflow_sid,
293
+ 'Integration.Channel' => integration_channel,
294
+ 'Integration.Timeout' => integration_timeout,
295
+ 'Integration.Priority' => integration_priority,
296
+ 'Integration.CreationOnMessage' => integration_creation_on_message,
297
+ 'LongLived' => long_lived,
298
+ 'JanitorEnabled' => janitor_enabled,
299
+ 'Integration.RetryCount' => integration_retry_count,
300
+ })
301
+
302
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
303
+
304
+ payload = @version.update('POST', @uri, data: data, headers: headers)
305
+ FlexFlowInstance.new(
306
+ @version,
307
+ payload,
308
+ sid: @solution[:sid],
309
+ )
310
+ end
311
+
312
+
313
+ ##
314
+ # Provide a user friendly representation
315
+ def to_s
316
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
317
+ "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
318
+ end
319
+
320
+ ##
321
+ # Provide a detailed, user friendly representation
322
+ def inspect
323
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
324
+ "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
325
+ end
326
+ end
327
+
328
+ class FlexFlowPage < Page
329
+ ##
330
+ # Initialize the FlexFlowPage
331
+ # @param [Version] version Version that contains the resource
332
+ # @param [Response] response Response from the API
333
+ # @param [Hash] solution Path solution for the resource
334
+ # @return [FlexFlowPage] FlexFlowPage
335
+ def initialize(version, response, solution)
336
+ super(version, response)
337
+
338
+ # Path Solution
339
+ @solution = solution
340
+ end
341
+
342
+ ##
343
+ # Build an instance of FlexFlowInstance
344
+ # @param [Hash] payload Payload response from the API
345
+ # @return [FlexFlowInstance] FlexFlowInstance
346
+ def get_instance(payload)
347
+ FlexFlowInstance.new(@version, payload)
348
+ end
349
+
350
+ ##
351
+ # Provide a user friendly representation
352
+ def to_s
353
+ '<Twilio.FlexApi.V1.FlexFlowPage>'
354
+ end
355
+ end
356
+ class FlexFlowInstance < InstanceResource
357
+ ##
358
+ # Initialize the FlexFlowInstance
359
+ # @param [Version] version Version that contains the resource
360
+ # @param [Hash] payload payload that contains response from Twilio
361
+ # @param [String] account_sid The SID of the
362
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this FlexFlow
363
+ # resource.
364
+ # @param [String] sid The SID of the Call resource to fetch.
365
+ # @return [FlexFlowInstance] FlexFlowInstance
366
+ def initialize(version, payload , sid: nil)
367
+ super(version)
368
+
369
+ # Marshaled Properties
370
+ @properties = {
371
+ 'account_sid' => payload['account_sid'],
372
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
373
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
374
+ 'sid' => payload['sid'],
375
+ 'friendly_name' => payload['friendly_name'],
376
+ 'chat_service_sid' => payload['chat_service_sid'],
377
+ 'channel_type' => payload['channel_type'],
378
+ 'contact_identity' => payload['contact_identity'],
379
+ 'enabled' => payload['enabled'],
380
+ 'integration_type' => payload['integration_type'],
381
+ 'integration' => payload['integration'],
382
+ 'long_lived' => payload['long_lived'],
383
+ 'janitor_enabled' => payload['janitor_enabled'],
384
+ 'url' => payload['url'],
385
+ }
386
+
387
+ # Context
388
+ @instance_context = nil
389
+ @params = { 'sid' => sid || @properties['sid'] , }
390
+ end
391
+
392
+ ##
393
+ # Generate an instance context for the instance, the context is capable of
394
+ # performing various actions. All instance actions are proxied to the context
395
+ # @return [FlexFlowContext] CallContext for this CallInstance
396
+ def context
397
+ unless @instance_context
398
+ @instance_context = FlexFlowContext.new(@version , @params['sid'])
399
+ end
400
+ @instance_context
401
+ end
402
+
403
+ ##
404
+ # @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.
405
+ def account_sid
406
+ @properties['account_sid']
407
+ end
408
+
409
+ ##
410
+ # @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.
411
+ def date_created
412
+ @properties['date_created']
413
+ end
414
+
415
+ ##
416
+ # @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.
417
+ def date_updated
418
+ @properties['date_updated']
419
+ end
420
+
421
+ ##
422
+ # @return [String] The unique string that we created to identify the Flex Flow resource.
423
+ def sid
424
+ @properties['sid']
425
+ end
426
+
427
+ ##
428
+ # @return [String] The string that you assigned to describe the resource.
429
+ def friendly_name
430
+ @properties['friendly_name']
431
+ end
432
+
433
+ ##
434
+ # @return [String] The SID of the chat service.
435
+ def chat_service_sid
436
+ @properties['chat_service_sid']
437
+ end
438
+
439
+ ##
440
+ # @return [ChannelType]
441
+ def channel_type
442
+ @properties['channel_type']
443
+ end
444
+
445
+ ##
446
+ # @return [String] The channel contact's Identity.
447
+ def contact_identity
448
+ @properties['contact_identity']
449
+ end
450
+
451
+ ##
452
+ # @return [Boolean] Whether the Flex Flow is enabled.
453
+ def enabled
454
+ @properties['enabled']
455
+ end
456
+
457
+ ##
458
+ # @return [IntegrationType]
459
+ def integration_type
460
+ @properties['integration_type']
461
+ end
462
+
463
+ ##
464
+ # @return [Hash] An object that contains specific parameters for the integration.
465
+ def integration
466
+ @properties['integration']
467
+ end
468
+
469
+ ##
470
+ # @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`.
471
+ def long_lived
472
+ @properties['long_lived']
473
+ end
474
+
475
+ ##
476
+ # @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`.
477
+ def janitor_enabled
478
+ @properties['janitor_enabled']
479
+ end
480
+
481
+ ##
482
+ # @return [String] The absolute URL of the Flex Flow resource.
483
+ def url
484
+ @properties['url']
485
+ end
486
+
487
+ ##
488
+ # Delete the FlexFlowInstance
489
+ # @return [Boolean] True if delete succeeds, false otherwise
490
+ def delete
491
+
492
+ context.delete
493
+ end
494
+
495
+ ##
496
+ # Fetch the FlexFlowInstance
497
+ # @return [FlexFlowInstance] Fetched FlexFlowInstance
498
+ def fetch
499
+
500
+ context.fetch
501
+ end
502
+
503
+ ##
504
+ # Update the FlexFlowInstance
505
+ # @param [String] friendly_name A descriptive string that you create to describe the Flex Flow resource.
506
+ # @param [String] chat_service_sid The SID of the chat service.
507
+ # @param [ChannelType] channel_type
508
+ # @param [String] contact_identity The channel contact's Identity.
509
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
510
+ # @param [IntegrationType] integration_type
511
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when `integrationType` is `studio`.
512
+ # @param [String] integration_url The URL of the external webhook. Required when `integrationType` is `external`.
513
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task. Required when `integrationType` is `task`.
514
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task. Required when `integrationType` is `task`.
515
+ # @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`.
516
+ # @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.
517
+ # @param [String] integration_priority The Task priority of a new Task. The default priority is 0. Optional when `integrationType` is `task`, not applicable otherwise.
518
+ # @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.
519
+ # @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`.
520
+ # @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`.
521
+ # @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.
522
+ # @return [FlexFlowInstance] Updated FlexFlowInstance
523
+ def update(
524
+ friendly_name: :unset,
525
+ chat_service_sid: :unset,
526
+ channel_type: :unset,
527
+ contact_identity: :unset,
528
+ enabled: :unset,
529
+ integration_type: :unset,
530
+ integration_flow_sid: :unset,
531
+ integration_url: :unset,
532
+ integration_workspace_sid: :unset,
533
+ integration_workflow_sid: :unset,
534
+ integration_channel: :unset,
535
+ integration_timeout: :unset,
536
+ integration_priority: :unset,
537
+ integration_creation_on_message: :unset,
538
+ long_lived: :unset,
539
+ janitor_enabled: :unset,
540
+ integration_retry_count: :unset
541
+ )
542
+
543
+ context.update(
544
+ friendly_name: friendly_name,
545
+ chat_service_sid: chat_service_sid,
546
+ channel_type: channel_type,
547
+ contact_identity: contact_identity,
548
+ enabled: enabled,
549
+ integration_type: integration_type,
550
+ integration_flow_sid: integration_flow_sid,
551
+ integration_url: integration_url,
552
+ integration_workspace_sid: integration_workspace_sid,
553
+ integration_workflow_sid: integration_workflow_sid,
554
+ integration_channel: integration_channel,
555
+ integration_timeout: integration_timeout,
556
+ integration_priority: integration_priority,
557
+ integration_creation_on_message: integration_creation_on_message,
558
+ long_lived: long_lived,
559
+ janitor_enabled: janitor_enabled,
560
+ integration_retry_count: integration_retry_count,
561
+ )
562
+ end
563
+
564
+ ##
565
+ # Provide a user friendly representation
566
+ def to_s
567
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
568
+ "<Twilio.FlexApi.V1.FlexFlowInstance #{values}>"
569
+ end
570
+
571
+ ##
572
+ # Provide a detailed, user friendly representation
573
+ def inspect
574
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
575
+ "<Twilio.FlexApi.V1.FlexFlowInstance #{values}>"
576
+ end
577
+ end
347
578
 
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
579
  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
580
  end
577
- end
578
581
  end
579
- end
580
- end
582
+ end