twilio-ruby 5.74.5 → 6.0.0.pre.rc.1

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