twilio-ruby 5.74.0 → 7.10.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 (796) 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 +4 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1367 -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/api_v1_version.rb +22 -0
  30. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  31. data/lib/twilio-ruby/framework/rest/error.rb +27 -12
  32. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  33. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  34. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  35. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  36. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  37. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  38. data/lib/twilio-ruby/http/http_client.rb +22 -5
  39. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  40. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  42. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  45. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  46. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  47. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  50. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  51. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  52. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  54. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -530
  55. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  56. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1658 -663
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1658 -663
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +260 -151
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +409 -240
  75. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -1050
  76. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -756
  77. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  78. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  79. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  80. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  81. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -554
  83. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -553
  84. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -553
  85. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -903
  86. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  87. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  88. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  89. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -641
  90. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  91. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  92. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  93. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  94. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  95. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  96. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  98. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  99. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  100. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -513
  101. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  102. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  117. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  118. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  130. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  131. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  132. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  133. data/lib/twilio-ruby/rest/api.rb +25 -34
  134. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  139. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  140. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  147. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  148. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  149. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  150. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -279
  151. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -279
  152. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -248
  153. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -235
  154. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -216
  155. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  156. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  157. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  159. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  160. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  161. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  162. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  163. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  164. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  165. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  166. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  167. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  168. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  169. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  170. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  171. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  172. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  173. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  174. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  175. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  176. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  177. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -419
  178. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  179. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  180. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  181. data/lib/twilio-ruby/rest/chat/v3/channel.rb +444 -267
  182. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  183. data/lib/twilio-ruby/rest/chat.rb +4 -48
  184. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  185. data/lib/twilio-ruby/rest/client.rb +338 -584
  186. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  187. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +327 -173
  188. data/lib/twilio-ruby/rest/content/v1/content.rb +1909 -334
  189. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  190. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  191. data/lib/twilio-ruby/rest/content/v1.rb +54 -38
  192. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  193. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  194. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  195. data/lib/twilio-ruby/rest/content.rb +2 -34
  196. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +798 -444
  198. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  199. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  200. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  201. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -495
  202. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  203. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  204. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -552
  205. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  207. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +397 -304
  208. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  209. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  210. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -312
  211. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +459 -258
  212. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -279
  213. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  214. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -533
  215. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  216. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  217. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -588
  218. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +403 -317
  220. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  221. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +686 -455
  222. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -474
  223. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -447
  224. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +683 -435
  225. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -441
  226. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -136
  227. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  228. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  229. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -288
  230. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +468 -0
  231. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  232. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  233. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  234. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -408
  235. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +638 -339
  236. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -387
  237. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  238. data/lib/twilio-ruby/rest/events.rb +5 -34
  239. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +687 -146
  241. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  242. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -496
  243. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -570
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +370 -227
  256. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +560 -319
  257. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +637 -398
  259. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +529 -225
  260. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  270. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -113
  271. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  272. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +258 -125
  273. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  274. data/lib/twilio-ruby/rest/flex_api.rb +9 -47
  275. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +453 -248
  277. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  278. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  279. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  281. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  282. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  283. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  284. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  285. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  286. data/lib/twilio-ruby/rest/iam.rb +6 -0
  287. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  288. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +509 -315
  289. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  290. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  291. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  292. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -236
  293. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +718 -433
  294. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +665 -467
  295. data/lib/twilio-ruby/rest/insights/v1/conference.rb +683 -502
  296. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  297. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -489
  298. data/lib/twilio-ruby/rest/insights/v1/setting.rb +435 -205
  299. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  300. data/lib/twilio-ruby/rest/insights.rb +6 -34
  301. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  305. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  306. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  307. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  316. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  317. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  318. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  319. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  320. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  321. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  327. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  330. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  331. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  340. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  341. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  342. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  343. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  344. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  345. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  346. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  347. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  348. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  349. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  350. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  351. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  352. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  353. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +570 -328
  354. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  355. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +128 -38
  357. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  358. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +475 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +735 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  368. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  369. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +231 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +568 -346
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +758 -443
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +469 -259
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +263 -142
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  383. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  386. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +937 -521
  388. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +222 -115
  389. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -763
  390. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1517 -549
  391. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +209 -103
  392. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -124
  393. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  394. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  395. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  396. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  397. data/lib/twilio-ruby/rest/messaging.rb +10 -35
  398. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  399. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  400. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  401. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  402. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  403. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  404. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  405. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  406. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  407. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  408. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  409. data/lib/twilio-ruby/rest/notify.rb +3 -34
  410. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  412. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  413. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  414. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  415. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  416. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  421. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  422. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  423. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  424. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  425. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  426. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  427. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +405 -261
  429. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  430. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  431. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +294 -179
  432. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -607
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -371
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  439. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  440. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  441. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  442. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  443. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  444. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  445. data/lib/twilio-ruby/rest/oauth/v1/token.rb +293 -149
  446. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  447. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  448. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  449. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  451. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  466. data/lib/twilio-ruby/rest/preview.rb +10 -87
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  470. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  471. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  475. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  476. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  477. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +465 -275
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +457 -270
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +379 -215
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  492. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -440
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -506
  499. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  500. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  501. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  502. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  503. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +444 -227
  504. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +444 -223
  505. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +444 -227
  506. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  507. data/lib/twilio-ruby/rest/routes.rb +4 -34
  508. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  511. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -384
  513. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  517. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  520. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -493
  521. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  522. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  523. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  524. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  528. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  532. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  533. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  534. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -442
  538. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -320
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -472
  541. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -109
  542. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  543. data/lib/twilio-ruby/rest/studio.rb +3 -41
  544. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  545. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +611 -362
  546. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -483
  547. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +624 -406
  548. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  549. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  551. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +339 -237
  552. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +311 -204
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +275 -174
  554. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -453
  555. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +576 -361
  556. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +410 -344
  557. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  558. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  559. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  560. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -371
  561. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -423
  562. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -490
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -370
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -445
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -495
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -368
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -444
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -132
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -400
  570. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -567
  571. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  572. data/lib/twilio-ruby/rest/sync.rb +2 -34
  573. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  574. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -395
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -749
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -661
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -370
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -572
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -732
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -637
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -376
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -356
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -730
  600. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  601. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  602. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  603. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -630
  609. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  610. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  611. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  612. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +595 -352
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +574 -323
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +540 -321
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +823 -513
  619. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +659 -346
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +450 -261
  621. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +443 -252
  622. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +673 -359
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +450 -261
  624. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +595 -352
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +574 -323
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +540 -321
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +823 -513
  628. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  629. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  630. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  631. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  632. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +423 -205
  633. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +463 -254
  634. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +275 -172
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +768 -530
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +386 -271
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -414
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  641. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  645. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  646. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -366
  647. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +320 -187
  648. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -412
  649. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -780
  650. data/lib/twilio-ruby/rest/verify/v2/template.rb +310 -203
  651. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +556 -387
  652. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +400 -224
  653. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  654. data/lib/twilio-ruby/rest/verify.rb +7 -34
  655. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  656. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -507
  657. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -647
  658. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  659. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -426
  660. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  665. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  666. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  667. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  669. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -602
  670. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  671. data/lib/twilio-ruby/rest/video.rb +7 -34
  672. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  673. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +292 -174
  674. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  675. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  676. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  678. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  679. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  680. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  681. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  682. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  683. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  684. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  685. data/lib/twilio-ruby/rest/voice.rb +7 -34
  686. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  687. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  688. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  689. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  690. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  691. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -647
  692. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  693. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  694. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  695. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  696. data/lib/twilio-ruby/rest.rb +1 -0
  697. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  698. data/lib/twilio-ruby/twiml/voice_response.rb +481 -26
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/sonar-project.properties +1 -1
  701. data/twilio-ruby.gemspec +3 -2
  702. metadata +238 -105
  703. data/conf/cacert.pem +0 -3376
  704. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  705. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  706. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  713. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  714. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  715. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  716. 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
  717. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  718. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  719. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  720. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  721. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  722. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  723. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  724. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  725. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  726. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  727. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  728. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  729. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  730. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  731. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  732. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  733. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  734. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  735. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  736. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  737. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  738. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +0 -190
  739. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +0 -166
  740. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  741. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  742. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  743. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  744. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  745. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  746. data/lib/twilio-ruby/rest/media.rb +0 -65
  747. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  748. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  749. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +0 -305
  750. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -339
  751. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -60
  752. data/lib/twilio-ruby/rest/microvisor.rb +0 -54
  753. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  754. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  755. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  756. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  757. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  758. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  759. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  760. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  761. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  762. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  763. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  764. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -406
  765. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  766. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  767. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  768. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  769. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  771. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  772. data/lib/twilio-ruby/rest/preview/sync.rb +0 -44
  773. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  774. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  775. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  776. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  777. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  778. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  779. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  780. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  781. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  782. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  783. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  784. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  786. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  787. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  788. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  789. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  790. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  791. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  792. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  793. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  794. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  795. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  796. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,648 +1,977 @@
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
+
31
+ # Path Solution
32
+ @solution = { account_sid: account_sid }
33
+ @uri = "/Accounts/#{@solution[:account_sid]}/Messages.json"
34
+
35
+ end
36
+ ##
37
+ # Create the MessageInstance
38
+ # @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`.
39
+ # @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).
40
+ # @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.
41
+ # @param [Float] max_price [OBSOLETE] This parameter will no longer have any effect as of 2024-06-03.
42
+ # @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`.
43
+ # @param [String] attempt Total number of attempts made (including this request) to send the message regardless of the provider used
44
+ # @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)
45
+ # @param [Boolean] force_delivery Reserved
46
+ # @param [ContentRetention] content_retention
47
+ # @param [AddressRetention] address_retention
48
+ # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.
49
+ # @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).
50
+ # @param [TrafficType] traffic_type
51
+ # @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.
52
+ # @param [ScheduleType] schedule_type
53
+ # @param [Time] send_at The time that Twilio will send the message. Must be in ISO 8601 format.
54
+ # @param [Boolean] send_as_mms If set to `true`, Twilio delivers the message as a single MMS message, regardless of the presence of media.
55
+ # @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.
56
+ # @param [RiskCheck] risk_check
57
+ # @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.
58
+ # @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.
59
+ # @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).
60
+ # @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.
61
+ # @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).
62
+ # @return [MessageInstance] Created MessageInstance
63
+ def create(
64
+ to: nil,
65
+ status_callback: :unset,
66
+ application_sid: :unset,
67
+ max_price: :unset,
68
+ provide_feedback: :unset,
69
+ attempt: :unset,
70
+ validity_period: :unset,
71
+ force_delivery: :unset,
72
+ content_retention: :unset,
73
+ address_retention: :unset,
74
+ smart_encoded: :unset,
75
+ persistent_action: :unset,
76
+ traffic_type: :unset,
77
+ shorten_urls: :unset,
78
+ schedule_type: :unset,
79
+ send_at: :unset,
80
+ send_as_mms: :unset,
81
+ content_variables: :unset,
82
+ risk_check: :unset,
83
+ from: :unset,
84
+ messaging_service_sid: :unset,
85
+ body: :unset,
86
+ media_url: :unset,
87
+ content_sid: :unset
88
+ )
89
+
90
+ data = Twilio::Values.of({
91
+ 'To' => to,
92
+ 'StatusCallback' => status_callback,
93
+ 'ApplicationSid' => application_sid,
94
+ 'MaxPrice' => max_price,
95
+ 'ProvideFeedback' => provide_feedback,
96
+ 'Attempt' => attempt,
97
+ 'ValidityPeriod' => validity_period,
98
+ 'ForceDelivery' => force_delivery,
99
+ 'ContentRetention' => content_retention,
100
+ 'AddressRetention' => address_retention,
101
+ 'SmartEncoded' => smart_encoded,
102
+ 'PersistentAction' => Twilio.serialize_list(persistent_action) { |e| e },
103
+ 'TrafficType' => traffic_type,
104
+ 'ShortenUrls' => shorten_urls,
105
+ 'ScheduleType' => schedule_type,
106
+ 'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
107
+ 'SendAsMms' => send_as_mms,
108
+ 'ContentVariables' => content_variables,
109
+ 'RiskCheck' => risk_check,
110
+ 'From' => from,
111
+ 'MessagingServiceSid' => messaging_service_sid,
112
+ 'Body' => body,
113
+ 'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
114
+ 'ContentSid' => content_sid,
115
+ })
116
+
117
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
118
+
119
+
120
+
121
+
122
+
123
+ payload = @version.create('POST', @uri, data: data, headers: headers)
124
+ MessageInstance.new(
125
+ @version,
126
+ payload,
127
+ account_sid: @solution[:account_sid],
128
+ )
129
+ end
130
+
131
+ ##
132
+ # Create the MessageInstanceMetadata
133
+ # @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`.
134
+ # @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).
135
+ # @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.
136
+ # @param [Float] max_price [OBSOLETE] This parameter will no longer have any effect as of 2024-06-03.
137
+ # @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`.
138
+ # @param [String] attempt Total number of attempts made (including this request) to send the message regardless of the provider used
139
+ # @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)
140
+ # @param [Boolean] force_delivery Reserved
141
+ # @param [ContentRetention] content_retention
142
+ # @param [AddressRetention] address_retention
143
+ # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.
144
+ # @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).
145
+ # @param [TrafficType] traffic_type
146
+ # @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.
147
+ # @param [ScheduleType] schedule_type
148
+ # @param [Time] send_at The time that Twilio will send the message. Must be in ISO 8601 format.
149
+ # @param [Boolean] send_as_mms If set to `true`, Twilio delivers the message as a single MMS message, regardless of the presence of media.
150
+ # @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.
151
+ # @param [RiskCheck] risk_check
152
+ # @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.
153
+ # @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.
154
+ # @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).
155
+ # @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.
156
+ # @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).
157
+ # @return [MessageInstance] Created MessageInstance
158
+ def create_with_metadata(
159
+ to: nil,
160
+ status_callback: :unset,
161
+ application_sid: :unset,
162
+ max_price: :unset,
163
+ provide_feedback: :unset,
164
+ attempt: :unset,
165
+ validity_period: :unset,
166
+ force_delivery: :unset,
167
+ content_retention: :unset,
168
+ address_retention: :unset,
169
+ smart_encoded: :unset,
170
+ persistent_action: :unset,
171
+ traffic_type: :unset,
172
+ shorten_urls: :unset,
173
+ schedule_type: :unset,
174
+ send_at: :unset,
175
+ send_as_mms: :unset,
176
+ content_variables: :unset,
177
+ risk_check: :unset,
178
+ from: :unset,
179
+ messaging_service_sid: :unset,
180
+ body: :unset,
181
+ media_url: :unset,
182
+ content_sid: :unset
183
+ )
184
+
185
+ data = Twilio::Values.of({
186
+ 'To' => to,
187
+ 'StatusCallback' => status_callback,
188
+ 'ApplicationSid' => application_sid,
189
+ 'MaxPrice' => max_price,
190
+ 'ProvideFeedback' => provide_feedback,
191
+ 'Attempt' => attempt,
192
+ 'ValidityPeriod' => validity_period,
193
+ 'ForceDelivery' => force_delivery,
194
+ 'ContentRetention' => content_retention,
195
+ 'AddressRetention' => address_retention,
196
+ 'SmartEncoded' => smart_encoded,
197
+ 'PersistentAction' => Twilio.serialize_list(persistent_action) { |e| e },
198
+ 'TrafficType' => traffic_type,
199
+ 'ShortenUrls' => shorten_urls,
200
+ 'ScheduleType' => schedule_type,
201
+ 'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
202
+ 'SendAsMms' => send_as_mms,
203
+ 'ContentVariables' => content_variables,
204
+ 'RiskCheck' => risk_check,
205
+ 'From' => from,
206
+ 'MessagingServiceSid' => messaging_service_sid,
207
+ 'Body' => body,
208
+ 'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
209
+ 'ContentSid' => content_sid,
210
+ })
211
+
212
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
213
+
214
+
215
+
216
+
217
+
218
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
219
+ message_instance = MessageInstance.new(
220
+ @version,
221
+ response.body,
222
+ account_sid: @solution[:account_sid],
223
+ )
224
+ MessageInstanceMetadata.new(
225
+ @version,
226
+ message_instance,
227
+ response.headers,
228
+ response.status_code
229
+ )
230
+ end
231
+
232
+
233
+ ##
234
+ # Lists MessageInstance records from the API as a list.
235
+ # Unlike stream(), this operation is eager and will load `limit` records into
236
+ # memory before returning.
237
+ # @param [String] to Filter by recipient. For example: Set this parameter to `+15558881111` to retrieve a list of Message resources sent to `+15558881111`.
238
+ # @param [String] from Filter by sender. For example: Set this parameter to `+15552229999` to retrieve a list of Message resources sent by `+15552229999`.
239
+ # @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).
240
+ # @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).
241
+ # @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).
242
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
243
+ # guarantees to never return more than limit. Default is no limit
244
+ # @param [Integer] page_size Number of records to fetch per request, when
245
+ # not set will use the default value of 50 records. If no page_size is defined
246
+ # but a limit is defined, stream() will attempt to read the limit with the most
247
+ # efficient page size, i.e. min(limit, 1000)
248
+ # @return [Array] Array of up to limit results
249
+ def list(to: :unset, from: :unset, date_sent: :unset, date_sent_before: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
250
+ self.stream(
251
+ to: to,
252
+ from: from,
253
+ date_sent: date_sent,
254
+ date_sent_before: date_sent_before,
255
+ date_sent_after: date_sent_after,
256
+ limit: limit,
257
+ page_size: page_size
258
+ ).entries
259
+ end
260
+
261
+ ##
262
+ # Streams Instance records from the API as an Enumerable.
263
+ # This operation lazily loads records as efficiently as possible until the limit
264
+ # is reached.
265
+ # @param [String] to Filter by recipient. For example: Set this parameter to `+15558881111` to retrieve a list of Message resources sent to `+15558881111`.
266
+ # @param [String] from Filter by sender. For example: Set this parameter to `+15552229999` to retrieve a list of Message resources sent by `+15552229999`.
267
+ # @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).
268
+ # @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).
269
+ # @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).
270
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
271
+ # guarantees to never return more than limit. Default is no limit
272
+ # @param [Integer] page_size Number of records to fetch per request, when
273
+ # not set will use the default value of 50 records. If no page_size is defined
274
+ # but a limit is defined, stream() will attempt to read the limit with the most
275
+ # efficient page size, i.e. min(limit, 1000)
276
+ # @return [Enumerable] Enumerable that will yield up to limit results
277
+ def stream(to: :unset, from: :unset, date_sent: :unset, date_sent_before: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
278
+ limits = @version.read_limits(limit, page_size)
279
+
280
+ page = self.page(
281
+ to: to,
282
+ from: from,
283
+ date_sent: date_sent,
284
+ date_sent_before: date_sent_before,
285
+ date_sent_after: date_sent_after,
286
+ page_size: limits[:page_size], )
287
+
288
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
289
+ end
290
+
291
+ ##
292
+ # Lists MessagePageMetadata records from the API as a list.
293
+ # @param [String] to Filter by recipient. For example: Set this parameter to `+15558881111` to retrieve a list of Message resources sent to `+15558881111`.
294
+ # @param [String] from Filter by sender. For example: Set this parameter to `+15552229999` to retrieve a list of Message resources sent by `+15552229999`.
295
+ # @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).
296
+ # @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).
297
+ # @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).
298
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
299
+ # guarantees to never return more than limit. Default is no limit
300
+ # @param [Integer] page_size Number of records to fetch per request, when
301
+ # not set will use the default value of 50 records. If no page_size is defined
302
+ # but a limit is defined, stream() will attempt to read the limit with the most
303
+ # efficient page size, i.e. min(limit, 1000)
304
+ # @return [Array] Array of up to limit results
305
+ def list_with_metadata(to: :unset, from: :unset, date_sent: :unset, date_sent_before: :unset, date_sent_after: :unset, limit: nil, page_size: nil)
306
+ limits = @version.read_limits(limit, page_size)
307
+ params = Twilio::Values.of({
308
+ 'To' => to,
309
+ 'From' => from,
310
+ 'DateSent' => Twilio.serialize_iso8601_datetime(date_sent),
311
+ 'DateSent<' => Twilio.serialize_iso8601_datetime(date_sent_before),
312
+ 'DateSent>' => Twilio.serialize_iso8601_datetime(date_sent_after),
313
+
314
+ 'PageSize' => limits[:page_size],
315
+ });
316
+ headers = Twilio::Values.of({})
317
+
318
+ response = @version.page('GET', @uri, params: params, headers: headers)
319
+
320
+ MessagePageMetadata.new(@version, response, @solution, limits[:limit])
321
+ end
322
+
323
+ ##
324
+ # When passed a block, yields MessageInstance records from the API.
325
+ # This operation lazily loads records as efficiently as possible until the limit
326
+ # is reached.
327
+ def each
328
+ limits = @version.read_limits
329
+
330
+ page = self.page(page_size: limits[:page_size], )
331
+
332
+ @version.stream(page,
333
+ limit: limits[:limit],
334
+ page_limit: limits[:page_limit]).each {|x| yield x}
335
+ end
336
+
337
+ ##
338
+ # Retrieve a single page of MessageInstance records from the API.
339
+ # Request is executed immediately.
340
+ # @param [String] to Filter by recipient. For example: Set this parameter to `+15558881111` to retrieve a list of Message resources sent to `+15558881111`.
341
+ # @param [String] from Filter by sender. For example: Set this parameter to `+15552229999` to retrieve a list of Message resources sent by `+15552229999`.
342
+ # @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).
343
+ # @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).
344
+ # @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).
345
+ # @param [String] page_token PageToken provided by the API
346
+ # @param [Integer] page_number Page Number, this value is simply for client state
347
+ # @param [Integer] page_size Number of records to return, defaults to 50
348
+ # @return [Page] Page of MessageInstance
349
+ 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)
350
+ params = Twilio::Values.of({
351
+ 'To' => to,
352
+ 'From' => from,
353
+ 'DateSent' => Twilio.serialize_iso8601_datetime(date_sent),
354
+ 'DateSent<' => Twilio.serialize_iso8601_datetime(date_sent_before),
355
+ 'DateSent>' => Twilio.serialize_iso8601_datetime(date_sent_after),
356
+ 'PageToken' => page_token,
357
+ 'Page' => page_number,
358
+ 'PageSize' => page_size,
359
+ })
360
+ headers = Twilio::Values.of({})
361
+
362
+
363
+
364
+ response = @version.page('GET', @uri, params: params, headers: headers)
365
+
366
+ MessagePage.new(@version, response, @solution)
367
+ end
368
+
369
+ ##
370
+ # Retrieve a single page of MessageInstance records from the API.
371
+ # Request is executed immediately.
372
+ # @param [String] target_url API-generated URL for the requested results page
373
+ # @return [Page] Page of MessageInstance
374
+ def get_page(target_url)
375
+ response = @version.domain.request(
376
+ 'GET',
377
+ target_url
378
+ )
379
+ MessagePage.new(@version, response, @solution)
380
+ end
381
+
382
+
383
+
384
+ # Provide a user friendly representation
385
+ def to_s
386
+ '#<Twilio.Api.V2010.MessageList>'
387
+ end
388
+ end
389
+
390
+
391
+ class MessageContext < InstanceContext
392
+ ##
393
+ # Initialize the MessageContext
394
+ # @param [Version] version Version that contains the resource
395
+ # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resources to update.
396
+ # @param [String] sid The SID of the Message resource to be updated
397
+ # @return [MessageContext] MessageContext
398
+ def initialize(version, account_sid, sid)
399
+ super(version)
400
+
401
+
402
+ # Path Solution
403
+ @solution = { account_sid: account_sid, sid: sid, }
404
+ @uri = "/Accounts/#{@solution[:account_sid]}/Messages/#{@solution[:sid]}.json"
405
+
406
+ # Dependents
407
+ @feedback = nil
408
+ @media = nil
409
+ end
410
+ ##
411
+ # Delete the MessageInstance
412
+ # @return [Boolean] True if delete succeeds, false otherwise
413
+ def delete
414
+
415
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
416
+
417
+
418
+
419
+
420
+ @version.delete('DELETE', @uri, headers: headers)
421
+ end
422
+
423
+ ##
424
+ # Delete the MessageInstanceMetadata
425
+ # @return [Boolean] True if delete succeeds, false otherwise
426
+ def delete_with_metadata
427
+
428
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
429
+
430
+
431
+
432
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
433
+ message_instance = MessageInstance.new(
434
+ @version,
435
+ response.body,
436
+ account_sid: @solution[:account_sid],
437
+ sid: @solution[:sid],
438
+ )
439
+ MessageInstanceMetadata.new(@version, message_instance, response.headers, response.status_code)
440
+ end
441
+
442
+ ##
443
+ # Fetch the MessageInstance
444
+ # @return [MessageInstance] Fetched MessageInstance
445
+ def fetch
446
+
447
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
448
+
449
+
450
+
451
+
452
+
453
+ payload = @version.fetch('GET', @uri, headers: headers)
454
+ MessageInstance.new(
455
+ @version,
456
+ payload,
457
+ account_sid: @solution[:account_sid],
458
+ sid: @solution[:sid],
459
+ )
460
+ end
461
+
462
+ ##
463
+ # Fetch the MessageInstanceMetadata
464
+ # @return [MessageInstance] Fetched MessageInstance
465
+ def fetch_with_metadata
466
+
467
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
468
+
469
+
470
+
471
+
472
+
473
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
474
+ message_instance = MessageInstance.new(
475
+ @version,
476
+ response.body,
477
+ account_sid: @solution[:account_sid],
478
+ sid: @solution[:sid],
479
+ )
480
+ MessageInstanceMetadata.new(
481
+ @version,
482
+ message_instance,
483
+ response.headers,
484
+ response.status_code
485
+ )
486
+ end
487
+
488
+ ##
489
+ # Update the MessageInstance
490
+ # @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
491
+ # @param [UpdateStatus] status
492
+ # @return [MessageInstance] Updated MessageInstance
493
+ def update(
494
+ body: :unset,
495
+ status: :unset
496
+ )
497
+
498
+ data = Twilio::Values.of({
499
+ 'Body' => body,
500
+ 'Status' => status,
501
+ })
502
+
503
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
504
+
505
+
506
+
507
+
508
+
509
+ payload = @version.update('POST', @uri, data: data, headers: headers)
510
+ MessageInstance.new(
511
+ @version,
512
+ payload,
513
+ account_sid: @solution[:account_sid],
514
+ sid: @solution[:sid],
515
+ )
516
+ end
517
+
518
+ ##
519
+ # Update the MessageInstanceMetadata
520
+ # @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
521
+ # @param [UpdateStatus] status
522
+ # @return [MessageInstance] Updated MessageInstance
523
+ def update_with_metadata(
524
+ body: :unset,
525
+ status: :unset
526
+ )
527
+
528
+ data = Twilio::Values.of({
529
+ 'Body' => body,
530
+ 'Status' => status,
531
+ })
532
+
533
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
534
+
535
+
536
+
537
+
538
+
539
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
540
+ message_instance = MessageInstance.new(
541
+ @version,
542
+ response.body,
543
+ account_sid: @solution[:account_sid],
544
+ sid: @solution[:sid],
545
+ )
546
+ MessageInstanceMetadata.new(
547
+ @version,
548
+ message_instance,
549
+ response.headers,
550
+ response.status_code
551
+ )
552
+ end
553
+
554
+ ##
555
+ # Access the feedback
556
+ # @return [FeedbackList]
557
+ # @return [FeedbackContext]
558
+ def feedback
559
+ unless @feedback
560
+ @feedback = FeedbackList.new(
561
+ @version, account_sid: @solution[:account_sid], message_sid: @solution[:sid], )
562
+ end
563
+ @feedback
564
+ end
565
+ ##
566
+ # Access the media
567
+ # @return [MediaList]
568
+ # @return [MediaContext] if sid was passed.
569
+ def media(sid=:unset)
570
+
571
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
572
+
573
+ if sid != :unset
574
+ return MediaContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
575
+ end
576
+
577
+ unless @media
578
+ @media = MediaList.new(
579
+ @version, account_sid: @solution[:account_sid], message_sid: @solution[:sid], )
580
+ end
581
+
582
+ @media
583
+ end
584
+
585
+ ##
586
+ # Provide a user friendly representation
587
+ def to_s
588
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
589
+ "#<Twilio.Api.V2010.MessageContext #{context}>"
590
+ end
591
+
592
+ ##
593
+ # Provide a detailed, user friendly representation
594
+ def inspect
595
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
596
+ "#<Twilio.Api.V2010.MessageContext #{context}>"
597
+ end
598
+ end
599
+
600
+ class MessageInstanceMetadata < InstanceResourceMetadata
601
+ ##
602
+ # Initializes a new MessageInstanceMetadata.
603
+ # @param [Version] version Version that contains the resource
604
+ # @param [}MessageInstance] message_instance The instance associated with the metadata.
605
+ # @param [Hash] headers Header object with response headers.
606
+ # @param [Integer] status_code The HTTP status code of the response.
607
+ # @return [MessageInstanceMetadata] The initialized instance with metadata.
608
+ def initialize(version, message_instance, headers, status_code)
609
+ super(version, headers, status_code)
610
+ @message_instance = message_instance
611
+ end
612
+
613
+ def message
614
+ @message_instance
615
+ end
616
+
617
+ def headers
618
+ @headers
619
+ end
620
+
621
+ def status_code
622
+ @status_code
623
+ end
624
+
625
+ def to_s
626
+ "<Twilio.Api.V2010.MessageInstanceMetadata status=#{@status_code}>"
627
+ end
628
+ end
629
+
630
+ class MessageListResponse < InstanceListResource
631
+ # @param [Array<MessageInstance>] instance
632
+ # @param [Hash{String => Object}] headers
633
+ # @param [Integer] status_code
634
+ def initialize(version, payload, key)
635
+ @message_instance = payload.body[key].map do |data|
636
+ MessageInstance.new(version, data)
637
+ end
638
+ @headers = payload.headers
639
+ @status_code = payload.status_code
640
+ end
641
+
642
+ def message_instance
643
+ @instance
644
+ end
645
+ end
646
+
647
+ class MessagePage < Page
648
+ ##
649
+ # Initialize the MessagePage
650
+ # @param [Version] version Version that contains the resource
651
+ # @param [Response] response Response from the API
652
+ # @param [Hash] solution Path solution for the resource
653
+ # @return [MessagePage] MessagePage
654
+ def initialize(version, response, solution)
655
+ super(version, response)
656
+
657
+
658
+ # Path Solution
659
+ @solution = solution
660
+ end
661
+
662
+ ##
663
+ # Build an instance of MessageInstance
664
+ # @param [Hash] payload Payload response from the API
665
+ # @return [MessageInstance] MessageInstance
666
+ def get_instance(payload)
667
+ MessageInstance.new(@version, payload, account_sid: @solution[:account_sid])
668
+ end
669
+
670
+ ##
671
+ # Provide a user friendly representation
672
+ def to_s
673
+ '<Twilio.Api.V2010.MessagePage>'
674
+ end
675
+ end
676
+
677
+ class MessagePageMetadata < PageMetadata
678
+ attr_reader :message_page
679
+
680
+ def initialize(version, response, solution, limit)
681
+ super(version, response)
682
+ @message_page = []
683
+ @limit = limit
684
+ key = get_key(response.body)
685
+ records = 0
686
+ while( limit != :unset && records < limit )
687
+ @message_page << MessageListResponse.new(version, @payload, key, limit - records)
688
+ @payload = self.next_page
689
+ break unless @payload
690
+ records += @payload.body[key].size
691
+ end
692
+ # Path Solution
693
+ @solution = solution
694
+ end
695
+
696
+ def each
697
+ @message_page.each do |record|
698
+ yield record
699
+ end
700
+ end
701
+
702
+ def to_s
703
+ '<Twilio::REST::Api::V2010PageMetadata>';
704
+ end
705
+ end
706
+ class MessageListResponse < InstanceListResource
707
+
708
+ # @param [Array<MessageInstance>] instance
709
+ # @param [Hash{String => Object}] headers
710
+ # @param [Integer] status_code
711
+ def initialize(version, payload, key, limit = :unset)
712
+ data_list = payload.body[key]
713
+ if limit != :unset
714
+ data_list = data_list[0, limit]
715
+ end
716
+ @message = data_list.map do |data|
717
+ MessageInstance.new(version, data)
718
+ end
719
+ @headers = payload.headers
720
+ @status_code = payload.status_code
721
+ end
722
+
723
+ def message
724
+ @message
725
+ end
726
+
727
+ def headers
728
+ @headers
729
+ end
730
+
731
+ def status_code
732
+ @status_code
733
+ end
734
+ end
735
+
736
+ class MessageInstance < InstanceResource
737
+ ##
738
+ # Initialize the MessageInstance
739
+ # @param [Version] version Version that contains the resource
740
+ # @param [Hash] payload payload that contains response from Twilio
741
+ # @param [String] account_sid The SID of the
742
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Message
743
+ # resource.
744
+ # @param [String] sid The SID of the Call resource to fetch.
745
+ # @return [MessageInstance] MessageInstance
746
+ def initialize(version, payload , account_sid: nil, sid: nil)
747
+ super(version)
748
+
749
+
750
+ # Marshaled Properties
751
+ @properties = {
752
+ 'body' => payload['body'],
753
+ 'num_segments' => payload['num_segments'],
754
+ 'direction' => payload['direction'],
755
+ 'from' => payload['from'],
756
+ 'to' => payload['to'],
757
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
758
+ 'price' => payload['price'],
759
+ 'error_message' => payload['error_message'],
760
+ 'uri' => payload['uri'],
761
+ 'account_sid' => payload['account_sid'],
762
+ 'num_media' => payload['num_media'],
763
+ 'status' => payload['status'],
764
+ 'messaging_service_sid' => payload['messaging_service_sid'],
765
+ 'sid' => payload['sid'],
766
+ 'date_sent' => Twilio.deserialize_rfc2822(payload['date_sent']),
767
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
768
+ 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
769
+ 'price_unit' => payload['price_unit'],
770
+ 'api_version' => payload['api_version'],
771
+ 'subresource_uris' => payload['subresource_uris'],
772
+ }
773
+
774
+ # Context
775
+ @instance_context = nil
776
+ @params = { 'account_sid' => account_sid ,'sid' => sid || @properties['sid'] , }
777
+ end
778
+
779
+ ##
780
+ # Generate an instance context for the instance, the context is capable of
781
+ # performing various actions. All instance actions are proxied to the context
782
+ # @return [MessageContext] CallContext for this CallInstance
783
+ def context
784
+ unless @instance_context
785
+ @instance_context = MessageContext.new(@version , @params['account_sid'], @params['sid'])
786
+ end
787
+ @instance_context
788
+ end
789
+
790
+ ##
791
+ # @return [String] The text content of the message
792
+ def body
793
+ @properties['body']
794
+ end
795
+
796
+ ##
797
+ # @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.
798
+ def num_segments
799
+ @properties['num_segments']
800
+ end
801
+
802
+ ##
803
+ # @return [Direction]
804
+ def direction
805
+ @properties['direction']
806
+ end
807
+
808
+ ##
809
+ # @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.
810
+ def from
811
+ @properties['from']
812
+ end
813
+
814
+ ##
815
+ # @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`)
816
+ def to
817
+ @properties['to']
818
+ end
819
+
820
+ ##
821
+ # @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
822
+ def date_updated
823
+ @properties['date_updated']
824
+ end
825
+
826
+ ##
827
+ # @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.
828
+ def price
829
+ @properties['price']
830
+ end
831
+
832
+ ##
833
+ # @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.
834
+ def error_message
835
+ @properties['error_message']
836
+ end
837
+
838
+ ##
839
+ # @return [String] The URI of the Message resource, relative to `https://api.twilio.com`.
840
+ def uri
841
+ @properties['uri']
842
+ end
843
+
844
+ ##
845
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) associated with the Message resource
846
+ def account_sid
847
+ @properties['account_sid']
848
+ end
849
+
850
+ ##
851
+ # @return [String] The number of media files associated with the Message resource.
852
+ def num_media
853
+ @properties['num_media']
854
+ end
855
+
856
+ ##
857
+ # @return [Status]
858
+ def status
859
+ @properties['status']
860
+ end
861
+
862
+ ##
863
+ # @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.
864
+ def messaging_service_sid
865
+ @properties['messaging_service_sid']
866
+ end
867
+
868
+ ##
869
+ # @return [String] The unique, Twilio-provided string that identifies the Message resource.
870
+ def sid
871
+ @properties['sid']
872
+ end
873
+
874
+ ##
875
+ # @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.
876
+ def date_sent
877
+ @properties['date_sent']
878
+ end
879
+
880
+ ##
881
+ # @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
882
+ def date_created
883
+ @properties['date_created']
884
+ end
885
+
886
+ ##
887
+ # @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.
888
+ def error_code
889
+ @properties['error_code']
890
+ end
891
+
892
+ ##
893
+ # @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`).
894
+ def price_unit
895
+ @properties['price_unit']
896
+ end
897
+
898
+ ##
899
+ # @return [String] The API version used to process the Message
900
+ def api_version
901
+ @properties['api_version']
902
+ end
903
+
904
+ ##
905
+ # @return [Hash] A list of related resources identified by their URIs relative to `https://api.twilio.com`
906
+ def subresource_uris
907
+ @properties['subresource_uris']
908
+ end
909
+
910
+ ##
911
+ # Delete the MessageInstance
912
+ # @return [Boolean] True if delete succeeds, false otherwise
913
+ def delete
914
+
915
+ context.delete
916
+ end
917
+
918
+ ##
919
+ # Fetch the MessageInstance
920
+ # @return [MessageInstance] Fetched MessageInstance
921
+ def fetch
922
+
923
+ context.fetch
924
+ end
925
+
926
+ ##
927
+ # Update the MessageInstance
928
+ # @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
929
+ # @param [UpdateStatus] status
930
+ # @return [MessageInstance] Updated MessageInstance
931
+ def update(
932
+ body: :unset,
933
+ status: :unset
934
+ )
935
+
936
+ context.update(
937
+ body: body,
938
+ status: status,
939
+ )
940
+ end
941
+
942
+ ##
943
+ # Access the feedback
944
+ # @return [feedback] feedback
945
+ def feedback
946
+ context.feedback
947
+ end
948
+
949
+ ##
950
+ # Access the media
951
+ # @return [media] media
952
+ def media
953
+ context.media
954
+ end
955
+
956
+ ##
957
+ # Provide a user friendly representation
958
+ def to_s
959
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
960
+ "<Twilio.Api.V2010.MessageInstance #{values}>"
961
+ end
962
+
963
+ ##
964
+ # Provide a detailed, user friendly representation
965
+ def inspect
966
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
967
+ "<Twilio.Api.V2010.MessageInstance #{values}>"
968
+ end
969
+ end
970
+
971
+ end
642
972
  end
643
- end
644
973
  end
645
- end
646
974
  end
647
- end
648
- end
975
+ end
976
+
977
+