twilio-ruby 5.72.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,517 +1,532 @@
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 - Taskrouter
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
8
-
9
- module Twilio
10
- module REST
11
- class Taskrouter < Domain
12
- class V1 < Version
13
- class WorkspaceContext < InstanceContext
14
- class WorkflowList < ListResource
15
- ##
16
- # Initialize the WorkflowList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] workspace_sid The SID of the Workspace that contains the
19
- # Workflow.
20
- # @return [WorkflowList] WorkflowList
21
- def initialize(version, workspace_sid: nil)
22
- super(version)
23
-
24
- # Path Solution
25
- @solution = {workspace_sid: workspace_sid}
26
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workflows"
27
- end
28
-
29
- ##
30
- # Lists WorkflowInstance records from the API as a list.
31
- # Unlike stream(), this operation is eager and will load `limit` records into
32
- # memory before returning.
33
- # @param [String] friendly_name The `friendly_name` of the Workflow resources to
34
- # read.
35
- # @param [Integer] limit Upper limit for the number of records to return. stream()
36
- # guarantees to never return more than limit. Default is no limit
37
- # @param [Integer] page_size Number of records to fetch per request, when
38
- # not set will use the default value of 50 records. If no page_size is defined
39
- # but a limit is defined, stream() will attempt to read the limit with the most
40
- # efficient page size, i.e. min(limit, 1000)
41
- # @return [Array] Array of up to limit results
42
- def list(friendly_name: :unset, limit: nil, page_size: nil)
43
- self.stream(friendly_name: friendly_name, limit: limit, page_size: page_size).entries
44
- end
45
-
46
- ##
47
- # Streams WorkflowInstance records from the API as an Enumerable.
48
- # This operation lazily loads records as efficiently as possible until the limit
49
- # is reached.
50
- # @param [String] friendly_name The `friendly_name` of the Workflow resources to
51
- # read.
52
- # @param [Integer] limit Upper limit for the number of records to return. stream()
53
- # guarantees to never return more than limit. Default is no limit.
54
- # @param [Integer] page_size Number of records to fetch per request, when
55
- # not set will use the default value of 50 records. If no page_size is defined
56
- # but a limit is defined, stream() will attempt to read the limit with the most
57
- # efficient page size, i.e. min(limit, 1000)
58
- # @return [Enumerable] Enumerable that will yield up to limit results
59
- def stream(friendly_name: :unset, limit: nil, page_size: nil)
60
- limits = @version.read_limits(limit, page_size)
61
-
62
- page = self.page(friendly_name: friendly_name, page_size: limits[:page_size], )
63
-
64
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
65
- end
66
-
67
- ##
68
- # When passed a block, yields WorkflowInstance records from the API.
69
- # This operation lazily loads records as efficiently as possible until the limit
70
- # is reached.
71
- def each
72
- limits = @version.read_limits
73
-
74
- page = self.page(page_size: limits[:page_size], )
75
-
76
- @version.stream(page,
77
- limit: limits[:limit],
78
- page_limit: limits[:page_limit]).each {|x| yield x}
79
- end
80
-
81
- ##
82
- # Retrieve a single page of WorkflowInstance records from the API.
83
- # Request is executed immediately.
84
- # @param [String] friendly_name The `friendly_name` of the Workflow resources to
85
- # read.
86
- # @param [String] page_token PageToken provided by the API
87
- # @param [Integer] page_number Page Number, this value is simply for client state
88
- # @param [Integer] page_size Number of records to return, defaults to 50
89
- # @return [Page] Page of WorkflowInstance
90
- def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
91
- params = Twilio::Values.of({
92
- 'FriendlyName' => friendly_name,
93
- 'PageToken' => page_token,
94
- 'Page' => page_number,
95
- 'PageSize' => page_size,
96
- })
97
-
98
- response = @version.page('GET', @uri, params: params)
99
-
100
- WorkflowPage.new(@version, response, @solution)
101
- end
102
-
103
- ##
104
- # Retrieve a single page of WorkflowInstance records from the API.
105
- # Request is executed immediately.
106
- # @param [String] target_url API-generated URL for the requested results page
107
- # @return [Page] Page of WorkflowInstance
108
- def get_page(target_url)
109
- response = @version.domain.request(
110
- 'GET',
111
- target_url
112
- )
113
- WorkflowPage.new(@version, response, @solution)
114
- end
115
-
116
- ##
117
- # Create the WorkflowInstance
118
- # @param [String] friendly_name A descriptive string that you create to describe
119
- # the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound
120
- # Campaign`.
121
- # @param [String] configuration A JSON string that contains the rules to apply to
122
- # the Workflow. See {Configuring
123
- # Workflows}[https://www.twilio.com/docs/taskrouter/workflow-configuration] for
124
- # more information.
125
- # @param [String] assignment_callback_url The URL from your application that will
126
- # process task assignment events. See {Handling Task Assignment
127
- # Callback}[https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks]
128
- # for more details.
129
- # @param [String] fallback_assignment_callback_url The URL that we should call
130
- # when a call to the `assignment_callback_url` fails.
131
- # @param [String] task_reservation_timeout How long TaskRouter will wait for a
132
- # confirmation response from your application after it assigns a Task to a Worker.
133
- # Can be up to `86,400` (24 hours) and the default is `120`.
134
- # @return [WorkflowInstance] Created WorkflowInstance
135
- def create(friendly_name: nil, configuration: nil, assignment_callback_url: :unset, fallback_assignment_callback_url: :unset, task_reservation_timeout: :unset)
136
- data = Twilio::Values.of({
137
- 'FriendlyName' => friendly_name,
138
- 'Configuration' => configuration,
139
- 'AssignmentCallbackUrl' => assignment_callback_url,
140
- 'FallbackAssignmentCallbackUrl' => fallback_assignment_callback_url,
141
- 'TaskReservationTimeout' => task_reservation_timeout,
142
- })
143
-
144
- payload = @version.create('POST', @uri, data: data)
145
-
146
- WorkflowInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
147
- end
148
-
149
- ##
150
- # Provide a user friendly representation
151
- def to_s
152
- '#<Twilio.Taskrouter.V1.WorkflowList>'
153
- end
154
- end
155
-
156
- class WorkflowPage < Page
157
- ##
158
- # Initialize the WorkflowPage
159
- # @param [Version] version Version that contains the resource
160
- # @param [Response] response Response from the API
161
- # @param [Hash] solution Path solution for the resource
162
- # @return [WorkflowPage] WorkflowPage
163
- def initialize(version, response, solution)
164
- super(version, response)
165
-
166
- # Path Solution
167
- @solution = solution
168
- end
169
-
170
- ##
171
- # Build an instance of WorkflowInstance
172
- # @param [Hash] payload Payload response from the API
173
- # @return [WorkflowInstance] WorkflowInstance
174
- def get_instance(payload)
175
- WorkflowInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
176
- end
177
-
178
- ##
179
- # Provide a user friendly representation
180
- def to_s
181
- '<Twilio.Taskrouter.V1.WorkflowPage>'
182
- end
183
- end
184
-
185
- class WorkflowContext < InstanceContext
186
- ##
187
- # Initialize the WorkflowContext
188
- # @param [Version] version Version that contains the resource
189
- # @param [String] workspace_sid The SID of the Workspace with the Workflow to
190
- # fetch.
191
- # @param [String] sid The SID of the Workflow resource to fetch.
192
- # @return [WorkflowContext] WorkflowContext
193
- def initialize(version, workspace_sid, sid)
194
- super(version)
195
-
196
- # Path Solution
197
- @solution = {workspace_sid: workspace_sid, sid: sid, }
198
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workflows/#{@solution[:sid]}"
199
-
200
- # Dependents
201
- @statistics = nil
202
- @real_time_statistics = nil
203
- @cumulative_statistics = nil
204
- end
205
-
206
- ##
207
- # Fetch the WorkflowInstance
208
- # @return [WorkflowInstance] Fetched WorkflowInstance
209
- def fetch
210
- payload = @version.fetch('GET', @uri)
211
-
212
- WorkflowInstance.new(
213
- @version,
214
- payload,
215
- workspace_sid: @solution[:workspace_sid],
216
- sid: @solution[:sid],
217
- )
218
- end
219
-
220
- ##
221
- # Update the WorkflowInstance
222
- # @param [String] friendly_name A descriptive string that you create to describe
223
- # the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound
224
- # Campaign`.
225
- # @param [String] assignment_callback_url The URL from your application that will
226
- # process task assignment events. See {Handling Task Assignment
227
- # Callback}[https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks]
228
- # for more details.
229
- # @param [String] fallback_assignment_callback_url The URL that we should call
230
- # when a call to the `assignment_callback_url` fails.
231
- # @param [String] configuration A JSON string that contains the rules to apply to
232
- # the Workflow. See {Configuring
233
- # Workflows}[https://www.twilio.com/docs/taskrouter/workflow-configuration] for
234
- # more information.
235
- # @param [String] task_reservation_timeout How long TaskRouter will wait for a
236
- # confirmation response from your application after it assigns a Task to a Worker.
237
- # Can be up to `86,400` (24 hours) and the default is `120`.
238
- # @param [String] re_evaluate_tasks Whether or not to re-evaluate Tasks. The
239
- # default is `false`, which means Tasks in the Workflow will not be processed
240
- # through the assignment loop again.
241
- # @return [WorkflowInstance] Updated WorkflowInstance
242
- def update(friendly_name: :unset, assignment_callback_url: :unset, fallback_assignment_callback_url: :unset, configuration: :unset, task_reservation_timeout: :unset, re_evaluate_tasks: :unset)
243
- data = Twilio::Values.of({
244
- 'FriendlyName' => friendly_name,
245
- 'AssignmentCallbackUrl' => assignment_callback_url,
246
- 'FallbackAssignmentCallbackUrl' => fallback_assignment_callback_url,
247
- 'Configuration' => configuration,
248
- 'TaskReservationTimeout' => task_reservation_timeout,
249
- 'ReEvaluateTasks' => re_evaluate_tasks,
250
- })
251
-
252
- payload = @version.update('POST', @uri, data: data)
253
-
254
- WorkflowInstance.new(
255
- @version,
256
- payload,
257
- workspace_sid: @solution[:workspace_sid],
258
- sid: @solution[:sid],
259
- )
260
- end
261
-
262
- ##
263
- # Delete the WorkflowInstance
264
- # @return [Boolean] true if delete succeeds, false otherwise
265
- def delete
266
- @version.delete('DELETE', @uri)
267
- end
268
-
269
- ##
270
- # Access the statistics
271
- # @return [WorkflowStatisticsList]
272
- # @return [WorkflowStatisticsContext]
273
- def statistics
274
- WorkflowStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
275
- end
276
-
277
- ##
278
- # Access the real_time_statistics
279
- # @return [WorkflowRealTimeStatisticsList]
280
- # @return [WorkflowRealTimeStatisticsContext]
281
- def real_time_statistics
282
- WorkflowRealTimeStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
283
- end
284
-
285
- ##
286
- # Access the cumulative_statistics
287
- # @return [WorkflowCumulativeStatisticsList]
288
- # @return [WorkflowCumulativeStatisticsContext]
289
- def cumulative_statistics
290
- WorkflowCumulativeStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
291
- end
292
-
293
- ##
294
- # Provide a user friendly representation
295
- def to_s
296
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
297
- "#<Twilio.Taskrouter.V1.WorkflowContext #{context}>"
298
- end
299
-
300
- ##
301
- # Provide a detailed, user friendly representation
302
- def inspect
303
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
304
- "#<Twilio.Taskrouter.V1.WorkflowContext #{context}>"
305
- end
306
- end
307
-
308
- class WorkflowInstance < InstanceResource
309
- ##
310
- # Initialize the WorkflowInstance
311
- # @param [Version] version Version that contains the resource
312
- # @param [Hash] payload payload that contains response from Twilio
313
- # @param [String] workspace_sid The SID of the Workspace that contains the
314
- # Workflow.
315
- # @param [String] sid The SID of the Workflow resource to fetch.
316
- # @return [WorkflowInstance] WorkflowInstance
317
- def initialize(version, payload, workspace_sid: nil, sid: nil)
318
- super(version)
319
-
320
- # Marshaled Properties
321
- @properties = {
322
- 'account_sid' => payload['account_sid'],
323
- 'assignment_callback_url' => payload['assignment_callback_url'],
324
- 'configuration' => payload['configuration'],
325
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
326
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
327
- 'document_content_type' => payload['document_content_type'],
328
- 'fallback_assignment_callback_url' => payload['fallback_assignment_callback_url'],
329
- 'friendly_name' => payload['friendly_name'],
330
- 'sid' => payload['sid'],
331
- 'task_reservation_timeout' => payload['task_reservation_timeout'].to_i,
332
- 'workspace_sid' => payload['workspace_sid'],
333
- 'url' => payload['url'],
334
- 'links' => payload['links'],
335
- }
336
-
337
- # Context
338
- @instance_context = nil
339
- @params = {'workspace_sid' => workspace_sid, 'sid' => sid || @properties['sid'], }
340
- end
341
-
342
- ##
343
- # Generate an instance context for the instance, the context is capable of
344
- # performing various actions. All instance actions are proxied to the context
345
- # @return [WorkflowContext] WorkflowContext for this WorkflowInstance
346
- def context
347
- unless @instance_context
348
- @instance_context = WorkflowContext.new(@version, @params['workspace_sid'], @params['sid'], )
349
- end
350
- @instance_context
351
- end
352
-
353
- ##
354
- # @return [String] The SID of the Account that created the resource
355
- def account_sid
356
- @properties['account_sid']
357
- end
358
-
359
- ##
360
- # @return [String] The URL that we call when a task managed by the Workflow is assigned to a Worker
361
- def assignment_callback_url
362
- @properties['assignment_callback_url']
363
- end
364
-
365
- ##
366
- # @return [String] A JSON string that contains the Workflow's configuration
367
- def configuration
368
- @properties['configuration']
369
- end
370
-
371
- ##
372
- # @return [Time] The RFC 2822 date and time in GMT when the resource was created
373
- def date_created
374
- @properties['date_created']
375
- end
376
-
377
- ##
378
- # @return [Time] The RFC 2822 date and time in GMT when the resource was last updated
379
- def date_updated
380
- @properties['date_updated']
381
- end
382
-
383
- ##
384
- # @return [String] The MIME type of the document
385
- def document_content_type
386
- @properties['document_content_type']
387
- end
388
-
389
- ##
390
- # @return [String] The URL that we call when a call to the `assignment_callback_url` fails
391
- def fallback_assignment_callback_url
392
- @properties['fallback_assignment_callback_url']
393
- end
394
-
395
- ##
396
- # @return [String] The string that you assigned to describe the Workflow resource
397
- def friendly_name
398
- @properties['friendly_name']
399
- end
400
-
401
- ##
402
- # @return [String] The unique string that identifies the resource
403
- def sid
404
- @properties['sid']
405
- end
406
-
407
- ##
408
- # @return [String] How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker
409
- def task_reservation_timeout
410
- @properties['task_reservation_timeout']
411
- end
412
-
413
- ##
414
- # @return [String] The SID of the Workspace that contains the Workflow
415
- def workspace_sid
416
- @properties['workspace_sid']
417
- end
418
-
419
- ##
420
- # @return [String] The absolute URL of the Workflow resource
421
- def url
422
- @properties['url']
423
- end
424
-
425
- ##
426
- # @return [String] The URLs of related resources
427
- def links
428
- @properties['links']
429
- end
430
-
431
- ##
432
- # Fetch the WorkflowInstance
433
- # @return [WorkflowInstance] Fetched WorkflowInstance
434
- def fetch
435
- context.fetch
436
- end
437
-
438
- ##
439
- # Update the WorkflowInstance
440
- # @param [String] friendly_name A descriptive string that you create to describe
441
- # the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound
442
- # Campaign`.
443
- # @param [String] assignment_callback_url The URL from your application that will
444
- # process task assignment events. See {Handling Task Assignment
445
- # Callback}[https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks]
446
- # for more details.
447
- # @param [String] fallback_assignment_callback_url The URL that we should call
448
- # when a call to the `assignment_callback_url` fails.
449
- # @param [String] configuration A JSON string that contains the rules to apply to
450
- # the Workflow. See {Configuring
451
- # Workflows}[https://www.twilio.com/docs/taskrouter/workflow-configuration] for
452
- # more information.
453
- # @param [String] task_reservation_timeout How long TaskRouter will wait for a
454
- # confirmation response from your application after it assigns a Task to a Worker.
455
- # Can be up to `86,400` (24 hours) and the default is `120`.
456
- # @param [String] re_evaluate_tasks Whether or not to re-evaluate Tasks. The
457
- # default is `false`, which means Tasks in the Workflow will not be processed
458
- # through the assignment loop again.
459
- # @return [WorkflowInstance] Updated WorkflowInstance
460
- def update(friendly_name: :unset, assignment_callback_url: :unset, fallback_assignment_callback_url: :unset, configuration: :unset, task_reservation_timeout: :unset, re_evaluate_tasks: :unset)
461
- context.update(
462
- friendly_name: friendly_name,
463
- assignment_callback_url: assignment_callback_url,
464
- fallback_assignment_callback_url: fallback_assignment_callback_url,
465
- configuration: configuration,
466
- task_reservation_timeout: task_reservation_timeout,
467
- re_evaluate_tasks: re_evaluate_tasks,
468
- )
469
- end
470
-
471
- ##
472
- # Delete the WorkflowInstance
473
- # @return [Boolean] true if delete succeeds, false otherwise
474
- def delete
475
- context.delete
476
- end
477
-
478
- ##
479
- # Access the statistics
480
- # @return [statistics] statistics
481
- def statistics
482
- context.statistics
483
- end
484
-
485
- ##
486
- # Access the real_time_statistics
487
- # @return [real_time_statistics] real_time_statistics
488
- def real_time_statistics
489
- context.real_time_statistics
490
- end
491
-
492
- ##
493
- # Access the cumulative_statistics
494
- # @return [cumulative_statistics] cumulative_statistics
495
- def cumulative_statistics
496
- context.cumulative_statistics
497
- end
498
14
 
499
- ##
500
- # Provide a user friendly representation
501
- def to_s
502
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
503
- "<Twilio.Taskrouter.V1.WorkflowInstance #{values}>"
504
- end
505
15
 
506
- ##
507
- # Provide a detailed, user friendly representation
508
- def inspect
509
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
510
- "<Twilio.Taskrouter.V1.WorkflowInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Taskrouter < TaskrouterBase
19
+ class V1 < Version
20
+ class WorkspaceContext < InstanceContext
21
+
22
+ class WorkflowList < ListResource
23
+ ##
24
+ # Initialize the WorkflowList
25
+ # @param [Version] version Version that contains the resource
26
+ # @return [WorkflowList] WorkflowList
27
+ def initialize(version, workspace_sid: nil)
28
+ super(version)
29
+ # Path Solution
30
+ @solution = { workspace_sid: workspace_sid }
31
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workflows"
32
+
33
+ end
34
+ ##
35
+ # Create the WorkflowInstance
36
+ # @param [String] friendly_name A descriptive string that you create to describe the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound Campaign`.
37
+ # @param [String] configuration A JSON string that contains the rules to apply to the Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) for more information.
38
+ # @param [String] assignment_callback_url The URL from your application that will process task assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) for more details.
39
+ # @param [String] fallback_assignment_callback_url The URL that we should call when a call to the `assignment_callback_url` fails.
40
+ # @param [String] task_reservation_timeout How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to `86,400` (24 hours) and the default is `120`.
41
+ # @return [WorkflowInstance] Created WorkflowInstance
42
+ def create(
43
+ friendly_name: nil,
44
+ configuration: nil,
45
+ assignment_callback_url: :unset,
46
+ fallback_assignment_callback_url: :unset,
47
+ task_reservation_timeout: :unset
48
+ )
49
+
50
+ data = Twilio::Values.of({
51
+ 'FriendlyName' => friendly_name,
52
+ 'Configuration' => configuration,
53
+ 'AssignmentCallbackUrl' => assignment_callback_url,
54
+ 'FallbackAssignmentCallbackUrl' => fallback_assignment_callback_url,
55
+ 'TaskReservationTimeout' => task_reservation_timeout,
56
+ })
57
+
58
+ payload = @version.create('POST', @uri, data: data)
59
+ WorkflowInstance.new(
60
+ @version,
61
+ payload,
62
+ workspace_sid: @solution[:workspace_sid],
63
+ )
64
+ end
65
+
66
+
67
+ ##
68
+ # Lists WorkflowInstance records from the API as a list.
69
+ # Unlike stream(), this operation is eager and will load `limit` records into
70
+ # memory before returning.
71
+ # @param [String] friendly_name The `friendly_name` of the Workflow resources to read.
72
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
73
+ # guarantees to never return more than limit. Default is no limit
74
+ # @param [Integer] page_size Number of records to fetch per request, when
75
+ # not set will use the default value of 50 records. If no page_size is defined
76
+ # but a limit is defined, stream() will attempt to read the limit with the most
77
+ # efficient page size, i.e. min(limit, 1000)
78
+ # @return [Array] Array of up to limit results
79
+ def list(friendly_name: :unset, limit: nil, page_size: nil)
80
+ self.stream(
81
+ friendly_name: friendly_name,
82
+ limit: limit,
83
+ page_size: page_size
84
+ ).entries
85
+ end
86
+
87
+ ##
88
+ # Streams Instance records from the API as an Enumerable.
89
+ # This operation lazily loads records as efficiently as possible until the limit
90
+ # is reached.
91
+ # @param [String] friendly_name The `friendly_name` of the Workflow resources to read.
92
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
93
+ # guarantees to never return more than limit. Default is no limit
94
+ # @param [Integer] page_size Number of records to fetch per request, when
95
+ # not set will use the default value of 50 records. If no page_size is defined
96
+ # but a limit is defined, stream() will attempt to read the limit with the most
97
+ # efficient page size, i.e. min(limit, 1000)
98
+ # @return [Enumerable] Enumerable that will yield up to limit results
99
+ def stream(friendly_name: :unset, limit: nil, page_size: nil)
100
+ limits = @version.read_limits(limit, page_size)
101
+
102
+ page = self.page(
103
+ friendly_name: friendly_name,
104
+ page_size: limits[:page_size], )
105
+
106
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
107
+ end
108
+
109
+ ##
110
+ # When passed a block, yields WorkflowInstance records from the API.
111
+ # This operation lazily loads records as efficiently as possible until the limit
112
+ # is reached.
113
+ def each
114
+ limits = @version.read_limits
115
+
116
+ page = self.page(page_size: limits[:page_size], )
117
+
118
+ @version.stream(page,
119
+ limit: limits[:limit],
120
+ page_limit: limits[:page_limit]).each {|x| yield x}
121
+ end
122
+
123
+ ##
124
+ # Retrieve a single page of WorkflowInstance records from the API.
125
+ # Request is executed immediately.
126
+ # @param [String] friendly_name The `friendly_name` of the Workflow resources to read.
127
+ # @param [String] page_token PageToken provided by the API
128
+ # @param [Integer] page_number Page Number, this value is simply for client state
129
+ # @param [Integer] page_size Number of records to return, defaults to 50
130
+ # @return [Page] Page of WorkflowInstance
131
+ def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
132
+ params = Twilio::Values.of({
133
+
134
+ 'FriendlyName' => friendly_name,
135
+
136
+ 'PageToken' => page_token,
137
+ 'Page' => page_number,
138
+ 'PageSize' => page_size,
139
+ })
140
+
141
+ response = @version.page('GET', @uri, params: params)
142
+
143
+ WorkflowPage.new(@version, response, @solution)
144
+ end
145
+
146
+ ##
147
+ # Retrieve a single page of WorkflowInstance records from the API.
148
+ # Request is executed immediately.
149
+ # @param [String] target_url API-generated URL for the requested results page
150
+ # @return [Page] Page of WorkflowInstance
151
+ def get_page(target_url)
152
+ response = @version.domain.request(
153
+ 'GET',
154
+ target_url
155
+ )
156
+ WorkflowPage.new(@version, response, @solution)
157
+ end
158
+
159
+
160
+
161
+ # Provide a user friendly representation
162
+ def to_s
163
+ '#<Twilio.Taskrouter.V1.WorkflowList>'
164
+ end
165
+ end
166
+
167
+
168
+ class WorkflowContext < InstanceContext
169
+ ##
170
+ # Initialize the WorkflowContext
171
+ # @param [Version] version Version that contains the resource
172
+ # @param [String] workspace_sid The SID of the Workspace with the Workflow to update.
173
+ # @param [String] sid The SID of the Workflow resource to update.
174
+ # @return [WorkflowContext] WorkflowContext
175
+ def initialize(version, workspace_sid, sid)
176
+ super(version)
177
+
178
+ # Path Solution
179
+ @solution = { workspace_sid: workspace_sid, sid: sid, }
180
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workflows/#{@solution[:sid]}"
181
+
182
+ # Dependents
183
+ @statistics = nil
184
+ @cumulative_statistics = nil
185
+ @real_time_statistics = nil
186
+ end
187
+ ##
188
+ # Delete the WorkflowInstance
189
+ # @return [Boolean] True if delete succeeds, false otherwise
190
+ def delete
191
+
192
+ @version.delete('DELETE', @uri)
193
+ end
194
+
195
+ ##
196
+ # Fetch the WorkflowInstance
197
+ # @return [WorkflowInstance] Fetched WorkflowInstance
198
+ def fetch
199
+
200
+ payload = @version.fetch('GET', @uri)
201
+ WorkflowInstance.new(
202
+ @version,
203
+ payload,
204
+ workspace_sid: @solution[:workspace_sid],
205
+ sid: @solution[:sid],
206
+ )
207
+ end
208
+
209
+ ##
210
+ # Update the WorkflowInstance
211
+ # @param [String] friendly_name A descriptive string that you create to describe the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound Campaign`.
212
+ # @param [String] assignment_callback_url The URL from your application that will process task assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) for more details.
213
+ # @param [String] fallback_assignment_callback_url The URL that we should call when a call to the `assignment_callback_url` fails.
214
+ # @param [String] configuration A JSON string that contains the rules to apply to the Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) for more information.
215
+ # @param [String] task_reservation_timeout How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to `86,400` (24 hours) and the default is `120`.
216
+ # @param [String] re_evaluate_tasks Whether or not to re-evaluate Tasks. The default is `false`, which means Tasks in the Workflow will not be processed through the assignment loop again.
217
+ # @return [WorkflowInstance] Updated WorkflowInstance
218
+ def update(
219
+ friendly_name: :unset,
220
+ assignment_callback_url: :unset,
221
+ fallback_assignment_callback_url: :unset,
222
+ configuration: :unset,
223
+ task_reservation_timeout: :unset,
224
+ re_evaluate_tasks: :unset
225
+ )
226
+
227
+ data = Twilio::Values.of({
228
+ 'FriendlyName' => friendly_name,
229
+ 'AssignmentCallbackUrl' => assignment_callback_url,
230
+ 'FallbackAssignmentCallbackUrl' => fallback_assignment_callback_url,
231
+ 'Configuration' => configuration,
232
+ 'TaskReservationTimeout' => task_reservation_timeout,
233
+ 'ReEvaluateTasks' => re_evaluate_tasks,
234
+ })
235
+
236
+ payload = @version.update('POST', @uri, data: data)
237
+ WorkflowInstance.new(
238
+ @version,
239
+ payload,
240
+ workspace_sid: @solution[:workspace_sid],
241
+ sid: @solution[:sid],
242
+ )
243
+ end
244
+
245
+ ##
246
+ # Access the statistics
247
+ # @return [WorkflowStatisticsList]
248
+ # @return [WorkflowStatisticsContext]
249
+ def statistics
250
+ WorkflowStatisticsContext.new(
251
+ @version,
252
+ @solution[:workspace_sid],
253
+ @solution[:sid]
254
+ )
255
+ end
256
+ ##
257
+ # Access the cumulative_statistics
258
+ # @return [WorkflowCumulativeStatisticsList]
259
+ # @return [WorkflowCumulativeStatisticsContext]
260
+ def cumulative_statistics
261
+ WorkflowCumulativeStatisticsContext.new(
262
+ @version,
263
+ @solution[:workspace_sid],
264
+ @solution[:sid]
265
+ )
266
+ end
267
+ ##
268
+ # Access the real_time_statistics
269
+ # @return [WorkflowRealTimeStatisticsList]
270
+ # @return [WorkflowRealTimeStatisticsContext]
271
+ def real_time_statistics
272
+ WorkflowRealTimeStatisticsContext.new(
273
+ @version,
274
+ @solution[:workspace_sid],
275
+ @solution[:sid]
276
+ )
277
+ end
278
+
279
+ ##
280
+ # Provide a user friendly representation
281
+ def to_s
282
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
283
+ "#<Twilio.Taskrouter.V1.WorkflowContext #{context}>"
284
+ end
285
+
286
+ ##
287
+ # Provide a detailed, user friendly representation
288
+ def inspect
289
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
290
+ "#<Twilio.Taskrouter.V1.WorkflowContext #{context}>"
291
+ end
292
+ end
293
+
294
+ class WorkflowPage < Page
295
+ ##
296
+ # Initialize the WorkflowPage
297
+ # @param [Version] version Version that contains the resource
298
+ # @param [Response] response Response from the API
299
+ # @param [Hash] solution Path solution for the resource
300
+ # @return [WorkflowPage] WorkflowPage
301
+ def initialize(version, response, solution)
302
+ super(version, response)
303
+
304
+ # Path Solution
305
+ @solution = solution
306
+ end
307
+
308
+ ##
309
+ # Build an instance of WorkflowInstance
310
+ # @param [Hash] payload Payload response from the API
311
+ # @return [WorkflowInstance] WorkflowInstance
312
+ def get_instance(payload)
313
+ WorkflowInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid])
314
+ end
315
+
316
+ ##
317
+ # Provide a user friendly representation
318
+ def to_s
319
+ '<Twilio.Taskrouter.V1.WorkflowPage>'
320
+ end
321
+ end
322
+ class WorkflowInstance < InstanceResource
323
+ ##
324
+ # Initialize the WorkflowInstance
325
+ # @param [Version] version Version that contains the resource
326
+ # @param [Hash] payload payload that contains response from Twilio
327
+ # @param [String] account_sid The SID of the
328
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Workflow
329
+ # resource.
330
+ # @param [String] sid The SID of the Call resource to fetch.
331
+ # @return [WorkflowInstance] WorkflowInstance
332
+ def initialize(version, payload , workspace_sid: nil, sid: nil)
333
+ super(version)
334
+
335
+ # Marshaled Properties
336
+ @properties = {
337
+ 'account_sid' => payload['account_sid'],
338
+ 'assignment_callback_url' => payload['assignment_callback_url'],
339
+ 'configuration' => payload['configuration'],
340
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
341
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
342
+ 'document_content_type' => payload['document_content_type'],
343
+ 'fallback_assignment_callback_url' => payload['fallback_assignment_callback_url'],
344
+ 'friendly_name' => payload['friendly_name'],
345
+ 'sid' => payload['sid'],
346
+ 'task_reservation_timeout' => payload['task_reservation_timeout'] == nil ? payload['task_reservation_timeout'] : payload['task_reservation_timeout'].to_i,
347
+ 'workspace_sid' => payload['workspace_sid'],
348
+ 'url' => payload['url'],
349
+ 'links' => payload['links'],
350
+ }
351
+
352
+ # Context
353
+ @instance_context = nil
354
+ @params = { 'workspace_sid' => workspace_sid || @properties['workspace_sid'] ,'sid' => sid || @properties['sid'] , }
355
+ end
356
+
357
+ ##
358
+ # Generate an instance context for the instance, the context is capable of
359
+ # performing various actions. All instance actions are proxied to the context
360
+ # @return [WorkflowContext] CallContext for this CallInstance
361
+ def context
362
+ unless @instance_context
363
+ @instance_context = WorkflowContext.new(@version , @params['workspace_sid'], @params['sid'])
364
+ end
365
+ @instance_context
366
+ end
367
+
368
+ ##
369
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Workflow resource.
370
+ def account_sid
371
+ @properties['account_sid']
372
+ end
373
+
374
+ ##
375
+ # @return [String] The URL that we call when a task managed by the Workflow is assigned to a Worker. See Assignment Callback URL for more information.
376
+ def assignment_callback_url
377
+ @properties['assignment_callback_url']
378
+ end
379
+
380
+ ##
381
+ # @return [String] A JSON string that contains the Workflow's configuration. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) for more information.
382
+ def configuration
383
+ @properties['configuration']
384
+ end
385
+
386
+ ##
387
+ # @return [Time] The date and time in GMT when the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
388
+ def date_created
389
+ @properties['date_created']
390
+ end
391
+
392
+ ##
393
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
394
+ def date_updated
395
+ @properties['date_updated']
396
+ end
397
+
398
+ ##
399
+ # @return [String] The MIME type of the document.
400
+ def document_content_type
401
+ @properties['document_content_type']
402
+ end
403
+
404
+ ##
405
+ # @return [String] The URL that we call when a call to the `assignment_callback_url` fails.
406
+ def fallback_assignment_callback_url
407
+ @properties['fallback_assignment_callback_url']
408
+ end
409
+
410
+ ##
411
+ # @return [String] The string that you assigned to describe the Workflow resource. For example, `Customer Support` or `2014 Election Campaign`.
412
+ def friendly_name
413
+ @properties['friendly_name']
414
+ end
415
+
416
+ ##
417
+ # @return [String] The unique string that we created to identify the Workflow resource.
418
+ def sid
419
+ @properties['sid']
420
+ end
421
+
422
+ ##
423
+ # @return [String] How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to `86,400` (24 hours) and the default is `120`.
424
+ def task_reservation_timeout
425
+ @properties['task_reservation_timeout']
426
+ end
427
+
428
+ ##
429
+ # @return [String] The SID of the Workspace that contains the Workflow.
430
+ def workspace_sid
431
+ @properties['workspace_sid']
432
+ end
433
+
434
+ ##
435
+ # @return [String] The absolute URL of the Workflow resource.
436
+ def url
437
+ @properties['url']
438
+ end
439
+
440
+ ##
441
+ # @return [Hash] The URLs of related resources.
442
+ def links
443
+ @properties['links']
444
+ end
445
+
446
+ ##
447
+ # Delete the WorkflowInstance
448
+ # @return [Boolean] True if delete succeeds, false otherwise
449
+ def delete
450
+
451
+ context.delete
452
+ end
453
+
454
+ ##
455
+ # Fetch the WorkflowInstance
456
+ # @return [WorkflowInstance] Fetched WorkflowInstance
457
+ def fetch
458
+
459
+ context.fetch
460
+ end
461
+
462
+ ##
463
+ # Update the WorkflowInstance
464
+ # @param [String] friendly_name A descriptive string that you create to describe the Workflow resource. For example, `Inbound Call Workflow` or `2014 Outbound Campaign`.
465
+ # @param [String] assignment_callback_url The URL from your application that will process task assignment events. See [Handling Task Assignment Callback](https://www.twilio.com/docs/taskrouter/handle-assignment-callbacks) for more details.
466
+ # @param [String] fallback_assignment_callback_url The URL that we should call when a call to the `assignment_callback_url` fails.
467
+ # @param [String] configuration A JSON string that contains the rules to apply to the Workflow. See [Configuring Workflows](https://www.twilio.com/docs/taskrouter/workflow-configuration) for more information.
468
+ # @param [String] task_reservation_timeout How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to `86,400` (24 hours) and the default is `120`.
469
+ # @param [String] re_evaluate_tasks Whether or not to re-evaluate Tasks. The default is `false`, which means Tasks in the Workflow will not be processed through the assignment loop again.
470
+ # @return [WorkflowInstance] Updated WorkflowInstance
471
+ def update(
472
+ friendly_name: :unset,
473
+ assignment_callback_url: :unset,
474
+ fallback_assignment_callback_url: :unset,
475
+ configuration: :unset,
476
+ task_reservation_timeout: :unset,
477
+ re_evaluate_tasks: :unset
478
+ )
479
+
480
+ context.update(
481
+ friendly_name: friendly_name,
482
+ assignment_callback_url: assignment_callback_url,
483
+ fallback_assignment_callback_url: fallback_assignment_callback_url,
484
+ configuration: configuration,
485
+ task_reservation_timeout: task_reservation_timeout,
486
+ re_evaluate_tasks: re_evaluate_tasks,
487
+ )
488
+ end
489
+
490
+ ##
491
+ # Access the statistics
492
+ # @return [statistics] statistics
493
+ def statistics
494
+ context.statistics
495
+ end
496
+
497
+ ##
498
+ # Access the cumulative_statistics
499
+ # @return [cumulative_statistics] cumulative_statistics
500
+ def cumulative_statistics
501
+ context.cumulative_statistics
502
+ end
503
+
504
+ ##
505
+ # Access the real_time_statistics
506
+ # @return [real_time_statistics] real_time_statistics
507
+ def real_time_statistics
508
+ context.real_time_statistics
509
+ end
510
+
511
+ ##
512
+ # Provide a user friendly representation
513
+ def to_s
514
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
515
+ "<Twilio.Taskrouter.V1.WorkflowInstance #{values}>"
516
+ end
517
+
518
+ ##
519
+ # Provide a detailed, user friendly representation
520
+ def inspect
521
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
522
+ "<Twilio.Taskrouter.V1.WorkflowInstance #{values}>"
523
+ end
524
+ end
525
+
526
+ end
511
527
  end
512
- end
513
528
  end
514
- end
515
529
  end
516
- end
517
- end
530
+ end
531
+
532
+