twilio-ruby 5.74.5 → 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 (628) 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 +34 -51
  5. data/Makefile +3 -0
  6. data/README.md +8 -2
  7. data/UPGRADE.md +7 -0
  8. data/cluster_spec.rb +77 -0
  9. data/lib/twilio-ruby/base/client_base.rb +124 -0
  10. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  11. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  12. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  13. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  14. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  15. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  16. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  17. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  18. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  19. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  20. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -605
  21. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +468 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  31. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +156 -153
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +228 -240
  41. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +997 -1050
  42. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +650 -756
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -493
  45. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -418
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  52. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  53. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  54. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  55. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +627 -641
  56. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  58. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  59. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  60. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +431 -390
  62. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -385
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -513
  66. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  67. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  68. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +404 -373
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  71. 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
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  73. 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
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +663 -645
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +404 -374
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  82. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  83. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  95. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  96. data/lib/twilio-ruby/rest/api/v2010/account.rb +1061 -943
  97. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  98. data/lib/twilio-ruby/rest/api.rb +25 -34
  99. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  100. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +433 -411
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +527 -500
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +692 -640
  114. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  115. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  116. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  117. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  118. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  123. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  124. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  125. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  126. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  127. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  128. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  129. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  130. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +547 -515
  131. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  132. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  133. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +471 -440
  134. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -894
  135. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  136. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  137. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  138. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  139. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  140. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  141. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  142. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +623 -605
  143. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  144. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  145. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  146. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +518 -491
  147. data/lib/twilio-ruby/rest/chat/v2/service.rb +777 -778
  148. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  149. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  150. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  151. data/lib/twilio-ruby/rest/chat.rb +4 -48
  152. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  153. data/lib/twilio-ruby/rest/client.rb +314 -574
  154. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +201 -188
  155. data/lib/twilio-ruby/rest/content/v1/content.rb +354 -336
  156. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +252 -0
  157. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  158. data/lib/twilio-ruby/rest/content/v1.rb +54 -45
  159. data/lib/twilio-ruby/rest/content.rb +2 -40
  160. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  161. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +464 -444
  162. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  164. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  165. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +534 -510
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  167. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +594 -552
  169. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  170. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  171. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  172. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  173. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  175. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  176. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +542 -550
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +609 -588
  181. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  182. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  183. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  184. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +489 -474
  185. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -447
  186. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  187. data/lib/twilio-ruby/rest/conversations/v1/user.rb +476 -441
  188. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  189. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  190. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  191. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  192. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  193. data/lib/twilio-ruby/rest/events/v1/schema.rb +232 -218
  194. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  195. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  196. data/lib/twilio-ruby/rest/events/v1/sink.rb +447 -408
  197. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  198. data/lib/twilio-ruby/rest/events/v1/subscription.rb +423 -387
  199. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  200. data/lib/twilio-ruby/rest/events.rb +5 -34
  201. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  202. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +447 -387
  203. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  204. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  205. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  206. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -306
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +231 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  210. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  211. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +427 -403
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +135 -124
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  216. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  217. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  218. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +409 -398
  219. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +252 -225
  220. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  221. data/lib/twilio-ruby/rest/flex_api/v1.rb +205 -208
  222. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +140 -127
  223. data/lib/twilio-ruby/rest/flex_api/v2.rb +33 -28
  224. data/lib/twilio-ruby/rest/flex_api.rb +21 -111
  225. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  226. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  227. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  228. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  229. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  230. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  231. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  232. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  233. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  234. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -236
  235. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +461 -433
  236. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  237. data/lib/twilio-ruby/rest/insights/v1/conference.rb +509 -502
  238. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  239. data/lib/twilio-ruby/rest/insights/v1/room.rb +497 -489
  240. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  241. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  242. data/lib/twilio-ruby/rest/insights.rb +6 -34
  243. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  244. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +547 -488
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +471 -418
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -779
  253. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  254. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +623 -555
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +518 -467
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +777 -689
  266. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  267. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  268. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  269. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  270. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  271. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +349 -342
  272. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  273. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  274. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  275. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  276. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  277. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  279. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  280. data/lib/twilio-ruby/rest/media.rb +4 -34
  281. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  282. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  283. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +472 -443
  284. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  285. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +274 -259
  287. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +231 -0
  288. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  289. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  291. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  292. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  293. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +500 -521
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  295. data/lib/twilio-ruby/rest/messaging/v1/service.rb +757 -763
  296. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +720 -699
  297. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  298. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -124
  299. data/lib/twilio-ruby/rest/messaging.rb +9 -34
  300. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  301. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +349 -307
  302. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +342 -300
  303. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +201 -185
  304. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -320
  305. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +368 -335
  306. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +361 -328
  307. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +418 -383
  308. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  309. data/lib/twilio-ruby/rest/microvisor.rb +3 -50
  310. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  311. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  312. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  313. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  314. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  315. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  316. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  317. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  318. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  319. data/lib/twilio-ruby/rest/notify/v1/service.rb +635 -622
  320. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  321. data/lib/twilio-ruby/rest/notify.rb +3 -34
  322. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  323. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +627 -607
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  334. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  335. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  336. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  337. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +165 -147
  338. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +177 -154
  339. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +254 -234
  340. data/lib/twilio-ruby/rest/oauth/v1/token.rb +173 -151
  341. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +205 -185
  342. data/lib/twilio-ruby/rest/oauth/v1.rb +57 -56
  343. data/lib/twilio-ruby/rest/oauth.rb +5 -40
  344. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  345. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  346. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  347. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  348. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  349. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +507 -459
  350. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  351. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  352. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +453 -446
  353. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  354. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  355. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  356. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +329 -309
  357. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  358. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +433 -398
  359. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  360. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  361. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +447 -399
  362. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  363. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  364. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +428 -398
  365. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  366. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +428 -398
  368. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -452
  369. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  370. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +433 -400
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +527 -488
  383. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +669 -619
  384. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  385. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  386. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  387. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  388. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  389. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  390. data/lib/twilio-ruby/rest/preview.rb +11 -69
  391. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  392. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  393. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  394. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  395. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  396. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  397. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  398. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  399. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  400. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  401. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  402. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  403. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  404. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  405. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  406. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  407. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  408. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  409. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -442
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +531 -506
  413. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  414. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -596
  415. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  416. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  417. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  418. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  419. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  420. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  421. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  422. data/lib/twilio-ruby/rest/routes.rb +4 -34
  423. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  424. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +417 -380
  426. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  428. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -447
  432. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +417 -380
  435. data/lib/twilio-ruby/rest/serverless/v1/service.rb +536 -493
  436. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  437. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  438. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  439. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +427 -394
  443. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -449
  447. data/lib/twilio-ruby/rest/studio/v1/flow.rb +387 -355
  448. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  449. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -442
  453. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  454. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  455. data/lib/twilio-ruby/rest/studio/v2/flow.rb +526 -472
  456. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  457. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  458. data/lib/twilio-ruby/rest/studio.rb +3 -41
  459. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  460. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -382
  461. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  462. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -409
  463. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  464. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  465. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +384 -351
  466. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +249 -237
  467. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  468. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  469. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +472 -453
  470. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  471. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  472. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  473. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  474. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  475. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  476. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +461 -423
  477. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  484. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +425 -400
  485. data/lib/twilio-ruby/rest/sync/v1/service.rb +588 -567
  486. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  487. data/lib/twilio-ruby/rest/sync.rb +2 -34
  488. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -749
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +620 -661
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -572
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +640 -637
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +743 -730
  514. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  515. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  516. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  517. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  519. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  520. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  521. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  522. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +636 -630
  523. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  524. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  525. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  526. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  527. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  528. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  529. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +538 -513
  530. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  531. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  532. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  533. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  534. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  535. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  536. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  537. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  538. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +538 -513
  539. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  540. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  541. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  542. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  543. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  544. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -254
  545. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -192
  546. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +506 -531
  547. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -453
  548. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -283
  549. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -414
  550. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  551. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  552. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +425 -384
  553. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -371
  554. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  555. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -412
  556. data/lib/twilio-ruby/rest/verify/v2/service.rb +789 -780
  557. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -205
  558. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  559. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  560. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  561. data/lib/twilio-ruby/rest/verify.rb +7 -34
  562. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  563. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  564. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  565. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  566. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  567. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  568. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  569. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  570. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  571. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  572. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +516 -0
  573. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  574. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  575. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -602
  576. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  577. data/lib/twilio-ruby/rest/video.rb +7 -34
  578. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  579. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  580. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  581. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  582. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +395 -352
  583. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  584. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  585. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +386 -397
  586. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  587. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  588. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  589. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  590. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  591. data/lib/twilio-ruby/rest/voice.rb +7 -34
  592. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  593. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  594. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  595. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  596. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  597. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +648 -647
  598. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  599. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  600. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  601. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  602. data/lib/twilio-ruby/rest.rb +1 -0
  603. data/lib/twilio-ruby/version.rb +1 -1
  604. metadata +71 -30
  605. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  606. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  607. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  613. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  614. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  615. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  616. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  617. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  618. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  619. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  620. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  621. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  622. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  623. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  624. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  625. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  626. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  627. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  628. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,648 +1,634 @@
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 - Api
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 Api < Domain
12
- class V2010 < Version
13
- class AccountContext < InstanceContext
14
- class MessageList < ListResource
15
- ##
16
- # Initialize the MessageList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] account_sid The SID of the
19
- # {Account}[https://www.twilio.com/docs/iam/api/account] that sent the message
20
- # that created the resource.
21
- # @return [MessageList] MessageList
22
- def initialize(version, account_sid: nil)
23
- super(version)
24
-
25
- # Path Solution
26
- @solution = {account_sid: account_sid}
27
- @uri = "/Accounts/#{@solution[:account_sid]}/Messages.json"
28
- end
29
-
30
- ##
31
- # Create the MessageInstance
32
- # @param [String] to The destination phone number in
33
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format for SMS/MMS or
34
- # {Channel user
35
- # address}[https://www.twilio.com/docs/sms/channels#channel-addresses] for other
36
- # 3rd-party channels.
37
- # @param [String] status_callback The URL we should call using the
38
- # `status_callback_method` to send status information to your application. If
39
- # specified, we POST these message status changes to the URL: `queued`, `failed`,
40
- # `sent`, `delivered`, or `undelivered`. Twilio will POST its {standard request
41
- # parameters}[https://www.twilio.com/docs/sms/twiml#request-parameters] as well as
42
- # some additional parameters including `MessageSid`, `MessageStatus`, and
43
- # `ErrorCode`. If you include this parameter with the `messaging_service_sid`, we
44
- # use this URL instead of the Status Callback URL of the {Messaging
45
- # Service}[https://www.twilio.com/docs/sms/services/api]. URLs must contain a
46
- # valid hostname and underscores are not allowed.
47
- # @param [String] application_sid The SID of the application that should receive
48
- # message status. We POST a `message_sid` parameter and a `message_status`
49
- # parameter with a value of `sent` or `failed` to the
50
- # {application}[https://www.twilio.com/docs/usage/api/applications]'s
51
- # `message_status_callback`. If a `status_callback` parameter is also passed, it
52
- # will be ignored and the application's `message_status_callback` parameter will
53
- # be used.
54
- # @param [String] max_price The maximum total price in US dollars that you will
55
- # pay for the message to be delivered. Can be a decimal value that has up to 4
56
- # decimal places. All messages are queued for delivery and the message cost is
57
- # checked before the message is sent. If the cost exceeds `max_price`, the message
58
- # will fail and a status of `Failed` is sent to the status callback. If `MaxPrice`
59
- # is not set, the message cost is not checked.
60
- # @param [Boolean] provide_feedback Whether to confirm delivery of the message.
61
- # Set this value to `true` if you are sending messages that have a trackable user
62
- # action and you intend to confirm delivery of the message using the {Message
63
- # Feedback API}[https://www.twilio.com/docs/sms/api/message-feedback-resource].
64
- # This parameter is `false` by default.
65
- # @param [String] attempt Total number of attempts made ( including this ) to send
66
- # out the message regardless of the provider used
67
- # @param [String] validity_period How long in seconds the message can remain in
68
- # our outgoing message queue. After this period elapses, the message fails and we
69
- # call your status callback. Can be between 1 and the default value of 14,400
70
- # seconds. After a message has been accepted by a carrier, however, we cannot
71
- # guarantee that the message will not be queued after this period. We recommend
72
- # that this value be at least 5 seconds.
73
- # @param [Boolean] force_delivery Reserved
74
- # @param [message.ContentRetention] content_retention Determines if the message
75
- # content can be stored or redacted based on privacy settings
76
- # @param [message.AddressRetention] address_retention Determines if the address
77
- # can be stored or obfuscated based on privacy settings
78
- # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a
79
- # similar GSM-7 character and replace them. Can be: `true` or `false`.
80
- # @param [Array[String]] persistent_action Rich actions for Channels Messages.
81
- # @param [Boolean] shorten_urls Determines the usage of Click Tracking. Setting it
82
- # to `true` will instruct Twilio to replace all links in the Message with a
83
- # shortened version based on the associated Domain Sid and track clicks on them.
84
- # If this parameter is not set on an API call, we will use the value set on the
85
- # Messaging Service. If this parameter is not set and the value is not configured
86
- # on the Messaging Service used this will default to `false`.
87
- # @param [message.ScheduleType] schedule_type Indicates your intent to schedule a
88
- # message. Pass the value `fixed` to schedule a message at a fixed time.
89
- # @param [Time] send_at The time that Twilio will send the message. Must be in ISO
90
- # 8601 format.
91
- # @param [Boolean] send_as_mms If set to True, Twilio will deliver the message as
92
- # a single MMS message, regardless of the presence of media.
93
- # @param [String] content_sid The SID of the Content object returned at Content
94
- # API content create time
95
- # (https://www.twilio.com/docs/content-api/create-and-send-your-first-content-api-template#create-a-template).
96
- # If this parameter is not specified, then the Content API will not be utilized.
97
- # @param [String] content_variables Key-value pairs of variable names to
98
- # substitution values, used alongside a content_sid. If not specified, Content API
99
- # will default to the default variables defined at create time.
100
- # @param [String] from A Twilio phone number in
101
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, an {alphanumeric
102
- # sender
103
- # ID}[https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id],
104
- # or a {Channel Endpoint
105
- # address}[https://www.twilio.com/docs/sms/channels#channel-addresses] that is
106
- # enabled for the type of message you want to send. Phone numbers or {short
107
- # codes}[https://www.twilio.com/docs/sms/api/short-code] purchased from Twilio
108
- # also work here. You cannot, for example, spoof messages from a private cell
109
- # phone number. If you are using `messaging_service_sid`, this parameter must be
110
- # empty.
111
- # @param [String] messaging_service_sid The SID of the {Messaging
112
- # Service}[https://www.twilio.com/docs/sms/services#send-a-message-with-copilot]
113
- # you want to associate with the Message. Set this parameter to use the {Messaging
114
- # Service Settings and Copilot
115
- # Features}[https://www.twilio.com/console/sms/services] you have configured and
116
- # leave the `from` parameter empty. When only this parameter is set, Twilio will
117
- # use your enabled Copilot Features to select the `from` phone number for
118
- # delivery.
119
- # @param [String] body The text of the message you want to send. Can be up to
120
- # 1,600 characters in length.
121
- # @param [Array[String]] media_url The URL of the media to send with the message.
122
- # The media can be of type `gif`, `png`, and `jpeg` and will be formatted
123
- # correctly on the recipient's device. The media size limit is 5MB for supported
124
- # file types (JPEG, PNG, GIF) and 500KB for {other
125
- # types}[https://www.twilio.com/docs/sms/accepted-mime-types] of accepted media.
126
- # To send more than one image in the message body, provide multiple `media_url`
127
- # parameters in the POST request. You can include up to 10 `media_url` parameters
128
- # per message. You can send images in an SMS message in only the US and Canada.
129
- # @return [MessageInstance] Created MessageInstance
130
- def create(to: nil, status_callback: :unset, application_sid: :unset, max_price: :unset, provide_feedback: :unset, attempt: :unset, validity_period: :unset, force_delivery: :unset, content_retention: :unset, address_retention: :unset, smart_encoded: :unset, persistent_action: :unset, shorten_urls: :unset, schedule_type: :unset, send_at: :unset, send_as_mms: :unset, content_sid: :unset, content_variables: :unset, from: :unset, messaging_service_sid: :unset, body: :unset, media_url: :unset)
131
- data = Twilio::Values.of({
132
- 'To' => to,
133
- 'From' => from,
134
- 'MessagingServiceSid' => messaging_service_sid,
135
- 'Body' => body,
136
- 'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
137
- 'StatusCallback' => status_callback,
138
- 'ApplicationSid' => application_sid,
139
- 'MaxPrice' => max_price,
140
- 'ProvideFeedback' => provide_feedback,
141
- 'Attempt' => attempt,
142
- 'ValidityPeriod' => validity_period,
143
- 'ForceDelivery' => force_delivery,
144
- 'ContentRetention' => content_retention,
145
- 'AddressRetention' => address_retention,
146
- 'SmartEncoded' => smart_encoded,
147
- 'PersistentAction' => Twilio.serialize_list(persistent_action) { |e| e },
148
- 'ShortenUrls' => shorten_urls,
149
- 'ScheduleType' => schedule_type,
150
- 'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
151
- 'SendAsMms' => send_as_mms,
152
- 'ContentSid' => content_sid,
153
- 'ContentVariables' => content_variables,
154
- })
155
-
156
- payload = @version.create('POST', @uri, data: data)
157
-
158
- MessageInstance.new(@version, payload, account_sid: @solution[:account_sid], )
159
- end
160
-
161
- ##
162
- # Lists MessageInstance records from the API as a list.
163
- # Unlike stream(), this operation is eager and will load `limit` records into
164
- # memory before returning.
165
- # @param [String] to Read messages sent to only this phone number.
166
- # @param [String] from Read messages sent from only this phone number or
167
- # alphanumeric sender ID.
168
- # @param [Time] date_sent_before Filter by date sent
169
- # @param [Time] date_sent Filter by date sent
170
- # @param [Time] date_sent_after Filter by date sent
171
- # @param [Integer] limit Upper limit for the number of records to return. stream()
172
- # guarantees to never return more than limit. Default is no limit
173
- # @param [Integer] page_size Number of records to fetch per request, when
174
- # not set will use the default value of 50 records. If no page_size is defined
175
- # but a limit is defined, stream() will attempt to read the limit with the most
176
- # efficient page size, i.e. min(limit, 1000)
177
- # @return [Array] Array of up to limit results
178
- def list(to: :unset, from: :unset, date_sent_before: :unset, date_sent: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
179
- self.stream(
180
- to: to,
181
- from: from,
182
- date_sent_before: date_sent_before,
183
- date_sent: date_sent,
184
- date_sent_after: date_sent_after,
185
- limit: limit,
186
- page_size: page_size
187
- ).entries
188
- end
189
-
190
- ##
191
- # Streams MessageInstance records from the API as an Enumerable.
192
- # This operation lazily loads records as efficiently as possible until the limit
193
- # is reached.
194
- # @param [String] to Read messages sent to only this phone number.
195
- # @param [String] from Read messages sent from only this phone number or
196
- # alphanumeric sender ID.
197
- # @param [Time] date_sent_before Filter by date sent
198
- # @param [Time] date_sent Filter by date sent
199
- # @param [Time] date_sent_after Filter by date sent
200
- # @param [Integer] limit Upper limit for the number of records to return. stream()
201
- # guarantees to never return more than limit. Default is no limit.
202
- # @param [Integer] page_size Number of records to fetch per request, when
203
- # not set will use the default value of 50 records. If no page_size is defined
204
- # but a limit is defined, stream() will attempt to read the limit with the most
205
- # efficient page size, i.e. min(limit, 1000)
206
- # @return [Enumerable] Enumerable that will yield up to limit results
207
- def stream(to: :unset, from: :unset, date_sent_before: :unset, date_sent: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
208
- limits = @version.read_limits(limit, page_size)
209
-
210
- page = self.page(
211
- to: to,
212
- from: from,
213
- date_sent_before: date_sent_before,
214
- date_sent: date_sent,
215
- date_sent_after: date_sent_after,
216
- page_size: limits[:page_size],
217
- )
218
-
219
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
220
- end
221
-
222
- ##
223
- # When passed a block, yields MessageInstance records from the API.
224
- # This operation lazily loads records as efficiently as possible until the limit
225
- # is reached.
226
- def each
227
- limits = @version.read_limits
228
-
229
- page = self.page(page_size: limits[:page_size], )
230
-
231
- @version.stream(page,
232
- limit: limits[:limit],
233
- page_limit: limits[:page_limit]).each {|x| yield x}
234
- end
235
-
236
- ##
237
- # Retrieve a single page of MessageInstance records from the API.
238
- # Request is executed immediately.
239
- # @param [String] to Read messages sent to only this phone number.
240
- # @param [String] from Read messages sent from only this phone number or
241
- # alphanumeric sender ID.
242
- # @param [Time] date_sent_before Filter by date sent
243
- # @param [Time] date_sent Filter by date sent
244
- # @param [Time] date_sent_after Filter by date sent
245
- # @param [String] page_token PageToken provided by the API
246
- # @param [Integer] page_number Page Number, this value is simply for client state
247
- # @param [Integer] page_size Number of records to return, defaults to 50
248
- # @return [Page] Page of MessageInstance
249
- def page(to: :unset, from: :unset, date_sent_before: :unset, date_sent: :unset, date_sent_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
250
- params = Twilio::Values.of({
251
- 'To' => to,
252
- 'From' => from,
253
- 'DateSent<' => Twilio.serialize_iso8601_datetime(date_sent_before),
254
- 'DateSent' => Twilio.serialize_iso8601_datetime(date_sent),
255
- 'DateSent>' => Twilio.serialize_iso8601_datetime(date_sent_after),
256
- 'PageToken' => page_token,
257
- 'Page' => page_number,
258
- 'PageSize' => page_size,
259
- })
260
-
261
- response = @version.page('GET', @uri, params: params)
262
-
263
- MessagePage.new(@version, response, @solution)
264
- end
265
-
266
- ##
267
- # Retrieve a single page of MessageInstance records from the API.
268
- # Request is executed immediately.
269
- # @param [String] target_url API-generated URL for the requested results page
270
- # @return [Page] Page of MessageInstance
271
- def get_page(target_url)
272
- response = @version.domain.request(
273
- 'GET',
274
- target_url
275
- )
276
- MessagePage.new(@version, response, @solution)
277
- end
278
-
279
- ##
280
- # Provide a user friendly representation
281
- def to_s
282
- '#<Twilio.Api.V2010.MessageList>'
283
- end
284
- end
285
-
286
- class MessagePage < Page
287
- ##
288
- # Initialize the MessagePage
289
- # @param [Version] version Version that contains the resource
290
- # @param [Response] response Response from the API
291
- # @param [Hash] solution Path solution for the resource
292
- # @return [MessagePage] MessagePage
293
- def initialize(version, response, solution)
294
- super(version, response)
295
-
296
- # Path Solution
297
- @solution = solution
298
- end
299
-
300
- ##
301
- # Build an instance of MessageInstance
302
- # @param [Hash] payload Payload response from the API
303
- # @return [MessageInstance] MessageInstance
304
- def get_instance(payload)
305
- MessageInstance.new(@version, payload, account_sid: @solution[:account_sid], )
306
- end
307
-
308
- ##
309
- # Provide a user friendly representation
310
- def to_s
311
- '<Twilio.Api.V2010.MessagePage>'
312
- end
313
- end
314
-
315
- class MessageContext < InstanceContext
316
- ##
317
- # Initialize the MessageContext
318
- # @param [Version] version Version that contains the resource
319
- # @param [String] account_sid The SID of the
320
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the Message
321
- # resource to fetch.
322
- # @param [String] sid The Twilio-provided string that uniquely identifies the
323
- # Message resource to fetch.
324
- # @return [MessageContext] MessageContext
325
- def initialize(version, account_sid, sid)
326
- super(version)
327
-
328
- # Path Solution
329
- @solution = {account_sid: account_sid, sid: sid, }
330
- @uri = "/Accounts/#{@solution[:account_sid]}/Messages/#{@solution[:sid]}.json"
331
-
332
- # Dependents
333
- @media = nil
334
- @feedback = nil
335
- end
336
-
337
- ##
338
- # Delete the MessageInstance
339
- # @return [Boolean] true if delete succeeds, false otherwise
340
- def delete
341
- @version.delete('DELETE', @uri)
342
- end
343
-
344
- ##
345
- # Fetch the MessageInstance
346
- # @return [MessageInstance] Fetched MessageInstance
347
- def fetch
348
- payload = @version.fetch('GET', @uri)
349
-
350
- MessageInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
351
- end
352
-
353
- ##
354
- # Update the MessageInstance
355
- # @param [String] body The text of the message you want to send. Can be up to
356
- # 1,600 characters long.
357
- # @param [message.UpdateStatus] status When set as `canceled`, allows a message
358
- # cancelation request if a message has not yet been sent.
359
- # @return [MessageInstance] Updated MessageInstance
360
- def update(body: :unset, status: :unset)
361
- data = Twilio::Values.of({'Body' => body, 'Status' => status, })
362
-
363
- payload = @version.update('POST', @uri, data: data)
364
-
365
- MessageInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
366
- end
367
-
368
- ##
369
- # Access the media
370
- # @return [MediaList]
371
- # @return [MediaContext] if sid was passed.
372
- def media(sid=:unset)
373
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
374
-
375
- if sid != :unset
376
- return MediaContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
377
- end
378
-
379
- unless @media
380
- @media = MediaList.new(@version, account_sid: @solution[:account_sid], message_sid: @solution[:sid], )
381
- end
382
-
383
- @media
384
- end
385
-
386
- ##
387
- # Access the feedback
388
- # @return [FeedbackList]
389
- # @return [FeedbackContext]
390
- def feedback
391
- unless @feedback
392
- @feedback = FeedbackList.new(
393
- @version,
394
- account_sid: @solution[:account_sid],
395
- message_sid: @solution[:sid],
396
- )
397
- end
398
-
399
- @feedback
400
- end
401
-
402
- ##
403
- # Provide a user friendly representation
404
- def to_s
405
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
406
- "#<Twilio.Api.V2010.MessageContext #{context}>"
407
- end
408
-
409
- ##
410
- # Provide a detailed, user friendly representation
411
- def inspect
412
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
413
- "#<Twilio.Api.V2010.MessageContext #{context}>"
414
- end
415
- end
416
-
417
- class MessageInstance < InstanceResource
418
- ##
419
- # Initialize the MessageInstance
420
- # @param [Version] version Version that contains the resource
421
- # @param [Hash] payload payload that contains response from Twilio
422
- # @param [String] account_sid The SID of the
423
- # {Account}[https://www.twilio.com/docs/iam/api/account] that sent the message
424
- # that created the resource.
425
- # @param [String] sid The Twilio-provided string that uniquely identifies the
426
- # Message resource to fetch.
427
- # @return [MessageInstance] MessageInstance
428
- def initialize(version, payload, account_sid: nil, sid: nil)
429
- super(version)
430
-
431
- # Marshaled Properties
432
- @properties = {
433
- 'body' => payload['body'],
434
- 'num_segments' => payload['num_segments'],
435
- 'direction' => payload['direction'],
436
- 'from' => payload['from'],
437
- 'to' => payload['to'],
438
- 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
439
- 'price' => payload['price'],
440
- 'error_message' => payload['error_message'],
441
- 'uri' => payload['uri'],
442
- 'account_sid' => payload['account_sid'],
443
- 'num_media' => payload['num_media'],
444
- 'status' => payload['status'],
445
- 'messaging_service_sid' => payload['messaging_service_sid'],
446
- 'sid' => payload['sid'],
447
- 'date_sent' => Twilio.deserialize_rfc2822(payload['date_sent']),
448
- 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
449
- 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
450
- 'price_unit' => payload['price_unit'],
451
- 'api_version' => payload['api_version'],
452
- 'subresource_uris' => payload['subresource_uris'],
453
- }
454
-
455
- # Context
456
- @instance_context = nil
457
- @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
458
- end
459
-
460
- ##
461
- # Generate an instance context for the instance, the context is capable of
462
- # performing various actions. All instance actions are proxied to the context
463
- # @return [MessageContext] MessageContext for this MessageInstance
464
- def context
465
- unless @instance_context
466
- @instance_context = MessageContext.new(@version, @params['account_sid'], @params['sid'], )
467
- end
468
- @instance_context
469
- end
470
-
471
- ##
472
- # @return [String] The message text
473
- def body
474
- @properties['body']
475
- end
476
-
477
- ##
478
- # @return [String] The number of messages used to deliver the message body
479
- def num_segments
480
- @properties['num_segments']
481
- end
482
-
483
- ##
484
- # @return [message.Direction] The direction of the message
485
- def direction
486
- @properties['direction']
487
- end
488
-
489
- ##
490
- # @return [String] The phone number that initiated the message
491
- def from
492
- @properties['from']
493
- end
494
-
495
- ##
496
- # @return [String] The phone number that received the message
497
- def to
498
- @properties['to']
499
- end
500
-
501
- ##
502
- # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
503
- def date_updated
504
- @properties['date_updated']
505
- end
506
-
507
- ##
508
- # @return [String] The amount billed for the message
509
- def price
510
- @properties['price']
511
- end
512
-
513
- ##
514
- # @return [String] The description of the error_code
515
- def error_message
516
- @properties['error_message']
517
- end
518
-
519
- ##
520
- # @return [String] The URI of the resource, relative to `https://api.twilio.com`
521
- def uri
522
- @properties['uri']
523
- end
524
-
525
- ##
526
- # @return [String] The SID of the Account that created the resource
527
- def account_sid
528
- @properties['account_sid']
529
- end
530
-
531
- ##
532
- # @return [String] The number of media files associated with the message
533
- def num_media
534
- @properties['num_media']
535
- end
536
-
537
- ##
538
- # @return [message.Status] The status of the message
539
- def status
540
- @properties['status']
541
- end
542
-
543
- ##
544
- # @return [String] The SID of the Messaging Service used with the message.
545
- def messaging_service_sid
546
- @properties['messaging_service_sid']
547
- end
548
-
549
- ##
550
- # @return [String] The unique string that identifies the resource
551
- def sid
552
- @properties['sid']
553
- end
554
-
555
- ##
556
- # @return [Time] The RFC 2822 date and time in GMT when the message was sent
557
- def date_sent
558
- @properties['date_sent']
559
- end
560
-
561
- ##
562
- # @return [Time] The RFC 2822 date and time in GMT that the resource was created
563
- def date_created
564
- @properties['date_created']
565
- end
566
-
567
- ##
568
- # @return [String] The error code associated with the message
569
- def error_code
570
- @properties['error_code']
571
- end
572
-
573
- ##
574
- # @return [String] The currency in which price is measured
575
- def price_unit
576
- @properties['price_unit']
577
- end
578
-
579
- ##
580
- # @return [String] The API version used to process the message
581
- def api_version
582
- @properties['api_version']
583
- end
584
-
585
- ##
586
- # @return [String] A list of related resources identified by their relative URIs
587
- def subresource_uris
588
- @properties['subresource_uris']
589
- end
590
-
591
- ##
592
- # Delete the MessageInstance
593
- # @return [Boolean] true if delete succeeds, false otherwise
594
- def delete
595
- context.delete
596
- end
597
-
598
- ##
599
- # Fetch the MessageInstance
600
- # @return [MessageInstance] Fetched MessageInstance
601
- def fetch
602
- context.fetch
603
- end
604
-
605
- ##
606
- # Update the MessageInstance
607
- # @param [String] body The text of the message you want to send. Can be up to
608
- # 1,600 characters long.
609
- # @param [message.UpdateStatus] status When set as `canceled`, allows a message
610
- # cancelation request if a message has not yet been sent.
611
- # @return [MessageInstance] Updated MessageInstance
612
- def update(body: :unset, status: :unset)
613
- context.update(body: body, status: status, )
614
- end
615
-
616
- ##
617
- # Access the media
618
- # @return [media] media
619
- def media
620
- context.media
621
- end
622
-
623
- ##
624
- # Access the feedback
625
- # @return [feedback] feedback
626
- def feedback
627
- context.feedback
628
- end
629
14
 
630
- ##
631
- # Provide a user friendly representation
632
- def to_s
633
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
634
- "<Twilio.Api.V2010.MessageInstance #{values}>"
635
- end
636
15
 
637
- ##
638
- # Provide a detailed, user friendly representation
639
- def inspect
640
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
641
- "<Twilio.Api.V2010.MessageInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Api < ApiBase
19
+ class V2010 < Version
20
+ class AccountContext < InstanceContext
21
+
22
+ class MessageList < ListResource
23
+ ##
24
+ # Initialize the MessageList
25
+ # @param [Version] version Version that contains the resource
26
+ # @return [MessageList] MessageList
27
+ def initialize(version, account_sid: nil)
28
+ super(version)
29
+ # Path Solution
30
+ @solution = { account_sid: account_sid }
31
+ @uri = "/Accounts/#{@solution[:account_sid]}/Messages.json"
32
+
33
+ end
34
+ ##
35
+ # Create the MessageInstance
36
+ # @param [String] to The destination phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format for SMS/MMS or [Channel user address](https://www.twilio.com/docs/sms/channels#channel-addresses) for other 3rd-party channels.
37
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application. If specified, we POST these message status changes to the URL: `queued`, `failed`, `sent`, `delivered`, or `undelivered`. Twilio will POST its [standard request parameters](https://www.twilio.com/docs/sms/twiml#request-parameters) as well as some additional parameters including `MessageSid`, `MessageStatus`, and `ErrorCode`. If you include this parameter with the `messaging_service_sid`, we use this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/sms/services/api). URLs must contain a valid hostname and underscores are not allowed.
38
+ # @param [String] application_sid The SID of the application that should receive message status. We POST a `message_sid` parameter and a `message_status` parameter with a value of `sent` or `failed` to the [application](https://www.twilio.com/docs/usage/api/applications)'s `message_status_callback`. If a `status_callback` parameter is also passed, it will be ignored and the application's `message_status_callback` parameter will be used.
39
+ # @param [Float] max_price The maximum total price in US dollars that you will pay for the message to be delivered. Can be a decimal value that has up to 4 decimal places. All messages are queued for delivery and the message cost is checked before the message is sent. If the cost exceeds `max_price`, the message will fail and a status of `Failed` is sent to the status callback. If `MaxPrice` is not set, the message cost is not checked.
40
+ # @param [Boolean] provide_feedback Whether to confirm delivery of the message. Set this value to `true` if you are sending messages that have a trackable user action and you intend to confirm delivery of the message using the [Message Feedback API](https://www.twilio.com/docs/sms/api/message-feedback-resource). This parameter is `false` by default.
41
+ # @param [String] attempt Total number of attempts made ( including this ) to send out the message regardless of the provider used
42
+ # @param [String] validity_period How long in seconds the message can remain in our outgoing message queue. After this period elapses, the message fails and we call your status callback. Can be between 1 and the default value of 14,400 seconds. After a message has been accepted by a carrier, however, we cannot guarantee that the message will not be queued after this period. We recommend that this value be at least 5 seconds.
43
+ # @param [Boolean] force_delivery Reserved
44
+ # @param [ContentRetention] content_retention
45
+ # @param [AddressRetention] address_retention
46
+ # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.
47
+ # @param [Array[String]] persistent_action Rich actions for Channels Messages.
48
+ # @param [Boolean] shorten_urls Determines the usage of Click Tracking. Setting it to `true` will instruct Twilio to replace all links in the Message with a shortened version based on the associated Domain Sid and track clicks on them. If this parameter is not set on an API call, we will use the value set on the Messaging Service. If this parameter is not set and the value is not configured on the Messaging Service used this will default to `false`.
49
+ # @param [ScheduleType] schedule_type
50
+ # @param [Time] send_at The time that Twilio will send the message. Must be in ISO 8601 format.
51
+ # @param [Boolean] send_as_mms If set to True, Twilio will deliver the message as a single MMS message, regardless of the presence of media.
52
+ # @param [String] content_sid The SID of the Content object returned at Content API content create time (https://www.twilio.com/docs/content-api/create-and-send-your-first-content-api-template#create-a-template). If this parameter is not specified, then the Content API will not be utilized.
53
+ # @param [String] content_variables Key-value pairs of variable names to substitution values, used alongside a content_sid. If not specified, Content API will default to the default variables defined at create time.
54
+ # @param [String] from A Twilio phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format, an [alphanumeric sender ID](https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id), or a [Channel Endpoint address](https://www.twilio.com/docs/sms/channels#channel-addresses) that is enabled for the type of message you want to send. Phone numbers or [short codes](https://www.twilio.com/docs/sms/api/short-code) purchased from Twilio also work here. You cannot, for example, spoof messages from a private cell phone number. If you are using `messaging_service_sid`, this parameter must be empty.
55
+ # @param [String] messaging_service_sid The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services#send-a-message-with-copilot) you want to associate with the Message. Set this parameter to use the [Messaging Service Settings and Copilot Features](https://www.twilio.com/console/sms/services) you have configured and leave the `from` parameter empty. When only this parameter is set, Twilio will use your enabled Copilot Features to select the `from` phone number for delivery.
56
+ # @param [String] body The text of the message you want to send. Can be up to 1,600 characters in length.
57
+ # @param [Array[String]] media_url The URL of the media to send with the message. The media can be of type `gif`, `png`, and `jpeg` and will be formatted correctly on the recipient's device. The media size limit is 5MB for supported file types (JPEG, PNG, GIF) and 500KB for [other types](https://www.twilio.com/docs/sms/accepted-mime-types) of accepted media. To send more than one image in the message body, provide multiple `media_url` parameters in the POST request. You can include up to 10 `media_url` parameters per message. You can send images in an SMS message in only the US and Canada.
58
+ # @return [MessageInstance] Created MessageInstance
59
+ def create(
60
+ to: nil,
61
+ status_callback: :unset,
62
+ application_sid: :unset,
63
+ max_price: :unset,
64
+ provide_feedback: :unset,
65
+ attempt: :unset,
66
+ validity_period: :unset,
67
+ force_delivery: :unset,
68
+ content_retention: :unset,
69
+ address_retention: :unset,
70
+ smart_encoded: :unset,
71
+ persistent_action: :unset,
72
+ shorten_urls: :unset,
73
+ schedule_type: :unset,
74
+ send_at: :unset,
75
+ send_as_mms: :unset,
76
+ content_sid: :unset,
77
+ content_variables: :unset,
78
+ from: :unset,
79
+ messaging_service_sid: :unset,
80
+ body: :unset,
81
+ media_url: :unset
82
+ )
83
+
84
+ data = Twilio::Values.of({
85
+ 'To' => to,
86
+ 'StatusCallback' => status_callback,
87
+ 'ApplicationSid' => application_sid,
88
+ 'MaxPrice' => max_price,
89
+ 'ProvideFeedback' => provide_feedback,
90
+ 'Attempt' => attempt,
91
+ 'ValidityPeriod' => validity_period,
92
+ 'ForceDelivery' => force_delivery,
93
+ 'ContentRetention' => content_retention,
94
+ 'AddressRetention' => address_retention,
95
+ 'SmartEncoded' => smart_encoded,
96
+ 'PersistentAction' => Twilio.serialize_list(persistent_action) { |e| e },
97
+ 'ShortenUrls' => shorten_urls,
98
+ 'ScheduleType' => schedule_type,
99
+ 'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
100
+ 'SendAsMms' => send_as_mms,
101
+ 'ContentSid' => content_sid,
102
+ 'ContentVariables' => content_variables,
103
+ 'From' => from,
104
+ 'MessagingServiceSid' => messaging_service_sid,
105
+ 'Body' => body,
106
+ 'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
107
+ })
108
+
109
+ payload = @version.create('POST', @uri, data: data)
110
+ MessageInstance.new(
111
+ @version,
112
+ payload,
113
+ account_sid: @solution[:account_sid],
114
+ )
115
+ end
116
+
117
+
118
+ ##
119
+ # Lists MessageInstance records from the API as a list.
120
+ # Unlike stream(), this operation is eager and will load `limit` records into
121
+ # memory before returning.
122
+ # @param [String] to Read messages sent to only this phone number.
123
+ # @param [String] from Read messages sent from only this phone number or alphanumeric sender ID.
124
+ # @param [Time] date_sent The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
125
+ # @param [Time] date_sent_before The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
126
+ # @param [Time] date_sent_after The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
127
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
128
+ # guarantees to never return more than limit. Default is no limit
129
+ # @param [Integer] page_size Number of records to fetch per request, when
130
+ # not set will use the default value of 50 records. If no page_size is defined
131
+ # but a limit is defined, stream() will attempt to read the limit with the most
132
+ # efficient page size, i.e. min(limit, 1000)
133
+ # @return [Array] Array of up to limit results
134
+ def list(to: :unset, from: :unset, date_sent: :unset, date_sent_before: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
135
+ self.stream(
136
+ to: to,
137
+ from: from,
138
+ date_sent: date_sent,
139
+ date_sent_before: date_sent_before,
140
+ date_sent_after: date_sent_after,
141
+ limit: limit,
142
+ page_size: page_size
143
+ ).entries
144
+ end
145
+
146
+ ##
147
+ # Streams Instance records from the API as an Enumerable.
148
+ # This operation lazily loads records as efficiently as possible until the limit
149
+ # is reached.
150
+ # @param [String] to Read messages sent to only this phone number.
151
+ # @param [String] from Read messages sent from only this phone number or alphanumeric sender ID.
152
+ # @param [Time] date_sent The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
153
+ # @param [Time] date_sent_before The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
154
+ # @param [Time] date_sent_after The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
155
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
156
+ # guarantees to never return more than limit. Default is no limit
157
+ # @param [Integer] page_size Number of records to fetch per request, when
158
+ # not set will use the default value of 50 records. If no page_size is defined
159
+ # but a limit is defined, stream() will attempt to read the limit with the most
160
+ # efficient page size, i.e. min(limit, 1000)
161
+ # @return [Enumerable] Enumerable that will yield up to limit results
162
+ def stream(to: :unset, from: :unset, date_sent: :unset, date_sent_before: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
163
+ limits = @version.read_limits(limit, page_size)
164
+
165
+ page = self.page(
166
+ to: to,
167
+ from: from,
168
+ date_sent: date_sent,
169
+ date_sent_before: date_sent_before,
170
+ date_sent_after: date_sent_after,
171
+ page_size: limits[:page_size], )
172
+
173
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
174
+ end
175
+
176
+ ##
177
+ # When passed a block, yields MessageInstance records from the API.
178
+ # This operation lazily loads records as efficiently as possible until the limit
179
+ # is reached.
180
+ def each
181
+ limits = @version.read_limits
182
+
183
+ page = self.page(page_size: limits[:page_size], )
184
+
185
+ @version.stream(page,
186
+ limit: limits[:limit],
187
+ page_limit: limits[:page_limit]).each {|x| yield x}
188
+ end
189
+
190
+ ##
191
+ # Retrieve a single page of MessageInstance records from the API.
192
+ # Request is executed immediately.
193
+ # @param [String] to Read messages sent to only this phone number.
194
+ # @param [String] from Read messages sent from only this phone number or alphanumeric sender ID.
195
+ # @param [Time] date_sent The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
196
+ # @param [Time] date_sent_before The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
197
+ # @param [Time] date_sent_after The date of the messages to show. Specify a date as `YYYY-MM-DD` in GMT to read only messages sent on this date. For example: `2009-07-06`. You can also specify an inequality, such as `DateSent<=YYYY-MM-DD`, to read messages sent on or before midnight on a date, and `DateSent>=YYYY-MM-DD` to read messages sent on or after midnight on a date.
198
+ # @param [String] page_token PageToken provided by the API
199
+ # @param [Integer] page_number Page Number, this value is simply for client state
200
+ # @param [Integer] page_size Number of records to return, defaults to 50
201
+ # @return [Page] Page of MessageInstance
202
+ def page(to: :unset, from: :unset, date_sent: :unset, date_sent_before: :unset, date_sent_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
203
+ params = Twilio::Values.of({
204
+
205
+ 'To' => to,
206
+
207
+ 'From' => from,
208
+
209
+ 'DateSent' => Twilio.serialize_iso8601_datetime(date_sent),
210
+
211
+ 'DateSent<' => Twilio.serialize_iso8601_datetime(date_sent_before),
212
+
213
+ 'DateSent>' => Twilio.serialize_iso8601_datetime(date_sent_after),
214
+
215
+ 'PageToken' => page_token,
216
+ 'Page' => page_number,
217
+ 'PageSize' => page_size,
218
+ })
219
+
220
+ response = @version.page('GET', @uri, params: params)
221
+
222
+ MessagePage.new(@version, response, @solution)
223
+ end
224
+
225
+ ##
226
+ # Retrieve a single page of MessageInstance records from the API.
227
+ # Request is executed immediately.
228
+ # @param [String] target_url API-generated URL for the requested results page
229
+ # @return [Page] Page of MessageInstance
230
+ def get_page(target_url)
231
+ response = @version.domain.request(
232
+ 'GET',
233
+ target_url
234
+ )
235
+ MessagePage.new(@version, response, @solution)
236
+ end
237
+
238
+
239
+
240
+ # Provide a user friendly representation
241
+ def to_s
242
+ '#<Twilio.Api.V2010.MessageList>'
243
+ end
244
+ end
245
+
246
+
247
+ class MessageContext < InstanceContext
248
+ ##
249
+ # Initialize the MessageContext
250
+ # @param [Version] version Version that contains the resource
251
+ # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to update.
252
+ # @param [String] sid The Twilio-provided string that uniquely identifies the Message resource to update.
253
+ # @return [MessageContext] MessageContext
254
+ def initialize(version, account_sid, sid)
255
+ super(version)
256
+
257
+ # Path Solution
258
+ @solution = { account_sid: account_sid, sid: sid, }
259
+ @uri = "/Accounts/#{@solution[:account_sid]}/Messages/#{@solution[:sid]}.json"
260
+
261
+ # Dependents
262
+ @feedback = nil
263
+ @media = nil
264
+ end
265
+ ##
266
+ # Delete the MessageInstance
267
+ # @return [Boolean] True if delete succeeds, false otherwise
268
+ def delete
269
+
270
+ @version.delete('DELETE', @uri)
271
+ end
272
+
273
+ ##
274
+ # Fetch the MessageInstance
275
+ # @return [MessageInstance] Fetched MessageInstance
276
+ def fetch
277
+
278
+ payload = @version.fetch('GET', @uri)
279
+ MessageInstance.new(
280
+ @version,
281
+ payload,
282
+ account_sid: @solution[:account_sid],
283
+ sid: @solution[:sid],
284
+ )
285
+ end
286
+
287
+ ##
288
+ # Update the MessageInstance
289
+ # @param [String] body The text of the message you want to send. Can be up to 1,600 characters long.
290
+ # @param [UpdateStatus] status
291
+ # @return [MessageInstance] Updated MessageInstance
292
+ def update(
293
+ body: :unset,
294
+ status: :unset
295
+ )
296
+
297
+ data = Twilio::Values.of({
298
+ 'Body' => body,
299
+ 'Status' => status,
300
+ })
301
+
302
+ payload = @version.update('POST', @uri, data: data)
303
+ MessageInstance.new(
304
+ @version,
305
+ payload,
306
+ account_sid: @solution[:account_sid],
307
+ sid: @solution[:sid],
308
+ )
309
+ end
310
+
311
+ ##
312
+ # Access the feedback
313
+ # @return [FeedbackList]
314
+ # @return [FeedbackContext]
315
+ def feedback
316
+ unless @feedback
317
+ @feedback = FeedbackList.new(
318
+ @version,
319
+ account_sid: @solution[:account_sid],
320
+ message_sid: @solution[:sid]
321
+
322
+ )
323
+ end
324
+
325
+ @feedback
326
+ end
327
+ ##
328
+ # Access the media
329
+ # @return [MediaList]
330
+ # @return [MediaContext] if sid was passed.
331
+ def media(sid=:unset)
332
+
333
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
334
+
335
+ if sid != :unset
336
+ return MediaContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
337
+ end
338
+
339
+ unless @media
340
+ @media = MediaList.new(
341
+ @version,
342
+ account_sid: @solution[:account_sid],
343
+ message_sid: @solution[:sid]
344
+
345
+ )
346
+ end
347
+
348
+ @media
349
+ end
350
+
351
+ ##
352
+ # Provide a user friendly representation
353
+ def to_s
354
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
355
+ "#<Twilio.Api.V2010.MessageContext #{context}>"
356
+ end
357
+
358
+ ##
359
+ # Provide a detailed, user friendly representation
360
+ def inspect
361
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
362
+ "#<Twilio.Api.V2010.MessageContext #{context}>"
363
+ end
364
+ end
365
+
366
+ class MessagePage < Page
367
+ ##
368
+ # Initialize the MessagePage
369
+ # @param [Version] version Version that contains the resource
370
+ # @param [Response] response Response from the API
371
+ # @param [Hash] solution Path solution for the resource
372
+ # @return [MessagePage] MessagePage
373
+ def initialize(version, response, solution)
374
+ super(version, response)
375
+
376
+ # Path Solution
377
+ @solution = solution
378
+ end
379
+
380
+ ##
381
+ # Build an instance of MessageInstance
382
+ # @param [Hash] payload Payload response from the API
383
+ # @return [MessageInstance] MessageInstance
384
+ def get_instance(payload)
385
+ MessageInstance.new(@version, payload, account_sid: @solution[:account_sid])
386
+ end
387
+
388
+ ##
389
+ # Provide a user friendly representation
390
+ def to_s
391
+ '<Twilio.Api.V2010.MessagePage>'
392
+ end
393
+ end
394
+ class MessageInstance < InstanceResource
395
+ ##
396
+ # Initialize the MessageInstance
397
+ # @param [Version] version Version that contains the resource
398
+ # @param [Hash] payload payload that contains response from Twilio
399
+ # @param [String] account_sid The SID of the
400
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Message
401
+ # resource.
402
+ # @param [String] sid The SID of the Call resource to fetch.
403
+ # @return [MessageInstance] MessageInstance
404
+ def initialize(version, payload , account_sid: nil, sid: nil)
405
+ super(version)
406
+
407
+ # Marshaled Properties
408
+ @properties = {
409
+ 'body' => payload['body'],
410
+ 'num_segments' => payload['num_segments'],
411
+ 'direction' => payload['direction'],
412
+ 'from' => payload['from'],
413
+ 'to' => payload['to'],
414
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
415
+ 'price' => payload['price'],
416
+ 'error_message' => payload['error_message'],
417
+ 'uri' => payload['uri'],
418
+ 'account_sid' => payload['account_sid'],
419
+ 'num_media' => payload['num_media'],
420
+ 'status' => payload['status'],
421
+ 'messaging_service_sid' => payload['messaging_service_sid'],
422
+ 'sid' => payload['sid'],
423
+ 'date_sent' => Twilio.deserialize_rfc2822(payload['date_sent']),
424
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
425
+ 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
426
+ 'price_unit' => payload['price_unit'],
427
+ 'api_version' => payload['api_version'],
428
+ 'subresource_uris' => payload['subresource_uris'],
429
+ }
430
+
431
+ # Context
432
+ @instance_context = nil
433
+ @params = { 'account_sid' => account_sid ,'sid' => sid || @properties['sid'] , }
434
+ end
435
+
436
+ ##
437
+ # Generate an instance context for the instance, the context is capable of
438
+ # performing various actions. All instance actions are proxied to the context
439
+ # @return [MessageContext] CallContext for this CallInstance
440
+ def context
441
+ unless @instance_context
442
+ @instance_context = MessageContext.new(@version , @params['account_sid'], @params['sid'])
443
+ end
444
+ @instance_context
445
+ end
446
+
447
+ ##
448
+ # @return [String] The message text. Can be up to 1,600 characters long.
449
+ def body
450
+ @properties['body']
451
+ end
452
+
453
+ ##
454
+ # @return [String] The number of segments that make up the complete message. A message body that is too large to be sent in a single SMS message is segmented and charged as multiple messages. Inbound messages over 160 characters are reassembled when the message is received. Note: When using a Messaging Service to send messages, `num_segments` will always be 0 in Twilio's response to your API request.
455
+ def num_segments
456
+ @properties['num_segments']
457
+ end
458
+
459
+ ##
460
+ # @return [Direction]
461
+ def direction
462
+ @properties['direction']
463
+ end
464
+
465
+ ##
466
+ # @return [String] The phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id), or [Wireless SIM](https://www.twilio.com/docs/wireless/tutorials/communications-guides/how-to-send-and-receive-text-messages) that initiated the message. For incoming messages, this will be the number of the sending phone. For outgoing messages, this value will be one of your Twilio phone numbers or the alphanumeric sender ID used.
467
+ def from
468
+ @properties['from']
469
+ end
470
+
471
+ ##
472
+ # @return [String] The phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format that received the message. For incoming messages, this will be one of your Twilio phone numbers. For outgoing messages, this will be the sending phone.
473
+ def to
474
+ @properties['to']
475
+ end
476
+
477
+ ##
478
+ # @return [Time] The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
479
+ def date_updated
480
+ @properties['date_updated']
481
+ end
482
+
483
+ ##
484
+ # @return [String] The amount billed for the message, in the currency specified by `price_unit`. Note that your account is charged for each segment we send to the handset. Populated after the message has been sent. May not be immediately available.
485
+ def price
486
+ @properties['price']
487
+ end
488
+
489
+ ##
490
+ # @return [String] The description of the `error_code` if your message `status` is `failed` or `undelivered`. If the message was successful, this value is null.
491
+ def error_message
492
+ @properties['error_message']
493
+ end
494
+
495
+ ##
496
+ # @return [String] The URI of the resource, relative to `https://api.twilio.com`.
497
+ def uri
498
+ @properties['uri']
499
+ end
500
+
501
+ ##
502
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that sent the message that created the resource.
503
+ def account_sid
504
+ @properties['account_sid']
505
+ end
506
+
507
+ ##
508
+ # @return [String] The number of media files associated with the message. A message can send up to 10 media files.
509
+ def num_media
510
+ @properties['num_media']
511
+ end
512
+
513
+ ##
514
+ # @return [Status]
515
+ def status
516
+ @properties['status']
517
+ end
518
+
519
+ ##
520
+ # @return [String] The SID of the [Messaging Service](https://www.twilio.com/docs/sms/services/api) used with the message. The value is null if a Messaging Service was not used.
521
+ def messaging_service_sid
522
+ @properties['messaging_service_sid']
523
+ end
524
+
525
+ ##
526
+ # @return [String] The unique string that that we created to identify the Message resource.
527
+ def sid
528
+ @properties['sid']
529
+ end
530
+
531
+ ##
532
+ # @return [Time] The date and time in GMT that the resource was sent specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. For outgoing messages, this is when we sent the message. For incoming messages, this is when we made the HTTP request to your application.
533
+ def date_sent
534
+ @properties['date_sent']
535
+ end
536
+
537
+ ##
538
+ # @return [Time] The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
539
+ def date_created
540
+ @properties['date_created']
541
+ end
542
+
543
+ ##
544
+ # @return [String] The error code returned if your message `status` is `failed` or `undelivered`. The error_code provides more information about the failure. If the message was successful, this value is null.
545
+ def error_code
546
+ @properties['error_code']
547
+ end
548
+
549
+ ##
550
+ # @return [String] The currency in which `price` is measured, in [ISO 4127](https://www.iso.org/iso/home/standards/currency_codes.htm) format (e.g. `usd`, `eur`, `jpy`).
551
+ def price_unit
552
+ @properties['price_unit']
553
+ end
554
+
555
+ ##
556
+ # @return [String] The API version used to process the message.
557
+ def api_version
558
+ @properties['api_version']
559
+ end
560
+
561
+ ##
562
+ # @return [Hash] A list of related resources identified by their URIs relative to `https://api.twilio.com`
563
+ def subresource_uris
564
+ @properties['subresource_uris']
565
+ end
566
+
567
+ ##
568
+ # Delete the MessageInstance
569
+ # @return [Boolean] True if delete succeeds, false otherwise
570
+ def delete
571
+
572
+ context.delete
573
+ end
574
+
575
+ ##
576
+ # Fetch the MessageInstance
577
+ # @return [MessageInstance] Fetched MessageInstance
578
+ def fetch
579
+
580
+ context.fetch
581
+ end
582
+
583
+ ##
584
+ # Update the MessageInstance
585
+ # @param [String] body The text of the message you want to send. Can be up to 1,600 characters long.
586
+ # @param [UpdateStatus] status
587
+ # @return [MessageInstance] Updated MessageInstance
588
+ def update(
589
+ body: :unset,
590
+ status: :unset
591
+ )
592
+
593
+ context.update(
594
+ body: body,
595
+ status: status,
596
+ )
597
+ end
598
+
599
+ ##
600
+ # Access the feedback
601
+ # @return [feedback] feedback
602
+ def feedback
603
+ context.feedback
604
+ end
605
+
606
+ ##
607
+ # Access the media
608
+ # @return [media] media
609
+ def media
610
+ context.media
611
+ end
612
+
613
+ ##
614
+ # Provide a user friendly representation
615
+ def to_s
616
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
617
+ "<Twilio.Api.V2010.MessageInstance #{values}>"
618
+ end
619
+
620
+ ##
621
+ # Provide a detailed, user friendly representation
622
+ def inspect
623
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
624
+ "<Twilio.Api.V2010.MessageInstance #{values}>"
625
+ end
626
+ end
627
+
628
+ end
642
629
  end
643
- end
644
630
  end
645
- end
646
631
  end
647
- end
648
- end
632
+ end
633
+
634
+