twilio-ruby 5.72.0 → 6.0.2

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