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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (634) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +10 -0
  3. data/.gitignore +3 -0
  4. data/CHANGES.md +31 -94
  5. data/CONTRIBUTING.md +7 -1
  6. data/Makefile +3 -0
  7. data/README.md +51 -132
  8. data/UPGRADE.md +7 -0
  9. data/cluster_spec.rb +77 -0
  10. data/lib/twilio-ruby/base/client_base.rb +124 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  12. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  13. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  14. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  15. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  16. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  17. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  18. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  19. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  20. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  21. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -605
  22. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +468 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +156 -153
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +228 -240
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +997 -1050
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +650 -756
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -493
  46. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -418
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  54. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  56. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +627 -641
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +431 -390
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -385
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -513
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +404 -373
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +194 -195
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +194 -195
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +663 -645
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +404 -374
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  83. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  84. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  96. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  97. data/lib/twilio-ruby/rest/api/v2010/account.rb +1061 -943
  98. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  99. data/lib/twilio-ruby/rest/api.rb +25 -34
  100. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +433 -411
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +527 -500
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +692 -640
  115. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  116. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  117. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  118. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  123. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  124. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  125. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  126. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  127. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  128. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  129. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  130. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  131. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +547 -515
  132. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  133. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  134. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +471 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -894
  136. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  137. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  138. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  139. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  140. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  141. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  142. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  143. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +623 -605
  144. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  145. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  146. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  147. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +518 -491
  148. data/lib/twilio-ruby/rest/chat/v2/service.rb +777 -778
  149. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  150. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  151. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  152. data/lib/twilio-ruby/rest/chat.rb +4 -48
  153. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  154. data/lib/twilio-ruby/rest/client.rb +314 -574
  155. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +201 -188
  156. data/lib/twilio-ruby/rest/content/v1/content.rb +354 -336
  157. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  158. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  159. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  160. data/lib/twilio-ruby/rest/content.rb +2 -46
  161. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +464 -444
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  164. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  165. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +534 -510
  167. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  169. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +594 -590
  170. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  171. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  172. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  173. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  175. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  176. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +542 -550
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  181. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +609 -626
  182. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  183. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  184. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  185. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +489 -474
  186. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -447
  187. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  188. data/lib/twilio-ruby/rest/conversations/v1/user.rb +476 -441
  189. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  190. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  191. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  192. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  193. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  194. data/lib/twilio-ruby/rest/events/v1/schema.rb +232 -218
  195. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  196. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  197. data/lib/twilio-ruby/rest/events/v1/sink.rb +447 -408
  198. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  199. data/lib/twilio-ruby/rest/events/v1/subscription.rb +423 -387
  200. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  201. data/lib/twilio-ruby/rest/events.rb +5 -34
  202. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +447 -387
  204. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  205. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  206. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -306
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +223 -208
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  210. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  211. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +427 -403
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +135 -124
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  217. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  218. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  219. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +409 -398
  220. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +252 -225
  221. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  222. data/lib/twilio-ruby/rest/flex_api/v1.rb +205 -215
  223. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +140 -127
  224. data/lib/twilio-ruby/rest/flex_api/v2.rb +33 -28
  225. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  226. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  227. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  228. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  229. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  230. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  231. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  232. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  234. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  235. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -236
  236. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +461 -439
  237. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  238. data/lib/twilio-ruby/rest/insights/v1/conference.rb +509 -502
  239. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  240. data/lib/twilio-ruby/rest/insights/v1/room.rb +497 -489
  241. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  242. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  243. data/lib/twilio-ruby/rest/insights.rb +6 -34
  244. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +547 -488
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +471 -418
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -779
  254. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +623 -555
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +518 -467
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +777 -689
  267. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  269. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  270. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  271. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  272. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +349 -335
  273. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  274. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  275. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  277. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  279. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  280. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  281. data/lib/twilio-ruby/rest/media.rb +4 -34
  282. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  284. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +472 -466
  285. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +272 -232
  288. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +223 -218
  289. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  290. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +206 -210
  291. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  292. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  293. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +500 -521
  295. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  296. data/lib/twilio-ruby/rest/messaging/v1/service.rb +757 -763
  297. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +720 -713
  298. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  299. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -165
  300. data/lib/twilio-ruby/rest/messaging.rb +9 -52
  301. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +349 -307
  303. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +342 -300
  304. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +201 -185
  305. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -320
  306. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +368 -335
  307. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +361 -328
  308. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +418 -383
  309. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  310. data/lib/twilio-ruby/rest/microvisor.rb +3 -50
  311. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  312. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  313. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  314. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  315. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  316. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  317. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  318. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  319. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +635 -622
  321. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  322. data/lib/twilio-ruby/rest/notify.rb +3 -34
  323. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +627 -607
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  335. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  336. data/lib/twilio-ruby/rest/numbers.rb +2 -47
  337. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +165 -147
  339. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +177 -154
  340. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +254 -234
  341. data/lib/twilio-ruby/rest/oauth/v1/token.rb +173 -151
  342. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +205 -185
  343. data/lib/twilio-ruby/rest/oauth/v1.rb +57 -56
  344. data/lib/twilio-ruby/rest/oauth.rb +5 -40
  345. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  346. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  347. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  348. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  349. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  350. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +507 -459
  351. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  352. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  353. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +453 -446
  354. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  355. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  356. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  357. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +329 -309
  358. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  359. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +433 -398
  360. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  361. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  362. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +447 -399
  363. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  364. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  365. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +428 -398
  366. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  368. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +428 -398
  369. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -452
  370. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +433 -400
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  383. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +527 -488
  384. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +669 -619
  385. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  386. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  387. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  388. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  389. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  390. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  391. data/lib/twilio-ruby/rest/preview.rb +11 -69
  392. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  393. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  394. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  395. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  396. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  397. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  398. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  399. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  400. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  401. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  402. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  403. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  405. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  406. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  407. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  408. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  409. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -442
  413. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +531 -506
  414. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  415. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -596
  416. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  417. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  418. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  419. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  420. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  421. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  422. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  423. data/lib/twilio-ruby/rest/routes.rb +4 -34
  424. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  426. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +417 -380
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  428. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  432. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -447
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  435. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +417 -380
  436. data/lib/twilio-ruby/rest/serverless/v1/service.rb +536 -493
  437. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  438. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  439. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  443. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +427 -394
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  447. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -449
  448. data/lib/twilio-ruby/rest/studio/v1/flow.rb +387 -355
  449. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  453. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -442
  454. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  455. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow.rb +526 -472
  457. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  458. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  459. data/lib/twilio-ruby/rest/studio.rb +3 -41
  460. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -382
  462. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  463. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -409
  464. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  465. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  466. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +384 -351
  467. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +249 -237
  468. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  469. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  470. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +472 -453
  471. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  472. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  473. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  474. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  475. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  476. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  477. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +461 -423
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  484. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  485. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +425 -400
  486. data/lib/twilio-ruby/rest/sync/v1/service.rb +588 -567
  487. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  488. data/lib/twilio-ruby/rest/sync.rb +2 -34
  489. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -749
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +620 -661
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -572
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +640 -637
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +743 -730
  515. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  516. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  517. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  519. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  520. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  521. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  522. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  523. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +636 -630
  524. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  525. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  526. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  527. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  528. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  529. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  530. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +538 -513
  531. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  532. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  533. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  534. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  535. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  536. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  537. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  538. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  539. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +538 -513
  540. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  541. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  542. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  544. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  545. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -254
  546. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -192
  547. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +506 -531
  548. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -453
  549. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -283
  550. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -414
  551. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  552. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  553. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +425 -384
  554. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -372
  555. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  556. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -412
  557. data/lib/twilio-ruby/rest/verify/v2/service.rb +789 -780
  558. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -205
  559. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  560. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  561. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  562. data/lib/twilio-ruby/rest/verify.rb +7 -34
  563. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  564. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  565. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  566. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  567. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  568. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  569. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  570. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  571. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  572. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  573. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +516 -0
  574. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  575. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  576. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -602
  577. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  578. data/lib/twilio-ruby/rest/video.rb +7 -34
  579. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  581. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  582. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  583. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +395 -352
  584. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  585. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  586. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +386 -397
  587. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  588. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  589. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  590. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  591. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  592. data/lib/twilio-ruby/rest/voice.rb +7 -34
  593. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  594. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  595. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  596. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  597. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  598. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +648 -647
  599. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  600. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  601. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  602. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  603. data/lib/twilio-ruby/rest.rb +1 -0
  604. data/lib/twilio-ruby/version.rb +1 -1
  605. data/twilio-ruby.gemspec +1 -1
  606. metadata +71 -38
  607. data/advanced-examples/custom-http-client.md +0 -170
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  614. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  615. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  617. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  618. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  619. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  620. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  621. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  622. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -134
  623. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  624. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  625. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -111
  626. data/lib/twilio-ruby/rest/numbers/v1.rb +0 -35
  627. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  628. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  629. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  630. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  631. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  632. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  633. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  634. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,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
+