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,562 +1,616 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
- # frozen_string_literal: true
7
+ # Twilio - Conversations
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.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Conversations < Domain
12
- class V1 < Version
13
- class ConversationList < ListResource
14
- ##
15
- # Initialize the ConversationList
16
- # @param [Version] version Version that contains the resource
17
- # @return [ConversationList] ConversationList
18
- def initialize(version)
19
- super(version)
20
-
21
- # Path Solution
22
- @solution = {}
23
- @uri = "/Conversations"
24
- end
25
-
26
- ##
27
- # Create the ConversationInstance
28
- # @param [String] friendly_name The human-readable name of this conversation,
29
- # limited to 256 characters. Optional.
30
- # @param [String] unique_name An application-defined string that uniquely
31
- # identifies the resource. It can be used to address the resource in place of the
32
- # resource's `sid` in the URL.
33
- # @param [Time] date_created The date that this resource was created.
34
- # @param [Time] date_updated The date that this resource was last updated.
35
- # @param [String] messaging_service_sid The unique ID of the {Messaging
36
- # Service}[https://www.twilio.com/docs/sms/services/api] this conversation belongs
37
- # to.
38
- # @param [String] attributes An optional string metadata field you can use to
39
- # store any data you wish. The string value must contain structurally valid JSON
40
- # if specified. **Note** that if the attributes are not set "{}" will be
41
- # returned.
42
- # @param [conversation.State] state Current state of this conversation. Can be
43
- # either `active`, `inactive` or `closed` and defaults to `active`
44
- # @param [String] timers_inactive ISO8601 duration when conversation will be
45
- # switched to `inactive` state. Minimum value for this timer is 1 minute.
46
- # @param [String] timers_closed ISO8601 duration when conversation will be
47
- # switched to `closed` state. Minimum value for this timer is 10 minutes.
48
- # @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
49
- # X-Twilio-Webhook-Enabled HTTP request header
50
- # @return [ConversationInstance] Created ConversationInstance
51
- def create(friendly_name: :unset, unique_name: :unset, date_created: :unset, date_updated: :unset, messaging_service_sid: :unset, attributes: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, x_twilio_webhook_enabled: :unset)
52
- data = Twilio::Values.of({
53
- 'FriendlyName' => friendly_name,
54
- 'UniqueName' => unique_name,
55
- 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
56
- 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
57
- 'MessagingServiceSid' => messaging_service_sid,
58
- 'Attributes' => attributes,
59
- 'State' => state,
60
- 'Timers.Inactive' => timers_inactive,
61
- 'Timers.Closed' => timers_closed,
62
- })
63
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
64
-
65
- payload = @version.create('POST', @uri, data: data, headers: headers)
66
-
67
- ConversationInstance.new(@version, payload, )
68
- end
69
-
70
- ##
71
- # Lists ConversationInstance records from the API as a list.
72
- # Unlike stream(), this operation is eager and will load `limit` records into
73
- # memory before returning.
74
- # @param [Integer] limit Upper limit for the number of records to return. stream()
75
- # guarantees to never return more than limit. Default is no limit
76
- # @param [Integer] page_size Number of records to fetch per request, when
77
- # not set will use the default value of 50 records. If no page_size is defined
78
- # but a limit is defined, stream() will attempt to read the limit with the most
79
- # efficient page size, i.e. min(limit, 1000)
80
- # @return [Array] Array of up to limit results
81
- def list(limit: nil, page_size: nil)
82
- self.stream(limit: limit, page_size: page_size).entries
83
- end
84
-
85
- ##
86
- # Streams ConversationInstance records from the API as an Enumerable.
87
- # This operation lazily loads records as efficiently as possible until the limit
88
- # is reached.
89
- # @param [Integer] limit Upper limit for the number of records to return. stream()
90
- # guarantees to never return more than limit. Default is no limit.
91
- # @param [Integer] page_size Number of records to fetch per request, when
92
- # not set will use the default value of 50 records. If no page_size is defined
93
- # but a limit is defined, stream() will attempt to read the limit with the most
94
- # efficient page size, i.e. min(limit, 1000)
95
- # @return [Enumerable] Enumerable that will yield up to limit results
96
- def stream(limit: nil, page_size: nil)
97
- limits = @version.read_limits(limit, page_size)
98
-
99
- page = self.page(page_size: limits[:page_size], )
100
-
101
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
102
- end
103
-
104
- ##
105
- # When passed a block, yields ConversationInstance records from the API.
106
- # This operation lazily loads records as efficiently as possible until the limit
107
- # is reached.
108
- def each
109
- limits = @version.read_limits
110
-
111
- page = self.page(page_size: limits[:page_size], )
112
-
113
- @version.stream(page,
17
+ module REST
18
+ class Conversations < ConversationsBase
19
+ class V1 < Version
20
+ class ConversationList < ListResource
21
+ ##
22
+ # Initialize the ConversationList
23
+ # @param [Version] version Version that contains the resource
24
+ # @return [ConversationList] ConversationList
25
+ def initialize(version)
26
+ super(version)
27
+ # Path Solution
28
+ @solution = { }
29
+ @uri = "/Conversations"
30
+
31
+ end
32
+ ##
33
+ # Create the ConversationInstance
34
+ # @param [String] friendly_name The human-readable name of this conversation, limited to 256 characters. Optional.
35
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
36
+ # @param [Time] date_created The date that this resource was created.
37
+ # @param [Time] date_updated The date that this resource was last updated.
38
+ # @param [String] messaging_service_sid The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to.
39
+ # @param [String] attributes An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
40
+ # @param [State] state
41
+ # @param [String] timers_inactive ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.
42
+ # @param [String] timers_closed ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.
43
+ # @param [ConversationEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
44
+ # @return [ConversationInstance] Created ConversationInstance
45
+ def create(
46
+ friendly_name: :unset,
47
+ unique_name: :unset,
48
+ date_created: :unset,
49
+ date_updated: :unset,
50
+ messaging_service_sid: :unset,
51
+ attributes: :unset,
52
+ state: :unset,
53
+ timers_inactive: :unset,
54
+ timers_closed: :unset,
55
+ x_twilio_webhook_enabled: :unset
56
+ )
57
+
58
+ data = Twilio::Values.of({
59
+ 'FriendlyName' => friendly_name,
60
+ 'UniqueName' => unique_name,
61
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
62
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
63
+ 'MessagingServiceSid' => messaging_service_sid,
64
+ 'Attributes' => attributes,
65
+ 'State' => state,
66
+ 'Timers.Inactive' => timers_inactive,
67
+ 'Timers.Closed' => timers_closed,
68
+ })
69
+
70
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
71
+ payload = @version.create('POST', @uri, data: data, headers: headers)
72
+ ConversationInstance.new(
73
+ @version,
74
+ payload,
75
+ )
76
+ end
77
+
78
+
79
+ ##
80
+ # Lists ConversationInstance records from the API as a list.
81
+ # Unlike stream(), this operation is eager and will load `limit` records into
82
+ # memory before returning.
83
+ # @param [String] start_date Start date or time in ISO8601 format for filtering list of Conversations. If a date is provided, the start time of the date is used (YYYY-MM-DDT00:00:00Z). Can be combined with other filters.
84
+ # @param [String] end_date End date or time in ISO8601 format for filtering list of Conversations. If a date is provided, the end time of the date is used (YYYY-MM-DDT23:59:59Z). Can be combined with other filters.
85
+ # @param [State] state State for sorting and filtering list of Conversations. Can be `active`, `inactive` or `closed`
86
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
87
+ # guarantees to never return more than limit. Default is no limit
88
+ # @param [Integer] page_size Number of records to fetch per request, when
89
+ # not set will use the default value of 50 records. If no page_size is defined
90
+ # but a limit is defined, stream() will attempt to read the limit with the most
91
+ # efficient page size, i.e. min(limit, 1000)
92
+ # @return [Array] Array of up to limit results
93
+ def list(start_date: :unset, end_date: :unset, state: :unset, limit: nil, page_size: nil)
94
+ self.stream(
95
+ start_date: start_date,
96
+ end_date: end_date,
97
+ state: state,
98
+ limit: limit,
99
+ page_size: page_size
100
+ ).entries
101
+ end
102
+
103
+ ##
104
+ # Streams Instance records from the API as an Enumerable.
105
+ # This operation lazily loads records as efficiently as possible until the limit
106
+ # is reached.
107
+ # @param [String] start_date Start date or time in ISO8601 format for filtering list of Conversations. If a date is provided, the start time of the date is used (YYYY-MM-DDT00:00:00Z). Can be combined with other filters.
108
+ # @param [String] end_date End date or time in ISO8601 format for filtering list of Conversations. If a date is provided, the end time of the date is used (YYYY-MM-DDT23:59:59Z). Can be combined with other filters.
109
+ # @param [State] state State for sorting and filtering list of Conversations. Can be `active`, `inactive` or `closed`
110
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
111
+ # guarantees to never return more than limit. Default is no limit
112
+ # @param [Integer] page_size Number of records to fetch per request, when
113
+ # not set will use the default value of 50 records. If no page_size is defined
114
+ # but a limit is defined, stream() will attempt to read the limit with the most
115
+ # efficient page size, i.e. min(limit, 1000)
116
+ # @return [Enumerable] Enumerable that will yield up to limit results
117
+ def stream(start_date: :unset, end_date: :unset, state: :unset, limit: nil, page_size: nil)
118
+ limits = @version.read_limits(limit, page_size)
119
+
120
+ page = self.page(
121
+ start_date: start_date,
122
+ end_date: end_date,
123
+ state: state,
124
+ page_size: limits[:page_size], )
125
+
126
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
127
+ end
128
+
129
+ ##
130
+ # When passed a block, yields ConversationInstance records from the API.
131
+ # This operation lazily loads records as efficiently as possible until the limit
132
+ # is reached.
133
+ def each
134
+ limits = @version.read_limits
135
+
136
+ page = self.page(page_size: limits[:page_size], )
137
+
138
+ @version.stream(page,
114
139
  limit: limits[:limit],
115
140
  page_limit: limits[:page_limit]).each {|x| yield x}
116
- end
117
-
118
- ##
119
- # Retrieve a single page of ConversationInstance records from the API.
120
- # Request is executed immediately.
121
- # @param [String] page_token PageToken provided by the API
122
- # @param [Integer] page_number Page Number, this value is simply for client state
123
- # @param [Integer] page_size Number of records to return, defaults to 50
124
- # @return [Page] Page of ConversationInstance
125
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
126
- params = Twilio::Values.of({
127
- 'PageToken' => page_token,
128
- 'Page' => page_number,
129
- 'PageSize' => page_size,
130
- })
131
-
132
- response = @version.page('GET', @uri, params: params)
133
-
134
- ConversationPage.new(@version, response, @solution)
135
- end
136
-
137
- ##
138
- # Retrieve a single page of ConversationInstance records from the API.
139
- # Request is executed immediately.
140
- # @param [String] target_url API-generated URL for the requested results page
141
- # @return [Page] Page of ConversationInstance
142
- def get_page(target_url)
143
- response = @version.domain.request(
144
- 'GET',
145
- target_url
146
- )
147
- ConversationPage.new(@version, response, @solution)
148
- end
149
-
150
- ##
151
- # Provide a user friendly representation
152
- def to_s
153
- '#<Twilio.Conversations.V1.ConversationList>'
154
- end
155
- end
156
-
157
- class ConversationPage < Page
158
- ##
159
- # Initialize the ConversationPage
160
- # @param [Version] version Version that contains the resource
161
- # @param [Response] response Response from the API
162
- # @param [Hash] solution Path solution for the resource
163
- # @return [ConversationPage] ConversationPage
164
- def initialize(version, response, solution)
165
- super(version, response)
166
-
167
- # Path Solution
168
- @solution = solution
169
- end
170
-
171
- ##
172
- # Build an instance of ConversationInstance
173
- # @param [Hash] payload Payload response from the API
174
- # @return [ConversationInstance] ConversationInstance
175
- def get_instance(payload)
176
- ConversationInstance.new(@version, payload, )
177
- end
178
-
179
- ##
180
- # Provide a user friendly representation
181
- def to_s
182
- '<Twilio.Conversations.V1.ConversationPage>'
183
- end
184
- end
185
-
186
- class ConversationContext < InstanceContext
187
- ##
188
- # Initialize the ConversationContext
189
- # @param [Version] version Version that contains the resource
190
- # @param [String] sid A 34 character string that uniquely identifies this
191
- # resource. Can also be the `unique_name` of the Conversation.
192
- # @return [ConversationContext] ConversationContext
193
- def initialize(version, sid)
194
- super(version)
195
-
196
- # Path Solution
197
- @solution = {sid: sid, }
198
- @uri = "/Conversations/#{@solution[:sid]}"
199
-
200
- # Dependents
201
- @participants = nil
202
- @messages = nil
203
- @webhooks = nil
204
- end
205
-
206
- ##
207
- # Update the ConversationInstance
208
- # @param [String] friendly_name The human-readable name of this conversation,
209
- # limited to 256 characters. Optional.
210
- # @param [Time] date_created The date that this resource was created.
211
- # @param [Time] date_updated The date that this resource was last updated.
212
- # @param [String] attributes An optional string metadata field you can use to
213
- # store any data you wish. The string value must contain structurally valid JSON
214
- # if specified. **Note** that if the attributes are not set "{}" will be
215
- # returned.
216
- # @param [String] messaging_service_sid The unique ID of the {Messaging
217
- # Service}[https://www.twilio.com/docs/sms/services/api] this conversation belongs
218
- # to.
219
- # @param [conversation.State] state Current state of this conversation. Can be
220
- # either `active`, `inactive` or `closed` and defaults to `active`
221
- # @param [String] timers_inactive ISO8601 duration when conversation will be
222
- # switched to `inactive` state. Minimum value for this timer is 1 minute.
223
- # @param [String] timers_closed ISO8601 duration when conversation will be
224
- # switched to `closed` state. Minimum value for this timer is 10 minutes.
225
- # @param [String] unique_name An application-defined string that uniquely
226
- # identifies the resource. It can be used to address the resource in place of the
227
- # resource's `sid` in the URL.
228
- # @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
229
- # X-Twilio-Webhook-Enabled HTTP request header
230
- # @return [ConversationInstance] Updated ConversationInstance
231
- def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, unique_name: :unset, x_twilio_webhook_enabled: :unset)
232
- data = Twilio::Values.of({
233
- 'FriendlyName' => friendly_name,
234
- 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
235
- 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
236
- 'Attributes' => attributes,
237
- 'MessagingServiceSid' => messaging_service_sid,
238
- 'State' => state,
239
- 'Timers.Inactive' => timers_inactive,
240
- 'Timers.Closed' => timers_closed,
241
- 'UniqueName' => unique_name,
242
- })
243
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
244
-
245
- payload = @version.update('POST', @uri, data: data, headers: headers)
246
-
247
- ConversationInstance.new(@version, payload, sid: @solution[:sid], )
248
- end
249
-
250
- ##
251
- # Delete the ConversationInstance
252
- # @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
253
- # X-Twilio-Webhook-Enabled HTTP request header
254
- # @return [Boolean] true if delete succeeds, false otherwise
255
- def delete(x_twilio_webhook_enabled: :unset)
256
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
257
-
258
- @version.delete('DELETE', @uri, headers: headers)
259
- end
260
-
261
- ##
262
- # Fetch the ConversationInstance
263
- # @return [ConversationInstance] Fetched ConversationInstance
264
- def fetch
265
- payload = @version.fetch('GET', @uri)
266
-
267
- ConversationInstance.new(@version, payload, sid: @solution[:sid], )
268
- end
269
-
270
- ##
271
- # Access the participants
272
- # @return [ParticipantList]
273
- # @return [ParticipantContext] if sid was passed.
274
- def participants(sid=:unset)
275
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
276
-
277
- if sid != :unset
278
- return ParticipantContext.new(@version, @solution[:sid], sid, )
279
- end
280
-
281
- unless @participants
282
- @participants = ParticipantList.new(@version, conversation_sid: @solution[:sid], )
283
- end
284
-
285
- @participants
286
- end
287
-
288
- ##
289
- # Access the messages
290
- # @return [MessageList]
291
- # @return [MessageContext] if sid was passed.
292
- def messages(sid=:unset)
293
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
294
-
295
- if sid != :unset
296
- return MessageContext.new(@version, @solution[:sid], sid, )
297
- end
298
-
299
- unless @messages
300
- @messages = MessageList.new(@version, conversation_sid: @solution[:sid], )
301
- end
302
-
303
- @messages
304
- end
305
-
306
- ##
307
- # Access the webhooks
308
- # @return [WebhookList]
309
- # @return [WebhookContext] if sid was passed.
310
- def webhooks(sid=:unset)
311
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
312
-
313
- if sid != :unset
314
- return WebhookContext.new(@version, @solution[:sid], sid, )
315
- end
316
-
317
- unless @webhooks
318
- @webhooks = WebhookList.new(@version, conversation_sid: @solution[:sid], )
319
- end
320
-
321
- @webhooks
322
- end
323
-
324
- ##
325
- # Provide a user friendly representation
326
- def to_s
327
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
328
- "#<Twilio.Conversations.V1.ConversationContext #{context}>"
329
- end
330
-
331
- ##
332
- # Provide a detailed, user friendly representation
333
- def inspect
334
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
335
- "#<Twilio.Conversations.V1.ConversationContext #{context}>"
336
- end
337
- end
141
+ end
142
+
143
+ ##
144
+ # Retrieve a single page of ConversationInstance records from the API.
145
+ # Request is executed immediately.
146
+ # @param [String] start_date Start date or time in ISO8601 format for filtering list of Conversations. If a date is provided, the start time of the date is used (YYYY-MM-DDT00:00:00Z). Can be combined with other filters.
147
+ # @param [String] end_date End date or time in ISO8601 format for filtering list of Conversations. If a date is provided, the end time of the date is used (YYYY-MM-DDT23:59:59Z). Can be combined with other filters.
148
+ # @param [State] state State for sorting and filtering list of Conversations. Can be `active`, `inactive` or `closed`
149
+ # @param [String] page_token PageToken provided by the API
150
+ # @param [Integer] page_number Page Number, this value is simply for client state
151
+ # @param [Integer] page_size Number of records to return, defaults to 50
152
+ # @return [Page] Page of ConversationInstance
153
+ def page(start_date: :unset, end_date: :unset, state: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
154
+ params = Twilio::Values.of({
155
+
156
+ 'StartDate' => start_date,
157
+
158
+ 'EndDate' => end_date,
159
+
160
+ 'State' => state,
161
+
162
+ 'PageToken' => page_token,
163
+ 'Page' => page_number,
164
+ 'PageSize' => page_size,
165
+ })
166
+
167
+ response = @version.page('GET', @uri, params: params)
168
+
169
+ ConversationPage.new(@version, response, @solution)
170
+ end
171
+
172
+ ##
173
+ # Retrieve a single page of ConversationInstance records from the API.
174
+ # Request is executed immediately.
175
+ # @param [String] target_url API-generated URL for the requested results page
176
+ # @return [Page] Page of ConversationInstance
177
+ def get_page(target_url)
178
+ response = @version.domain.request(
179
+ 'GET',
180
+ target_url
181
+ )
182
+ ConversationPage.new(@version, response, @solution)
183
+ end
184
+
185
+
186
+
187
+ # Provide a user friendly representation
188
+ def to_s
189
+ '#<Twilio.Conversations.V1.ConversationList>'
190
+ end
191
+ end
192
+
193
+
194
+ class ConversationContext < InstanceContext
195
+ ##
196
+ # Initialize the ConversationContext
197
+ # @param [Version] version Version that contains the resource
198
+ # @param [String] sid A 34 character string that uniquely identifies this resource. Can also be the `unique_name` of the Conversation.
199
+ # @return [ConversationContext] ConversationContext
200
+ def initialize(version, sid)
201
+ super(version)
202
+
203
+ # Path Solution
204
+ @solution = { sid: sid, }
205
+ @uri = "/Conversations/#{@solution[:sid]}"
206
+
207
+ # Dependents
208
+ @webhooks = nil
209
+ @messages = nil
210
+ @participants = nil
211
+ end
212
+ ##
213
+ # Delete the ConversationInstance
214
+ # @param [ConversationEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
215
+ # @return [Boolean] True if delete succeeds, false otherwise
216
+ def delete(
217
+ x_twilio_webhook_enabled: :unset
218
+ )
219
+
220
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
221
+ @version.delete('DELETE', @uri, headers: headers)
222
+ end
223
+
224
+ ##
225
+ # Fetch the ConversationInstance
226
+ # @return [ConversationInstance] Fetched ConversationInstance
227
+ def fetch
228
+
229
+ payload = @version.fetch('GET', @uri)
230
+ ConversationInstance.new(
231
+ @version,
232
+ payload,
233
+ sid: @solution[:sid],
234
+ )
235
+ end
236
+
237
+ ##
238
+ # Update the ConversationInstance
239
+ # @param [String] friendly_name The human-readable name of this conversation, limited to 256 characters. Optional.
240
+ # @param [Time] date_created The date that this resource was created.
241
+ # @param [Time] date_updated The date that this resource was last updated.
242
+ # @param [String] attributes An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
243
+ # @param [String] messaging_service_sid The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to.
244
+ # @param [State] state
245
+ # @param [String] timers_inactive ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.
246
+ # @param [String] timers_closed ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.
247
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
248
+ # @param [ConversationEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
249
+ # @return [ConversationInstance] Updated ConversationInstance
250
+ def update(
251
+ friendly_name: :unset,
252
+ date_created: :unset,
253
+ date_updated: :unset,
254
+ attributes: :unset,
255
+ messaging_service_sid: :unset,
256
+ state: :unset,
257
+ timers_inactive: :unset,
258
+ timers_closed: :unset,
259
+ unique_name: :unset,
260
+ x_twilio_webhook_enabled: :unset
261
+ )
262
+
263
+ data = Twilio::Values.of({
264
+ 'FriendlyName' => friendly_name,
265
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
266
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
267
+ 'Attributes' => attributes,
268
+ 'MessagingServiceSid' => messaging_service_sid,
269
+ 'State' => state,
270
+ 'Timers.Inactive' => timers_inactive,
271
+ 'Timers.Closed' => timers_closed,
272
+ 'UniqueName' => unique_name,
273
+ })
274
+
275
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
276
+ payload = @version.update('POST', @uri, data: data, headers: headers)
277
+ ConversationInstance.new(
278
+ @version,
279
+ payload,
280
+ sid: @solution[:sid],
281
+ )
282
+ end
283
+
284
+ ##
285
+ # Access the webhooks
286
+ # @return [WebhookList]
287
+ # @return [WebhookContext] if sid was passed.
288
+ def webhooks(sid=:unset)
289
+
290
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
291
+
292
+ if sid != :unset
293
+ return WebhookContext.new(@version, @solution[:sid],sid )
294
+ end
295
+
296
+ unless @webhooks
297
+ @webhooks = WebhookList.new(
298
+ @version, conversation_sid: @solution[:sid], )
299
+ end
300
+
301
+ @webhooks
302
+ end
303
+ ##
304
+ # Access the messages
305
+ # @return [MessageList]
306
+ # @return [MessageContext] if sid was passed.
307
+ def messages(sid=:unset)
308
+
309
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
310
+
311
+ if sid != :unset
312
+ return MessageContext.new(@version, @solution[:sid],sid )
313
+ end
314
+
315
+ unless @messages
316
+ @messages = MessageList.new(
317
+ @version, conversation_sid: @solution[:sid], )
318
+ end
319
+
320
+ @messages
321
+ end
322
+ ##
323
+ # Access the participants
324
+ # @return [ParticipantList]
325
+ # @return [ParticipantContext] if sid was passed.
326
+ def participants(sid=:unset)
327
+
328
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
329
+
330
+ if sid != :unset
331
+ return ParticipantContext.new(@version, @solution[:sid],sid )
332
+ end
333
+
334
+ unless @participants
335
+ @participants = ParticipantList.new(
336
+ @version, conversation_sid: @solution[:sid], )
337
+ end
338
+
339
+ @participants
340
+ end
341
+
342
+ ##
343
+ # Provide a user friendly representation
344
+ def to_s
345
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
346
+ "#<Twilio.Conversations.V1.ConversationContext #{context}>"
347
+ end
348
+
349
+ ##
350
+ # Provide a detailed, user friendly representation
351
+ def inspect
352
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
353
+ "#<Twilio.Conversations.V1.ConversationContext #{context}>"
354
+ end
355
+ end
356
+
357
+ class ConversationPage < Page
358
+ ##
359
+ # Initialize the ConversationPage
360
+ # @param [Version] version Version that contains the resource
361
+ # @param [Response] response Response from the API
362
+ # @param [Hash] solution Path solution for the resource
363
+ # @return [ConversationPage] ConversationPage
364
+ def initialize(version, response, solution)
365
+ super(version, response)
366
+
367
+ # Path Solution
368
+ @solution = solution
369
+ end
370
+
371
+ ##
372
+ # Build an instance of ConversationInstance
373
+ # @param [Hash] payload Payload response from the API
374
+ # @return [ConversationInstance] ConversationInstance
375
+ def get_instance(payload)
376
+ ConversationInstance.new(@version, payload)
377
+ end
378
+
379
+ ##
380
+ # Provide a user friendly representation
381
+ def to_s
382
+ '<Twilio.Conversations.V1.ConversationPage>'
383
+ end
384
+ end
385
+ class ConversationInstance < InstanceResource
386
+ ##
387
+ # Initialize the ConversationInstance
388
+ # @param [Version] version Version that contains the resource
389
+ # @param [Hash] payload payload that contains response from Twilio
390
+ # @param [String] account_sid The SID of the
391
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Conversation
392
+ # resource.
393
+ # @param [String] sid The SID of the Call resource to fetch.
394
+ # @return [ConversationInstance] ConversationInstance
395
+ def initialize(version, payload , sid: nil)
396
+ super(version)
397
+
398
+ # Marshaled Properties
399
+ @properties = {
400
+ 'account_sid' => payload['account_sid'],
401
+ 'chat_service_sid' => payload['chat_service_sid'],
402
+ 'messaging_service_sid' => payload['messaging_service_sid'],
403
+ 'sid' => payload['sid'],
404
+ 'friendly_name' => payload['friendly_name'],
405
+ 'unique_name' => payload['unique_name'],
406
+ 'attributes' => payload['attributes'],
407
+ 'state' => payload['state'],
408
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
409
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
410
+ 'timers' => payload['timers'],
411
+ 'url' => payload['url'],
412
+ 'links' => payload['links'],
413
+ 'bindings' => payload['bindings'],
414
+ }
415
+
416
+ # Context
417
+ @instance_context = nil
418
+ @params = { 'sid' => sid || @properties['sid'] , }
419
+ end
420
+
421
+ ##
422
+ # Generate an instance context for the instance, the context is capable of
423
+ # performing various actions. All instance actions are proxied to the context
424
+ # @return [ConversationContext] CallContext for this CallInstance
425
+ def context
426
+ unless @instance_context
427
+ @instance_context = ConversationContext.new(@version , @params['sid'])
428
+ end
429
+ @instance_context
430
+ end
431
+
432
+ ##
433
+ # @return [String] The unique ID of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this conversation.
434
+ def account_sid
435
+ @properties['account_sid']
436
+ end
437
+
438
+ ##
439
+ # @return [String] The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to.
440
+ def chat_service_sid
441
+ @properties['chat_service_sid']
442
+ end
443
+
444
+ ##
445
+ # @return [String] The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to.
446
+ def messaging_service_sid
447
+ @properties['messaging_service_sid']
448
+ end
449
+
450
+ ##
451
+ # @return [String] A 34 character string that uniquely identifies this resource.
452
+ def sid
453
+ @properties['sid']
454
+ end
455
+
456
+ ##
457
+ # @return [String] The human-readable name of this conversation, limited to 256 characters. Optional.
458
+ def friendly_name
459
+ @properties['friendly_name']
460
+ end
461
+
462
+ ##
463
+ # @return [String] An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
464
+ def unique_name
465
+ @properties['unique_name']
466
+ end
467
+
468
+ ##
469
+ # @return [String] An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.
470
+ def attributes
471
+ @properties['attributes']
472
+ end
473
+
474
+ ##
475
+ # @return [State]
476
+ def state
477
+ @properties['state']
478
+ end
479
+
480
+ ##
481
+ # @return [Time] The date that this resource was created.
482
+ def date_created
483
+ @properties['date_created']
484
+ end
485
+
486
+ ##
487
+ # @return [Time] The date that this resource was last updated.
488
+ def date_updated
489
+ @properties['date_updated']
490
+ end
491
+
492
+ ##
493
+ # @return [Hash] Timer date values representing state update for this conversation.
494
+ def timers
495
+ @properties['timers']
496
+ end
497
+
498
+ ##
499
+ # @return [String] An absolute API resource URL for this conversation.
500
+ def url
501
+ @properties['url']
502
+ end
503
+
504
+ ##
505
+ # @return [Hash] Contains absolute URLs to access the [participants](https://www.twilio.com/docs/conversations/api/conversation-participant-resource), [messages](https://www.twilio.com/docs/conversations/api/conversation-message-resource) and [webhooks](https://www.twilio.com/docs/conversations/api/conversation-scoped-webhook-resource) of this conversation.
506
+ def links
507
+ @properties['links']
508
+ end
509
+
510
+ ##
511
+ # @return [Hash]
512
+ def bindings
513
+ @properties['bindings']
514
+ end
515
+
516
+ ##
517
+ # Delete the ConversationInstance
518
+ # @param [ConversationEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
519
+ # @return [Boolean] True if delete succeeds, false otherwise
520
+ def delete(
521
+ x_twilio_webhook_enabled: :unset
522
+ )
523
+
524
+ context.delete(
525
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
526
+ )
527
+ end
528
+
529
+ ##
530
+ # Fetch the ConversationInstance
531
+ # @return [ConversationInstance] Fetched ConversationInstance
532
+ def fetch
533
+
534
+ context.fetch
535
+ end
536
+
537
+ ##
538
+ # Update the ConversationInstance
539
+ # @param [String] friendly_name The human-readable name of this conversation, limited to 256 characters. Optional.
540
+ # @param [Time] date_created The date that this resource was created.
541
+ # @param [Time] date_updated The date that this resource was last updated.
542
+ # @param [String] attributes An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
543
+ # @param [String] messaging_service_sid The unique ID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) this conversation belongs to.
544
+ # @param [State] state
545
+ # @param [String] timers_inactive ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.
546
+ # @param [String] timers_closed ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.
547
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
548
+ # @param [ConversationEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
549
+ # @return [ConversationInstance] Updated ConversationInstance
550
+ def update(
551
+ friendly_name: :unset,
552
+ date_created: :unset,
553
+ date_updated: :unset,
554
+ attributes: :unset,
555
+ messaging_service_sid: :unset,
556
+ state: :unset,
557
+ timers_inactive: :unset,
558
+ timers_closed: :unset,
559
+ unique_name: :unset,
560
+ x_twilio_webhook_enabled: :unset
561
+ )
562
+
563
+ context.update(
564
+ friendly_name: friendly_name,
565
+ date_created: date_created,
566
+ date_updated: date_updated,
567
+ attributes: attributes,
568
+ messaging_service_sid: messaging_service_sid,
569
+ state: state,
570
+ timers_inactive: timers_inactive,
571
+ timers_closed: timers_closed,
572
+ unique_name: unique_name,
573
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
574
+ )
575
+ end
576
+
577
+ ##
578
+ # Access the webhooks
579
+ # @return [webhooks] webhooks
580
+ def webhooks
581
+ context.webhooks
582
+ end
583
+
584
+ ##
585
+ # Access the messages
586
+ # @return [messages] messages
587
+ def messages
588
+ context.messages
589
+ end
590
+
591
+ ##
592
+ # Access the participants
593
+ # @return [participants] participants
594
+ def participants
595
+ context.participants
596
+ end
597
+
598
+ ##
599
+ # Provide a user friendly representation
600
+ def to_s
601
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
602
+ "<Twilio.Conversations.V1.ConversationInstance #{values}>"
603
+ end
604
+
605
+ ##
606
+ # Provide a detailed, user friendly representation
607
+ def inspect
608
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
609
+ "<Twilio.Conversations.V1.ConversationInstance #{values}>"
610
+ end
611
+ end
338
612
 
339
- class ConversationInstance < InstanceResource
340
- ##
341
- # Initialize the ConversationInstance
342
- # @param [Version] version Version that contains the resource
343
- # @param [Hash] payload payload that contains response from Twilio
344
- # @param [String] sid A 34 character string that uniquely identifies this
345
- # resource. Can also be the `unique_name` of the Conversation.
346
- # @return [ConversationInstance] ConversationInstance
347
- def initialize(version, payload, sid: nil)
348
- super(version)
349
-
350
- # Marshaled Properties
351
- @properties = {
352
- 'account_sid' => payload['account_sid'],
353
- 'chat_service_sid' => payload['chat_service_sid'],
354
- 'messaging_service_sid' => payload['messaging_service_sid'],
355
- 'sid' => payload['sid'],
356
- 'friendly_name' => payload['friendly_name'],
357
- 'unique_name' => payload['unique_name'],
358
- 'attributes' => payload['attributes'],
359
- 'state' => payload['state'],
360
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
361
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
362
- 'timers' => payload['timers'],
363
- 'url' => payload['url'],
364
- 'links' => payload['links'],
365
- 'bindings' => payload['bindings'],
366
- }
367
-
368
- # Context
369
- @instance_context = nil
370
- @params = {'sid' => sid || @properties['sid'], }
371
- end
372
-
373
- ##
374
- # Generate an instance context for the instance, the context is capable of
375
- # performing various actions. All instance actions are proxied to the context
376
- # @return [ConversationContext] ConversationContext for this ConversationInstance
377
- def context
378
- unless @instance_context
379
- @instance_context = ConversationContext.new(@version, @params['sid'], )
380
613
  end
381
- @instance_context
382
- end
383
-
384
- ##
385
- # @return [String] The unique ID of the Account responsible for this conversation.
386
- def account_sid
387
- @properties['account_sid']
388
- end
389
-
390
- ##
391
- # @return [String] The unique ID of the Conversation Service this conversation belongs to.
392
- def chat_service_sid
393
- @properties['chat_service_sid']
394
- end
395
-
396
- ##
397
- # @return [String] The unique ID of the Messaging Service this conversation belongs to.
398
- def messaging_service_sid
399
- @properties['messaging_service_sid']
400
- end
401
-
402
- ##
403
- # @return [String] A 34 character string that uniquely identifies this resource.
404
- def sid
405
- @properties['sid']
406
- end
407
-
408
- ##
409
- # @return [String] The human-readable name of this conversation.
410
- def friendly_name
411
- @properties['friendly_name']
412
- end
413
-
414
- ##
415
- # @return [String] An application-defined string that uniquely identifies the resource
416
- def unique_name
417
- @properties['unique_name']
418
- end
419
-
420
- ##
421
- # @return [String] An optional string metadata field you can use to store any data you wish.
422
- def attributes
423
- @properties['attributes']
424
- end
425
-
426
- ##
427
- # @return [conversation.State] Current state of this conversation.
428
- def state
429
- @properties['state']
430
- end
431
-
432
- ##
433
- # @return [Time] The date that this resource was created.
434
- def date_created
435
- @properties['date_created']
436
- end
437
-
438
- ##
439
- # @return [Time] The date that this resource was last updated.
440
- def date_updated
441
- @properties['date_updated']
442
- end
443
-
444
- ##
445
- # @return [Hash] Timer date values for this conversation.
446
- def timers
447
- @properties['timers']
448
- end
449
-
450
- ##
451
- # @return [String] An absolute URL for this conversation.
452
- def url
453
- @properties['url']
454
- end
455
-
456
- ##
457
- # @return [String] Absolute URLs to access the participants, messages and webhooks of this conversation.
458
- def links
459
- @properties['links']
460
- end
461
-
462
- ##
463
- # @return [Hash] The bindings
464
- def bindings
465
- @properties['bindings']
466
- end
467
-
468
- ##
469
- # Update the ConversationInstance
470
- # @param [String] friendly_name The human-readable name of this conversation,
471
- # limited to 256 characters. Optional.
472
- # @param [Time] date_created The date that this resource was created.
473
- # @param [Time] date_updated The date that this resource was last updated.
474
- # @param [String] attributes An optional string metadata field you can use to
475
- # store any data you wish. The string value must contain structurally valid JSON
476
- # if specified. **Note** that if the attributes are not set "{}" will be
477
- # returned.
478
- # @param [String] messaging_service_sid The unique ID of the {Messaging
479
- # Service}[https://www.twilio.com/docs/sms/services/api] this conversation belongs
480
- # to.
481
- # @param [conversation.State] state Current state of this conversation. Can be
482
- # either `active`, `inactive` or `closed` and defaults to `active`
483
- # @param [String] timers_inactive ISO8601 duration when conversation will be
484
- # switched to `inactive` state. Minimum value for this timer is 1 minute.
485
- # @param [String] timers_closed ISO8601 duration when conversation will be
486
- # switched to `closed` state. Minimum value for this timer is 10 minutes.
487
- # @param [String] unique_name An application-defined string that uniquely
488
- # identifies the resource. It can be used to address the resource in place of the
489
- # resource's `sid` in the URL.
490
- # @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
491
- # X-Twilio-Webhook-Enabled HTTP request header
492
- # @return [ConversationInstance] Updated ConversationInstance
493
- def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, unique_name: :unset, x_twilio_webhook_enabled: :unset)
494
- context.update(
495
- friendly_name: friendly_name,
496
- date_created: date_created,
497
- date_updated: date_updated,
498
- attributes: attributes,
499
- messaging_service_sid: messaging_service_sid,
500
- state: state,
501
- timers_inactive: timers_inactive,
502
- timers_closed: timers_closed,
503
- unique_name: unique_name,
504
- x_twilio_webhook_enabled: x_twilio_webhook_enabled,
505
- )
506
- end
507
-
508
- ##
509
- # Delete the ConversationInstance
510
- # @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
511
- # X-Twilio-Webhook-Enabled HTTP request header
512
- # @return [Boolean] true if delete succeeds, false otherwise
513
- def delete(x_twilio_webhook_enabled: :unset)
514
- context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
515
- end
516
-
517
- ##
518
- # Fetch the ConversationInstance
519
- # @return [ConversationInstance] Fetched ConversationInstance
520
- def fetch
521
- context.fetch
522
- end
523
-
524
- ##
525
- # Access the participants
526
- # @return [participants] participants
527
- def participants
528
- context.participants
529
- end
530
-
531
- ##
532
- # Access the messages
533
- # @return [messages] messages
534
- def messages
535
- context.messages
536
- end
537
-
538
- ##
539
- # Access the webhooks
540
- # @return [webhooks] webhooks
541
- def webhooks
542
- context.webhooks
543
- end
544
-
545
- ##
546
- # Provide a user friendly representation
547
- def to_s
548
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
549
- "<Twilio.Conversations.V1.ConversationInstance #{values}>"
550
- end
551
-
552
- ##
553
- # Provide a detailed, user friendly representation
554
- def inspect
555
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
556
- "<Twilio.Conversations.V1.ConversationInstance #{values}>"
557
- end
558
614
  end
559
- end
560
615
  end
561
- end
562
- end
616
+ end