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,502 +1,537 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - 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.
6
13
  #
7
- # frozen_string_literal: true
8
-
9
- module Twilio
10
- module REST
11
- class Conversations < Domain
12
- class V1 < Version
13
- class ConversationContext < InstanceContext
14
- class MessageList < ListResource
15
- ##
16
- # Initialize the MessageList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] conversation_sid The unique ID of the
19
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
20
- # for this message.
21
- # @return [MessageList] MessageList
22
- def initialize(version, conversation_sid: nil)
23
- super(version)
24
-
25
- # Path Solution
26
- @solution = {conversation_sid: conversation_sid}
27
- @uri = "/Conversations/#{@solution[:conversation_sid]}/Messages"
28
- end
29
-
30
- ##
31
- # Create the MessageInstance
32
- # @param [String] author The channel specific identifier of the message's author.
33
- # Defaults to `system`.
34
- # @param [String] body The content of the message, can be up to 1,600 characters
35
- # long.
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. `null`
38
- # if the message has not been edited.
39
- # @param [String] attributes A string metadata field you can use to store any data
40
- # you wish. The string value must contain structurally valid JSON if specified.
41
- # **Note** that if the attributes are not set "{}" will be returned.
42
- # @param [String] media_sid The Media SID to be attached to the new Message.
43
- # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
44
- # X-Twilio-Webhook-Enabled HTTP request header
45
- # @return [MessageInstance] Created MessageInstance
46
- def create(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, media_sid: :unset, x_twilio_webhook_enabled: :unset)
47
- data = Twilio::Values.of({
48
- 'Author' => author,
49
- 'Body' => body,
50
- 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
51
- 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
52
- 'Attributes' => attributes,
53
- 'MediaSid' => media_sid,
54
- })
55
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
56
-
57
- payload = @version.create('POST', @uri, data: data, headers: headers)
58
-
59
- MessageInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid], )
60
- end
61
-
62
- ##
63
- # Lists MessageInstance records from the API as a list.
64
- # Unlike stream(), this operation is eager and will load `limit` records into
65
- # memory before returning.
66
- # @param [message.OrderType] order The sort order of the returned messages. Can
67
- # be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
68
- # @param [Integer] limit Upper limit for the number of records to return. stream()
69
- # guarantees to never return more than limit. Default is no limit
70
- # @param [Integer] page_size Number of records to fetch per request, when
71
- # not set will use the default value of 50 records. If no page_size is defined
72
- # but a limit is defined, stream() will attempt to read the limit with the most
73
- # efficient page size, i.e. min(limit, 1000)
74
- # @return [Array] Array of up to limit results
75
- def list(order: :unset, limit: nil, page_size: nil)
76
- self.stream(order: order, limit: limit, page_size: page_size).entries
77
- end
78
-
79
- ##
80
- # Streams MessageInstance records from the API as an Enumerable.
81
- # This operation lazily loads records as efficiently as possible until the limit
82
- # is reached.
83
- # @param [message.OrderType] order The sort order of the returned messages. Can
84
- # be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
85
- # @param [Integer] limit Upper limit for the number of records to return. stream()
86
- # guarantees to never return more than limit. Default is no limit.
87
- # @param [Integer] page_size Number of records to fetch per request, when
88
- # not set will use the default value of 50 records. If no page_size is defined
89
- # but a limit is defined, stream() will attempt to read the limit with the most
90
- # efficient page size, i.e. min(limit, 1000)
91
- # @return [Enumerable] Enumerable that will yield up to limit results
92
- def stream(order: :unset, limit: nil, page_size: nil)
93
- limits = @version.read_limits(limit, page_size)
94
-
95
- page = self.page(order: order, page_size: limits[:page_size], )
96
-
97
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
98
- end
99
-
100
- ##
101
- # When passed a block, yields MessageInstance records from the API.
102
- # This operation lazily loads records as efficiently as possible until the limit
103
- # is reached.
104
- def each
105
- limits = @version.read_limits
106
-
107
- page = self.page(page_size: limits[:page_size], )
108
-
109
- @version.stream(page,
110
- limit: limits[:limit],
111
- page_limit: limits[:page_limit]).each {|x| yield x}
112
- end
113
-
114
- ##
115
- # Retrieve a single page of MessageInstance records from the API.
116
- # Request is executed immediately.
117
- # @param [message.OrderType] order The sort order of the returned messages. Can
118
- # be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
119
- # @param [String] page_token PageToken provided by the API
120
- # @param [Integer] page_number Page Number, this value is simply for client state
121
- # @param [Integer] page_size Number of records to return, defaults to 50
122
- # @return [Page] Page of MessageInstance
123
- def page(order: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
124
- params = Twilio::Values.of({
125
- 'Order' => order,
126
- 'PageToken' => page_token,
127
- 'Page' => page_number,
128
- 'PageSize' => page_size,
129
- })
130
-
131
- response = @version.page('GET', @uri, params: params)
132
-
133
- MessagePage.new(@version, response, @solution)
134
- end
135
-
136
- ##
137
- # Retrieve a single page of MessageInstance records from the API.
138
- # Request is executed immediately.
139
- # @param [String] target_url API-generated URL for the requested results page
140
- # @return [Page] Page of MessageInstance
141
- def get_page(target_url)
142
- response = @version.domain.request(
143
- 'GET',
144
- target_url
145
- )
146
- MessagePage.new(@version, response, @solution)
147
- end
148
-
149
- ##
150
- # Provide a user friendly representation
151
- def to_s
152
- '#<Twilio.Conversations.V1.MessageList>'
153
- end
154
- end
155
-
156
- class MessagePage < Page
157
- ##
158
- # Initialize the MessagePage
159
- # @param [Version] version Version that contains the resource
160
- # @param [Response] response Response from the API
161
- # @param [Hash] solution Path solution for the resource
162
- # @return [MessagePage] MessagePage
163
- def initialize(version, response, solution)
164
- super(version, response)
165
-
166
- # Path Solution
167
- @solution = solution
168
- end
169
-
170
- ##
171
- # Build an instance of MessageInstance
172
- # @param [Hash] payload Payload response from the API
173
- # @return [MessageInstance] MessageInstance
174
- def get_instance(payload)
175
- MessageInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid], )
176
- end
177
-
178
- ##
179
- # Provide a user friendly representation
180
- def to_s
181
- '<Twilio.Conversations.V1.MessagePage>'
182
- end
183
- end
184
-
185
- class MessageContext < InstanceContext
186
- ##
187
- # Initialize the MessageContext
188
- # @param [Version] version Version that contains the resource
189
- # @param [String] conversation_sid The unique ID of the
190
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
191
- # for this message.
192
- # @param [String] sid A 34 character string that uniquely identifies this
193
- # resource.
194
- # @return [MessageContext] MessageContext
195
- def initialize(version, conversation_sid, sid)
196
- super(version)
197
-
198
- # Path Solution
199
- @solution = {conversation_sid: conversation_sid, sid: sid, }
200
- @uri = "/Conversations/#{@solution[:conversation_sid]}/Messages/#{@solution[:sid]}"
201
-
202
- # Dependents
203
- @delivery_receipts = nil
204
- end
205
-
206
- ##
207
- # Update the MessageInstance
208
- # @param [String] author The channel specific identifier of the message's author.
209
- # Defaults to `system`.
210
- # @param [String] body The content of the message, can be up to 1,600 characters
211
- # long.
212
- # @param [Time] date_created The date that this resource was created.
213
- # @param [Time] date_updated The date that this resource was last updated. `null`
214
- # if the message has not been edited.
215
- # @param [String] attributes A string metadata field you can use to store any data
216
- # you wish. The string value must contain structurally valid JSON if specified.
217
- # **Note** that if the attributes are not set "{}" will be returned.
218
- # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
219
- # X-Twilio-Webhook-Enabled HTTP request header
220
- # @return [MessageInstance] Updated MessageInstance
221
- def update(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, x_twilio_webhook_enabled: :unset)
222
- data = Twilio::Values.of({
223
- 'Author' => author,
224
- 'Body' => body,
225
- 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
226
- 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
227
- 'Attributes' => attributes,
228
- })
229
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
230
-
231
- payload = @version.update('POST', @uri, data: data, headers: headers)
232
-
233
- MessageInstance.new(
234
- @version,
235
- payload,
236
- conversation_sid: @solution[:conversation_sid],
237
- sid: @solution[:sid],
238
- )
239
- end
240
-
241
- ##
242
- # Delete the MessageInstance
243
- # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
244
- # X-Twilio-Webhook-Enabled HTTP request header
245
- # @return [Boolean] true if delete succeeds, false otherwise
246
- def delete(x_twilio_webhook_enabled: :unset)
247
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
248
-
249
- @version.delete('DELETE', @uri, headers: headers)
250
- end
251
-
252
- ##
253
- # Fetch the MessageInstance
254
- # @return [MessageInstance] Fetched MessageInstance
255
- def fetch
256
- payload = @version.fetch('GET', @uri)
257
-
258
- MessageInstance.new(
259
- @version,
260
- payload,
261
- conversation_sid: @solution[:conversation_sid],
262
- sid: @solution[:sid],
263
- )
264
- end
265
-
266
- ##
267
- # Access the delivery_receipts
268
- # @return [DeliveryReceiptList]
269
- # @return [DeliveryReceiptContext] if sid was passed.
270
- def delivery_receipts(sid=:unset)
271
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
272
-
273
- if sid != :unset
274
- return DeliveryReceiptContext.new(@version, @solution[:conversation_sid], @solution[:sid], sid, )
275
- end
276
-
277
- unless @delivery_receipts
278
- @delivery_receipts = DeliveryReceiptList.new(
279
- @version,
280
- conversation_sid: @solution[:conversation_sid],
281
- message_sid: @solution[:sid],
282
- )
283
- end
284
-
285
- @delivery_receipts
286
- end
287
-
288
- ##
289
- # Provide a user friendly representation
290
- def to_s
291
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
292
- "#<Twilio.Conversations.V1.MessageContext #{context}>"
293
- end
294
-
295
- ##
296
- # Provide a detailed, user friendly representation
297
- def inspect
298
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
299
- "#<Twilio.Conversations.V1.MessageContext #{context}>"
300
- end
301
- end
302
-
303
- class MessageInstance < InstanceResource
304
- ##
305
- # Initialize the MessageInstance
306
- # @param [Version] version Version that contains the resource
307
- # @param [Hash] payload payload that contains response from Twilio
308
- # @param [String] conversation_sid The unique ID of the
309
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
310
- # for this message.
311
- # @param [String] sid A 34 character string that uniquely identifies this
312
- # resource.
313
- # @return [MessageInstance] MessageInstance
314
- def initialize(version, payload, conversation_sid: nil, sid: nil)
315
- super(version)
316
-
317
- # Marshaled Properties
318
- @properties = {
319
- 'account_sid' => payload['account_sid'],
320
- 'conversation_sid' => payload['conversation_sid'],
321
- 'sid' => payload['sid'],
322
- 'index' => payload['index'].to_i,
323
- 'author' => payload['author'],
324
- 'body' => payload['body'],
325
- 'media' => payload['media'],
326
- 'attributes' => payload['attributes'],
327
- 'participant_sid' => payload['participant_sid'],
328
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
329
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
330
- 'url' => payload['url'],
331
- 'delivery' => payload['delivery'],
332
- 'links' => payload['links'],
333
- }
334
-
335
- # Context
336
- @instance_context = nil
337
- @params = {'conversation_sid' => conversation_sid, 'sid' => sid || @properties['sid'], }
338
- end
339
-
340
- ##
341
- # Generate an instance context for the instance, the context is capable of
342
- # performing various actions. All instance actions are proxied to the context
343
- # @return [MessageContext] MessageContext for this MessageInstance
344
- def context
345
- unless @instance_context
346
- @instance_context = MessageContext.new(@version, @params['conversation_sid'], @params['sid'], )
347
- end
348
- @instance_context
349
- end
350
-
351
- ##
352
- # @return [String] The unique ID of the Account responsible for this message.
353
- def account_sid
354
- @properties['account_sid']
355
- end
356
-
357
- ##
358
- # @return [String] The unique ID of the Conversation for this message.
359
- def conversation_sid
360
- @properties['conversation_sid']
361
- end
362
-
363
- ##
364
- # @return [String] A 34 character string that uniquely identifies this resource.
365
- def sid
366
- @properties['sid']
367
- end
368
-
369
- ##
370
- # @return [String] The index of the message within the Conversation.
371
- def index
372
- @properties['index']
373
- end
374
-
375
- ##
376
- # @return [String] The channel specific identifier of the message's author.
377
- def author
378
- @properties['author']
379
- end
380
-
381
- ##
382
- # @return [String] The content of the message.
383
- def body
384
- @properties['body']
385
- end
386
-
387
- ##
388
- # @return [Array[Hash]] An array of objects that describe the Message's media if attached, otherwise, null.
389
- def media
390
- @properties['media']
391
- end
392
-
393
- ##
394
- # @return [String] A string metadata field you can use to store any data you wish.
395
- def attributes
396
- @properties['attributes']
397
- end
398
-
399
- ##
400
- # @return [String] The unique ID of messages's author participant.
401
- def participant_sid
402
- @properties['participant_sid']
403
- end
404
-
405
- ##
406
- # @return [Time] The date that this resource was created.
407
- def date_created
408
- @properties['date_created']
409
- end
410
-
411
- ##
412
- # @return [Time] The date that this resource was last updated.
413
- def date_updated
414
- @properties['date_updated']
415
- end
416
-
417
- ##
418
- # @return [String] An absolute API URL for this message.
419
- def url
420
- @properties['url']
421
- end
422
-
423
- ##
424
- # @return [Hash] An object that contains the summary of delivery statuses for the message to non-chat participants.
425
- def delivery
426
- @properties['delivery']
427
- end
428
-
429
- ##
430
- # @return [String] Absolute URL to access the receipts of this message.
431
- def links
432
- @properties['links']
433
- end
434
-
435
- ##
436
- # Update the MessageInstance
437
- # @param [String] author The channel specific identifier of the message's author.
438
- # Defaults to `system`.
439
- # @param [String] body The content of the message, can be up to 1,600 characters
440
- # long.
441
- # @param [Time] date_created The date that this resource was created.
442
- # @param [Time] date_updated The date that this resource was last updated. `null`
443
- # if the message has not been edited.
444
- # @param [String] attributes A string metadata field you can use to store any data
445
- # you wish. The string value must contain structurally valid JSON if specified.
446
- # **Note** that if the attributes are not set "{}" will be returned.
447
- # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
448
- # X-Twilio-Webhook-Enabled HTTP request header
449
- # @return [MessageInstance] Updated MessageInstance
450
- def update(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, x_twilio_webhook_enabled: :unset)
451
- context.update(
452
- author: author,
453
- body: body,
454
- date_created: date_created,
455
- date_updated: date_updated,
456
- attributes: attributes,
457
- x_twilio_webhook_enabled: x_twilio_webhook_enabled,
458
- )
459
- end
460
-
461
- ##
462
- # Delete the MessageInstance
463
- # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
464
- # X-Twilio-Webhook-Enabled HTTP request header
465
- # @return [Boolean] true if delete succeeds, false otherwise
466
- def delete(x_twilio_webhook_enabled: :unset)
467
- context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
468
- end
469
-
470
- ##
471
- # Fetch the MessageInstance
472
- # @return [MessageInstance] Fetched MessageInstance
473
- def fetch
474
- context.fetch
475
- end
476
-
477
- ##
478
- # Access the delivery_receipts
479
- # @return [delivery_receipts] delivery_receipts
480
- def delivery_receipts
481
- context.delivery_receipts
482
- end
483
14
 
484
- ##
485
- # Provide a user friendly representation
486
- def to_s
487
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
488
- "<Twilio.Conversations.V1.MessageInstance #{values}>"
489
- end
490
15
 
491
- ##
492
- # Provide a detailed, user friendly representation
493
- def inspect
494
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
495
- "<Twilio.Conversations.V1.MessageInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Conversations < ConversationsBase
19
+ class V1 < Version
20
+ class ConversationContext < InstanceContext
21
+
22
+ class MessageList < ListResource
23
+ ##
24
+ # Initialize the MessageList
25
+ # @param [Version] version Version that contains the resource
26
+ # @return [MessageList] MessageList
27
+ def initialize(version, conversation_sid: nil)
28
+ super(version)
29
+ # Path Solution
30
+ @solution = { conversation_sid: conversation_sid }
31
+ @uri = "/Conversations/#{@solution[:conversation_sid]}/Messages"
32
+
33
+ end
34
+ ##
35
+ # Create the MessageInstance
36
+ # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
37
+ # @param [String] body The content of the message, can be up to 1,600 characters long.
38
+ # @param [Time] date_created The date that this resource was created.
39
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
40
+ # @param [String] attributes A 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.
41
+ # @param [String] media_sid The Media SID to be attached to the new Message.
42
+ # @param [String] content_sid The unique ID of the multi-channel [Rich Content](https://www.twilio.com/docs/content-api) template, required for template-generated messages. **Note** that if this field is set, `Body` and `MediaSid` parameters are ignored.
43
+ # @param [String] content_variables A structurally valid JSON string that contains values to resolve Rich Content template variables.
44
+ # @param [ConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
45
+ # @return [MessageInstance] Created MessageInstance
46
+ def create(
47
+ author: :unset,
48
+ body: :unset,
49
+ date_created: :unset,
50
+ date_updated: :unset,
51
+ attributes: :unset,
52
+ media_sid: :unset,
53
+ content_sid: :unset,
54
+ content_variables: :unset,
55
+ x_twilio_webhook_enabled: :unset
56
+ )
57
+
58
+ data = Twilio::Values.of({
59
+ 'Author' => author,
60
+ 'Body' => body,
61
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
62
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
63
+ 'Attributes' => attributes,
64
+ 'MediaSid' => media_sid,
65
+ 'ContentSid' => content_sid,
66
+ 'ContentVariables' => content_variables,
67
+ })
68
+
69
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
70
+ payload = @version.create('POST', @uri, data: data, headers: headers)
71
+ MessageInstance.new(
72
+ @version,
73
+ payload,
74
+ conversation_sid: @solution[:conversation_sid],
75
+ )
76
+ end
77
+
78
+
79
+ ##
80
+ # Lists MessageInstance 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 [OrderType] order The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
84
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
85
+ # guarantees to never return more than limit. Default is no limit
86
+ # @param [Integer] page_size Number of records to fetch per request, when
87
+ # not set will use the default value of 50 records. If no page_size is defined
88
+ # but a limit is defined, stream() will attempt to read the limit with the most
89
+ # efficient page size, i.e. min(limit, 1000)
90
+ # @return [Array] Array of up to limit results
91
+ def list(order: :unset, limit: nil, page_size: nil)
92
+ self.stream(
93
+ order: order,
94
+ limit: limit,
95
+ page_size: page_size
96
+ ).entries
97
+ end
98
+
99
+ ##
100
+ # Streams Instance records from the API as an Enumerable.
101
+ # This operation lazily loads records as efficiently as possible until the limit
102
+ # is reached.
103
+ # @param [OrderType] order The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
104
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
105
+ # guarantees to never return more than limit. Default is no limit
106
+ # @param [Integer] page_size Number of records to fetch per request, when
107
+ # not set will use the default value of 50 records. If no page_size is defined
108
+ # but a limit is defined, stream() will attempt to read the limit with the most
109
+ # efficient page size, i.e. min(limit, 1000)
110
+ # @return [Enumerable] Enumerable that will yield up to limit results
111
+ def stream(order: :unset, limit: nil, page_size: nil)
112
+ limits = @version.read_limits(limit, page_size)
113
+
114
+ page = self.page(
115
+ order: order,
116
+ page_size: limits[:page_size], )
117
+
118
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
119
+ end
120
+
121
+ ##
122
+ # When passed a block, yields MessageInstance records from the API.
123
+ # This operation lazily loads records as efficiently as possible until the limit
124
+ # is reached.
125
+ def each
126
+ limits = @version.read_limits
127
+
128
+ page = self.page(page_size: limits[:page_size], )
129
+
130
+ @version.stream(page,
131
+ limit: limits[:limit],
132
+ page_limit: limits[:page_limit]).each {|x| yield x}
133
+ end
134
+
135
+ ##
136
+ # Retrieve a single page of MessageInstance records from the API.
137
+ # Request is executed immediately.
138
+ # @param [OrderType] order The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
139
+ # @param [String] page_token PageToken provided by the API
140
+ # @param [Integer] page_number Page Number, this value is simply for client state
141
+ # @param [Integer] page_size Number of records to return, defaults to 50
142
+ # @return [Page] Page of MessageInstance
143
+ def page(order: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
144
+ params = Twilio::Values.of({
145
+
146
+ 'Order' => order,
147
+
148
+ 'PageToken' => page_token,
149
+ 'Page' => page_number,
150
+ 'PageSize' => page_size,
151
+ })
152
+
153
+ response = @version.page('GET', @uri, params: params)
154
+
155
+ MessagePage.new(@version, response, @solution)
156
+ end
157
+
158
+ ##
159
+ # Retrieve a single page of MessageInstance records from the API.
160
+ # Request is executed immediately.
161
+ # @param [String] target_url API-generated URL for the requested results page
162
+ # @return [Page] Page of MessageInstance
163
+ def get_page(target_url)
164
+ response = @version.domain.request(
165
+ 'GET',
166
+ target_url
167
+ )
168
+ MessagePage.new(@version, response, @solution)
169
+ end
170
+
171
+
172
+
173
+ # Provide a user friendly representation
174
+ def to_s
175
+ '#<Twilio.Conversations.V1.MessageList>'
176
+ end
177
+ end
178
+
179
+
180
+ class MessageContext < InstanceContext
181
+ ##
182
+ # Initialize the MessageContext
183
+ # @param [Version] version Version that contains the resource
184
+ # @param [String] conversation_sid The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.
185
+ # @param [String] sid A 34 character string that uniquely identifies this resource.
186
+ # @return [MessageContext] MessageContext
187
+ def initialize(version, conversation_sid, sid)
188
+ super(version)
189
+
190
+ # Path Solution
191
+ @solution = { conversation_sid: conversation_sid, sid: sid, }
192
+ @uri = "/Conversations/#{@solution[:conversation_sid]}/Messages/#{@solution[:sid]}"
193
+
194
+ # Dependents
195
+ @delivery_receipts = nil
196
+ end
197
+ ##
198
+ # Delete the MessageInstance
199
+ # @param [ConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
200
+ # @return [Boolean] True if delete succeeds, false otherwise
201
+ def delete(
202
+ x_twilio_webhook_enabled: :unset
203
+ )
204
+
205
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
206
+ @version.delete('DELETE', @uri, headers: headers)
207
+ end
208
+
209
+ ##
210
+ # Fetch the MessageInstance
211
+ # @return [MessageInstance] Fetched MessageInstance
212
+ def fetch
213
+
214
+ payload = @version.fetch('GET', @uri)
215
+ MessageInstance.new(
216
+ @version,
217
+ payload,
218
+ conversation_sid: @solution[:conversation_sid],
219
+ sid: @solution[:sid],
220
+ )
221
+ end
222
+
223
+ ##
224
+ # Update the MessageInstance
225
+ # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
226
+ # @param [String] body The content of the message, can be up to 1,600 characters long.
227
+ # @param [Time] date_created The date that this resource was created.
228
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
229
+ # @param [String] attributes A 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.
230
+ # @param [ConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
231
+ # @return [MessageInstance] Updated MessageInstance
232
+ def update(
233
+ author: :unset,
234
+ body: :unset,
235
+ date_created: :unset,
236
+ date_updated: :unset,
237
+ attributes: :unset,
238
+ x_twilio_webhook_enabled: :unset
239
+ )
240
+
241
+ data = Twilio::Values.of({
242
+ 'Author' => author,
243
+ 'Body' => body,
244
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
245
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
246
+ 'Attributes' => attributes,
247
+ })
248
+
249
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
250
+ payload = @version.update('POST', @uri, data: data, headers: headers)
251
+ MessageInstance.new(
252
+ @version,
253
+ payload,
254
+ conversation_sid: @solution[:conversation_sid],
255
+ sid: @solution[:sid],
256
+ )
257
+ end
258
+
259
+ ##
260
+ # Access the delivery_receipts
261
+ # @return [DeliveryReceiptList]
262
+ # @return [DeliveryReceiptContext] if sid was passed.
263
+ def delivery_receipts(sid=:unset)
264
+
265
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
266
+
267
+ if sid != :unset
268
+ return DeliveryReceiptContext.new(@version, @solution[:conversation_sid], @solution[:sid],sid )
269
+ end
270
+
271
+ unless @delivery_receipts
272
+ @delivery_receipts = DeliveryReceiptList.new(
273
+ @version, conversation_sid: @solution[:conversation_sid], message_sid: @solution[:sid], )
274
+ end
275
+
276
+ @delivery_receipts
277
+ end
278
+
279
+ ##
280
+ # Provide a user friendly representation
281
+ def to_s
282
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
283
+ "#<Twilio.Conversations.V1.MessageContext #{context}>"
284
+ end
285
+
286
+ ##
287
+ # Provide a detailed, user friendly representation
288
+ def inspect
289
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
290
+ "#<Twilio.Conversations.V1.MessageContext #{context}>"
291
+ end
292
+ end
293
+
294
+ class MessagePage < Page
295
+ ##
296
+ # Initialize the MessagePage
297
+ # @param [Version] version Version that contains the resource
298
+ # @param [Response] response Response from the API
299
+ # @param [Hash] solution Path solution for the resource
300
+ # @return [MessagePage] MessagePage
301
+ def initialize(version, response, solution)
302
+ super(version, response)
303
+
304
+ # Path Solution
305
+ @solution = solution
306
+ end
307
+
308
+ ##
309
+ # Build an instance of MessageInstance
310
+ # @param [Hash] payload Payload response from the API
311
+ # @return [MessageInstance] MessageInstance
312
+ def get_instance(payload)
313
+ MessageInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid])
314
+ end
315
+
316
+ ##
317
+ # Provide a user friendly representation
318
+ def to_s
319
+ '<Twilio.Conversations.V1.MessagePage>'
320
+ end
321
+ end
322
+ class MessageInstance < InstanceResource
323
+ ##
324
+ # Initialize the MessageInstance
325
+ # @param [Version] version Version that contains the resource
326
+ # @param [Hash] payload payload that contains response from Twilio
327
+ # @param [String] account_sid The SID of the
328
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Message
329
+ # resource.
330
+ # @param [String] sid The SID of the Call resource to fetch.
331
+ # @return [MessageInstance] MessageInstance
332
+ def initialize(version, payload , conversation_sid: nil, sid: nil)
333
+ super(version)
334
+
335
+ # Marshaled Properties
336
+ @properties = {
337
+ 'account_sid' => payload['account_sid'],
338
+ 'conversation_sid' => payload['conversation_sid'],
339
+ 'sid' => payload['sid'],
340
+ 'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
341
+ 'author' => payload['author'],
342
+ 'body' => payload['body'],
343
+ 'media' => payload['media'],
344
+ 'attributes' => payload['attributes'],
345
+ 'participant_sid' => payload['participant_sid'],
346
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
347
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
348
+ 'url' => payload['url'],
349
+ 'delivery' => payload['delivery'],
350
+ 'links' => payload['links'],
351
+ 'content_sid' => payload['content_sid'],
352
+ }
353
+
354
+ # Context
355
+ @instance_context = nil
356
+ @params = { 'conversation_sid' => conversation_sid || @properties['conversation_sid'] ,'sid' => sid || @properties['sid'] , }
357
+ end
358
+
359
+ ##
360
+ # Generate an instance context for the instance, the context is capable of
361
+ # performing various actions. All instance actions are proxied to the context
362
+ # @return [MessageContext] CallContext for this CallInstance
363
+ def context
364
+ unless @instance_context
365
+ @instance_context = MessageContext.new(@version , @params['conversation_sid'], @params['sid'])
366
+ end
367
+ @instance_context
368
+ end
369
+
370
+ ##
371
+ # @return [String] The unique ID of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this message.
372
+ def account_sid
373
+ @properties['account_sid']
374
+ end
375
+
376
+ ##
377
+ # @return [String] The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this message.
378
+ def conversation_sid
379
+ @properties['conversation_sid']
380
+ end
381
+
382
+ ##
383
+ # @return [String] A 34 character string that uniquely identifies this resource.
384
+ def sid
385
+ @properties['sid']
386
+ end
387
+
388
+ ##
389
+ # @return [String] The index of the message within the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource). Indices may skip numbers, but will always be in order of when the message was received.
390
+ def index
391
+ @properties['index']
392
+ end
393
+
394
+ ##
395
+ # @return [String] The channel specific identifier of the message's author. Defaults to `system`.
396
+ def author
397
+ @properties['author']
398
+ end
399
+
400
+ ##
401
+ # @return [String] The content of the message, can be up to 1,600 characters long.
402
+ def body
403
+ @properties['body']
404
+ end
405
+
406
+ ##
407
+ # @return [Array<Hash>] An array of objects that describe the Message's media, if the message contains media. Each object contains these fields: `content_type` with the MIME type of the media, `filename` with the name of the media, `sid` with the SID of the Media resource, and `size` with the media object's file size in bytes. If the Message has no media, this value is `null`.
408
+ def media
409
+ @properties['media']
410
+ end
411
+
412
+ ##
413
+ # @return [String] A 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.
414
+ def attributes
415
+ @properties['attributes']
416
+ end
417
+
418
+ ##
419
+ # @return [String] The unique ID of messages's author participant. Null in case of `system` sent message.
420
+ def participant_sid
421
+ @properties['participant_sid']
422
+ end
423
+
424
+ ##
425
+ # @return [Time] The date that this resource was created.
426
+ def date_created
427
+ @properties['date_created']
428
+ end
429
+
430
+ ##
431
+ # @return [Time] The date that this resource was last updated. `null` if the message has not been edited.
432
+ def date_updated
433
+ @properties['date_updated']
434
+ end
435
+
436
+ ##
437
+ # @return [String] An absolute API resource API URL for this message.
438
+ def url
439
+ @properties['url']
440
+ end
441
+
442
+ ##
443
+ # @return [Hash] An object that contains the summary of delivery statuses for the message to non-chat participants.
444
+ def delivery
445
+ @properties['delivery']
446
+ end
447
+
448
+ ##
449
+ # @return [Hash] Contains an absolute API resource URL to access the delivery & read receipts of this message.
450
+ def links
451
+ @properties['links']
452
+ end
453
+
454
+ ##
455
+ # @return [String] The unique ID of the multi-channel [Rich Content](https://www.twilio.com/docs/content-api) template.
456
+ def content_sid
457
+ @properties['content_sid']
458
+ end
459
+
460
+ ##
461
+ # Delete the MessageInstance
462
+ # @param [ConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
463
+ # @return [Boolean] True if delete succeeds, false otherwise
464
+ def delete(
465
+ x_twilio_webhook_enabled: :unset
466
+ )
467
+
468
+ context.delete(
469
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
470
+ )
471
+ end
472
+
473
+ ##
474
+ # Fetch the MessageInstance
475
+ # @return [MessageInstance] Fetched MessageInstance
476
+ def fetch
477
+
478
+ context.fetch
479
+ end
480
+
481
+ ##
482
+ # Update the MessageInstance
483
+ # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
484
+ # @param [String] body The content of the message, can be up to 1,600 characters long.
485
+ # @param [Time] date_created The date that this resource was created.
486
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
487
+ # @param [String] attributes A 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.
488
+ # @param [ConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
489
+ # @return [MessageInstance] Updated MessageInstance
490
+ def update(
491
+ author: :unset,
492
+ body: :unset,
493
+ date_created: :unset,
494
+ date_updated: :unset,
495
+ attributes: :unset,
496
+ x_twilio_webhook_enabled: :unset
497
+ )
498
+
499
+ context.update(
500
+ author: author,
501
+ body: body,
502
+ date_created: date_created,
503
+ date_updated: date_updated,
504
+ attributes: attributes,
505
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
506
+ )
507
+ end
508
+
509
+ ##
510
+ # Access the delivery_receipts
511
+ # @return [delivery_receipts] delivery_receipts
512
+ def delivery_receipts
513
+ context.delivery_receipts
514
+ end
515
+
516
+ ##
517
+ # Provide a user friendly representation
518
+ def to_s
519
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
520
+ "<Twilio.Conversations.V1.MessageInstance #{values}>"
521
+ end
522
+
523
+ ##
524
+ # Provide a detailed, user friendly representation
525
+ def inspect
526
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
527
+ "<Twilio.Conversations.V1.MessageInstance #{values}>"
528
+ end
529
+ end
530
+
531
+ end
496
532
  end
497
- end
498
533
  end
499
- end
500
534
  end
501
- end
502
- end
535
+ end
536
+
537
+