twilio-ruby 5.72.0 → 6.0.2

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