twilio-ruby 5.77.0 → 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 (634) 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 +31 -94
  5. data/CONTRIBUTING.md +7 -1
  6. data/Makefile +3 -0
  7. data/README.md +51 -132
  8. data/UPGRADE.md +7 -0
  9. data/cluster_spec.rb +77 -0
  10. data/lib/twilio-ruby/base/client_base.rb +124 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  12. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  13. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  14. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  15. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  16. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  17. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  18. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  19. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  20. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  21. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -605
  22. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +468 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +156 -153
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +228 -240
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +997 -1050
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +650 -756
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -493
  46. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -418
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  54. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  56. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +627 -641
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +431 -390
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -385
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -513
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +404 -373
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  72. 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
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  74. 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
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +663 -645
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +404 -374
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  83. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  84. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  96. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  97. data/lib/twilio-ruby/rest/api/v2010/account.rb +1061 -943
  98. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  99. data/lib/twilio-ruby/rest/api.rb +25 -34
  100. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +433 -411
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +527 -500
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +692 -640
  115. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  116. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  117. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  118. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  123. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  124. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  125. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  126. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  127. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  128. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  129. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  130. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  131. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +547 -515
  132. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  133. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  134. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +471 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -894
  136. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  137. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  138. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  139. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  140. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  141. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  142. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  143. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +623 -605
  144. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  145. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  146. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  147. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +518 -491
  148. data/lib/twilio-ruby/rest/chat/v2/service.rb +777 -778
  149. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  150. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  151. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  152. data/lib/twilio-ruby/rest/chat.rb +4 -48
  153. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  154. data/lib/twilio-ruby/rest/client.rb +314 -574
  155. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +201 -188
  156. data/lib/twilio-ruby/rest/content/v1/content.rb +354 -336
  157. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  158. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  159. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  160. data/lib/twilio-ruby/rest/content.rb +2 -46
  161. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +464 -444
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  164. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  165. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +534 -510
  167. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  169. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +594 -590
  170. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  171. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  172. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  173. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  175. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  176. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +542 -550
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  181. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +609 -626
  182. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  183. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  184. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  185. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +489 -474
  186. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -447
  187. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  188. data/lib/twilio-ruby/rest/conversations/v1/user.rb +476 -441
  189. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  190. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  191. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  192. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  193. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  194. data/lib/twilio-ruby/rest/events/v1/schema.rb +232 -218
  195. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  196. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  197. data/lib/twilio-ruby/rest/events/v1/sink.rb +447 -408
  198. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  199. data/lib/twilio-ruby/rest/events/v1/subscription.rb +423 -387
  200. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  201. data/lib/twilio-ruby/rest/events.rb +5 -34
  202. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +447 -387
  204. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  205. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  206. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -306
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +223 -208
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  210. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  211. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +427 -403
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +135 -124
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  217. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  218. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  219. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +409 -398
  220. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +252 -225
  221. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  222. data/lib/twilio-ruby/rest/flex_api/v1.rb +205 -215
  223. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +140 -127
  224. data/lib/twilio-ruby/rest/flex_api/v2.rb +33 -28
  225. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  226. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  227. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  228. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  229. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  230. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  231. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  232. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  234. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  235. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -236
  236. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +461 -439
  237. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  238. data/lib/twilio-ruby/rest/insights/v1/conference.rb +509 -502
  239. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  240. data/lib/twilio-ruby/rest/insights/v1/room.rb +497 -489
  241. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  242. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  243. data/lib/twilio-ruby/rest/insights.rb +6 -34
  244. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +547 -488
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +471 -418
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -779
  254. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +623 -555
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +518 -467
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +777 -689
  267. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  269. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  270. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  271. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  272. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +349 -335
  273. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  274. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  275. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  277. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  279. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  280. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  281. data/lib/twilio-ruby/rest/media.rb +4 -34
  282. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  284. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +472 -466
  285. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +272 -232
  288. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +223 -218
  289. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  290. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +206 -210
  291. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  292. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  293. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +500 -521
  295. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  296. data/lib/twilio-ruby/rest/messaging/v1/service.rb +757 -763
  297. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +720 -713
  298. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  299. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -165
  300. data/lib/twilio-ruby/rest/messaging.rb +9 -52
  301. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +349 -307
  303. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +342 -300
  304. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +201 -185
  305. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -320
  306. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +368 -335
  307. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +361 -328
  308. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +418 -383
  309. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  310. data/lib/twilio-ruby/rest/microvisor.rb +3 -50
  311. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  312. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  313. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  314. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  315. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  316. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  317. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  318. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  319. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +635 -622
  321. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  322. data/lib/twilio-ruby/rest/notify.rb +3 -34
  323. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +627 -607
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  335. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  336. data/lib/twilio-ruby/rest/numbers.rb +2 -47
  337. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +165 -147
  339. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +177 -154
  340. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +254 -234
  341. data/lib/twilio-ruby/rest/oauth/v1/token.rb +173 -151
  342. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +205 -185
  343. data/lib/twilio-ruby/rest/oauth/v1.rb +57 -56
  344. data/lib/twilio-ruby/rest/oauth.rb +5 -40
  345. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  346. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  347. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  348. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  349. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  350. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +507 -459
  351. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  352. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  353. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +453 -446
  354. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  355. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  356. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  357. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +329 -309
  358. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  359. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +433 -398
  360. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  361. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  362. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +447 -399
  363. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  364. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  365. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +428 -398
  366. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  368. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +428 -398
  369. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -452
  370. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +433 -400
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  383. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +527 -488
  384. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +669 -619
  385. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  386. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  387. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  388. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  389. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  390. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  391. data/lib/twilio-ruby/rest/preview.rb +11 -69
  392. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  393. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  394. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  395. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  396. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  397. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  398. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  399. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  400. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  401. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  402. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  403. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  405. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  406. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  407. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  408. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  409. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -442
  413. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +531 -506
  414. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  415. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -596
  416. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  417. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  418. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  419. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  420. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  421. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  422. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  423. data/lib/twilio-ruby/rest/routes.rb +4 -34
  424. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  426. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +417 -380
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  428. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  432. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -447
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  435. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +417 -380
  436. data/lib/twilio-ruby/rest/serverless/v1/service.rb +536 -493
  437. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  438. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  439. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  443. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +427 -394
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  447. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -449
  448. data/lib/twilio-ruby/rest/studio/v1/flow.rb +387 -355
  449. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  453. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -442
  454. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  455. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow.rb +526 -472
  457. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  458. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  459. data/lib/twilio-ruby/rest/studio.rb +3 -41
  460. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -382
  462. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  463. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -409
  464. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  465. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  466. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +384 -351
  467. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +249 -237
  468. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  469. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  470. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +472 -453
  471. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  472. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  473. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  474. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  475. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  476. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  477. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +461 -423
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  484. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  485. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +425 -400
  486. data/lib/twilio-ruby/rest/sync/v1/service.rb +588 -567
  487. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  488. data/lib/twilio-ruby/rest/sync.rb +2 -34
  489. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -749
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +620 -661
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -572
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +640 -637
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +743 -730
  515. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  516. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  517. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  519. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  520. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  521. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  522. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  523. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +636 -630
  524. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  525. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  526. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  527. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  528. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  529. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  530. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +538 -513
  531. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  532. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  533. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  534. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  535. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  536. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  537. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  538. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  539. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +538 -513
  540. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  541. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  542. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  544. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  545. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -254
  546. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -192
  547. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +506 -531
  548. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -453
  549. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -283
  550. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -414
  551. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  552. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  553. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +425 -384
  554. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -372
  555. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  556. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -412
  557. data/lib/twilio-ruby/rest/verify/v2/service.rb +789 -780
  558. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -205
  559. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  560. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  561. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  562. data/lib/twilio-ruby/rest/verify.rb +7 -34
  563. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  564. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  565. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  566. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  567. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  568. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  569. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  570. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  571. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  572. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  573. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +516 -0
  574. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  575. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  576. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -602
  577. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  578. data/lib/twilio-ruby/rest/video.rb +7 -34
  579. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  581. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  582. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  583. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +395 -352
  584. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  585. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  586. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +386 -397
  587. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  588. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  589. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  590. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  591. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  592. data/lib/twilio-ruby/rest/voice.rb +7 -34
  593. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  594. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  595. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  596. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  597. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  598. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +648 -647
  599. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  600. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  601. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  602. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  603. data/lib/twilio-ruby/rest.rb +1 -0
  604. data/lib/twilio-ruby/version.rb +1 -1
  605. data/twilio-ruby.gemspec +1 -1
  606. metadata +71 -38
  607. data/advanced-examples/custom-http-client.md +0 -170
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  614. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  615. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  617. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  618. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  619. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  620. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  621. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  622. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -134
  623. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  624. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  625. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -111
  626. data/lib/twilio-ruby/rest/numbers/v1.rb +0 -35
  627. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  628. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  629. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  630. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  631. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  632. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  633. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  634. 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