twilio-ruby 5.74.4 → 7.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (769) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +20 -2
  5. data/.gitignore +3 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1073 -0
  8. data/CONTRIBUTING.md +11 -9
  9. data/Dockerfile +2 -1
  10. data/Gemfile +5 -0
  11. data/LICENSE +1 -1
  12. data/Makefile +6 -0
  13. data/README.md +138 -40
  14. data/UPGRADE.md +21 -0
  15. data/advanced-examples/custom-http-client.md +170 -0
  16. data/cluster/cluster_oauth_spec.rb +19 -0
  17. data/cluster/cluster_orgs_spec.rb +40 -0
  18. data/cluster/cluster_spec.rb +75 -0
  19. data/examples/public_oauth.rb +13 -0
  20. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  21. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  22. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  23. data/lib/twilio-ruby/base/client_base.rb +131 -0
  24. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  25. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  26. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  27. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  28. data/lib/twilio-ruby/framework/request.rb +8 -1
  29. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  30. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  31. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  32. data/lib/twilio-ruby/http/client_token_manager.rb +28 -0
  33. data/lib/twilio-ruby/http/http_client.rb +22 -5
  34. data/lib/twilio-ruby/http/org_token_manager.rb +28 -0
  35. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  36. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +205 -178
  37. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +137 -0
  38. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +137 -0
  39. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +397 -332
  40. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +397 -332
  41. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -114
  42. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +186 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +225 -192
  44. data/lib/twilio-ruby/rest/accounts/v1.rb +63 -42
  45. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  46. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +374 -365
  48. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +583 -530
  49. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +641 -605
  50. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +323 -320
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +398 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +398 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +398 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +398 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +398 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +398 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +398 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +442 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +143 -118
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +206 -194
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +410 -417
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +302 -342
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +520 -511
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +852 -641
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +852 -641
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +318 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -153
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -240
  69. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +972 -1050
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +685 -756
  71. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +471 -458
  72. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +505 -493
  73. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +446 -407
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +330 -352
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +416 -418
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +546 -554
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +546 -553
  78. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +546 -553
  79. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +867 -903
  80. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +355 -302
  81. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +174 -166
  82. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +354 -350
  83. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +644 -641
  84. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +164 -138
  85. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +164 -138
  86. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +410 -399
  87. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +388 -358
  88. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +356 -338
  89. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +452 -390
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +204 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +393 -380
  92. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +382 -385
  93. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +378 -372
  94. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +521 -513
  95. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +433 -408
  96. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +355 -306
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +401 -368
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +425 -373
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +366 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +366 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +366 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +95 -103
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +359 -339
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +359 -338
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +675 -645
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +438 -421
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +425 -374
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +142 -150
  111. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +178 -154
  112. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +378 -350
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +318 -339
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +318 -339
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +318 -339
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +318 -339
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +318 -339
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +318 -339
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +318 -339
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +318 -339
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +385 -416
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +511 -484
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +113 -104
  124. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +179 -161
  125. data/lib/twilio-ruby/rest/api/v2010/account.rb +1001 -943
  126. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  127. data/lib/twilio-ruby/rest/api.rb +25 -34
  128. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  129. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +371 -0
  130. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +371 -0
  131. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +311 -0
  132. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +206 -0
  133. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +687 -0
  134. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +232 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +213 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +629 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +267 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +267 -0
  139. data/lib/twilio-ruby/rest/assistants/v1/session.rb +335 -0
  140. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +605 -0
  141. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  142. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  143. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +309 -279
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +308 -279
  146. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +282 -248
  147. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  148. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +256 -216
  149. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  150. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  151. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  152. data/lib/twilio-ruby/rest/chat/v1/credential.rb +445 -403
  153. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +394 -391
  154. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +448 -440
  155. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +464 -437
  156. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +560 -515
  157. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +422 -367
  158. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +248 -239
  159. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +491 -440
  160. data/lib/twilio-ruby/rest/chat/v1/service.rb +887 -894
  161. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  162. data/lib/twilio-ruby/rest/chat/v2/credential.rb +445 -401
  163. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +385 -370
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +394 -386
  165. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +509 -527
  166. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +536 -533
  167. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +466 -467
  168. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +629 -605
  169. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +422 -369
  170. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +378 -381
  171. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +425 -419
  172. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +533 -491
  173. data/lib/twilio-ruby/rest/chat/v2/service.rb +790 -778
  174. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  175. data/lib/twilio-ruby/rest/chat/v3/channel.rb +295 -267
  176. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  177. data/lib/twilio-ruby/rest/chat.rb +4 -48
  178. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  179. data/lib/twilio-ruby/rest/client.rb +333 -584
  180. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +190 -0
  181. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +206 -188
  182. data/lib/twilio-ruby/rest/content/v1/content.rb +964 -336
  183. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +255 -0
  184. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +261 -246
  185. data/lib/twilio-ruby/rest/content/v1.rb +54 -45
  186. data/lib/twilio-ruby/rest/content/v2/content.rb +319 -0
  187. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +312 -0
  188. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  189. data/lib/twilio-ruby/rest/content.rb +2 -40
  190. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +498 -444
  192. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +267 -227
  193. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +292 -252
  194. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +344 -344
  195. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +560 -510
  196. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +521 -495
  197. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +451 -403
  198. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +643 -552
  199. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +263 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +451 -409
  201. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +308 -304
  202. data/lib/twilio-ruby/rest/conversations/v1/role.rb +410 -356
  203. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +378 -373
  204. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +313 -289
  205. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +259 -235
  206. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +320 -279
  207. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +351 -371
  208. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +567 -550
  209. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +530 -530
  210. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +460 -438
  211. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +655 -588
  212. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +269 -0
  213. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +314 -317
  214. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +422 -380
  215. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -455
  216. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +507 -474
  217. data/lib/twilio-ruby/rest/conversations/v1/service.rb +515 -447
  218. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +465 -435
  219. data/lib/twilio-ruby/rest/conversations/v1/user.rb +495 -441
  220. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -136
  221. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  222. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  223. data/lib/twilio-ruby/rest/events/v1/event_type.rb +326 -288
  224. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +309 -0
  225. data/lib/twilio-ruby/rest/events/v1/schema.rb +234 -218
  226. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +121 -100
  227. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +127 -103
  228. data/lib/twilio-ruby/rest/events/v1/sink.rb +460 -408
  229. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +391 -339
  230. data/lib/twilio-ruby/rest/events/v1/subscription.rb +436 -387
  231. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  232. data/lib/twilio-ruby/rest/events.rb +5 -34
  233. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  234. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +452 -301
  235. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +385 -330
  236. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +555 -496
  237. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +589 -570
  238. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +328 -306
  239. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +232 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +452 -384
  241. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +363 -303
  242. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +448 -380
  243. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +355 -403
  244. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +213 -190
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +161 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -124
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +192 -166
  248. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +252 -227
  249. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +354 -319
  250. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +352 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +442 -398
  252. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +321 -225
  253. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +408 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +461 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +251 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +400 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +397 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +237 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +343 -0
  260. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +260 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +192 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +404 -331
  263. data/lib/twilio-ruby/rest/flex_api/v1.rb +313 -207
  264. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +339 -0
  265. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +152 -127
  266. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  267. data/lib/twilio-ruby/rest/flex_api.rb +21 -111
  268. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  269. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +255 -227
  270. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  271. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  272. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  273. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +280 -0
  274. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +233 -0
  275. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +181 -0
  276. data/lib/twilio-ruby/rest/iam/v1/token.rb +186 -0
  277. data/lib/twilio-ruby/rest/iam/v1.rb +67 -0
  278. data/lib/twilio-ruby/rest/iam.rb +6 -0
  279. data/lib/twilio-ruby/rest/iam_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +323 -315
  281. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +357 -0
  282. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +273 -255
  283. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +245 -225
  284. data/lib/twilio-ruby/rest/insights/v1/call.rb +267 -236
  285. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +561 -433
  286. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +491 -467
  287. data/lib/twilio-ruby/rest/insights/v1/conference.rb +505 -502
  288. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +386 -371
  289. data/lib/twilio-ruby/rest/insights/v1/room.rb +498 -489
  290. data/lib/twilio-ruby/rest/insights/v1/setting.rb +257 -205
  291. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  292. data/lib/twilio-ruby/rest/insights.rb +6 -34
  293. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  294. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +464 -0
  295. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +363 -0
  296. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +223 -0
  297. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +201 -0
  298. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +365 -0
  299. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +363 -0
  300. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +534 -0
  301. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +231 -0
  302. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +403 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +265 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +538 -0
  305. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  306. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  307. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  308. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +445 -364
  309. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +394 -359
  310. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +448 -397
  311. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +464 -409
  312. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +560 -488
  313. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +422 -347
  314. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +248 -233
  315. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +491 -418
  316. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +887 -779
  317. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  318. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +445 -364
  319. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +385 -343
  320. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +394 -359
  321. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +509 -451
  322. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +536 -479
  323. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +466 -411
  324. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +629 -555
  325. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +422 -347
  326. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +378 -351
  327. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +417 -384
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +533 -467
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +790 -689
  330. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  331. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  332. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  333. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +248 -237
  334. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  335. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +315 -0
  336. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +390 -0
  337. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +386 -342
  338. data/lib/twilio-ruby/rest/lookups/v2/query.rb +456 -0
  339. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +136 -0
  340. data/lib/twilio-ruby/rest/lookups/v2.rb +128 -38
  341. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  342. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  343. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +316 -0
  344. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +343 -0
  345. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +363 -0
  346. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +162 -0
  347. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +482 -0
  348. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +221 -0
  349. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +325 -0
  350. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +146 -0
  351. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  352. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  353. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  354. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +143 -0
  355. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +372 -346
  356. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +532 -443
  357. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +196 -0
  358. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +295 -0
  359. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +292 -259
  360. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +243 -0
  361. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +165 -144
  362. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +223 -0
  363. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +201 -0
  364. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +243 -0
  365. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +369 -335
  366. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +383 -0
  367. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +392 -0
  368. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +376 -341
  369. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +376 -336
  370. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +630 -521
  371. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +128 -115
  372. data/lib/twilio-ruby/rest/messaging/v1/service.rb +818 -763
  373. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +810 -699
  374. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +113 -94
  375. data/lib/twilio-ruby/rest/messaging/v1.rb +202 -124
  376. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +769 -0
  377. data/lib/twilio-ruby/rest/messaging/v2.rb +49 -0
  378. data/lib/twilio-ruby/rest/messaging.rb +10 -35
  379. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  380. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +408 -395
  381. data/lib/twilio-ruby/rest/monitor/v1/event.rb +391 -390
  382. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  383. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  384. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  385. data/lib/twilio-ruby/rest/notify/v1/credential.rb +445 -408
  386. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +455 -452
  387. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +320 -362
  388. data/lib/twilio-ruby/rest/notify/v1/service.rb +650 -622
  389. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  390. data/lib/twilio-ruby/rest/notify.rb +3 -34
  391. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  392. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +249 -0
  393. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +132 -0
  394. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +325 -0
  395. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +328 -0
  396. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +260 -0
  397. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +153 -0
  398. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +170 -0
  399. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +280 -0
  400. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +165 -0
  401. data/lib/twilio-ruby/rest/numbers/v1.rb +155 -0
  402. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +347 -0
  403. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +421 -0
  404. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +274 -0
  405. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +281 -0
  406. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +613 -0
  407. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +288 -261
  408. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +340 -298
  409. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +353 -309
  410. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +201 -181
  411. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +630 -607
  412. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +417 -351
  413. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +300 -266
  414. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +349 -307
  415. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +445 -371
  416. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +300 -266
  417. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +178 -181
  418. data/lib/twilio-ruby/rest/numbers/v2.rb +93 -28
  419. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  420. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  421. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +148 -0
  422. data/lib/twilio-ruby/rest/oauth/v1/token.rb +180 -151
  423. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  424. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  425. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  426. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +374 -396
  427. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +466 -446
  428. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +634 -625
  429. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  430. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +309 -298
  431. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +333 -309
  432. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +356 -330
  433. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +453 -398
  434. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  435. data/lib/twilio-ruby/rest/preview/wireless/command.rb +401 -364
  436. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +472 -398
  437. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +237 -205
  438. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +588 -523
  439. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  440. data/lib/twilio-ruby/rest/preview.rb +10 -87
  441. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  442. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +148 -0
  443. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +186 -0
  444. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  445. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +309 -0
  446. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +375 -0
  447. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +530 -0
  448. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +277 -0
  449. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  450. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  451. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  452. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +307 -275
  453. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +108 -119
  454. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +300 -268
  455. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +108 -119
  456. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +307 -275
  457. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +227 -197
  458. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +122 -135
  459. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  460. data/lib/twilio-ruby/rest/pricing/v2/country.rb +299 -270
  461. data/lib/twilio-ruby/rest/pricing/v2/number.rb +239 -217
  462. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +307 -275
  463. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +245 -220
  464. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +122 -138
  465. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  466. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  467. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  468. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +443 -403
  469. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +420 -418
  470. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +444 -449
  471. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +439 -442
  472. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +546 -506
  473. data/lib/twilio-ruby/rest/proxy/v1/service.rb +556 -596
  474. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  475. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  476. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  477. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +273 -227
  478. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +273 -223
  479. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +273 -227
  480. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  481. data/lib/twilio-ruby/rest/routes.rb +4 -34
  482. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  483. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +323 -323
  484. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +436 -380
  485. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +213 -208
  486. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +425 -384
  487. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +353 -338
  488. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +369 -383
  489. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +427 -396
  490. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +474 -447
  491. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +228 -234
  492. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +350 -353
  493. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +436 -380
  494. data/lib/twilio-ruby/rest/serverless/v1/service.rb +547 -493
  495. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  496. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  497. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  498. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +213 -199
  499. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +228 -218
  500. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +378 -355
  501. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +442 -394
  502. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +213 -200
  503. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -221
  504. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +378 -361
  505. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +494 -449
  506. data/lib/twilio-ruby/rest/studio/v1/flow.rb +394 -355
  507. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  508. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +213 -200
  509. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -221
  510. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +378 -361
  511. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +487 -442
  512. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +351 -320
  513. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +245 -0
  514. data/lib/twilio-ruby/rest/studio/v2/flow.rb +545 -472
  515. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +128 -99
  516. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  517. data/lib/twilio-ruby/rest/studio.rb +3 -41
  518. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  519. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +407 -362
  520. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +492 -483
  521. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +412 -409
  522. data/lib/twilio-ruby/rest/supersim/v1/network.rb +310 -297
  523. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +355 -332
  524. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +400 -351
  525. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +250 -237
  526. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +246 -224
  527. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +204 -188
  528. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +480 -453
  529. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +372 -361
  530. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +309 -344
  531. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  532. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  533. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  534. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +396 -371
  535. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +481 -423
  536. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +490 -490
  537. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +396 -370
  538. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +496 -445
  539. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +493 -495
  540. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +396 -368
  541. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +496 -444
  542. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +146 -132
  543. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +445 -400
  544. data/lib/twilio-ruby/rest/sync/v1/service.rb +601 -567
  545. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  546. data/lib/twilio-ruby/rest/sync.rb +2 -34
  547. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  548. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +431 -395
  549. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +452 -464
  550. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +720 -749
  551. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +676 -661
  552. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +435 -382
  553. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +168 -0
  554. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +366 -369
  555. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +286 -275
  556. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +237 -236
  557. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -258
  558. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +600 -572
  559. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +702 -732
  560. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +405 -388
  561. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +242 -239
  562. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +288 -265
  563. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +222 -193
  564. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +258 -234
  565. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +647 -637
  566. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +366 -375
  567. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +252 -241
  568. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +237 -244
  569. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +549 -510
  570. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +360 -356
  571. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +238 -206
  572. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +248 -234
  573. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +746 -730
  574. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  575. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  576. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  577. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +362 -320
  578. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +362 -317
  579. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +466 -419
  580. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +495 -451
  581. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +237 -191
  582. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +656 -630
  583. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  584. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  585. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  586. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +257 -0
  587. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +365 -0
  588. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +224 -0
  589. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +377 -352
  590. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +361 -323
  591. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +349 -321
  592. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +558 -513
  593. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +409 -346
  594. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +292 -261
  595. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +285 -252
  596. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +423 -359
  597. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +292 -261
  598. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +377 -352
  599. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +361 -323
  600. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +349 -321
  601. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +558 -513
  602. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  603. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  604. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  605. data/lib/twilio-ruby/rest/verify/v2/form.rb +200 -183
  606. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +238 -207
  607. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +285 -254
  608. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +198 -192
  609. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +518 -531
  610. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +467 -453
  611. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +263 -283
  612. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +442 -414
  613. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +405 -363
  614. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +427 -388
  615. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +446 -384
  616. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +402 -371
  617. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +228 -205
  618. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +473 -412
  619. data/lib/twilio-ruby/rest/verify/v2/service.rb +876 -780
  620. data/lib/twilio-ruby/rest/verify/v2/template.rb +225 -205
  621. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +382 -387
  622. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +246 -226
  623. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  624. data/lib/twilio-ruby/rest/verify.rb +7 -34
  625. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  626. data/lib/twilio-ruby/rest/video/v1/composition.rb +497 -507
  627. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +551 -647
  628. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +294 -261
  629. data/lib/twilio-ruby/rest/video/v1/recording.rb +440 -426
  630. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +294 -261
  631. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +266 -0
  632. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +341 -0
  633. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +194 -0
  634. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +348 -0
  635. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +514 -0
  636. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +183 -0
  637. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +437 -0
  638. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +417 -0
  639. data/lib/twilio-ruby/rest/video/v1/room.rb +661 -602
  640. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  641. data/lib/twilio-ruby/rest/video.rb +7 -34
  642. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  643. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +163 -176
  644. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +527 -486
  645. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +466 -434
  646. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +417 -352
  647. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +142 -121
  648. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +199 -183
  649. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +383 -397
  650. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +228 -190
  651. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +123 -121
  652. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +403 -339
  653. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +386 -319
  654. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  655. data/lib/twilio-ruby/rest/voice.rb +7 -34
  656. data/lib/twilio-ruby/rest/voice_base.rb +33 -0
  657. data/lib/twilio-ruby/rest/wireless/v1/command.rb +428 -406
  658. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +492 -436
  659. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +302 -284
  660. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  661. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +654 -647
  662. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  663. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  664. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  665. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  666. data/lib/twilio-ruby/rest.rb +1 -0
  667. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  668. data/lib/twilio-ruby/twiml/voice_response.rb +263 -20
  669. data/lib/twilio-ruby/version.rb +1 -1
  670. data/sonar-project.properties +1 -1
  671. data/twilio-ruby.gemspec +3 -2
  672. metadata +201 -108
  673. data/conf/cacert.pem +0 -3376
  674. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  675. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  676. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  677. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  678. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  679. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  680. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  681. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  682. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  683. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  684. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  685. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  686. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  687. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  688. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  689. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  690. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  691. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  692. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  693. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  694. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  695. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  696. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  697. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  698. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  699. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  700. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  701. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  702. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  703. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  704. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  705. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  706. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  707. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  708. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  709. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  710. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  711. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  712. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  713. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  714. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  715. data/lib/twilio-ruby/rest/media.rb +0 -65
  716. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  717. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  718. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -317
  719. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -310
  720. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +0 -305
  721. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -342
  722. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -335
  723. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -393
  724. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -92
  725. data/lib/twilio-ruby/rest/microvisor.rb +0 -70
  726. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  727. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  728. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  729. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  730. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  731. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  732. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  733. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  734. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  735. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  736. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  737. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -406
  738. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  739. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  740. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  741. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  742. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  743. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  744. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  745. data/lib/twilio-ruby/rest/preview/sync.rb +0 -44
  746. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  747. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  748. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  749. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  750. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  751. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  752. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  753. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  754. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  755. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  756. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  757. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  758. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  759. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  760. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  761. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  762. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  763. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  764. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  765. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  766. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  767. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  768. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  769. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,648 +1,651 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Api
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
7
- # frozen_string_literal: true
8
-
9
- module Twilio
10
- module REST
11
- class Api < Domain
12
- class V2010 < Version
13
- class AccountContext < InstanceContext
14
- class MessageList < ListResource
15
- ##
16
- # Initialize the MessageList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] account_sid The SID of the
19
- # {Account}[https://www.twilio.com/docs/iam/api/account] that sent the message
20
- # that created the resource.
21
- # @return [MessageList] MessageList
22
- def initialize(version, account_sid: nil)
23
- super(version)
24
-
25
- # Path Solution
26
- @solution = {account_sid: account_sid}
27
- @uri = "/Accounts/#{@solution[:account_sid]}/Messages.json"
28
- end
29
-
30
- ##
31
- # Create the MessageInstance
32
- # @param [String] to The destination phone number in
33
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format for SMS/MMS or
34
- # {Channel user
35
- # address}[https://www.twilio.com/docs/sms/channels#channel-addresses] for other
36
- # 3rd-party channels.
37
- # @param [String] status_callback The URL we should call using the
38
- # `status_callback_method` to send status information to your application. If
39
- # specified, we POST these message status changes to the URL: `queued`, `failed`,
40
- # `sent`, `delivered`, or `undelivered`. Twilio will POST its {standard request
41
- # parameters}[https://www.twilio.com/docs/sms/twiml#request-parameters] as well as
42
- # some additional parameters including `MessageSid`, `MessageStatus`, and
43
- # `ErrorCode`. If you include this parameter with the `messaging_service_sid`, we
44
- # use this URL instead of the Status Callback URL of the {Messaging
45
- # Service}[https://www.twilio.com/docs/sms/services/api]. URLs must contain a
46
- # valid hostname and underscores are not allowed.
47
- # @param [String] application_sid The SID of the application that should receive
48
- # message status. We POST a `message_sid` parameter and a `message_status`
49
- # parameter with a value of `sent` or `failed` to the
50
- # {application}[https://www.twilio.com/docs/usage/api/applications]'s
51
- # `message_status_callback`. If a `status_callback` parameter is also passed, it
52
- # will be ignored and the application's `message_status_callback` parameter will
53
- # be used.
54
- # @param [String] max_price The maximum total price in US dollars that you will
55
- # pay for the message to be delivered. Can be a decimal value that has up to 4
56
- # decimal places. All messages are queued for delivery and the message cost is
57
- # checked before the message is sent. If the cost exceeds `max_price`, the message
58
- # will fail and a status of `Failed` is sent to the status callback. If `MaxPrice`
59
- # is not set, the message cost is not checked.
60
- # @param [Boolean] provide_feedback Whether to confirm delivery of the message.
61
- # Set this value to `true` if you are sending messages that have a trackable user
62
- # action and you intend to confirm delivery of the message using the {Message
63
- # Feedback API}[https://www.twilio.com/docs/sms/api/message-feedback-resource].
64
- # This parameter is `false` by default.
65
- # @param [String] attempt Total number of attempts made ( including this ) to send
66
- # out the message regardless of the provider used
67
- # @param [String] validity_period How long in seconds the message can remain in
68
- # our outgoing message queue. After this period elapses, the message fails and we
69
- # call your status callback. Can be between 1 and the default value of 14,400
70
- # seconds. After a message has been accepted by a carrier, however, we cannot
71
- # guarantee that the message will not be queued after this period. We recommend
72
- # that this value be at least 5 seconds.
73
- # @param [Boolean] force_delivery Reserved
74
- # @param [message.ContentRetention] content_retention Determines if the message
75
- # content can be stored or redacted based on privacy settings
76
- # @param [message.AddressRetention] address_retention Determines if the address
77
- # can be stored or obfuscated based on privacy settings
78
- # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a
79
- # similar GSM-7 character and replace them. Can be: `true` or `false`.
80
- # @param [Array[String]] persistent_action Rich actions for Channels Messages.
81
- # @param [Boolean] shorten_urls Determines the usage of Click Tracking. Setting it
82
- # to `true` will instruct Twilio to replace all links in the Message with a
83
- # shortened version based on the associated Domain Sid and track clicks on them.
84
- # If this parameter is not set on an API call, we will use the value set on the
85
- # Messaging Service. If this parameter is not set and the value is not configured
86
- # on the Messaging Service used this will default to `false`.
87
- # @param [message.ScheduleType] schedule_type Indicates your intent to schedule a
88
- # message. Pass the value `fixed` to schedule a message at a fixed time.
89
- # @param [Time] send_at The time that Twilio will send the message. Must be in ISO
90
- # 8601 format.
91
- # @param [Boolean] send_as_mms If set to True, Twilio will deliver the message as
92
- # a single MMS message, regardless of the presence of media.
93
- # @param [String] content_sid The SID of the Content object returned at Content
94
- # API content create time
95
- # (https://www.twilio.com/docs/content-api/create-and-send-your-first-content-api-template#create-a-template).
96
- # If this parameter is not specified, then the Content API will not be utilized.
97
- # @param [String] content_variables Key-value pairs of variable names to
98
- # substitution values, used alongside a content_sid. If not specified, Content API
99
- # will default to the default variables defined at create time.
100
- # @param [String] from A Twilio phone number in
101
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, an {alphanumeric
102
- # sender
103
- # ID}[https://www.twilio.com/docs/sms/send-messages#use-an-alphanumeric-sender-id],
104
- # or a {Channel Endpoint
105
- # address}[https://www.twilio.com/docs/sms/channels#channel-addresses] that is
106
- # enabled for the type of message you want to send. Phone numbers or {short
107
- # codes}[https://www.twilio.com/docs/sms/api/short-code] purchased from Twilio
108
- # also work here. You cannot, for example, spoof messages from a private cell
109
- # phone number. If you are using `messaging_service_sid`, this parameter must be
110
- # empty.
111
- # @param [String] messaging_service_sid The SID of the {Messaging
112
- # Service}[https://www.twilio.com/docs/sms/services#send-a-message-with-copilot]
113
- # you want to associate with the Message. Set this parameter to use the {Messaging
114
- # Service Settings and Copilot
115
- # Features}[https://www.twilio.com/console/sms/services] you have configured and
116
- # leave the `from` parameter empty. When only this parameter is set, Twilio will
117
- # use your enabled Copilot Features to select the `from` phone number for
118
- # delivery.
119
- # @param [String] body The text of the message you want to send. Can be up to
120
- # 1,600 characters in length.
121
- # @param [Array[String]] media_url The URL of the media to send with the message.
122
- # The media can be of type `gif`, `png`, and `jpeg` and will be formatted
123
- # correctly on the recipient's device. The media size limit is 5MB for supported
124
- # file types (JPEG, PNG, GIF) and 500KB for {other
125
- # types}[https://www.twilio.com/docs/sms/accepted-mime-types] of accepted media.
126
- # To send more than one image in the message body, provide multiple `media_url`
127
- # parameters in the POST request. You can include up to 10 `media_url` parameters
128
- # per message. You can send images in an SMS message in only the US and Canada.
129
- # @return [MessageInstance] Created MessageInstance
130
- def create(to: nil, status_callback: :unset, application_sid: :unset, max_price: :unset, provide_feedback: :unset, attempt: :unset, validity_period: :unset, force_delivery: :unset, content_retention: :unset, address_retention: :unset, smart_encoded: :unset, persistent_action: :unset, shorten_urls: :unset, schedule_type: :unset, send_at: :unset, send_as_mms: :unset, content_sid: :unset, content_variables: :unset, from: :unset, messaging_service_sid: :unset, body: :unset, media_url: :unset)
131
- data = Twilio::Values.of({
132
- 'To' => to,
133
- 'From' => from,
134
- 'MessagingServiceSid' => messaging_service_sid,
135
- 'Body' => body,
136
- 'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
137
- 'StatusCallback' => status_callback,
138
- 'ApplicationSid' => application_sid,
139
- 'MaxPrice' => max_price,
140
- 'ProvideFeedback' => provide_feedback,
141
- 'Attempt' => attempt,
142
- 'ValidityPeriod' => validity_period,
143
- 'ForceDelivery' => force_delivery,
144
- 'ContentRetention' => content_retention,
145
- 'AddressRetention' => address_retention,
146
- 'SmartEncoded' => smart_encoded,
147
- 'PersistentAction' => Twilio.serialize_list(persistent_action) { |e| e },
148
- 'ShortenUrls' => shorten_urls,
149
- 'ScheduleType' => schedule_type,
150
- 'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
151
- 'SendAsMms' => send_as_mms,
152
- 'ContentSid' => content_sid,
153
- 'ContentVariables' => content_variables,
154
- })
155
-
156
- payload = @version.create('POST', @uri, data: data)
157
-
158
- MessageInstance.new(@version, payload, account_sid: @solution[:account_sid], )
159
- end
160
-
161
- ##
162
- # Lists MessageInstance records from the API as a list.
163
- # Unlike stream(), this operation is eager and will load `limit` records into
164
- # memory before returning.
165
- # @param [String] to Read messages sent to only this phone number.
166
- # @param [String] from Read messages sent from only this phone number or
167
- # alphanumeric sender ID.
168
- # @param [Time] date_sent_before Filter by date sent
169
- # @param [Time] date_sent Filter by date sent
170
- # @param [Time] date_sent_after Filter by date sent
171
- # @param [Integer] limit Upper limit for the number of records to return. stream()
172
- # guarantees to never return more than limit. Default is no limit
173
- # @param [Integer] page_size Number of records to fetch per request, when
174
- # not set will use the default value of 50 records. If no page_size is defined
175
- # but a limit is defined, stream() will attempt to read the limit with the most
176
- # efficient page size, i.e. min(limit, 1000)
177
- # @return [Array] Array of up to limit results
178
- def list(to: :unset, from: :unset, date_sent_before: :unset, date_sent: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
179
- self.stream(
180
- to: to,
181
- from: from,
182
- date_sent_before: date_sent_before,
183
- date_sent: date_sent,
184
- date_sent_after: date_sent_after,
185
- limit: limit,
186
- page_size: page_size
187
- ).entries
188
- end
189
-
190
- ##
191
- # Streams MessageInstance records from the API as an Enumerable.
192
- # This operation lazily loads records as efficiently as possible until the limit
193
- # is reached.
194
- # @param [String] to Read messages sent to only this phone number.
195
- # @param [String] from Read messages sent from only this phone number or
196
- # alphanumeric sender ID.
197
- # @param [Time] date_sent_before Filter by date sent
198
- # @param [Time] date_sent Filter by date sent
199
- # @param [Time] date_sent_after Filter by date sent
200
- # @param [Integer] limit Upper limit for the number of records to return. stream()
201
- # guarantees to never return more than limit. Default is no limit.
202
- # @param [Integer] page_size Number of records to fetch per request, when
203
- # not set will use the default value of 50 records. If no page_size is defined
204
- # but a limit is defined, stream() will attempt to read the limit with the most
205
- # efficient page size, i.e. min(limit, 1000)
206
- # @return [Enumerable] Enumerable that will yield up to limit results
207
- def stream(to: :unset, from: :unset, date_sent_before: :unset, date_sent: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
208
- limits = @version.read_limits(limit, page_size)
209
-
210
- page = self.page(
211
- to: to,
212
- from: from,
213
- date_sent_before: date_sent_before,
214
- date_sent: date_sent,
215
- date_sent_after: date_sent_after,
216
- page_size: limits[:page_size],
217
- )
218
-
219
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
220
- end
221
-
222
- ##
223
- # When passed a block, yields MessageInstance records from the API.
224
- # This operation lazily loads records as efficiently as possible until the limit
225
- # is reached.
226
- def each
227
- limits = @version.read_limits
228
-
229
- page = self.page(page_size: limits[:page_size], )
230
-
231
- @version.stream(page,
232
- limit: limits[:limit],
233
- page_limit: limits[:page_limit]).each {|x| yield x}
234
- end
235
-
236
- ##
237
- # Retrieve a single page of MessageInstance records from the API.
238
- # Request is executed immediately.
239
- # @param [String] to Read messages sent to only this phone number.
240
- # @param [String] from Read messages sent from only this phone number or
241
- # alphanumeric sender ID.
242
- # @param [Time] date_sent_before Filter by date sent
243
- # @param [Time] date_sent Filter by date sent
244
- # @param [Time] date_sent_after Filter by date sent
245
- # @param [String] page_token PageToken provided by the API
246
- # @param [Integer] page_number Page Number, this value is simply for client state
247
- # @param [Integer] page_size Number of records to return, defaults to 50
248
- # @return [Page] Page of MessageInstance
249
- def page(to: :unset, from: :unset, date_sent_before: :unset, date_sent: :unset, date_sent_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
250
- params = Twilio::Values.of({
251
- 'To' => to,
252
- 'From' => from,
253
- 'DateSent<' => Twilio.serialize_iso8601_datetime(date_sent_before),
254
- 'DateSent' => Twilio.serialize_iso8601_datetime(date_sent),
255
- 'DateSent>' => Twilio.serialize_iso8601_datetime(date_sent_after),
256
- 'PageToken' => page_token,
257
- 'Page' => page_number,
258
- 'PageSize' => page_size,
259
- })
260
-
261
- response = @version.page('GET', @uri, params: params)
262
-
263
- MessagePage.new(@version, response, @solution)
264
- end
265
-
266
- ##
267
- # Retrieve a single page of MessageInstance records from the API.
268
- # Request is executed immediately.
269
- # @param [String] target_url API-generated URL for the requested results page
270
- # @return [Page] Page of MessageInstance
271
- def get_page(target_url)
272
- response = @version.domain.request(
273
- 'GET',
274
- target_url
275
- )
276
- MessagePage.new(@version, response, @solution)
277
- end
278
-
279
- ##
280
- # Provide a user friendly representation
281
- def to_s
282
- '#<Twilio.Api.V2010.MessageList>'
283
- end
284
- end
285
-
286
- class MessagePage < Page
287
- ##
288
- # Initialize the MessagePage
289
- # @param [Version] version Version that contains the resource
290
- # @param [Response] response Response from the API
291
- # @param [Hash] solution Path solution for the resource
292
- # @return [MessagePage] MessagePage
293
- def initialize(version, response, solution)
294
- super(version, response)
295
-
296
- # Path Solution
297
- @solution = solution
298
- end
299
-
300
- ##
301
- # Build an instance of MessageInstance
302
- # @param [Hash] payload Payload response from the API
303
- # @return [MessageInstance] MessageInstance
304
- def get_instance(payload)
305
- MessageInstance.new(@version, payload, account_sid: @solution[:account_sid], )
306
- end
307
-
308
- ##
309
- # Provide a user friendly representation
310
- def to_s
311
- '<Twilio.Api.V2010.MessagePage>'
312
- end
313
- end
314
-
315
- class MessageContext < InstanceContext
316
- ##
317
- # Initialize the MessageContext
318
- # @param [Version] version Version that contains the resource
319
- # @param [String] account_sid The SID of the
320
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the Message
321
- # resource to fetch.
322
- # @param [String] sid The Twilio-provided string that uniquely identifies the
323
- # Message resource to fetch.
324
- # @return [MessageContext] MessageContext
325
- def initialize(version, account_sid, sid)
326
- super(version)
327
-
328
- # Path Solution
329
- @solution = {account_sid: account_sid, sid: sid, }
330
- @uri = "/Accounts/#{@solution[:account_sid]}/Messages/#{@solution[:sid]}.json"
331
-
332
- # Dependents
333
- @media = nil
334
- @feedback = nil
335
- end
336
-
337
- ##
338
- # Delete the MessageInstance
339
- # @return [Boolean] true if delete succeeds, false otherwise
340
- def delete
341
- @version.delete('DELETE', @uri)
342
- end
343
-
344
- ##
345
- # Fetch the MessageInstance
346
- # @return [MessageInstance] Fetched MessageInstance
347
- def fetch
348
- payload = @version.fetch('GET', @uri)
349
-
350
- MessageInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
351
- end
352
-
353
- ##
354
- # Update the MessageInstance
355
- # @param [String] body The text of the message you want to send. Can be up to
356
- # 1,600 characters long.
357
- # @param [message.UpdateStatus] status When set as `canceled`, allows a message
358
- # cancelation request if a message has not yet been sent.
359
- # @return [MessageInstance] Updated MessageInstance
360
- def update(body: :unset, status: :unset)
361
- data = Twilio::Values.of({'Body' => body, 'Status' => status, })
362
-
363
- payload = @version.update('POST', @uri, data: data)
364
-
365
- MessageInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
366
- end
367
-
368
- ##
369
- # Access the media
370
- # @return [MediaList]
371
- # @return [MediaContext] if sid was passed.
372
- def media(sid=:unset)
373
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
374
-
375
- if sid != :unset
376
- return MediaContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
377
- end
378
-
379
- unless @media
380
- @media = MediaList.new(@version, account_sid: @solution[:account_sid], message_sid: @solution[:sid], )
381
- end
382
-
383
- @media
384
- end
385
-
386
- ##
387
- # Access the feedback
388
- # @return [FeedbackList]
389
- # @return [FeedbackContext]
390
- def feedback
391
- unless @feedback
392
- @feedback = FeedbackList.new(
393
- @version,
394
- account_sid: @solution[:account_sid],
395
- message_sid: @solution[:sid],
396
- )
397
- end
398
-
399
- @feedback
400
- end
401
-
402
- ##
403
- # Provide a user friendly representation
404
- def to_s
405
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
406
- "#<Twilio.Api.V2010.MessageContext #{context}>"
407
- end
408
-
409
- ##
410
- # Provide a detailed, user friendly representation
411
- def inspect
412
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
413
- "#<Twilio.Api.V2010.MessageContext #{context}>"
414
- end
415
- end
416
-
417
- class MessageInstance < InstanceResource
418
- ##
419
- # Initialize the MessageInstance
420
- # @param [Version] version Version that contains the resource
421
- # @param [Hash] payload payload that contains response from Twilio
422
- # @param [String] account_sid The SID of the
423
- # {Account}[https://www.twilio.com/docs/iam/api/account] that sent the message
424
- # that created the resource.
425
- # @param [String] sid The Twilio-provided string that uniquely identifies the
426
- # Message resource to fetch.
427
- # @return [MessageInstance] MessageInstance
428
- def initialize(version, payload, account_sid: nil, sid: nil)
429
- super(version)
430
-
431
- # Marshaled Properties
432
- @properties = {
433
- 'body' => payload['body'],
434
- 'num_segments' => payload['num_segments'],
435
- 'direction' => payload['direction'],
436
- 'from' => payload['from'],
437
- 'to' => payload['to'],
438
- 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
439
- 'price' => payload['price'],
440
- 'error_message' => payload['error_message'],
441
- 'uri' => payload['uri'],
442
- 'account_sid' => payload['account_sid'],
443
- 'num_media' => payload['num_media'],
444
- 'status' => payload['status'],
445
- 'messaging_service_sid' => payload['messaging_service_sid'],
446
- 'sid' => payload['sid'],
447
- 'date_sent' => Twilio.deserialize_rfc2822(payload['date_sent']),
448
- 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
449
- 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
450
- 'price_unit' => payload['price_unit'],
451
- 'api_version' => payload['api_version'],
452
- 'subresource_uris' => payload['subresource_uris'],
453
- }
454
-
455
- # Context
456
- @instance_context = nil
457
- @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
458
- end
459
-
460
- ##
461
- # Generate an instance context for the instance, the context is capable of
462
- # performing various actions. All instance actions are proxied to the context
463
- # @return [MessageContext] MessageContext for this MessageInstance
464
- def context
465
- unless @instance_context
466
- @instance_context = MessageContext.new(@version, @params['account_sid'], @params['sid'], )
467
- end
468
- @instance_context
469
- end
470
-
471
- ##
472
- # @return [String] The message text
473
- def body
474
- @properties['body']
475
- end
476
-
477
- ##
478
- # @return [String] The number of messages used to deliver the message body
479
- def num_segments
480
- @properties['num_segments']
481
- end
482
-
483
- ##
484
- # @return [message.Direction] The direction of the message
485
- def direction
486
- @properties['direction']
487
- end
488
-
489
- ##
490
- # @return [String] The phone number that initiated the message
491
- def from
492
- @properties['from']
493
- end
494
-
495
- ##
496
- # @return [String] The phone number that received the message
497
- def to
498
- @properties['to']
499
- end
500
-
501
- ##
502
- # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
503
- def date_updated
504
- @properties['date_updated']
505
- end
506
-
507
- ##
508
- # @return [String] The amount billed for the message
509
- def price
510
- @properties['price']
511
- end
512
-
513
- ##
514
- # @return [String] The description of the error_code
515
- def error_message
516
- @properties['error_message']
517
- end
518
-
519
- ##
520
- # @return [String] The URI of the resource, relative to `https://api.twilio.com`
521
- def uri
522
- @properties['uri']
523
- end
524
-
525
- ##
526
- # @return [String] The SID of the Account that created the resource
527
- def account_sid
528
- @properties['account_sid']
529
- end
530
-
531
- ##
532
- # @return [String] The number of media files associated with the message
533
- def num_media
534
- @properties['num_media']
535
- end
536
-
537
- ##
538
- # @return [message.Status] The status of the message
539
- def status
540
- @properties['status']
541
- end
542
-
543
- ##
544
- # @return [String] The SID of the Messaging Service used with the message.
545
- def messaging_service_sid
546
- @properties['messaging_service_sid']
547
- end
548
-
549
- ##
550
- # @return [String] The unique string that identifies the resource
551
- def sid
552
- @properties['sid']
553
- end
554
-
555
- ##
556
- # @return [Time] The RFC 2822 date and time in GMT when the message was sent
557
- def date_sent
558
- @properties['date_sent']
559
- end
560
-
561
- ##
562
- # @return [Time] The RFC 2822 date and time in GMT that the resource was created
563
- def date_created
564
- @properties['date_created']
565
- end
566
-
567
- ##
568
- # @return [String] The error code associated with the message
569
- def error_code
570
- @properties['error_code']
571
- end
572
-
573
- ##
574
- # @return [String] The currency in which price is measured
575
- def price_unit
576
- @properties['price_unit']
577
- end
578
-
579
- ##
580
- # @return [String] The API version used to process the message
581
- def api_version
582
- @properties['api_version']
583
- end
584
-
585
- ##
586
- # @return [String] A list of related resources identified by their relative URIs
587
- def subresource_uris
588
- @properties['subresource_uris']
589
- end
590
-
591
- ##
592
- # Delete the MessageInstance
593
- # @return [Boolean] true if delete succeeds, false otherwise
594
- def delete
595
- context.delete
596
- end
597
-
598
- ##
599
- # Fetch the MessageInstance
600
- # @return [MessageInstance] Fetched MessageInstance
601
- def fetch
602
- context.fetch
603
- end
604
-
605
- ##
606
- # Update the MessageInstance
607
- # @param [String] body The text of the message you want to send. Can be up to
608
- # 1,600 characters long.
609
- # @param [message.UpdateStatus] status When set as `canceled`, allows a message
610
- # cancelation request if a message has not yet been sent.
611
- # @return [MessageInstance] Updated MessageInstance
612
- def update(body: :unset, status: :unset)
613
- context.update(body: body, status: status, )
614
- end
615
-
616
- ##
617
- # Access the media
618
- # @return [media] media
619
- def media
620
- context.media
621
- end
622
-
623
- ##
624
- # Access the feedback
625
- # @return [feedback] feedback
626
- def feedback
627
- context.feedback
628
- end
629
14
 
630
- ##
631
- # Provide a user friendly representation
632
- def to_s
633
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
634
- "<Twilio.Api.V2010.MessageInstance #{values}>"
635
- end
636
15
 
637
- ##
638
- # Provide a detailed, user friendly representation
639
- def inspect
640
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
641
- "<Twilio.Api.V2010.MessageInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Api < ApiBase
19
+ class V2010 < Version
20
+ class AccountContext < InstanceContext
21
+
22
+ class MessageList < ListResource
23
+
24
+ ##
25
+ # Initialize the MessageList
26
+ # @param [Version] version Version that contains the resource
27
+ # @return [MessageList] MessageList
28
+ def initialize(version, account_sid: nil)
29
+ super(version)
30
+ # Path Solution
31
+ @solution = { account_sid: account_sid }
32
+ @uri = "/Accounts/#{@solution[:account_sid]}/Messages.json"
33
+
34
+ end
35
+ ##
36
+ # Create the MessageInstance
37
+ # @param [String] to The recipient's phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (for SMS/MMS) or [channel address](https://www.twilio.com/docs/messaging/channels), e.g. `whatsapp:+15552229999`.
38
+ # @param [String] status_callback The URL of the endpoint to which Twilio sends [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url). URL must contain a valid hostname and underscores are not allowed. If you include this parameter with the `messaging_service_sid`, Twilio uses this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource).
39
+ # @param [String] application_sid The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications). [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url) are sent to the TwiML App's `message_status_callback` URL. Note that the `status_callback` parameter of a request takes priority over the `application_sid` parameter; if both are included `application_sid` is ignored.
40
+ # @param [Float] max_price [OBSOLETE] This parameter will no longer have any effect as of 2024-06-03.
41
+ # @param [Boolean] provide_feedback Boolean indicating whether or not you intend to provide delivery confirmation feedback to Twilio (used in conjunction with the [Message Feedback subresource](https://www.twilio.com/docs/sms/api/message-feedback-resource)). Default value is `false`.
42
+ # @param [String] attempt Total number of attempts made (including this request) to send the message regardless of the provider used
43
+ # @param [String] validity_period The maximum length in seconds that the Message can remain in Twilio's outgoing message queue. If a queued Message exceeds the `validity_period`, the Message is not sent. Accepted values are integers from `1` to `36000`. Default value is `36000`. A `validity_period` greater than `5` is recommended. [Learn more about the validity period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html)
44
+ # @param [Boolean] force_delivery Reserved
45
+ # @param [ContentRetention] content_retention
46
+ # @param [AddressRetention] address_retention
47
+ # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.
48
+ # @param [Array[String]] persistent_action Rich actions for non-SMS/MMS channels. Used for [sending location in WhatsApp messages](https://www.twilio.com/docs/whatsapp/message-features#location-messages-with-whatsapp).
49
+ # @param [TrafficType] traffic_type
50
+ # @param [Boolean] shorten_urls For Messaging Services with [Link Shortening configured](https://www.twilio.com/docs/messaging/features/link-shortening) only: A Boolean indicating whether or not Twilio should shorten links in the `body` of the Message. Default value is `false`. If `true`, the `messaging_service_sid` parameter must also be provided.
51
+ # @param [ScheduleType] schedule_type
52
+ # @param [Time] send_at The time that Twilio will send the message. Must be in ISO 8601 format.
53
+ # @param [Boolean] send_as_mms If set to `true`, Twilio delivers the message as a single MMS message, regardless of the presence of media.
54
+ # @param [String] content_variables For [Content Editor/API](https://www.twilio.com/docs/content) only: Key-value pairs of [Template variables](https://www.twilio.com/docs/content/using-variables-with-content-api) and their substitution values. `content_sid` parameter must also be provided. If values are not defined in the `content_variables` parameter, the [Template's default placeholder values](https://www.twilio.com/docs/content/content-api-resources#create-templates) are used.
55
+ # @param [RiskCheck] risk_check
56
+ # @param [String] from The sender's Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), [Wireless SIM](https://www.twilio.com/docs/iot/wireless/programmable-wireless-send-machine-machine-sms-commands), [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g., `whatsapp:+15554449999`). The value of the `from` parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using `messaging_service_sid`, this parameter can be empty (Twilio assigns a `from` value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool.
57
+ # @param [String] messaging_service_sid The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services) you want to associate with the Message. When this parameter is provided and the `from` parameter is omitted, Twilio selects the optimal sender from the Messaging Service's Sender Pool. You may also provide a `from` parameter if you want to use a specific Sender from the Sender Pool.
58
+ # @param [String] body The text content of the outgoing message. Can be up to 1,600 characters in length. SMS only: If the `body` contains more than 160 [GSM-7](https://www.twilio.com/docs/glossary/what-is-gsm-7-character-encoding) characters (or 70 [UCS-2](https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding) characters), the message is segmented and charged accordingly. For long `body` text, consider using the [send_as_mms parameter](https://www.twilio.com/blog/mms-for-long-text-messages).
59
+ # @param [Array[String]] media_url The URL of media to include in the Message content. `jpeg`, `jpg`, `gif`, and `png` file types are fully supported by Twilio and content is formatted for delivery on destination devices. The media size limit is 5 MB for supported file types (`jpeg`, `jpg`, `png`, `gif`) and 500 KB for [other types](https://www.twilio.com/docs/messaging/guides/accepted-mime-types) of accepted media. To send more than one image in the message, provide multiple `media_url` parameters in the POST request. You can include up to ten `media_url` parameters per message. [International](https://support.twilio.com/hc/en-us/articles/223179808-Sending-and-receiving-MMS-messages) and [carrier](https://support.twilio.com/hc/en-us/articles/223133707-Is-MMS-supported-for-all-carriers-in-US-and-Canada-) limits apply.
60
+ # @param [String] content_sid For [Content Editor/API](https://www.twilio.com/docs/content) only: The SID of the Content Template to be used with the Message, e.g., `HXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`. If this parameter is not provided, a Content Template is not used. Find the SID in the Console on the Content Editor page. For Content API users, the SID is found in Twilio's response when [creating the Template](https://www.twilio.com/docs/content/content-api-resources#create-templates) or by [fetching your Templates](https://www.twilio.com/docs/content/content-api-resources#fetch-all-content-resources).
61
+ # @return [MessageInstance] Created MessageInstance
62
+ def create(
63
+ to: nil,
64
+ status_callback: :unset,
65
+ application_sid: :unset,
66
+ max_price: :unset,
67
+ provide_feedback: :unset,
68
+ attempt: :unset,
69
+ validity_period: :unset,
70
+ force_delivery: :unset,
71
+ content_retention: :unset,
72
+ address_retention: :unset,
73
+ smart_encoded: :unset,
74
+ persistent_action: :unset,
75
+ traffic_type: :unset,
76
+ shorten_urls: :unset,
77
+ schedule_type: :unset,
78
+ send_at: :unset,
79
+ send_as_mms: :unset,
80
+ content_variables: :unset,
81
+ risk_check: :unset,
82
+ from: :unset,
83
+ messaging_service_sid: :unset,
84
+ body: :unset,
85
+ media_url: :unset,
86
+ content_sid: :unset
87
+ )
88
+
89
+ data = Twilio::Values.of({
90
+ 'To' => to,
91
+ 'StatusCallback' => status_callback,
92
+ 'ApplicationSid' => application_sid,
93
+ 'MaxPrice' => max_price,
94
+ 'ProvideFeedback' => provide_feedback,
95
+ 'Attempt' => attempt,
96
+ 'ValidityPeriod' => validity_period,
97
+ 'ForceDelivery' => force_delivery,
98
+ 'ContentRetention' => content_retention,
99
+ 'AddressRetention' => address_retention,
100
+ 'SmartEncoded' => smart_encoded,
101
+ 'PersistentAction' => Twilio.serialize_list(persistent_action) { |e| e },
102
+ 'TrafficType' => traffic_type,
103
+ 'ShortenUrls' => shorten_urls,
104
+ 'ScheduleType' => schedule_type,
105
+ 'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
106
+ 'SendAsMms' => send_as_mms,
107
+ 'ContentVariables' => content_variables,
108
+ 'RiskCheck' => risk_check,
109
+ 'From' => from,
110
+ 'MessagingServiceSid' => messaging_service_sid,
111
+ 'Body' => body,
112
+ 'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
113
+ 'ContentSid' => content_sid,
114
+ })
115
+
116
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
117
+
118
+
119
+
120
+
121
+
122
+ payload = @version.create('POST', @uri, data: data, headers: headers)
123
+ MessageInstance.new(
124
+ @version,
125
+ payload,
126
+ account_sid: @solution[:account_sid],
127
+ )
128
+ end
129
+
130
+
131
+ ##
132
+ # Lists MessageInstance records from the API as a list.
133
+ # Unlike stream(), this operation is eager and will load `limit` records into
134
+ # memory before returning.
135
+ # @param [String] to Filter by recipient. For example: Set this `to` parameter to `+15558881111` to retrieve a list of Message resources with `to` properties of `+15558881111`
136
+ # @param [String] from Filter by sender. For example: Set this `from` parameter to `+15552229999` to retrieve a list of Message resources with `from` properties of `+15552229999`
137
+ # @param [Time] date_sent Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
138
+ # @param [Time] date_sent_before Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
139
+ # @param [Time] date_sent_after Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
140
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
141
+ # guarantees to never return more than limit. Default is no limit
142
+ # @param [Integer] page_size Number of records to fetch per request, when
143
+ # not set will use the default value of 50 records. If no page_size is defined
144
+ # but a limit is defined, stream() will attempt to read the limit with the most
145
+ # efficient page size, i.e. min(limit, 1000)
146
+ # @return [Array] Array of up to limit results
147
+ def list(to: :unset, from: :unset, date_sent: :unset, date_sent_before: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
148
+ self.stream(
149
+ to: to,
150
+ from: from,
151
+ date_sent: date_sent,
152
+ date_sent_before: date_sent_before,
153
+ date_sent_after: date_sent_after,
154
+ limit: limit,
155
+ page_size: page_size
156
+ ).entries
157
+ end
158
+
159
+ ##
160
+ # Streams Instance records from the API as an Enumerable.
161
+ # This operation lazily loads records as efficiently as possible until the limit
162
+ # is reached.
163
+ # @param [String] to Filter by recipient. For example: Set this `to` parameter to `+15558881111` to retrieve a list of Message resources with `to` properties of `+15558881111`
164
+ # @param [String] from Filter by sender. For example: Set this `from` parameter to `+15552229999` to retrieve a list of Message resources with `from` properties of `+15552229999`
165
+ # @param [Time] date_sent Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
166
+ # @param [Time] date_sent_before Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
167
+ # @param [Time] date_sent_after Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
168
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
169
+ # guarantees to never return more than limit. Default is no limit
170
+ # @param [Integer] page_size Number of records to fetch per request, when
171
+ # not set will use the default value of 50 records. If no page_size is defined
172
+ # but a limit is defined, stream() will attempt to read the limit with the most
173
+ # efficient page size, i.e. min(limit, 1000)
174
+ # @return [Enumerable] Enumerable that will yield up to limit results
175
+ def stream(to: :unset, from: :unset, date_sent: :unset, date_sent_before: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
176
+ limits = @version.read_limits(limit, page_size)
177
+
178
+ page = self.page(
179
+ to: to,
180
+ from: from,
181
+ date_sent: date_sent,
182
+ date_sent_before: date_sent_before,
183
+ date_sent_after: date_sent_after,
184
+ page_size: limits[:page_size], )
185
+
186
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
187
+ end
188
+
189
+ ##
190
+ # When passed a block, yields MessageInstance records from the API.
191
+ # This operation lazily loads records as efficiently as possible until the limit
192
+ # is reached.
193
+ def each
194
+ limits = @version.read_limits
195
+
196
+ page = self.page(page_size: limits[:page_size], )
197
+
198
+ @version.stream(page,
199
+ limit: limits[:limit],
200
+ page_limit: limits[:page_limit]).each {|x| yield x}
201
+ end
202
+
203
+ ##
204
+ # Retrieve a single page of MessageInstance records from the API.
205
+ # Request is executed immediately.
206
+ # @param [String] to Filter by recipient. For example: Set this `to` parameter to `+15558881111` to retrieve a list of Message resources with `to` properties of `+15558881111`
207
+ # @param [String] from Filter by sender. For example: Set this `from` parameter to `+15552229999` to retrieve a list of Message resources with `from` properties of `+15552229999`
208
+ # @param [Time] date_sent Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
209
+ # @param [Time] date_sent_before Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
210
+ # @param [Time] date_sent_after Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
211
+ # @param [String] page_token PageToken provided by the API
212
+ # @param [Integer] page_number Page Number, this value is simply for client state
213
+ # @param [Integer] page_size Number of records to return, defaults to 50
214
+ # @return [Page] Page of MessageInstance
215
+ 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)
216
+ params = Twilio::Values.of({
217
+ 'To' => to,
218
+ 'From' => from,
219
+ 'DateSent' => Twilio.serialize_iso8601_datetime(date_sent),
220
+ 'DateSent<' => Twilio.serialize_iso8601_datetime(date_sent_before),
221
+ 'DateSent>' => Twilio.serialize_iso8601_datetime(date_sent_after),
222
+ 'PageToken' => page_token,
223
+ 'Page' => page_number,
224
+ 'PageSize' => page_size,
225
+ })
226
+ headers = Twilio::Values.of({})
227
+
228
+
229
+
230
+ response = @version.page('GET', @uri, params: params, headers: headers)
231
+
232
+ MessagePage.new(@version, response, @solution)
233
+ end
234
+
235
+ ##
236
+ # Retrieve a single page of MessageInstance records from the API.
237
+ # Request is executed immediately.
238
+ # @param [String] target_url API-generated URL for the requested results page
239
+ # @return [Page] Page of MessageInstance
240
+ def get_page(target_url)
241
+ response = @version.domain.request(
242
+ 'GET',
243
+ target_url
244
+ )
245
+ MessagePage.new(@version, response, @solution)
246
+ end
247
+
248
+
249
+
250
+ # Provide a user friendly representation
251
+ def to_s
252
+ '#<Twilio.Api.V2010.MessageList>'
253
+ end
254
+ end
255
+
256
+
257
+ class MessageContext < InstanceContext
258
+ ##
259
+ # Initialize the MessageContext
260
+ # @param [Version] version Version that contains the resource
261
+ # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to update.
262
+ # @param [String] sid The SID of the Message resource to be updated
263
+ # @return [MessageContext] MessageContext
264
+ def initialize(version, account_sid, sid)
265
+ super(version)
266
+
267
+ # Path Solution
268
+ @solution = { account_sid: account_sid, sid: sid, }
269
+ @uri = "/Accounts/#{@solution[:account_sid]}/Messages/#{@solution[:sid]}.json"
270
+
271
+ # Dependents
272
+ @feedback = nil
273
+ @media = nil
274
+ end
275
+ ##
276
+ # Delete the MessageInstance
277
+ # @return [Boolean] True if delete succeeds, false otherwise
278
+ def delete
279
+
280
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
281
+
282
+
283
+
284
+ @version.delete('DELETE', @uri, headers: headers)
285
+ end
286
+
287
+ ##
288
+ # Fetch the MessageInstance
289
+ # @return [MessageInstance] Fetched MessageInstance
290
+ def fetch
291
+
292
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
293
+
294
+
295
+
296
+
297
+
298
+ payload = @version.fetch('GET', @uri, headers: headers)
299
+ MessageInstance.new(
300
+ @version,
301
+ payload,
302
+ account_sid: @solution[:account_sid],
303
+ sid: @solution[:sid],
304
+ )
305
+ end
306
+
307
+ ##
308
+ # Update the MessageInstance
309
+ # @param [String] body The new `body` of the Message resource. To redact the text content of a Message, this parameter's value must be an empty string
310
+ # @param [UpdateStatus] status
311
+ # @return [MessageInstance] Updated MessageInstance
312
+ def update(
313
+ body: :unset,
314
+ status: :unset
315
+ )
316
+
317
+ data = Twilio::Values.of({
318
+ 'Body' => body,
319
+ 'Status' => status,
320
+ })
321
+
322
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
323
+
324
+
325
+
326
+
327
+
328
+ payload = @version.update('POST', @uri, data: data, headers: headers)
329
+ MessageInstance.new(
330
+ @version,
331
+ payload,
332
+ account_sid: @solution[:account_sid],
333
+ sid: @solution[:sid],
334
+ )
335
+ end
336
+
337
+ ##
338
+ # Access the feedback
339
+ # @return [FeedbackList]
340
+ # @return [FeedbackContext]
341
+ def feedback
342
+ unless @feedback
343
+ @feedback = FeedbackList.new(
344
+ @version, account_sid: @solution[:account_sid], message_sid: @solution[:sid], )
345
+ end
346
+ @feedback
347
+ end
348
+ ##
349
+ # Access the media
350
+ # @return [MediaList]
351
+ # @return [MediaContext] if sid was passed.
352
+ def media(sid=:unset)
353
+
354
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
355
+
356
+ if sid != :unset
357
+ return MediaContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
358
+ end
359
+
360
+ unless @media
361
+ @media = MediaList.new(
362
+ @version, account_sid: @solution[:account_sid], message_sid: @solution[:sid], )
363
+ end
364
+
365
+ @media
366
+ end
367
+
368
+ ##
369
+ # Provide a user friendly representation
370
+ def to_s
371
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
372
+ "#<Twilio.Api.V2010.MessageContext #{context}>"
373
+ end
374
+
375
+ ##
376
+ # Provide a detailed, user friendly representation
377
+ def inspect
378
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
379
+ "#<Twilio.Api.V2010.MessageContext #{context}>"
380
+ end
381
+ end
382
+
383
+ class MessagePage < Page
384
+ ##
385
+ # Initialize the MessagePage
386
+ # @param [Version] version Version that contains the resource
387
+ # @param [Response] response Response from the API
388
+ # @param [Hash] solution Path solution for the resource
389
+ # @return [MessagePage] MessagePage
390
+ def initialize(version, response, solution)
391
+ super(version, response)
392
+
393
+ # Path Solution
394
+ @solution = solution
395
+ end
396
+
397
+ ##
398
+ # Build an instance of MessageInstance
399
+ # @param [Hash] payload Payload response from the API
400
+ # @return [MessageInstance] MessageInstance
401
+ def get_instance(payload)
402
+ MessageInstance.new(@version, payload, account_sid: @solution[:account_sid])
403
+ end
404
+
405
+ ##
406
+ # Provide a user friendly representation
407
+ def to_s
408
+ '<Twilio.Api.V2010.MessagePage>'
409
+ end
410
+ end
411
+ class MessageInstance < InstanceResource
412
+ ##
413
+ # Initialize the MessageInstance
414
+ # @param [Version] version Version that contains the resource
415
+ # @param [Hash] payload payload that contains response from Twilio
416
+ # @param [String] account_sid The SID of the
417
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Message
418
+ # resource.
419
+ # @param [String] sid The SID of the Call resource to fetch.
420
+ # @return [MessageInstance] MessageInstance
421
+ def initialize(version, payload , account_sid: nil, sid: nil)
422
+ super(version)
423
+
424
+ # Marshaled Properties
425
+ @properties = {
426
+ 'body' => payload['body'],
427
+ 'num_segments' => payload['num_segments'],
428
+ 'direction' => payload['direction'],
429
+ 'from' => payload['from'],
430
+ 'to' => payload['to'],
431
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
432
+ 'price' => payload['price'],
433
+ 'error_message' => payload['error_message'],
434
+ 'uri' => payload['uri'],
435
+ 'account_sid' => payload['account_sid'],
436
+ 'num_media' => payload['num_media'],
437
+ 'status' => payload['status'],
438
+ 'messaging_service_sid' => payload['messaging_service_sid'],
439
+ 'sid' => payload['sid'],
440
+ 'date_sent' => Twilio.deserialize_rfc2822(payload['date_sent']),
441
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
442
+ 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
443
+ 'price_unit' => payload['price_unit'],
444
+ 'api_version' => payload['api_version'],
445
+ 'subresource_uris' => payload['subresource_uris'],
446
+ }
447
+
448
+ # Context
449
+ @instance_context = nil
450
+ @params = { 'account_sid' => account_sid ,'sid' => sid || @properties['sid'] , }
451
+ end
452
+
453
+ ##
454
+ # Generate an instance context for the instance, the context is capable of
455
+ # performing various actions. All instance actions are proxied to the context
456
+ # @return [MessageContext] CallContext for this CallInstance
457
+ def context
458
+ unless @instance_context
459
+ @instance_context = MessageContext.new(@version , @params['account_sid'], @params['sid'])
460
+ end
461
+ @instance_context
462
+ end
463
+
464
+ ##
465
+ # @return [String] The text content of the message
466
+ def body
467
+ @properties['body']
468
+ end
469
+
470
+ ##
471
+ # @return [String] The number of segments that make up the complete message. SMS message bodies that exceed the [character limit](https://www.twilio.com/docs/glossary/what-sms-character-limit) are segmented and charged as multiple messages. Note: For messages sent via a Messaging Service, `num_segments` is initially `0`, since a sender hasn't yet been assigned.
472
+ def num_segments
473
+ @properties['num_segments']
474
+ end
475
+
476
+ ##
477
+ # @return [Direction]
478
+ def direction
479
+ @properties['direction']
480
+ end
481
+
482
+ ##
483
+ # @return [String] The sender's phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), [Wireless SIM](https://www.twilio.com/docs/iot/wireless/programmable-wireless-send-machine-machine-sms-commands), [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g., `whatsapp:+15554449999`). For incoming messages, this is the number or channel address of the sender. For outgoing messages, this value is a Twilio phone number, alphanumeric sender ID, short code, or channel address from which the message is sent.
484
+ def from
485
+ @properties['from']
486
+ end
487
+
488
+ ##
489
+ # @return [String] The recipient's phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format) or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g. `whatsapp:+15552229999`)
490
+ def to
491
+ @properties['to']
492
+ end
493
+
494
+ ##
495
+ # @return [Time] The [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822#section-3.3) timestamp (in GMT) of when the Message resource was last updated
496
+ def date_updated
497
+ @properties['date_updated']
498
+ end
499
+
500
+ ##
501
+ # @return [String] The amount billed for the message in the currency specified by `price_unit`. The `price` is populated after the message has been sent/received, and may not be immediately availalble. View the [Pricing page](https://www.twilio.com/en-us/pricing) for more details.
502
+ def price
503
+ @properties['price']
504
+ end
505
+
506
+ ##
507
+ # @return [String] The description of the `error_code` if the Message `status` is `failed` or `undelivered`. If no error was encountered, the value is `null`. The value returned in this field for a specific error cause is subject to change as Twilio improves errors. Users should not use the `error_code` and `error_message` fields programmatically.
508
+ def error_message
509
+ @properties['error_message']
510
+ end
511
+
512
+ ##
513
+ # @return [String] The URI of the Message resource, relative to `https://api.twilio.com`.
514
+ def uri
515
+ @properties['uri']
516
+ end
517
+
518
+ ##
519
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) associated with the Message resource
520
+ def account_sid
521
+ @properties['account_sid']
522
+ end
523
+
524
+ ##
525
+ # @return [String] The number of media files associated with the Message resource.
526
+ def num_media
527
+ @properties['num_media']
528
+ end
529
+
530
+ ##
531
+ # @return [Status]
532
+ def status
533
+ @properties['status']
534
+ end
535
+
536
+ ##
537
+ # @return [String] The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) associated with the Message resource. A unique default value is assigned if a Messaging Service is not used.
538
+ def messaging_service_sid
539
+ @properties['messaging_service_sid']
540
+ end
541
+
542
+ ##
543
+ # @return [String] The unique, Twilio-provided string that identifies the Message resource.
544
+ def sid
545
+ @properties['sid']
546
+ end
547
+
548
+ ##
549
+ # @return [Time] The [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822#section-3.3) timestamp (in GMT) of when the Message was sent. For an outgoing message, this is when Twilio sent the message. For an incoming message, this is when Twilio sent the HTTP request to your incoming message webhook URL.
550
+ def date_sent
551
+ @properties['date_sent']
552
+ end
553
+
554
+ ##
555
+ # @return [Time] The [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822#section-3.3) timestamp (in GMT) of when the Message resource was created
556
+ def date_created
557
+ @properties['date_created']
558
+ end
559
+
560
+ ##
561
+ # @return [String] The [error code](https://www.twilio.com/docs/api/errors) returned if the Message `status` is `failed` or `undelivered`. If no error was encountered, the value is `null`. The value returned in this field for a specific error cause is subject to change as Twilio improves errors. Users should not use the `error_code` and `error_message` fields programmatically.
562
+ def error_code
563
+ @properties['error_code']
564
+ end
565
+
566
+ ##
567
+ # @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`).
568
+ def price_unit
569
+ @properties['price_unit']
570
+ end
571
+
572
+ ##
573
+ # @return [String] The API version used to process the Message
574
+ def api_version
575
+ @properties['api_version']
576
+ end
577
+
578
+ ##
579
+ # @return [Hash] A list of related resources identified by their URIs relative to `https://api.twilio.com`
580
+ def subresource_uris
581
+ @properties['subresource_uris']
582
+ end
583
+
584
+ ##
585
+ # Delete the MessageInstance
586
+ # @return [Boolean] True if delete succeeds, false otherwise
587
+ def delete
588
+
589
+ context.delete
590
+ end
591
+
592
+ ##
593
+ # Fetch the MessageInstance
594
+ # @return [MessageInstance] Fetched MessageInstance
595
+ def fetch
596
+
597
+ context.fetch
598
+ end
599
+
600
+ ##
601
+ # Update the MessageInstance
602
+ # @param [String] body The new `body` of the Message resource. To redact the text content of a Message, this parameter's value must be an empty string
603
+ # @param [UpdateStatus] status
604
+ # @return [MessageInstance] Updated MessageInstance
605
+ def update(
606
+ body: :unset,
607
+ status: :unset
608
+ )
609
+
610
+ context.update(
611
+ body: body,
612
+ status: status,
613
+ )
614
+ end
615
+
616
+ ##
617
+ # Access the feedback
618
+ # @return [feedback] feedback
619
+ def feedback
620
+ context.feedback
621
+ end
622
+
623
+ ##
624
+ # Access the media
625
+ # @return [media] media
626
+ def media
627
+ context.media
628
+ end
629
+
630
+ ##
631
+ # Provide a user friendly representation
632
+ def to_s
633
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
634
+ "<Twilio.Api.V2010.MessageInstance #{values}>"
635
+ end
636
+
637
+ ##
638
+ # Provide a detailed, user friendly representation
639
+ def inspect
640
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
641
+ "<Twilio.Api.V2010.MessageInstance #{values}>"
642
+ end
643
+ end
644
+
645
+ end
642
646
  end
643
- end
644
647
  end
645
- end
646
648
  end
647
- end
648
- end
649
+ end
650
+
651
+