twilio-ruby 5.19.0 → 5.77.0

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 (923) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +21 -0
  4. data/.github/workflows/test-and-deploy.yml +129 -0
  5. data/.gitignore +8 -1
  6. data/.rubocop.yml +22 -6
  7. data/.rubocop_todo.yml +147 -73
  8. data/CHANGES.md +2198 -0
  9. data/CODE_OF_CONDUCT.md +73 -0
  10. data/CONTRIBUTING.md +4 -8
  11. data/Dockerfile +2 -2
  12. data/Gemfile +1 -9
  13. data/ISSUE_TEMPLATE.md +17 -13
  14. data/{LICENSE.md → LICENSE} +2 -2
  15. data/Makefile +16 -24
  16. data/PULL_REQUEST_TEMPLATE.md +30 -3
  17. data/README.md +207 -55
  18. data/Rakefile +0 -54
  19. data/VERSIONS.md +9 -10
  20. data/advanced-examples/custom-http-client.md +170 -0
  21. data/examples/examples.rb +1 -1
  22. data/githooks/pre-commit +0 -0
  23. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  24. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -1
  25. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -3
  26. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  27. data/lib/twilio-ruby/http/http_client.rb +34 -15
  28. data/lib/twilio-ruby/http.rb +5 -0
  29. data/lib/twilio-ruby/jwt/access_token.rb +20 -2
  30. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  31. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  32. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  33. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -53
  34. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
  35. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -5
  36. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  37. data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
  38. data/lib/twilio-ruby/rest/accounts.rb +13 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +40 -38
  40. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +133 -123
  41. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +182 -182
  42. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +35 -32
  43. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +171 -180
  44. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +189 -87
  45. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +168 -174
  46. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +189 -87
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +189 -87
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +168 -174
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +189 -87
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +28 -23
  51. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +3 -9
  52. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +59 -66
  54. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +32 -36
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +76 -73
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +404 -188
  63. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +374 -201
  64. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +58 -63
  65. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +39 -30
  66. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +80 -71
  67. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +48 -41
  68. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +53 -54
  69. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +179 -127
  70. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +178 -127
  71. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +178 -127
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +314 -292
  73. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
  74. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +25 -20
  75. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +35 -36
  76. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +234 -209
  77. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +11 -15
  78. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +11 -15
  79. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +47 -55
  80. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +56 -61
  81. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +43 -40
  82. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +60 -70
  83. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
  84. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
  85. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +55 -42
  86. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -72
  87. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +18 -23
  88. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +28 -38
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +23 -33
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +48 -51
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +48 -51
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +15 -15
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +48 -51
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +13 -13
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +11 -11
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +34 -40
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +33 -39
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +175 -105
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +29 -39
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +27 -37
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +3 -2
  103. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +16 -19
  104. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +44 -41
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +71 -51
  106. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +71 -51
  107. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +71 -54
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +71 -51
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +71 -51
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +71 -51
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +71 -51
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +71 -51
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +68 -54
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +107 -114
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +3 -2
  116. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
  117. data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -28
  118. data/lib/twilio-ruby/rest/api/v2010.rb +6 -5
  119. data/lib/twilio-ruby/rest/api.rb +26 -22
  120. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
  121. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
  122. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -60
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -61
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -60
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +111 -93
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -53
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +89 -86
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -32
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +37 -30
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -76
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -102
  134. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1.rb +15 -7
  136. data/lib/twilio-ruby/rest/autopilot.rb +8 -2
  137. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export/day.rb +100 -25
  138. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  139. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  140. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export.rb +72 -32
  141. data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export_configuration.rb +42 -43
  142. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  143. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  144. data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
  145. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
  146. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
  147. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +82 -74
  148. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +84 -76
  149. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
  150. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
  151. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +75 -82
  152. data/lib/twilio-ruby/rest/chat/v1/service.rb +340 -359
  153. data/lib/twilio-ruby/rest/chat/v1.rb +15 -11
  154. data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
  155. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
  156. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
  157. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +162 -154
  158. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +144 -136
  159. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
  160. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +136 -119
  161. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
  162. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
  163. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +101 -53
  164. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +94 -89
  165. data/lib/twilio-ruby/rest/chat/v2/service.rb +228 -189
  166. data/lib/twilio-ruby/rest/chat/v2.rb +13 -11
  167. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  168. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  169. data/lib/twilio-ruby/rest/chat.rb +19 -3
  170. data/lib/twilio-ruby/rest/client.rb +218 -75
  171. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  172. data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → content/v1/content.rb} +107 -149
  173. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +240 -0
  174. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +254 -0
  175. data/lib/twilio-ruby/rest/content/v1.rb +59 -0
  176. data/lib/twilio-ruby/rest/content.rb +59 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +517 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +600 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +323 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +286 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +563 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  196. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +633 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  201. data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +171 -92
  202. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  204. data/lib/twilio-ruby/rest/conversations/v1.rb +143 -0
  205. data/lib/twilio-ruby/rest/conversations.rb +104 -0
  206. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  207. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → events/v1/schema/version.rb} +85 -110
  208. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  209. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  210. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  211. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  212. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  213. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  214. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  215. data/lib/twilio-ruby/rest/events.rb +72 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +397 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +504 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +314 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +216 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +394 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +313 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +390 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +413 -0
  226. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +198 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +144 -0
  228. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +130 -0
  229. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +174 -0
  230. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  231. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  233. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  234. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  235. data/lib/twilio-ruby/rest/flex_api/v1.rb +221 -0
  236. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  237. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  238. data/lib/twilio-ruby/rest/flex_api.rb +169 -0
  239. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  240. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  241. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  242. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  243. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  244. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  245. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +321 -0
  246. data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
  247. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +447 -0
  248. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  249. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  250. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  251. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  252. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  253. data/lib/twilio-ruby/rest/insights/v1.rb +58 -11
  254. data/lib/twilio-ruby/rest/insights.rb +34 -6
  255. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
  256. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
  257. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
  258. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +42 -62
  259. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +52 -71
  260. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +48 -77
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +71 -205
  264. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +15 -13
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
  267. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +86 -154
  269. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +88 -134
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +87 -120
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +69 -88
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +80 -130
  277. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +15 -13
  278. data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
  279. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
  280. data/lib/twilio-ruby/rest/lookups/v1.rb +9 -6
  281. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +343 -0
  282. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  283. data/lib/twilio-ruby/rest/lookups.rb +11 -4
  284. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  285. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  286. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  287. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  288. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  289. data/lib/twilio-ruby/rest/media.rb +65 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +134 -0
  291. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  292. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +476 -0
  293. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  294. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  295. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +242 -0
  296. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +226 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  298. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +218 -0
  299. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
  300. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
  301. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +40 -48
  302. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  304. data/lib/twilio-ruby/rest/messaging/v1/service.rb +272 -128
  305. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +723 -0
  306. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  307. data/lib/twilio-ruby/rest/messaging/v1.rb +135 -6
  308. data/lib/twilio-ruby/rest/messaging.rb +73 -2
  309. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +317 -0
  310. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +310 -0
  311. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +192 -0
  312. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +330 -0
  313. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +342 -0
  314. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +335 -0
  315. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +393 -0
  316. data/lib/twilio-ruby/rest/microvisor/v1.rb +92 -0
  317. data/lib/twilio-ruby/rest/microvisor.rb +70 -0
  318. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
  319. data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
  320. data/lib/twilio-ruby/rest/monitor/v1.rb +13 -11
  321. data/lib/twilio-ruby/rest/monitor.rb +5 -3
  322. data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
  323. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
  324. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +127 -125
  325. data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
  326. data/lib/twilio-ruby/rest/notify/v1.rb +15 -11
  327. data/lib/twilio-ruby/rest/notify.rb +5 -3
  328. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +111 -0
  329. data/lib/twilio-ruby/rest/numbers/v1.rb +35 -0
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +614 -0
  335. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
  336. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  337. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  338. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +378 -0
  339. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  340. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  341. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  342. data/lib/twilio-ruby/rest/numbers.rb +57 -0
  343. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  344. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  345. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  346. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  347. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  348. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  349. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  350. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
  351. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
  352. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
  353. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
  354. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
  355. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +6 -5
  356. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +17 -16
  357. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
  358. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +34 -44
  359. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +11 -9
  360. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
  361. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
  362. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
  363. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
  364. data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
  365. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
  366. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +37 -40
  368. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
  369. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
  370. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
  371. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
  372. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
  373. data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
  374. data/lib/twilio-ruby/rest/preview/sync.rb +6 -5
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
  383. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
  384. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
  385. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
  386. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +13 -12
  387. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
  388. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
  389. data/lib/twilio-ruby/rest/preview/understand.rb +6 -5
  390. data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
  391. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +26 -36
  392. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
  393. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
  394. data/lib/twilio-ruby/rest/preview/wireless.rb +16 -13
  395. data/lib/twilio-ruby/rest/preview.rb +6 -35
  396. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
  397. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
  398. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
  399. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
  400. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
  401. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
  402. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
  403. data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
  404. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  405. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  406. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
  407. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
  408. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
  409. data/lib/twilio-ruby/rest/pricing/v2.rb +38 -1
  410. data/lib/twilio-ruby/rest/pricing.rb +20 -1
  411. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +69 -68
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +56 -55
  413. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
  414. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +60 -62
  415. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +86 -96
  416. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
  417. data/lib/twilio-ruby/rest/proxy/v1/service.rb +153 -119
  418. data/lib/twilio-ruby/rest/proxy/v1.rb +8 -6
  419. data/lib/twilio-ruby/rest/proxy.rb +3 -2
  420. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  421. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  422. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  423. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  424. data/lib/twilio-ruby/rest/routes.rb +62 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  426. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  428. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  432. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  435. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  436. data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +183 -158
  437. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  438. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  439. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
  443. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +88 -65
  447. data/lib/twilio-ruby/rest/studio/v1/flow.rb +31 -32
  448. data/lib/twilio-ruby/rest/studio/v1.rb +7 -6
  449. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  453. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
  454. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  455. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  457. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  458. data/lib/twilio-ruby/rest/studio.rb +19 -5
  459. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +392 -0
  460. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +493 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +419 -0
  462. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  463. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  464. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  465. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  466. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  467. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  468. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +463 -0
  469. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  470. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +352 -0
  471. data/lib/twilio-ruby/rest/supersim/v1.rb +154 -0
  472. data/lib/twilio-ruby/rest/supersim.rb +112 -0
  473. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
  474. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +71 -75
  475. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +142 -122
  476. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
  477. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +64 -70
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +146 -129
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +65 -72
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +57 -67
  483. data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
  484. data/lib/twilio-ruby/rest/sync/v1.rb +7 -6
  485. data/lib/twilio-ruby/rest/sync.rb +3 -2
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +83 -77
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +316 -205
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +220 -179
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +78 -61
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +95 -81
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +63 -33
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +129 -126
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +309 -161
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +59 -62
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +49 -45
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +28 -20
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +155 -123
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +85 -72
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +44 -28
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +109 -108
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +74 -67
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +37 -27
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +140 -128
  511. data/lib/twilio-ruby/rest/taskrouter/v1.rb +7 -6
  512. data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
  513. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
  514. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
  515. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +76 -85
  516. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
  517. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +165 -136
  519. data/lib/twilio-ruby/rest/trunking/v1.rb +8 -7
  520. data/lib/twilio-ruby/rest/trunking.rb +3 -3
  521. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  522. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  523. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  524. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  525. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  526. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  527. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  528. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  529. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  530. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  531. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  532. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  533. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  534. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  535. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  536. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +26 -25
  537. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  538. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +261 -0
  539. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  540. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +543 -0
  541. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +116 -124
  542. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  543. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +96 -47
  544. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  545. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  546. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  547. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +379 -0
  548. data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +66 -39
  549. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +419 -0
  550. data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
  551. data/lib/twilio-ruby/rest/verify/v2/template.rb +213 -0
  552. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  553. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  554. data/lib/twilio-ruby/rest/verify/v2.rb +110 -0
  555. data/lib/twilio-ruby/rest/verify.rb +48 -9
  556. data/lib/twilio-ruby/rest/video/v1/composition.rb +149 -144
  557. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +268 -232
  558. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
  559. data/lib/twilio-ruby/rest/video/v1/recording.rb +104 -77
  560. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
  561. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +73 -55
  562. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  563. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
  564. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  565. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
  566. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +120 -77
  567. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  568. data/lib/twilio-ruby/rest/video/v1/room.rb +176 -86
  569. data/lib/twilio-ruby/rest/video/v1.rb +25 -24
  570. data/lib/twilio-ruby/rest/video.rb +9 -9
  571. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  572. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  573. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  574. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  575. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +6 -11
  576. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
  577. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +45 -44
  578. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  579. data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
  580. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  581. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  582. data/lib/twilio-ruby/rest/voice/v1.rb +94 -5
  583. data/lib/twilio-ruby/rest/voice.rb +48 -4
  584. data/lib/twilio-ruby/rest/wireless/v1/command.rb +74 -77
  585. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +89 -91
  586. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +39 -42
  587. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
  588. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +179 -161
  589. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  590. data/lib/twilio-ruby/rest/wireless/v1.rb +26 -18
  591. data/lib/twilio-ruby/rest/wireless.rb +10 -4
  592. data/lib/twilio-ruby/rest.rb +13 -0
  593. data/lib/twilio-ruby/security/request_validator.rb +64 -11
  594. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  595. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  596. data/lib/twilio-ruby/twiml/twiml.rb +4 -0
  597. data/lib/twilio-ruby/twiml/voice_response.rb +1156 -172
  598. data/lib/twilio-ruby/util/configuration.rb +22 -5
  599. data/lib/twilio-ruby/version.rb +1 -1
  600. data/lib/twilio-ruby.rb +9 -25
  601. data/sonar-project.properties +13 -0
  602. data/twilio-ruby.gemspec +12 -7
  603. metadata +355 -656
  604. data/.travis.yml +0 -26
  605. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -398
  606. data/lib/twilio-ruby/rest/authy/v1.rb +0 -59
  607. data/lib/twilio-ruby/rest/authy.rb +0 -55
  608. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -531
  609. data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
  610. data/lib/twilio-ruby/rest/fax.rb +0 -46
  611. data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -286
  612. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  613. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  614. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  615. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  616. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -206
  617. data/lib/twilio-ruby/rest/verify/v1.rb +0 -43
  618. data/spec/framework/request_spec.rb +0 -36
  619. data/spec/framework/serialize_spec.rb +0 -80
  620. data/spec/holodeck/holodeck.rb +0 -61
  621. data/spec/holodeck/hologram.rb +0 -4
  622. data/spec/http/http_client_spec.rb +0 -122
  623. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  624. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  625. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  626. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  627. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  628. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  629. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  630. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  631. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  632. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  633. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  634. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  635. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  636. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  637. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  638. data/spec/integration/api/v2010/account/balance_spec.rb +0 -45
  639. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  640. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  641. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  642. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  643. data/spec/integration/api/v2010/account/call_spec.rb +0 -314
  644. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -350
  645. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -237
  646. data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
  647. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
  648. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  649. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  650. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  651. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  652. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  653. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  654. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  655. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  656. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  657. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  658. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  659. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  660. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  661. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  662. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
  663. data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
  664. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  665. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  666. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  667. data/spec/integration/api/v2010/account/recording_spec.rb +0 -187
  668. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  669. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  670. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  671. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  672. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -220
  673. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -220
  674. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  675. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -220
  676. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  677. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  678. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  679. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  680. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -295
  681. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  682. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  683. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  684. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  685. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  686. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  687. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  688. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  689. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  690. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  691. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  692. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  693. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  694. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  695. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  696. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  697. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  698. data/spec/integration/api/v2010/account_spec.rb +0 -275
  699. data/spec/integration/authy/v1/form_spec.rb +0 -48
  700. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -262
  701. data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
  702. data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
  703. data/spec/integration/authy/v1/service_spec.rb +0 -227
  704. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -81
  705. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -47
  706. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -210
  707. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -246
  708. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -241
  709. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -306
  710. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -81
  711. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -207
  712. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -253
  713. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -87
  714. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -50
  715. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -262
  716. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -270
  717. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  718. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  719. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  720. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  721. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  722. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  723. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  724. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  725. data/spec/integration/chat/v1/service_spec.rb +0 -299
  726. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  727. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  728. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  729. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -261
  730. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  731. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  732. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  733. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  734. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  735. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -192
  736. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  737. data/spec/integration/chat/v2/service_spec.rb +0 -354
  738. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  739. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  740. data/spec/integration/insights/v1/summary_spec.rb +0 -60
  741. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  742. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  743. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  744. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  745. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  746. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  747. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  748. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  749. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  750. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  751. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  752. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  753. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -261
  754. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  755. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  756. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  757. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  758. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  759. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -192
  760. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  761. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  762. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
  763. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  764. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  765. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  766. data/spec/integration/messaging/v1/service_spec.rb +0 -271
  767. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  768. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  769. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  770. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  771. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  772. data/spec/integration/notify/v1/service_spec.rb +0 -286
  773. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  774. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  775. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  776. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  777. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  778. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  779. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  780. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  781. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  782. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  783. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  784. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  785. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  786. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  787. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  788. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  789. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  790. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  791. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  792. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  793. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  794. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  795. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  796. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  797. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  798. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  799. data/spec/integration/preview/sync/service_spec.rb +0 -246
  800. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -81
  801. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -81
  802. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -47
  803. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  804. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  805. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  806. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  807. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -81
  808. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -207
  809. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -253
  810. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -87
  811. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -50
  812. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -262
  813. data/spec/integration/preview/understand/assistant_spec.rb +0 -274
  814. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  815. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  816. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  817. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  818. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  819. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  820. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  821. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  822. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  823. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  824. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  825. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -181
  826. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -62
  827. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  828. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -232
  829. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  830. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  831. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -243
  832. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  833. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -229
  834. data/spec/integration/proxy/v1/service_spec.rb +0 -218
  835. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  836. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  837. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  838. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  839. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  840. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  841. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  842. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  843. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  844. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  845. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  846. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  847. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  848. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  849. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  850. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  851. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  852. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  853. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  854. data/spec/integration/sync/v1/service_spec.rb +0 -254
  855. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  856. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
  857. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -225
  858. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -310
  859. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  860. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
  861. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  862. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  863. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -294
  864. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  865. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  866. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  867. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  868. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  869. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  870. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  871. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  872. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  873. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  874. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  875. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  876. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  877. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  878. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  879. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  880. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  881. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  882. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  883. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  884. data/spec/integration/trunking/v1/trunk_spec.rb +0 -362
  885. data/spec/integration/verify/v1/service/verification_check_spec.rb +0 -52
  886. data/spec/integration/verify/v1/service/verification_spec.rb +0 -61
  887. data/spec/integration/verify/v1/service_spec.rb +0 -227
  888. data/spec/integration/video/v1/composition_hook_spec.rb +0 -410
  889. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  890. data/spec/integration/video/v1/composition_spec.rb +0 -325
  891. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  892. data/spec/integration/video/v1/recording_spec.rb +0 -179
  893. data/spec/integration/video/v1/room/recording_spec.rb +0 -188
  894. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  895. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
  896. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  897. data/spec/integration/video/v1/room_spec.rb +0 -257
  898. data/spec/integration/voice/v1/voice_permission/bulk_country_update_spec.rb +0 -45
  899. data/spec/integration/voice/v1/voice_permission/country/highrisk_special_prefix_spec.rb +0 -61
  900. data/spec/integration/voice/v1/voice_permission/country_spec.rb +0 -112
  901. data/spec/integration/voice/v1/voice_permission_spec.rb +0 -12
  902. data/spec/integration/wireless/v1/command_spec.rb +0 -289
  903. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  904. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
  905. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  906. data/spec/integration/wireless/v1/sim_spec.rb +0 -242
  907. data/spec/jwt/access_token_spec.rb +0 -151
  908. data/spec/jwt/client_capability_spec.rb +0 -104
  909. data/spec/jwt/task_router_spec.rb +0 -172
  910. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  911. data/spec/rest/client_spec.rb +0 -61
  912. data/spec/security/request_validator_spec.rb +0 -86
  913. data/spec/spec_helper.rb +0 -38
  914. data/spec/support/fakeweb.rb +0 -2
  915. data/spec/twilio_spec.rb +0 -15
  916. data/spec/twiml/messaging_response_spec.rb +0 -235
  917. data/spec/twiml/voice_response_spec.rb +0 -847
  918. data/spec/util/configuration_spec.rb +0 -15
  919. data/spec/util/url_encode_spec.rb +0 -12
  920. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  921. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  922. /data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  923. /data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
@@ -0,0 +1,517 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Conversations < Domain
12
+ class V1 < Version
13
+ class ConversationContext < InstanceContext
14
+ class MessageList < ListResource
15
+ ##
16
+ # Initialize the MessageList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] conversation_sid The unique ID of the
19
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
20
+ # for this message.
21
+ # @return [MessageList] MessageList
22
+ def initialize(version, conversation_sid: nil)
23
+ super(version)
24
+
25
+ # Path Solution
26
+ @solution = {conversation_sid: conversation_sid}
27
+ @uri = "/Conversations/#{@solution[:conversation_sid]}/Messages"
28
+ end
29
+
30
+ ##
31
+ # Create the MessageInstance
32
+ # @param [String] author The channel specific identifier of the message's author.
33
+ # Defaults to `system`.
34
+ # @param [String] body The content of the message, can be up to 1,600 characters
35
+ # long.
36
+ # @param [Time] date_created The date that this resource was created.
37
+ # @param [Time] date_updated The date that this resource was last updated. `null`
38
+ # if the message has not been edited.
39
+ # @param [String] attributes A string metadata field you can use to store any data
40
+ # you wish. The string value must contain structurally valid JSON if specified.
41
+ # **Note** that if the attributes are not set "{}" will be returned.
42
+ # @param [String] media_sid The Media SID to be attached to the new Message.
43
+ # @param [String] content_sid The unique ID of the multi-channel {Rich
44
+ # Content}[https://www.twilio.com/docs/content-api] template, required for
45
+ # template-generated messages. **Note** that if this field is set, `Body` and
46
+ # `MediaSid` parameters are ignored.
47
+ # @param [String] content_variables A structurally valid JSON string that contains
48
+ # values to resolve Rich Content template variables.
49
+ # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
50
+ # X-Twilio-Webhook-Enabled HTTP request header
51
+ # @return [MessageInstance] Created MessageInstance
52
+ def create(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, media_sid: :unset, content_sid: :unset, content_variables: :unset, x_twilio_webhook_enabled: :unset)
53
+ data = Twilio::Values.of({
54
+ 'Author' => author,
55
+ 'Body' => body,
56
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
57
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
58
+ 'Attributes' => attributes,
59
+ 'MediaSid' => media_sid,
60
+ 'ContentSid' => content_sid,
61
+ 'ContentVariables' => content_variables,
62
+ })
63
+ headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
64
+
65
+ payload = @version.create('POST', @uri, data: data, headers: headers)
66
+
67
+ MessageInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid], )
68
+ end
69
+
70
+ ##
71
+ # Lists MessageInstance records from the API as a list.
72
+ # Unlike stream(), this operation is eager and will load `limit` records into
73
+ # memory before returning.
74
+ # @param [message.OrderType] order The sort order of the returned messages. Can
75
+ # be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
76
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
77
+ # guarantees to never return more than limit. Default is no limit
78
+ # @param [Integer] page_size Number of records to fetch per request, when
79
+ # not set will use the default value of 50 records. If no page_size is defined
80
+ # but a limit is defined, stream() will attempt to read the limit with the most
81
+ # efficient page size, i.e. min(limit, 1000)
82
+ # @return [Array] Array of up to limit results
83
+ def list(order: :unset, limit: nil, page_size: nil)
84
+ self.stream(order: order, limit: limit, page_size: page_size).entries
85
+ end
86
+
87
+ ##
88
+ # Streams MessageInstance records from the API as an Enumerable.
89
+ # This operation lazily loads records as efficiently as possible until the limit
90
+ # is reached.
91
+ # @param [message.OrderType] order The sort order of the returned messages. Can
92
+ # be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
93
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
94
+ # guarantees to never return more than limit. Default is no limit.
95
+ # @param [Integer] page_size Number of records to fetch per request, when
96
+ # not set will use the default value of 50 records. If no page_size is defined
97
+ # but a limit is defined, stream() will attempt to read the limit with the most
98
+ # efficient page size, i.e. min(limit, 1000)
99
+ # @return [Enumerable] Enumerable that will yield up to limit results
100
+ def stream(order: :unset, limit: nil, page_size: nil)
101
+ limits = @version.read_limits(limit, page_size)
102
+
103
+ page = self.page(order: order, page_size: limits[:page_size], )
104
+
105
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
106
+ end
107
+
108
+ ##
109
+ # When passed a block, yields MessageInstance records from the API.
110
+ # This operation lazily loads records as efficiently as possible until the limit
111
+ # is reached.
112
+ def each
113
+ limits = @version.read_limits
114
+
115
+ page = self.page(page_size: limits[:page_size], )
116
+
117
+ @version.stream(page,
118
+ limit: limits[:limit],
119
+ page_limit: limits[:page_limit]).each {|x| yield x}
120
+ end
121
+
122
+ ##
123
+ # Retrieve a single page of MessageInstance records from the API.
124
+ # Request is executed immediately.
125
+ # @param [message.OrderType] order The sort order of the returned messages. Can
126
+ # be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
127
+ # @param [String] page_token PageToken provided by the API
128
+ # @param [Integer] page_number Page Number, this value is simply for client state
129
+ # @param [Integer] page_size Number of records to return, defaults to 50
130
+ # @return [Page] Page of MessageInstance
131
+ def page(order: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
132
+ params = Twilio::Values.of({
133
+ 'Order' => order,
134
+ 'PageToken' => page_token,
135
+ 'Page' => page_number,
136
+ 'PageSize' => page_size,
137
+ })
138
+
139
+ response = @version.page('GET', @uri, params: params)
140
+
141
+ MessagePage.new(@version, response, @solution)
142
+ end
143
+
144
+ ##
145
+ # Retrieve a single page of MessageInstance records from the API.
146
+ # Request is executed immediately.
147
+ # @param [String] target_url API-generated URL for the requested results page
148
+ # @return [Page] Page of MessageInstance
149
+ def get_page(target_url)
150
+ response = @version.domain.request(
151
+ 'GET',
152
+ target_url
153
+ )
154
+ MessagePage.new(@version, response, @solution)
155
+ end
156
+
157
+ ##
158
+ # Provide a user friendly representation
159
+ def to_s
160
+ '#<Twilio.Conversations.V1.MessageList>'
161
+ end
162
+ end
163
+
164
+ class MessagePage < Page
165
+ ##
166
+ # Initialize the MessagePage
167
+ # @param [Version] version Version that contains the resource
168
+ # @param [Response] response Response from the API
169
+ # @param [Hash] solution Path solution for the resource
170
+ # @return [MessagePage] MessagePage
171
+ def initialize(version, response, solution)
172
+ super(version, response)
173
+
174
+ # Path Solution
175
+ @solution = solution
176
+ end
177
+
178
+ ##
179
+ # Build an instance of MessageInstance
180
+ # @param [Hash] payload Payload response from the API
181
+ # @return [MessageInstance] MessageInstance
182
+ def get_instance(payload)
183
+ MessageInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid], )
184
+ end
185
+
186
+ ##
187
+ # Provide a user friendly representation
188
+ def to_s
189
+ '<Twilio.Conversations.V1.MessagePage>'
190
+ end
191
+ end
192
+
193
+ class MessageContext < InstanceContext
194
+ ##
195
+ # Initialize the MessageContext
196
+ # @param [Version] version Version that contains the resource
197
+ # @param [String] conversation_sid The unique ID of the
198
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
199
+ # for this message.
200
+ # @param [String] sid A 34 character string that uniquely identifies this
201
+ # resource.
202
+ # @return [MessageContext] MessageContext
203
+ def initialize(version, conversation_sid, sid)
204
+ super(version)
205
+
206
+ # Path Solution
207
+ @solution = {conversation_sid: conversation_sid, sid: sid, }
208
+ @uri = "/Conversations/#{@solution[:conversation_sid]}/Messages/#{@solution[:sid]}"
209
+
210
+ # Dependents
211
+ @delivery_receipts = nil
212
+ end
213
+
214
+ ##
215
+ # Update the MessageInstance
216
+ # @param [String] author The channel specific identifier of the message's author.
217
+ # Defaults to `system`.
218
+ # @param [String] body The content of the message, can be up to 1,600 characters
219
+ # long.
220
+ # @param [Time] date_created The date that this resource was created.
221
+ # @param [Time] date_updated The date that this resource was last updated. `null`
222
+ # if the message has not been edited.
223
+ # @param [String] attributes A string metadata field you can use to store any data
224
+ # you wish. The string value must contain structurally valid JSON if specified.
225
+ # **Note** that if the attributes are not set "{}" will be returned.
226
+ # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
227
+ # X-Twilio-Webhook-Enabled HTTP request header
228
+ # @return [MessageInstance] Updated MessageInstance
229
+ def update(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, x_twilio_webhook_enabled: :unset)
230
+ data = Twilio::Values.of({
231
+ 'Author' => author,
232
+ 'Body' => body,
233
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
234
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
235
+ 'Attributes' => attributes,
236
+ })
237
+ headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
238
+
239
+ payload = @version.update('POST', @uri, data: data, headers: headers)
240
+
241
+ MessageInstance.new(
242
+ @version,
243
+ payload,
244
+ conversation_sid: @solution[:conversation_sid],
245
+ sid: @solution[:sid],
246
+ )
247
+ end
248
+
249
+ ##
250
+ # Delete the MessageInstance
251
+ # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
252
+ # X-Twilio-Webhook-Enabled HTTP request header
253
+ # @return [Boolean] true if delete succeeds, false otherwise
254
+ def delete(x_twilio_webhook_enabled: :unset)
255
+ headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
256
+
257
+ @version.delete('DELETE', @uri, headers: headers)
258
+ end
259
+
260
+ ##
261
+ # Fetch the MessageInstance
262
+ # @return [MessageInstance] Fetched MessageInstance
263
+ def fetch
264
+ payload = @version.fetch('GET', @uri)
265
+
266
+ MessageInstance.new(
267
+ @version,
268
+ payload,
269
+ conversation_sid: @solution[:conversation_sid],
270
+ sid: @solution[:sid],
271
+ )
272
+ end
273
+
274
+ ##
275
+ # Access the delivery_receipts
276
+ # @return [DeliveryReceiptList]
277
+ # @return [DeliveryReceiptContext] if sid was passed.
278
+ def delivery_receipts(sid=:unset)
279
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
280
+
281
+ if sid != :unset
282
+ return DeliveryReceiptContext.new(@version, @solution[:conversation_sid], @solution[:sid], sid, )
283
+ end
284
+
285
+ unless @delivery_receipts
286
+ @delivery_receipts = DeliveryReceiptList.new(
287
+ @version,
288
+ conversation_sid: @solution[:conversation_sid],
289
+ message_sid: @solution[:sid],
290
+ )
291
+ end
292
+
293
+ @delivery_receipts
294
+ end
295
+
296
+ ##
297
+ # Provide a user friendly representation
298
+ def to_s
299
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
300
+ "#<Twilio.Conversations.V1.MessageContext #{context}>"
301
+ end
302
+
303
+ ##
304
+ # Provide a detailed, user friendly representation
305
+ def inspect
306
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
307
+ "#<Twilio.Conversations.V1.MessageContext #{context}>"
308
+ end
309
+ end
310
+
311
+ class MessageInstance < InstanceResource
312
+ ##
313
+ # Initialize the MessageInstance
314
+ # @param [Version] version Version that contains the resource
315
+ # @param [Hash] payload payload that contains response from Twilio
316
+ # @param [String] conversation_sid The unique ID of the
317
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
318
+ # for this message.
319
+ # @param [String] sid A 34 character string that uniquely identifies this
320
+ # resource.
321
+ # @return [MessageInstance] MessageInstance
322
+ def initialize(version, payload, conversation_sid: nil, sid: nil)
323
+ super(version)
324
+
325
+ # Marshaled Properties
326
+ @properties = {
327
+ 'account_sid' => payload['account_sid'],
328
+ 'conversation_sid' => payload['conversation_sid'],
329
+ 'sid' => payload['sid'],
330
+ 'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
331
+ 'author' => payload['author'],
332
+ 'body' => payload['body'],
333
+ 'media' => payload['media'],
334
+ 'attributes' => payload['attributes'],
335
+ 'participant_sid' => payload['participant_sid'],
336
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
337
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
338
+ 'url' => payload['url'],
339
+ 'delivery' => payload['delivery'],
340
+ 'links' => payload['links'],
341
+ 'content_sid' => payload['content_sid'],
342
+ }
343
+
344
+ # Context
345
+ @instance_context = nil
346
+ @params = {'conversation_sid' => conversation_sid, 'sid' => sid || @properties['sid'], }
347
+ end
348
+
349
+ ##
350
+ # Generate an instance context for the instance, the context is capable of
351
+ # performing various actions. All instance actions are proxied to the context
352
+ # @return [MessageContext] MessageContext for this MessageInstance
353
+ def context
354
+ unless @instance_context
355
+ @instance_context = MessageContext.new(@version, @params['conversation_sid'], @params['sid'], )
356
+ end
357
+ @instance_context
358
+ end
359
+
360
+ ##
361
+ # @return [String] The unique ID of the Account responsible for this message.
362
+ def account_sid
363
+ @properties['account_sid']
364
+ end
365
+
366
+ ##
367
+ # @return [String] The unique ID of the Conversation for this message.
368
+ def conversation_sid
369
+ @properties['conversation_sid']
370
+ end
371
+
372
+ ##
373
+ # @return [String] A 34 character string that uniquely identifies this resource.
374
+ def sid
375
+ @properties['sid']
376
+ end
377
+
378
+ ##
379
+ # @return [String] The index of the message within the Conversation.
380
+ def index
381
+ @properties['index']
382
+ end
383
+
384
+ ##
385
+ # @return [String] The channel specific identifier of the message's author.
386
+ def author
387
+ @properties['author']
388
+ end
389
+
390
+ ##
391
+ # @return [String] The content of the message.
392
+ def body
393
+ @properties['body']
394
+ end
395
+
396
+ ##
397
+ # @return [Array[Hash]] An array of objects that describe the Message's media if attached, otherwise, null.
398
+ def media
399
+ @properties['media']
400
+ end
401
+
402
+ ##
403
+ # @return [String] A string metadata field you can use to store any data you wish.
404
+ def attributes
405
+ @properties['attributes']
406
+ end
407
+
408
+ ##
409
+ # @return [String] The unique ID of messages's author participant.
410
+ def participant_sid
411
+ @properties['participant_sid']
412
+ end
413
+
414
+ ##
415
+ # @return [Time] The date that this resource was created.
416
+ def date_created
417
+ @properties['date_created']
418
+ end
419
+
420
+ ##
421
+ # @return [Time] The date that this resource was last updated.
422
+ def date_updated
423
+ @properties['date_updated']
424
+ end
425
+
426
+ ##
427
+ # @return [String] An absolute API URL for this message.
428
+ def url
429
+ @properties['url']
430
+ end
431
+
432
+ ##
433
+ # @return [Hash] An object that contains the summary of delivery statuses for the message to non-chat participants.
434
+ def delivery
435
+ @properties['delivery']
436
+ end
437
+
438
+ ##
439
+ # @return [String] Absolute URL to access the receipts of this message.
440
+ def links
441
+ @properties['links']
442
+ end
443
+
444
+ ##
445
+ # @return [String] The unique ID of the multi-channel Rich Content template.
446
+ def content_sid
447
+ @properties['content_sid']
448
+ end
449
+
450
+ ##
451
+ # Update the MessageInstance
452
+ # @param [String] author The channel specific identifier of the message's author.
453
+ # Defaults to `system`.
454
+ # @param [String] body The content of the message, can be up to 1,600 characters
455
+ # long.
456
+ # @param [Time] date_created The date that this resource was created.
457
+ # @param [Time] date_updated The date that this resource was last updated. `null`
458
+ # if the message has not been edited.
459
+ # @param [String] attributes A string metadata field you can use to store any data
460
+ # you wish. The string value must contain structurally valid JSON if specified.
461
+ # **Note** that if the attributes are not set "{}" will be returned.
462
+ # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
463
+ # X-Twilio-Webhook-Enabled HTTP request header
464
+ # @return [MessageInstance] Updated MessageInstance
465
+ def update(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, x_twilio_webhook_enabled: :unset)
466
+ context.update(
467
+ author: author,
468
+ body: body,
469
+ date_created: date_created,
470
+ date_updated: date_updated,
471
+ attributes: attributes,
472
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
473
+ )
474
+ end
475
+
476
+ ##
477
+ # Delete the MessageInstance
478
+ # @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
479
+ # X-Twilio-Webhook-Enabled HTTP request header
480
+ # @return [Boolean] true if delete succeeds, false otherwise
481
+ def delete(x_twilio_webhook_enabled: :unset)
482
+ context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
483
+ end
484
+
485
+ ##
486
+ # Fetch the MessageInstance
487
+ # @return [MessageInstance] Fetched MessageInstance
488
+ def fetch
489
+ context.fetch
490
+ end
491
+
492
+ ##
493
+ # Access the delivery_receipts
494
+ # @return [delivery_receipts] delivery_receipts
495
+ def delivery_receipts
496
+ context.delivery_receipts
497
+ end
498
+
499
+ ##
500
+ # Provide a user friendly representation
501
+ def to_s
502
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
503
+ "<Twilio.Conversations.V1.MessageInstance #{values}>"
504
+ end
505
+
506
+ ##
507
+ # Provide a detailed, user friendly representation
508
+ def inspect
509
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
510
+ "<Twilio.Conversations.V1.MessageInstance #{values}>"
511
+ end
512
+ end
513
+ end
514
+ end
515
+ end
516
+ end
517
+ end