twilio-ruby 5.77.0 → 6.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (634) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +10 -0
  3. data/.gitignore +3 -0
  4. data/CHANGES.md +31 -94
  5. data/CONTRIBUTING.md +7 -1
  6. data/Makefile +3 -0
  7. data/README.md +51 -132
  8. data/UPGRADE.md +7 -0
  9. data/cluster_spec.rb +77 -0
  10. data/lib/twilio-ruby/base/client_base.rb +124 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  12. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  13. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  14. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  15. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  16. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  17. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  18. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  19. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  20. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  21. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -605
  22. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +468 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +156 -153
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +228 -240
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +997 -1050
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +650 -756
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -493
  46. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -418
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  54. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  56. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +627 -641
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +431 -390
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -385
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -513
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +404 -373
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +194 -195
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +194 -195
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +663 -645
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +404 -374
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  83. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  84. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  96. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  97. data/lib/twilio-ruby/rest/api/v2010/account.rb +1061 -943
  98. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  99. data/lib/twilio-ruby/rest/api.rb +25 -34
  100. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +433 -411
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +527 -500
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +692 -640
  115. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  116. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  117. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  118. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  123. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  124. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  125. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  126. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  127. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  128. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  129. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  130. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  131. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +547 -515
  132. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  133. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  134. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +471 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -894
  136. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  137. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  138. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  139. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  140. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  141. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  142. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  143. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +623 -605
  144. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  145. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  146. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  147. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +518 -491
  148. data/lib/twilio-ruby/rest/chat/v2/service.rb +777 -778
  149. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  150. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  151. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  152. data/lib/twilio-ruby/rest/chat.rb +4 -48
  153. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  154. data/lib/twilio-ruby/rest/client.rb +314 -574
  155. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +201 -188
  156. data/lib/twilio-ruby/rest/content/v1/content.rb +354 -336
  157. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  158. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  159. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  160. data/lib/twilio-ruby/rest/content.rb +2 -46
  161. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +464 -444
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  164. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  165. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +534 -510
  167. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  169. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +594 -590
  170. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  171. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  172. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  173. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  175. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  176. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +542 -550
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  181. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +609 -626
  182. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  183. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  184. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  185. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +489 -474
  186. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -447
  187. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  188. data/lib/twilio-ruby/rest/conversations/v1/user.rb +476 -441
  189. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  190. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  191. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  192. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  193. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  194. data/lib/twilio-ruby/rest/events/v1/schema.rb +232 -218
  195. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  196. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  197. data/lib/twilio-ruby/rest/events/v1/sink.rb +447 -408
  198. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  199. data/lib/twilio-ruby/rest/events/v1/subscription.rb +423 -387
  200. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  201. data/lib/twilio-ruby/rest/events.rb +5 -34
  202. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +447 -387
  204. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  205. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  206. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -306
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +223 -208
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  210. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  211. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +427 -403
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +135 -124
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  217. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  218. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  219. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +409 -398
  220. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +252 -225
  221. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  222. data/lib/twilio-ruby/rest/flex_api/v1.rb +205 -215
  223. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +140 -127
  224. data/lib/twilio-ruby/rest/flex_api/v2.rb +33 -28
  225. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  226. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  227. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  228. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  229. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  230. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  231. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  232. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  234. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  235. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -236
  236. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +461 -439
  237. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  238. data/lib/twilio-ruby/rest/insights/v1/conference.rb +509 -502
  239. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  240. data/lib/twilio-ruby/rest/insights/v1/room.rb +497 -489
  241. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  242. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  243. data/lib/twilio-ruby/rest/insights.rb +6 -34
  244. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +547 -488
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +471 -418
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -779
  254. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +623 -555
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +518 -467
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +777 -689
  267. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  269. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  270. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  271. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  272. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +349 -335
  273. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  274. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  275. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  277. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  279. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  280. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  281. data/lib/twilio-ruby/rest/media.rb +4 -34
  282. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  284. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +472 -466
  285. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +272 -232
  288. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +223 -218
  289. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  290. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +206 -210
  291. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  292. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  293. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +500 -521
  295. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  296. data/lib/twilio-ruby/rest/messaging/v1/service.rb +757 -763
  297. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +720 -713
  298. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  299. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -165
  300. data/lib/twilio-ruby/rest/messaging.rb +9 -52
  301. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +349 -307
  303. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +342 -300
  304. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +201 -185
  305. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -320
  306. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +368 -335
  307. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +361 -328
  308. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +418 -383
  309. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  310. data/lib/twilio-ruby/rest/microvisor.rb +3 -50
  311. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  312. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  313. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  314. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  315. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  316. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  317. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  318. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  319. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +635 -622
  321. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  322. data/lib/twilio-ruby/rest/notify.rb +3 -34
  323. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +627 -607
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  335. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  336. data/lib/twilio-ruby/rest/numbers.rb +2 -47
  337. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +165 -147
  339. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +177 -154
  340. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +254 -234
  341. data/lib/twilio-ruby/rest/oauth/v1/token.rb +173 -151
  342. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +205 -185
  343. data/lib/twilio-ruby/rest/oauth/v1.rb +57 -56
  344. data/lib/twilio-ruby/rest/oauth.rb +5 -40
  345. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  346. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  347. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  348. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  349. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  350. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +507 -459
  351. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  352. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  353. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +453 -446
  354. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  355. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  356. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  357. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +329 -309
  358. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  359. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +433 -398
  360. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  361. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  362. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +447 -399
  363. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  364. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  365. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +428 -398
  366. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  368. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +428 -398
  369. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -452
  370. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +433 -400
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  383. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +527 -488
  384. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +669 -619
  385. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  386. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  387. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  388. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  389. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  390. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  391. data/lib/twilio-ruby/rest/preview.rb +11 -69
  392. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  393. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  394. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  395. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  396. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  397. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  398. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  399. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  400. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  401. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  402. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  403. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  405. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  406. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  407. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  408. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  409. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -442
  413. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +531 -506
  414. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  415. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -596
  416. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  417. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  418. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  419. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  420. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  421. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  422. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  423. data/lib/twilio-ruby/rest/routes.rb +4 -34
  424. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  426. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +417 -380
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  428. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  432. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -447
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  435. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +417 -380
  436. data/lib/twilio-ruby/rest/serverless/v1/service.rb +536 -493
  437. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  438. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  439. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  443. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +427 -394
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  447. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -449
  448. data/lib/twilio-ruby/rest/studio/v1/flow.rb +387 -355
  449. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  453. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -442
  454. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  455. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow.rb +526 -472
  457. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  458. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  459. data/lib/twilio-ruby/rest/studio.rb +3 -41
  460. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -382
  462. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  463. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -409
  464. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  465. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  466. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +384 -351
  467. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +249 -237
  468. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  469. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  470. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +472 -453
  471. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  472. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  473. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  474. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  475. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  476. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  477. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +461 -423
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  484. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  485. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +425 -400
  486. data/lib/twilio-ruby/rest/sync/v1/service.rb +588 -567
  487. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  488. data/lib/twilio-ruby/rest/sync.rb +2 -34
  489. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -749
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +620 -661
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -572
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +640 -637
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +743 -730
  515. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  516. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  517. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  519. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  520. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  521. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  522. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  523. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +636 -630
  524. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  525. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  526. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  527. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  528. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  529. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  530. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +538 -513
  531. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  532. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  533. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  534. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  535. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  536. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  537. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  538. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  539. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +538 -513
  540. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  541. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  542. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  544. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  545. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -254
  546. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -192
  547. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +506 -531
  548. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -453
  549. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -283
  550. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -414
  551. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  552. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  553. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +425 -384
  554. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -372
  555. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  556. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -412
  557. data/lib/twilio-ruby/rest/verify/v2/service.rb +789 -780
  558. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -205
  559. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  560. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  561. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  562. data/lib/twilio-ruby/rest/verify.rb +7 -34
  563. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  564. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  565. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  566. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  567. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  568. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  569. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  570. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  571. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  572. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  573. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +516 -0
  574. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  575. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  576. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -602
  577. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  578. data/lib/twilio-ruby/rest/video.rb +7 -34
  579. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  581. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  582. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  583. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +395 -352
  584. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  585. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  586. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +386 -397
  587. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  588. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  589. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  590. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  591. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  592. data/lib/twilio-ruby/rest/voice.rb +7 -34
  593. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  594. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  595. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  596. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  597. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  598. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +648 -647
  599. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  600. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  601. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  602. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  603. data/lib/twilio-ruby/rest.rb +1 -0
  604. data/lib/twilio-ruby/version.rb +1 -1
  605. data/twilio-ruby.gemspec +1 -1
  606. metadata +71 -38
  607. data/advanced-examples/custom-http-client.md +0 -170
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  614. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  615. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  617. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  618. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  619. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  620. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  621. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  622. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -134
  623. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  624. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  625. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -111
  626. data/lib/twilio-ruby/rest/numbers/v1.rb +0 -35
  627. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  628. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  629. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  630. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  631. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  632. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  633. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  634. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,502 +1,506 @@
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 ParticipantList < ListResource
15
- ##
16
- # Initialize the ParticipantList
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 participant.
21
- # @return [ParticipantList] ParticipantList
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]}/Participants"
28
- end
29
-
30
- ##
31
- # Create the ParticipantInstance
32
- # @param [String] identity A unique string identifier for the conversation
33
- # participant as {Conversation
34
- # User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
35
- # parameter is non-null if (and only if) the participant is using the
36
- # Conversations SDK to communicate. Limited to 256 characters.
37
- # @param [String] messaging_binding_address The address of the participant's
38
- # device, e.g. a phone or WhatsApp number. Together with the Proxy address, this
39
- # determines a participant uniquely. This field (with proxy_address) is only null
40
- # when the participant is interacting from an SDK endpoint (see the 'identity'
41
- # field).
42
- # @param [String] messaging_binding_proxy_address The address of the Twilio phone
43
- # number (or WhatsApp number) that the participant is in contact with. This field,
44
- # together with participant address, is only null when the participant is
45
- # interacting from an SDK endpoint (see the 'identity' field).
46
- # @param [Time] date_created The date that this resource was created.
47
- # @param [Time] date_updated The date that this resource was last updated.
48
- # @param [String] attributes An optional string metadata field you can use to
49
- # store any data you wish. The string value must contain structurally valid JSON
50
- # if specified. **Note** that if the attributes are not set "{}" will be
51
- # returned.
52
- # @param [String] messaging_binding_projected_address The address of the Twilio
53
- # phone number that is used in Group MMS. Communication mask for the Conversation
54
- # participant with Identity.
55
- # @param [String] role_sid The SID of a conversation-level
56
- # {Role}[https://www.twilio.com/docs/conversations/api/role-resource] to assign to
57
- # the participant.
58
- # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
59
- # X-Twilio-Webhook-Enabled HTTP request header
60
- # @return [ParticipantInstance] Created ParticipantInstance
61
- def create(identity: :unset, messaging_binding_address: :unset, messaging_binding_proxy_address: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_binding_projected_address: :unset, role_sid: :unset, x_twilio_webhook_enabled: :unset)
62
- data = Twilio::Values.of({
63
- 'Identity' => identity,
64
- 'MessagingBinding.Address' => messaging_binding_address,
65
- 'MessagingBinding.ProxyAddress' => messaging_binding_proxy_address,
66
- 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
67
- 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
68
- 'Attributes' => attributes,
69
- 'MessagingBinding.ProjectedAddress' => messaging_binding_projected_address,
70
- 'RoleSid' => role_sid,
71
- })
72
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
73
-
74
- payload = @version.create('POST', @uri, data: data, headers: headers)
75
-
76
- ParticipantInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid], )
77
- end
78
-
79
- ##
80
- # Lists ParticipantInstance 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 [Integer] limit Upper limit for the number of records to return. stream()
84
- # guarantees to never return more than limit. Default is no limit
85
- # @param [Integer] page_size Number of records to fetch per request, when
86
- # not set will use the default value of 50 records. If no page_size is defined
87
- # but a limit is defined, stream() will attempt to read the limit with the most
88
- # efficient page size, i.e. min(limit, 1000)
89
- # @return [Array] Array of up to limit results
90
- def list(limit: nil, page_size: nil)
91
- self.stream(limit: limit, page_size: page_size).entries
92
- end
93
-
94
- ##
95
- # Streams ParticipantInstance records from the API as an Enumerable.
96
- # This operation lazily loads records as efficiently as possible until the limit
97
- # is reached.
98
- # @param [Integer] limit Upper limit for the number of records to return. stream()
99
- # guarantees to never return more than limit. Default is no limit.
100
- # @param [Integer] page_size Number of records to fetch per request, when
101
- # not set will use the default value of 50 records. If no page_size is defined
102
- # but a limit is defined, stream() will attempt to read the limit with the most
103
- # efficient page size, i.e. min(limit, 1000)
104
- # @return [Enumerable] Enumerable that will yield up to limit results
105
- def stream(limit: nil, page_size: nil)
106
- limits = @version.read_limits(limit, page_size)
107
-
108
- page = self.page(page_size: limits[:page_size], )
109
-
110
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
111
- end
112
-
113
- ##
114
- # When passed a block, yields ParticipantInstance records from the API.
115
- # This operation lazily loads records as efficiently as possible until the limit
116
- # is reached.
117
- def each
118
- limits = @version.read_limits
119
-
120
- page = self.page(page_size: limits[:page_size], )
121
-
122
- @version.stream(page,
123
- limit: limits[:limit],
124
- page_limit: limits[:page_limit]).each {|x| yield x}
125
- end
126
-
127
- ##
128
- # Retrieve a single page of ParticipantInstance records from the API.
129
- # Request is executed immediately.
130
- # @param [String] page_token PageToken provided by the API
131
- # @param [Integer] page_number Page Number, this value is simply for client state
132
- # @param [Integer] page_size Number of records to return, defaults to 50
133
- # @return [Page] Page of ParticipantInstance
134
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
135
- params = Twilio::Values.of({
136
- 'PageToken' => page_token,
137
- 'Page' => page_number,
138
- 'PageSize' => page_size,
139
- })
140
-
141
- response = @version.page('GET', @uri, params: params)
142
-
143
- ParticipantPage.new(@version, response, @solution)
144
- end
145
-
146
- ##
147
- # Retrieve a single page of ParticipantInstance records from the API.
148
- # Request is executed immediately.
149
- # @param [String] target_url API-generated URL for the requested results page
150
- # @return [Page] Page of ParticipantInstance
151
- def get_page(target_url)
152
- response = @version.domain.request(
153
- 'GET',
154
- target_url
155
- )
156
- ParticipantPage.new(@version, response, @solution)
157
- end
158
-
159
- ##
160
- # Provide a user friendly representation
161
- def to_s
162
- '#<Twilio.Conversations.V1.ParticipantList>'
163
- end
164
- end
165
-
166
- class ParticipantPage < Page
167
- ##
168
- # Initialize the ParticipantPage
169
- # @param [Version] version Version that contains the resource
170
- # @param [Response] response Response from the API
171
- # @param [Hash] solution Path solution for the resource
172
- # @return [ParticipantPage] ParticipantPage
173
- def initialize(version, response, solution)
174
- super(version, response)
175
-
176
- # Path Solution
177
- @solution = solution
178
- end
179
-
180
- ##
181
- # Build an instance of ParticipantInstance
182
- # @param [Hash] payload Payload response from the API
183
- # @return [ParticipantInstance] ParticipantInstance
184
- def get_instance(payload)
185
- ParticipantInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid], )
186
- end
187
-
188
- ##
189
- # Provide a user friendly representation
190
- def to_s
191
- '<Twilio.Conversations.V1.ParticipantPage>'
192
- end
193
- end
194
-
195
- class ParticipantContext < InstanceContext
196
- ##
197
- # Initialize the ParticipantContext
198
- # @param [Version] version Version that contains the resource
199
- # @param [String] conversation_sid The unique ID of the
200
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
201
- # for this participant.
202
- # @param [String] sid A 34 character string that uniquely identifies this
203
- # resource.
204
- # @return [ParticipantContext] ParticipantContext
205
- def initialize(version, conversation_sid, sid)
206
- super(version)
207
-
208
- # Path Solution
209
- @solution = {conversation_sid: conversation_sid, sid: sid, }
210
- @uri = "/Conversations/#{@solution[:conversation_sid]}/Participants/#{@solution[:sid]}"
211
- end
212
-
213
- ##
214
- # Update the ParticipantInstance
215
- # @param [Time] date_created The date that this resource was created.
216
- # @param [Time] date_updated The date that this resource was last updated.
217
- # @param [String] attributes An optional string metadata field you can use to
218
- # store any data you wish. The string value must contain structurally valid JSON
219
- # if specified. **Note** that if the attributes are not set "{}" will be
220
- # returned.
221
- # @param [String] role_sid The SID of a conversation-level
222
- # {Role}[https://www.twilio.com/docs/conversations/api/role-resource] to assign to
223
- # the participant.
224
- # @param [String] messaging_binding_proxy_address The address of the Twilio phone
225
- # number that the participant is in contact with. 'null' value will remove it.
226
- # @param [String] messaging_binding_projected_address The address of the Twilio
227
- # phone number that is used in Group MMS. 'null' value will remove it.
228
- # @param [String] identity A unique string identifier for the conversation
229
- # participant as {Conversation
230
- # User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
231
- # parameter is non-null if (and only if) the participant is using the
232
- # Conversations SDK to communicate. Limited to 256 characters.
233
- # @param [String] last_read_message_index Index of last “read” message in the
234
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
235
- # for the Participant.
236
- # @param [String] last_read_timestamp Timestamp of last “read” message in the
237
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
238
- # for the Participant.
239
- # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
240
- # X-Twilio-Webhook-Enabled HTTP request header
241
- # @return [ParticipantInstance] Updated ParticipantInstance
242
- def update(date_created: :unset, date_updated: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, identity: :unset, last_read_message_index: :unset, last_read_timestamp: :unset, x_twilio_webhook_enabled: :unset)
243
- data = Twilio::Values.of({
244
- 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
245
- 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
246
- 'Attributes' => attributes,
247
- 'RoleSid' => role_sid,
248
- 'MessagingBinding.ProxyAddress' => messaging_binding_proxy_address,
249
- 'MessagingBinding.ProjectedAddress' => messaging_binding_projected_address,
250
- 'Identity' => identity,
251
- 'LastReadMessageIndex' => last_read_message_index,
252
- 'LastReadTimestamp' => last_read_timestamp,
253
- })
254
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
255
-
256
- payload = @version.update('POST', @uri, data: data, headers: headers)
257
-
258
- ParticipantInstance.new(
259
- @version,
260
- payload,
261
- conversation_sid: @solution[:conversation_sid],
262
- sid: @solution[:sid],
263
- )
264
- end
265
-
266
- ##
267
- # Delete the ParticipantInstance
268
- # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
269
- # X-Twilio-Webhook-Enabled HTTP request header
270
- # @return [Boolean] true if delete succeeds, false otherwise
271
- def delete(x_twilio_webhook_enabled: :unset)
272
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
273
-
274
- @version.delete('DELETE', @uri, headers: headers)
275
- end
276
-
277
- ##
278
- # Fetch the ParticipantInstance
279
- # @return [ParticipantInstance] Fetched ParticipantInstance
280
- def fetch
281
- payload = @version.fetch('GET', @uri)
282
-
283
- ParticipantInstance.new(
284
- @version,
285
- payload,
286
- conversation_sid: @solution[:conversation_sid],
287
- sid: @solution[:sid],
288
- )
289
- end
290
-
291
- ##
292
- # Provide a user friendly representation
293
- def to_s
294
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
295
- "#<Twilio.Conversations.V1.ParticipantContext #{context}>"
296
- end
297
-
298
- ##
299
- # Provide a detailed, user friendly representation
300
- def inspect
301
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
302
- "#<Twilio.Conversations.V1.ParticipantContext #{context}>"
303
- end
304
- end
305
-
306
- class ParticipantInstance < InstanceResource
307
- ##
308
- # Initialize the ParticipantInstance
309
- # @param [Version] version Version that contains the resource
310
- # @param [Hash] payload payload that contains response from Twilio
311
- # @param [String] conversation_sid The unique ID of the
312
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
313
- # for this participant.
314
- # @param [String] sid A 34 character string that uniquely identifies this
315
- # resource.
316
- # @return [ParticipantInstance] ParticipantInstance
317
- def initialize(version, payload, conversation_sid: nil, sid: nil)
318
- super(version)
319
-
320
- # Marshaled Properties
321
- @properties = {
322
- 'account_sid' => payload['account_sid'],
323
- 'conversation_sid' => payload['conversation_sid'],
324
- 'sid' => payload['sid'],
325
- 'identity' => payload['identity'],
326
- 'attributes' => payload['attributes'],
327
- 'messaging_binding' => payload['messaging_binding'],
328
- 'role_sid' => payload['role_sid'],
329
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
330
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
331
- 'url' => payload['url'],
332
- 'last_read_message_index' => payload['last_read_message_index'] == nil ? payload['last_read_message_index'] : payload['last_read_message_index'].to_i,
333
- 'last_read_timestamp' => payload['last_read_timestamp'],
334
- }
335
-
336
- # Context
337
- @instance_context = nil
338
- @params = {'conversation_sid' => conversation_sid, 'sid' => sid || @properties['sid'], }
339
- end
340
-
341
- ##
342
- # Generate an instance context for the instance, the context is capable of
343
- # performing various actions. All instance actions are proxied to the context
344
- # @return [ParticipantContext] ParticipantContext for this ParticipantInstance
345
- def context
346
- unless @instance_context
347
- @instance_context = ParticipantContext.new(@version, @params['conversation_sid'], @params['sid'], )
348
- end
349
- @instance_context
350
- end
351
-
352
- ##
353
- # @return [String] The unique ID of the Account responsible for this participant.
354
- def account_sid
355
- @properties['account_sid']
356
- end
357
-
358
- ##
359
- # @return [String] The unique ID of the Conversation for this participant.
360
- def conversation_sid
361
- @properties['conversation_sid']
362
- end
363
-
364
- ##
365
- # @return [String] A 34 character string that uniquely identifies this resource.
366
- def sid
367
- @properties['sid']
368
- end
369
-
370
- ##
371
- # @return [String] A unique string identifier for the conversation participant as Conversation User.
372
- def identity
373
- @properties['identity']
374
- end
375
-
376
- ##
377
- # @return [String] An optional string metadata field you can use to store any data you wish.
378
- def attributes
379
- @properties['attributes']
380
- end
381
-
382
- ##
383
- # @return [Hash] Information about how this participant exchanges messages with the conversation.
384
- def messaging_binding
385
- @properties['messaging_binding']
386
- end
387
-
388
- ##
389
- # @return [String] The SID of a conversation-level Role to assign to the participant
390
- def role_sid
391
- @properties['role_sid']
392
- end
393
-
394
- ##
395
- # @return [Time] The date that this resource was created.
396
- def date_created
397
- @properties['date_created']
398
- end
399
-
400
- ##
401
- # @return [Time] The date that this resource was last updated.
402
- def date_updated
403
- @properties['date_updated']
404
- end
405
-
406
- ##
407
- # @return [String] An absolute URL for this participant.
408
- def url
409
- @properties['url']
410
- end
411
-
412
- ##
413
- # @return [String] Index of last “read” message in the Conversation for the Participant.
414
- def last_read_message_index
415
- @properties['last_read_message_index']
416
- end
417
-
418
- ##
419
- # @return [String] Timestamp of last “read” message in the Conversation for the Participant.
420
- def last_read_timestamp
421
- @properties['last_read_timestamp']
422
- end
423
-
424
- ##
425
- # Update the ParticipantInstance
426
- # @param [Time] date_created The date that this resource was created.
427
- # @param [Time] date_updated The date that this resource was last updated.
428
- # @param [String] attributes An optional string metadata field you can use to
429
- # store any data you wish. The string value must contain structurally valid JSON
430
- # if specified. **Note** that if the attributes are not set "{}" will be
431
- # returned.
432
- # @param [String] role_sid The SID of a conversation-level
433
- # {Role}[https://www.twilio.com/docs/conversations/api/role-resource] to assign to
434
- # the participant.
435
- # @param [String] messaging_binding_proxy_address The address of the Twilio phone
436
- # number that the participant is in contact with. 'null' value will remove it.
437
- # @param [String] messaging_binding_projected_address The address of the Twilio
438
- # phone number that is used in Group MMS. 'null' value will remove it.
439
- # @param [String] identity A unique string identifier for the conversation
440
- # participant as {Conversation
441
- # User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
442
- # parameter is non-null if (and only if) the participant is using the
443
- # Conversations SDK to communicate. Limited to 256 characters.
444
- # @param [String] last_read_message_index Index of last “read” message in the
445
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
446
- # for the Participant.
447
- # @param [String] last_read_timestamp Timestamp of last “read” message in the
448
- # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
449
- # for the Participant.
450
- # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
451
- # X-Twilio-Webhook-Enabled HTTP request header
452
- # @return [ParticipantInstance] Updated ParticipantInstance
453
- def update(date_created: :unset, date_updated: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, identity: :unset, last_read_message_index: :unset, last_read_timestamp: :unset, x_twilio_webhook_enabled: :unset)
454
- context.update(
455
- date_created: date_created,
456
- date_updated: date_updated,
457
- attributes: attributes,
458
- role_sid: role_sid,
459
- messaging_binding_proxy_address: messaging_binding_proxy_address,
460
- messaging_binding_projected_address: messaging_binding_projected_address,
461
- identity: identity,
462
- last_read_message_index: last_read_message_index,
463
- last_read_timestamp: last_read_timestamp,
464
- x_twilio_webhook_enabled: x_twilio_webhook_enabled,
465
- )
466
- end
467
-
468
- ##
469
- # Delete the ParticipantInstance
470
- # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
471
- # X-Twilio-Webhook-Enabled HTTP request header
472
- # @return [Boolean] true if delete succeeds, false otherwise
473
- def delete(x_twilio_webhook_enabled: :unset)
474
- context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
475
- end
476
14
 
477
- ##
478
- # Fetch the ParticipantInstance
479
- # @return [ParticipantInstance] Fetched ParticipantInstance
480
- def fetch
481
- context.fetch
482
- end
483
15
 
484
- ##
485
- # Provide a user friendly representation
486
- def to_s
487
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
488
- "<Twilio.Conversations.V1.ParticipantInstance #{values}>"
489
- end
490
-
491
- ##
492
- # Provide a detailed, user friendly representation
493
- def inspect
494
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
495
- "<Twilio.Conversations.V1.ParticipantInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Conversations < ConversationsBase
19
+ class V1 < Version
20
+ class ConversationContext < InstanceContext
21
+
22
+ class ParticipantList < ListResource
23
+ ##
24
+ # Initialize the ParticipantList
25
+ # @param [Version] version Version that contains the resource
26
+ # @return [ParticipantList] ParticipantList
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]}/Participants"
32
+
33
+ end
34
+ ##
35
+ # Create the ParticipantInstance
36
+ # @param [String] identity A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.
37
+ # @param [String] messaging_binding_address The address of the participant's device, e.g. a phone or WhatsApp number. Together with the Proxy address, this determines a participant uniquely. This field (with proxy_address) is only null when the participant is interacting from an SDK endpoint (see the 'identity' field).
38
+ # @param [String] messaging_binding_proxy_address The address of the Twilio phone number (or WhatsApp number) that the participant is in contact with. This field, together with participant address, is only null when the participant is interacting from an SDK endpoint (see the 'identity' field).
39
+ # @param [Time] date_created The date that this resource was created.
40
+ # @param [Time] date_updated The date that this resource was last updated.
41
+ # @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.
42
+ # @param [String] messaging_binding_projected_address The address of the Twilio phone number that is used in Group MMS. Communication mask for the Conversation participant with Identity.
43
+ # @param [String] role_sid The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.
44
+ # @param [ConversationParticipantEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
45
+ # @return [ParticipantInstance] Created ParticipantInstance
46
+ def create(
47
+ identity: :unset,
48
+ messaging_binding_address: :unset,
49
+ messaging_binding_proxy_address: :unset,
50
+ date_created: :unset,
51
+ date_updated: :unset,
52
+ attributes: :unset,
53
+ messaging_binding_projected_address: :unset,
54
+ role_sid: :unset,
55
+ x_twilio_webhook_enabled: :unset
56
+ )
57
+
58
+ data = Twilio::Values.of({
59
+ 'Identity' => identity,
60
+ 'MessagingBinding.Address' => messaging_binding_address,
61
+ 'MessagingBinding.ProxyAddress' => messaging_binding_proxy_address,
62
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
63
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
64
+ 'Attributes' => attributes,
65
+ 'MessagingBinding.ProjectedAddress' => messaging_binding_projected_address,
66
+ 'RoleSid' => role_sid,
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
+ ParticipantInstance.new(
72
+ @version,
73
+ payload,
74
+ conversation_sid: @solution[:conversation_sid],
75
+ )
76
+ end
77
+
78
+
79
+ ##
80
+ # Lists ParticipantInstance 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 [Integer] limit Upper limit for the number of records to return. stream()
84
+ # guarantees to never return more than limit. Default is no limit
85
+ # @param [Integer] page_size Number of records to fetch per request, when
86
+ # not set will use the default value of 50 records. If no page_size is defined
87
+ # but a limit is defined, stream() will attempt to read the limit with the most
88
+ # efficient page size, i.e. min(limit, 1000)
89
+ # @return [Array] Array of up to limit results
90
+ def list(limit: nil, page_size: nil)
91
+ self.stream(
92
+ limit: limit,
93
+ page_size: page_size
94
+ ).entries
95
+ end
96
+
97
+ ##
98
+ # Streams Instance records from the API as an Enumerable.
99
+ # This operation lazily loads records as efficiently as possible until the limit
100
+ # is reached.
101
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
102
+ # guarantees to never return more than limit. Default is no limit
103
+ # @param [Integer] page_size Number of records to fetch per request, when
104
+ # not set will use the default value of 50 records. If no page_size is defined
105
+ # but a limit is defined, stream() will attempt to read the limit with the most
106
+ # efficient page size, i.e. min(limit, 1000)
107
+ # @return [Enumerable] Enumerable that will yield up to limit results
108
+ def stream(limit: nil, page_size: nil)
109
+ limits = @version.read_limits(limit, page_size)
110
+
111
+ page = self.page(
112
+ page_size: limits[:page_size], )
113
+
114
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
115
+ end
116
+
117
+ ##
118
+ # When passed a block, yields ParticipantInstance records from the API.
119
+ # This operation lazily loads records as efficiently as possible until the limit
120
+ # is reached.
121
+ def each
122
+ limits = @version.read_limits
123
+
124
+ page = self.page(page_size: limits[:page_size], )
125
+
126
+ @version.stream(page,
127
+ limit: limits[:limit],
128
+ page_limit: limits[:page_limit]).each {|x| yield x}
129
+ end
130
+
131
+ ##
132
+ # Retrieve a single page of ParticipantInstance records from the API.
133
+ # Request is executed immediately.
134
+ # @param [String] page_token PageToken provided by the API
135
+ # @param [Integer] page_number Page Number, this value is simply for client state
136
+ # @param [Integer] page_size Number of records to return, defaults to 50
137
+ # @return [Page] Page of ParticipantInstance
138
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
139
+ params = Twilio::Values.of({
140
+
141
+ 'PageToken' => page_token,
142
+ 'Page' => page_number,
143
+ 'PageSize' => page_size,
144
+ })
145
+
146
+ response = @version.page('GET', @uri, params: params)
147
+
148
+ ParticipantPage.new(@version, response, @solution)
149
+ end
150
+
151
+ ##
152
+ # Retrieve a single page of ParticipantInstance records from the API.
153
+ # Request is executed immediately.
154
+ # @param [String] target_url API-generated URL for the requested results page
155
+ # @return [Page] Page of ParticipantInstance
156
+ def get_page(target_url)
157
+ response = @version.domain.request(
158
+ 'GET',
159
+ target_url
160
+ )
161
+ ParticipantPage.new(@version, response, @solution)
162
+ end
163
+
164
+
165
+
166
+ # Provide a user friendly representation
167
+ def to_s
168
+ '#<Twilio.Conversations.V1.ParticipantList>'
169
+ end
170
+ end
171
+
172
+
173
+ class ParticipantContext < InstanceContext
174
+ ##
175
+ # Initialize the ParticipantContext
176
+ # @param [Version] version Version that contains the resource
177
+ # @param [String] conversation_sid The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.
178
+ # @param [String] sid A 34 character string that uniquely identifies this resource.
179
+ # @return [ParticipantContext] ParticipantContext
180
+ def initialize(version, conversation_sid, sid)
181
+ super(version)
182
+
183
+ # Path Solution
184
+ @solution = { conversation_sid: conversation_sid, sid: sid, }
185
+ @uri = "/Conversations/#{@solution[:conversation_sid]}/Participants/#{@solution[:sid]}"
186
+
187
+
188
+ end
189
+ ##
190
+ # Delete the ParticipantInstance
191
+ # @param [ConversationParticipantEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
192
+ # @return [Boolean] True if delete succeeds, false otherwise
193
+ def delete(
194
+ x_twilio_webhook_enabled: :unset
195
+ )
196
+
197
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
198
+ @version.delete('DELETE', @uri, headers: headers)
199
+ end
200
+
201
+ ##
202
+ # Fetch the ParticipantInstance
203
+ # @return [ParticipantInstance] Fetched ParticipantInstance
204
+ def fetch
205
+
206
+ payload = @version.fetch('GET', @uri)
207
+ ParticipantInstance.new(
208
+ @version,
209
+ payload,
210
+ conversation_sid: @solution[:conversation_sid],
211
+ sid: @solution[:sid],
212
+ )
213
+ end
214
+
215
+ ##
216
+ # Update the ParticipantInstance
217
+ # @param [Time] date_created The date that this resource was created.
218
+ # @param [Time] date_updated The date that this resource was last updated.
219
+ # @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.
220
+ # @param [String] role_sid The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.
221
+ # @param [String] messaging_binding_proxy_address The address of the Twilio phone number that the participant is in contact with. 'null' value will remove it.
222
+ # @param [String] messaging_binding_projected_address The address of the Twilio phone number that is used in Group MMS. 'null' value will remove it.
223
+ # @param [String] identity A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.
224
+ # @param [String] last_read_message_index Index of last “read” message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.
225
+ # @param [String] last_read_timestamp Timestamp of last “read” message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.
226
+ # @param [ConversationParticipantEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
227
+ # @return [ParticipantInstance] Updated ParticipantInstance
228
+ def update(
229
+ date_created: :unset,
230
+ date_updated: :unset,
231
+ attributes: :unset,
232
+ role_sid: :unset,
233
+ messaging_binding_proxy_address: :unset,
234
+ messaging_binding_projected_address: :unset,
235
+ identity: :unset,
236
+ last_read_message_index: :unset,
237
+ last_read_timestamp: :unset,
238
+ x_twilio_webhook_enabled: :unset
239
+ )
240
+
241
+ data = Twilio::Values.of({
242
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
243
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
244
+ 'Attributes' => attributes,
245
+ 'RoleSid' => role_sid,
246
+ 'MessagingBinding.ProxyAddress' => messaging_binding_proxy_address,
247
+ 'MessagingBinding.ProjectedAddress' => messaging_binding_projected_address,
248
+ 'Identity' => identity,
249
+ 'LastReadMessageIndex' => last_read_message_index,
250
+ 'LastReadTimestamp' => last_read_timestamp,
251
+ })
252
+
253
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
254
+ payload = @version.update('POST', @uri, data: data, headers: headers)
255
+ ParticipantInstance.new(
256
+ @version,
257
+ payload,
258
+ conversation_sid: @solution[:conversation_sid],
259
+ sid: @solution[:sid],
260
+ )
261
+ end
262
+
263
+
264
+ ##
265
+ # Provide a user friendly representation
266
+ def to_s
267
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
268
+ "#<Twilio.Conversations.V1.ParticipantContext #{context}>"
269
+ end
270
+
271
+ ##
272
+ # Provide a detailed, user friendly representation
273
+ def inspect
274
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
275
+ "#<Twilio.Conversations.V1.ParticipantContext #{context}>"
276
+ end
277
+ end
278
+
279
+ class ParticipantPage < Page
280
+ ##
281
+ # Initialize the ParticipantPage
282
+ # @param [Version] version Version that contains the resource
283
+ # @param [Response] response Response from the API
284
+ # @param [Hash] solution Path solution for the resource
285
+ # @return [ParticipantPage] ParticipantPage
286
+ def initialize(version, response, solution)
287
+ super(version, response)
288
+
289
+ # Path Solution
290
+ @solution = solution
291
+ end
292
+
293
+ ##
294
+ # Build an instance of ParticipantInstance
295
+ # @param [Hash] payload Payload response from the API
296
+ # @return [ParticipantInstance] ParticipantInstance
297
+ def get_instance(payload)
298
+ ParticipantInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid])
299
+ end
300
+
301
+ ##
302
+ # Provide a user friendly representation
303
+ def to_s
304
+ '<Twilio.Conversations.V1.ParticipantPage>'
305
+ end
306
+ end
307
+ class ParticipantInstance < InstanceResource
308
+ ##
309
+ # Initialize the ParticipantInstance
310
+ # @param [Version] version Version that contains the resource
311
+ # @param [Hash] payload payload that contains response from Twilio
312
+ # @param [String] account_sid The SID of the
313
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Participant
314
+ # resource.
315
+ # @param [String] sid The SID of the Call resource to fetch.
316
+ # @return [ParticipantInstance] ParticipantInstance
317
+ def initialize(version, payload , conversation_sid: nil, sid: nil)
318
+ super(version)
319
+
320
+ # Marshaled Properties
321
+ @properties = {
322
+ 'account_sid' => payload['account_sid'],
323
+ 'conversation_sid' => payload['conversation_sid'],
324
+ 'sid' => payload['sid'],
325
+ 'identity' => payload['identity'],
326
+ 'attributes' => payload['attributes'],
327
+ 'messaging_binding' => payload['messaging_binding'],
328
+ 'role_sid' => payload['role_sid'],
329
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
330
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
331
+ 'url' => payload['url'],
332
+ 'last_read_message_index' => payload['last_read_message_index'] == nil ? payload['last_read_message_index'] : payload['last_read_message_index'].to_i,
333
+ 'last_read_timestamp' => payload['last_read_timestamp'],
334
+ }
335
+
336
+ # Context
337
+ @instance_context = nil
338
+ @params = { 'conversation_sid' => conversation_sid || @properties['conversation_sid'] ,'sid' => sid || @properties['sid'] , }
339
+ end
340
+
341
+ ##
342
+ # Generate an instance context for the instance, the context is capable of
343
+ # performing various actions. All instance actions are proxied to the context
344
+ # @return [ParticipantContext] CallContext for this CallInstance
345
+ def context
346
+ unless @instance_context
347
+ @instance_context = ParticipantContext.new(@version , @params['conversation_sid'], @params['sid'])
348
+ end
349
+ @instance_context
350
+ end
351
+
352
+ ##
353
+ # @return [String] The unique ID of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this participant.
354
+ def account_sid
355
+ @properties['account_sid']
356
+ end
357
+
358
+ ##
359
+ # @return [String] The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this participant.
360
+ def conversation_sid
361
+ @properties['conversation_sid']
362
+ end
363
+
364
+ ##
365
+ # @return [String] A 34 character string that uniquely identifies this resource.
366
+ def sid
367
+ @properties['sid']
368
+ end
369
+
370
+ ##
371
+ # @return [String] A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.
372
+ def identity
373
+ @properties['identity']
374
+ end
375
+
376
+ ##
377
+ # @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.
378
+ def attributes
379
+ @properties['attributes']
380
+ end
381
+
382
+ ##
383
+ # @return [Hash] Information about how this participant exchanges messages with the conversation. A JSON parameter consisting of type and address fields of the participant.
384
+ def messaging_binding
385
+ @properties['messaging_binding']
386
+ end
387
+
388
+ ##
389
+ # @return [String] The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.
390
+ def role_sid
391
+ @properties['role_sid']
392
+ end
393
+
394
+ ##
395
+ # @return [Time] The date that this resource was created.
396
+ def date_created
397
+ @properties['date_created']
398
+ end
399
+
400
+ ##
401
+ # @return [Time] The date that this resource was last updated.
402
+ def date_updated
403
+ @properties['date_updated']
404
+ end
405
+
406
+ ##
407
+ # @return [String] An absolute API resource URL for this participant.
408
+ def url
409
+ @properties['url']
410
+ end
411
+
412
+ ##
413
+ # @return [String] Index of last “read” message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.
414
+ def last_read_message_index
415
+ @properties['last_read_message_index']
416
+ end
417
+
418
+ ##
419
+ # @return [String] Timestamp of last “read” message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.
420
+ def last_read_timestamp
421
+ @properties['last_read_timestamp']
422
+ end
423
+
424
+ ##
425
+ # Delete the ParticipantInstance
426
+ # @param [ConversationParticipantEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
427
+ # @return [Boolean] True if delete succeeds, false otherwise
428
+ def delete(
429
+ x_twilio_webhook_enabled: :unset
430
+ )
431
+
432
+ context.delete(
433
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
434
+ )
435
+ end
436
+
437
+ ##
438
+ # Fetch the ParticipantInstance
439
+ # @return [ParticipantInstance] Fetched ParticipantInstance
440
+ def fetch
441
+
442
+ context.fetch
443
+ end
444
+
445
+ ##
446
+ # Update the ParticipantInstance
447
+ # @param [Time] date_created The date that this resource was created.
448
+ # @param [Time] date_updated The date that this resource was last updated.
449
+ # @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.
450
+ # @param [String] role_sid The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.
451
+ # @param [String] messaging_binding_proxy_address The address of the Twilio phone number that the participant is in contact with. 'null' value will remove it.
452
+ # @param [String] messaging_binding_projected_address The address of the Twilio phone number that is used in Group MMS. 'null' value will remove it.
453
+ # @param [String] identity A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters.
454
+ # @param [String] last_read_message_index Index of last “read” message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.
455
+ # @param [String] last_read_timestamp Timestamp of last “read” message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.
456
+ # @param [ConversationParticipantEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
457
+ # @return [ParticipantInstance] Updated ParticipantInstance
458
+ def update(
459
+ date_created: :unset,
460
+ date_updated: :unset,
461
+ attributes: :unset,
462
+ role_sid: :unset,
463
+ messaging_binding_proxy_address: :unset,
464
+ messaging_binding_projected_address: :unset,
465
+ identity: :unset,
466
+ last_read_message_index: :unset,
467
+ last_read_timestamp: :unset,
468
+ x_twilio_webhook_enabled: :unset
469
+ )
470
+
471
+ context.update(
472
+ date_created: date_created,
473
+ date_updated: date_updated,
474
+ attributes: attributes,
475
+ role_sid: role_sid,
476
+ messaging_binding_proxy_address: messaging_binding_proxy_address,
477
+ messaging_binding_projected_address: messaging_binding_projected_address,
478
+ identity: identity,
479
+ last_read_message_index: last_read_message_index,
480
+ last_read_timestamp: last_read_timestamp,
481
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
482
+ )
483
+ end
484
+
485
+ ##
486
+ # Provide a user friendly representation
487
+ def to_s
488
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
489
+ "<Twilio.Conversations.V1.ParticipantInstance #{values}>"
490
+ end
491
+
492
+ ##
493
+ # Provide a detailed, user friendly representation
494
+ def inspect
495
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
496
+ "<Twilio.Conversations.V1.ParticipantInstance #{values}>"
497
+ end
498
+ end
499
+
500
+ end
496
501
  end
497
- end
498
502
  end
499
- end
500
503
  end
501
- end
502
- end
504
+ end
505
+
506
+