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,286 @@
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 ServiceContext < InstanceContext
14
+ class ConfigurationList < ListResource
15
+ ##
16
+ # Initialize the ConfigurationList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] chat_service_sid The unique string that we created to identify
19
+ # the Service configuration resource.
20
+ # @return [ConfigurationList] ConfigurationList
21
+ def initialize(version, chat_service_sid: nil)
22
+ super(version)
23
+
24
+ # Path Solution
25
+ @solution = {chat_service_sid: chat_service_sid}
26
+ end
27
+
28
+ ##
29
+ # Provide a user friendly representation
30
+ def to_s
31
+ '#<Twilio.Conversations.V1.ConfigurationList>'
32
+ end
33
+ end
34
+
35
+ class ConfigurationPage < Page
36
+ ##
37
+ # Initialize the ConfigurationPage
38
+ # @param [Version] version Version that contains the resource
39
+ # @param [Response] response Response from the API
40
+ # @param [Hash] solution Path solution for the resource
41
+ # @return [ConfigurationPage] ConfigurationPage
42
+ def initialize(version, response, solution)
43
+ super(version, response)
44
+
45
+ # Path Solution
46
+ @solution = solution
47
+ end
48
+
49
+ ##
50
+ # Build an instance of ConfigurationInstance
51
+ # @param [Hash] payload Payload response from the API
52
+ # @return [ConfigurationInstance] ConfigurationInstance
53
+ def get_instance(payload)
54
+ ConfigurationInstance.new(@version, payload, chat_service_sid: @solution[:chat_service_sid], )
55
+ end
56
+
57
+ ##
58
+ # Provide a user friendly representation
59
+ def to_s
60
+ '<Twilio.Conversations.V1.ConfigurationPage>'
61
+ end
62
+ end
63
+
64
+ class ConfigurationContext < InstanceContext
65
+ ##
66
+ # Initialize the ConfigurationContext
67
+ # @param [Version] version Version that contains the resource
68
+ # @param [String] chat_service_sid The SID of the Service configuration resource
69
+ # to fetch.
70
+ # @return [ConfigurationContext] ConfigurationContext
71
+ def initialize(version, chat_service_sid)
72
+ super(version)
73
+
74
+ # Path Solution
75
+ @solution = {chat_service_sid: chat_service_sid, }
76
+ @uri = "/Services/#{@solution[:chat_service_sid]}/Configuration"
77
+
78
+ # Components
79
+ @notifications = nil
80
+ @webhooks = nil
81
+ end
82
+
83
+ ##
84
+ # Fetch the ConfigurationInstance
85
+ # @return [ConfigurationInstance] Fetched ConfigurationInstance
86
+ def fetch
87
+ payload = @version.fetch('GET', @uri)
88
+
89
+ ConfigurationInstance.new(@version, payload, chat_service_sid: @solution[:chat_service_sid], )
90
+ end
91
+
92
+ ##
93
+ # Update the ConfigurationInstance
94
+ # @param [String] default_conversation_creator_role_sid The conversation-level
95
+ # role assigned to a conversation creator when they join a new conversation. See
96
+ # the {Conversation
97
+ # Role}[https://www.twilio.com/docs/conversations/api/role-resource] for more info
98
+ # about roles.
99
+ # @param [String] default_conversation_role_sid The conversation-level role
100
+ # assigned to users when they are added to a conversation. See the {Conversation
101
+ # Role}[https://www.twilio.com/docs/conversations/api/role-resource] for more info
102
+ # about roles.
103
+ # @param [String] default_chat_service_role_sid The service-level role assigned to
104
+ # users when they are added to the service. See the {Conversation
105
+ # Role}[https://www.twilio.com/docs/conversations/api/role-resource] for more info
106
+ # about roles.
107
+ # @param [Boolean] reachability_enabled Whether the {Reachability
108
+ # Indicator}[https://www.twilio.com/docs/chat/reachability-indicator] is enabled
109
+ # for this Conversations Service. The default is `false`.
110
+ # @return [ConfigurationInstance] Updated ConfigurationInstance
111
+ def update(default_conversation_creator_role_sid: :unset, default_conversation_role_sid: :unset, default_chat_service_role_sid: :unset, reachability_enabled: :unset)
112
+ data = Twilio::Values.of({
113
+ 'DefaultConversationCreatorRoleSid' => default_conversation_creator_role_sid,
114
+ 'DefaultConversationRoleSid' => default_conversation_role_sid,
115
+ 'DefaultChatServiceRoleSid' => default_chat_service_role_sid,
116
+ 'ReachabilityEnabled' => reachability_enabled,
117
+ })
118
+
119
+ payload = @version.update('POST', @uri, data: data)
120
+
121
+ ConfigurationInstance.new(@version, payload, chat_service_sid: @solution[:chat_service_sid], )
122
+ end
123
+
124
+ ##
125
+ # Access the notifications
126
+ # @return [NotificationContext] NotificationContext
127
+ def notifications
128
+ return NotificationContext.new(@version, @solution[:chat_service_sid], )
129
+ end
130
+
131
+ ##
132
+ # Access the webhooks
133
+ # @return [WebhookContext] WebhookContext
134
+ def webhooks
135
+ return WebhookContext.new(@version, @solution[:chat_service_sid], )
136
+ end
137
+
138
+ ##
139
+ # Provide a user friendly representation
140
+ def to_s
141
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
142
+ "#<Twilio.Conversations.V1.ConfigurationContext #{context}>"
143
+ end
144
+
145
+ ##
146
+ # Provide a detailed, user friendly representation
147
+ def inspect
148
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
149
+ "#<Twilio.Conversations.V1.ConfigurationContext #{context}>"
150
+ end
151
+ end
152
+
153
+ class ConfigurationInstance < InstanceResource
154
+ ##
155
+ # Initialize the ConfigurationInstance
156
+ # @param [Version] version Version that contains the resource
157
+ # @param [Hash] payload payload that contains response from Twilio
158
+ # @param [String] chat_service_sid The unique string that we created to identify
159
+ # the Service configuration resource.
160
+ # @return [ConfigurationInstance] ConfigurationInstance
161
+ def initialize(version, payload, chat_service_sid: nil)
162
+ super(version)
163
+
164
+ # Marshaled Properties
165
+ @properties = {
166
+ 'chat_service_sid' => payload['chat_service_sid'],
167
+ 'default_conversation_creator_role_sid' => payload['default_conversation_creator_role_sid'],
168
+ 'default_conversation_role_sid' => payload['default_conversation_role_sid'],
169
+ 'default_chat_service_role_sid' => payload['default_chat_service_role_sid'],
170
+ 'url' => payload['url'],
171
+ 'links' => payload['links'],
172
+ 'reachability_enabled' => payload['reachability_enabled'],
173
+ }
174
+
175
+ # Context
176
+ @instance_context = nil
177
+ @params = {'chat_service_sid' => chat_service_sid, }
178
+ end
179
+
180
+ ##
181
+ # Generate an instance context for the instance, the context is capable of
182
+ # performing various actions. All instance actions are proxied to the context
183
+ # @return [ConfigurationContext] ConfigurationContext for this ConfigurationInstance
184
+ def context
185
+ unless @instance_context
186
+ @instance_context = ConfigurationContext.new(@version, @params['chat_service_sid'], )
187
+ end
188
+ @instance_context
189
+ end
190
+
191
+ ##
192
+ # @return [String] The unique string that identifies the resource
193
+ def chat_service_sid
194
+ @properties['chat_service_sid']
195
+ end
196
+
197
+ ##
198
+ # @return [String] The role assigned to a conversation creator user when they join a new conversation
199
+ def default_conversation_creator_role_sid
200
+ @properties['default_conversation_creator_role_sid']
201
+ end
202
+
203
+ ##
204
+ # @return [String] The role assigned to users when they are added to a conversation
205
+ def default_conversation_role_sid
206
+ @properties['default_conversation_role_sid']
207
+ end
208
+
209
+ ##
210
+ # @return [String] The service role assigned to users when they are added to the service
211
+ def default_chat_service_role_sid
212
+ @properties['default_chat_service_role_sid']
213
+ end
214
+
215
+ ##
216
+ # @return [String] An absolute URL for this service configuration.
217
+ def url
218
+ @properties['url']
219
+ end
220
+
221
+ ##
222
+ # @return [String] Absolute URL to access the push notifications configuration of this service.
223
+ def links
224
+ @properties['links']
225
+ end
226
+
227
+ ##
228
+ # @return [Boolean] Whether the Reachability Indicator feature is enabled for this Conversations Service
229
+ def reachability_enabled
230
+ @properties['reachability_enabled']
231
+ end
232
+
233
+ ##
234
+ # Fetch the ConfigurationInstance
235
+ # @return [ConfigurationInstance] Fetched ConfigurationInstance
236
+ def fetch
237
+ context.fetch
238
+ end
239
+
240
+ ##
241
+ # Update the ConfigurationInstance
242
+ # @param [String] default_conversation_creator_role_sid The conversation-level
243
+ # role assigned to a conversation creator when they join a new conversation. See
244
+ # the {Conversation
245
+ # Role}[https://www.twilio.com/docs/conversations/api/role-resource] for more info
246
+ # about roles.
247
+ # @param [String] default_conversation_role_sid The conversation-level role
248
+ # assigned to users when they are added to a conversation. See the {Conversation
249
+ # Role}[https://www.twilio.com/docs/conversations/api/role-resource] for more info
250
+ # about roles.
251
+ # @param [String] default_chat_service_role_sid The service-level role assigned to
252
+ # users when they are added to the service. See the {Conversation
253
+ # Role}[https://www.twilio.com/docs/conversations/api/role-resource] for more info
254
+ # about roles.
255
+ # @param [Boolean] reachability_enabled Whether the {Reachability
256
+ # Indicator}[https://www.twilio.com/docs/chat/reachability-indicator] is enabled
257
+ # for this Conversations Service. The default is `false`.
258
+ # @return [ConfigurationInstance] Updated ConfigurationInstance
259
+ def update(default_conversation_creator_role_sid: :unset, default_conversation_role_sid: :unset, default_chat_service_role_sid: :unset, reachability_enabled: :unset)
260
+ context.update(
261
+ default_conversation_creator_role_sid: default_conversation_creator_role_sid,
262
+ default_conversation_role_sid: default_conversation_role_sid,
263
+ default_chat_service_role_sid: default_chat_service_role_sid,
264
+ reachability_enabled: reachability_enabled,
265
+ )
266
+ end
267
+
268
+ ##
269
+ # Provide a user friendly representation
270
+ def to_s
271
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
272
+ "<Twilio.Conversations.V1.ConfigurationInstance #{values}>"
273
+ end
274
+
275
+ ##
276
+ # Provide a detailed, user friendly representation
277
+ def inspect
278
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
279
+ "<Twilio.Conversations.V1.ConfigurationInstance #{values}>"
280
+ end
281
+ end
282
+ end
283
+ end
284
+ end
285
+ end
286
+ end
@@ -0,0 +1,386 @@
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 ServiceContext < InstanceContext
14
+ class ConversationContext < InstanceContext
15
+ class MessageContext < InstanceContext
16
+ class DeliveryReceiptList < ListResource
17
+ ##
18
+ # Initialize the DeliveryReceiptList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] chat_service_sid The SID of the {Conversation
21
+ # Service}[https://www.twilio.com/docs/conversations/api/service-resource] the
22
+ # Message resource is associated with.
23
+ # @param [String] conversation_sid The unique ID of the
24
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
25
+ # for this message.
26
+ # @param [String] message_sid The SID of the message within a
27
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
28
+ # the delivery receipt belongs to
29
+ # @return [DeliveryReceiptList] DeliveryReceiptList
30
+ def initialize(version, chat_service_sid: nil, conversation_sid: nil, message_sid: nil)
31
+ super(version)
32
+
33
+ # Path Solution
34
+ @solution = {
35
+ chat_service_sid: chat_service_sid,
36
+ conversation_sid: conversation_sid,
37
+ message_sid: message_sid
38
+ }
39
+ @uri = "/Services/#{@solution[:chat_service_sid]}/Conversations/#{@solution[:conversation_sid]}/Messages/#{@solution[:message_sid]}/Receipts"
40
+ end
41
+
42
+ ##
43
+ # Lists DeliveryReceiptInstance records from the API as a list.
44
+ # Unlike stream(), this operation is eager and will load `limit` records into
45
+ # memory before returning.
46
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
47
+ # guarantees to never return more than limit. Default is no limit
48
+ # @param [Integer] page_size Number of records to fetch per request, when
49
+ # not set will use the default value of 50 records. If no page_size is defined
50
+ # but a limit is defined, stream() will attempt to read the limit with the most
51
+ # efficient page size, i.e. min(limit, 1000)
52
+ # @return [Array] Array of up to limit results
53
+ def list(limit: nil, page_size: nil)
54
+ self.stream(limit: limit, page_size: page_size).entries
55
+ end
56
+
57
+ ##
58
+ # Streams DeliveryReceiptInstance records from the API as an Enumerable.
59
+ # This operation lazily loads records as efficiently as possible until the limit
60
+ # is reached.
61
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
62
+ # guarantees to never return more than limit. Default is no limit.
63
+ # @param [Integer] page_size Number of records to fetch per request, when
64
+ # not set will use the default value of 50 records. If no page_size is defined
65
+ # but a limit is defined, stream() will attempt to read the limit with the most
66
+ # efficient page size, i.e. min(limit, 1000)
67
+ # @return [Enumerable] Enumerable that will yield up to limit results
68
+ def stream(limit: nil, page_size: nil)
69
+ limits = @version.read_limits(limit, page_size)
70
+
71
+ page = self.page(page_size: limits[:page_size], )
72
+
73
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
74
+ end
75
+
76
+ ##
77
+ # When passed a block, yields DeliveryReceiptInstance records from the API.
78
+ # This operation lazily loads records as efficiently as possible until the limit
79
+ # is reached.
80
+ def each
81
+ limits = @version.read_limits
82
+
83
+ page = self.page(page_size: limits[:page_size], )
84
+
85
+ @version.stream(page,
86
+ limit: limits[:limit],
87
+ page_limit: limits[:page_limit]).each {|x| yield x}
88
+ end
89
+
90
+ ##
91
+ # Retrieve a single page of DeliveryReceiptInstance records from the API.
92
+ # Request is executed immediately.
93
+ # @param [String] page_token PageToken provided by the API
94
+ # @param [Integer] page_number Page Number, this value is simply for client state
95
+ # @param [Integer] page_size Number of records to return, defaults to 50
96
+ # @return [Page] Page of DeliveryReceiptInstance
97
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
98
+ params = Twilio::Values.of({
99
+ 'PageToken' => page_token,
100
+ 'Page' => page_number,
101
+ 'PageSize' => page_size,
102
+ })
103
+
104
+ response = @version.page('GET', @uri, params: params)
105
+
106
+ DeliveryReceiptPage.new(@version, response, @solution)
107
+ end
108
+
109
+ ##
110
+ # Retrieve a single page of DeliveryReceiptInstance records from the API.
111
+ # Request is executed immediately.
112
+ # @param [String] target_url API-generated URL for the requested results page
113
+ # @return [Page] Page of DeliveryReceiptInstance
114
+ def get_page(target_url)
115
+ response = @version.domain.request(
116
+ 'GET',
117
+ target_url
118
+ )
119
+ DeliveryReceiptPage.new(@version, response, @solution)
120
+ end
121
+
122
+ ##
123
+ # Provide a user friendly representation
124
+ def to_s
125
+ '#<Twilio.Conversations.V1.DeliveryReceiptList>'
126
+ end
127
+ end
128
+
129
+ class DeliveryReceiptPage < Page
130
+ ##
131
+ # Initialize the DeliveryReceiptPage
132
+ # @param [Version] version Version that contains the resource
133
+ # @param [Response] response Response from the API
134
+ # @param [Hash] solution Path solution for the resource
135
+ # @return [DeliveryReceiptPage] DeliveryReceiptPage
136
+ def initialize(version, response, solution)
137
+ super(version, response)
138
+
139
+ # Path Solution
140
+ @solution = solution
141
+ end
142
+
143
+ ##
144
+ # Build an instance of DeliveryReceiptInstance
145
+ # @param [Hash] payload Payload response from the API
146
+ # @return [DeliveryReceiptInstance] DeliveryReceiptInstance
147
+ def get_instance(payload)
148
+ DeliveryReceiptInstance.new(
149
+ @version,
150
+ payload,
151
+ chat_service_sid: @solution[:chat_service_sid],
152
+ conversation_sid: @solution[:conversation_sid],
153
+ message_sid: @solution[:message_sid],
154
+ )
155
+ end
156
+
157
+ ##
158
+ # Provide a user friendly representation
159
+ def to_s
160
+ '<Twilio.Conversations.V1.DeliveryReceiptPage>'
161
+ end
162
+ end
163
+
164
+ class DeliveryReceiptContext < InstanceContext
165
+ ##
166
+ # Initialize the DeliveryReceiptContext
167
+ # @param [Version] version Version that contains the resource
168
+ # @param [String] chat_service_sid The SID of the {Conversation
169
+ # Service}[https://www.twilio.com/docs/conversations/api/service-resource] the
170
+ # Message resource is associated with.
171
+ # @param [String] conversation_sid The unique ID of the
172
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
173
+ # for this message.
174
+ # @param [String] message_sid The SID of the message within a
175
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
176
+ # the delivery receipt belongs to.
177
+ # @param [String] sid A 34 character string that uniquely identifies this
178
+ # resource.
179
+ # @return [DeliveryReceiptContext] DeliveryReceiptContext
180
+ def initialize(version, chat_service_sid, conversation_sid, message_sid, sid)
181
+ super(version)
182
+
183
+ # Path Solution
184
+ @solution = {
185
+ chat_service_sid: chat_service_sid,
186
+ conversation_sid: conversation_sid,
187
+ message_sid: message_sid,
188
+ sid: sid,
189
+ }
190
+ @uri = "/Services/#{@solution[:chat_service_sid]}/Conversations/#{@solution[:conversation_sid]}/Messages/#{@solution[:message_sid]}/Receipts/#{@solution[:sid]}"
191
+ end
192
+
193
+ ##
194
+ # Fetch the DeliveryReceiptInstance
195
+ # @return [DeliveryReceiptInstance] Fetched DeliveryReceiptInstance
196
+ def fetch
197
+ payload = @version.fetch('GET', @uri)
198
+
199
+ DeliveryReceiptInstance.new(
200
+ @version,
201
+ payload,
202
+ chat_service_sid: @solution[:chat_service_sid],
203
+ conversation_sid: @solution[:conversation_sid],
204
+ message_sid: @solution[:message_sid],
205
+ sid: @solution[:sid],
206
+ )
207
+ end
208
+
209
+ ##
210
+ # Provide a user friendly representation
211
+ def to_s
212
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
213
+ "#<Twilio.Conversations.V1.DeliveryReceiptContext #{context}>"
214
+ end
215
+
216
+ ##
217
+ # Provide a detailed, user friendly representation
218
+ def inspect
219
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
220
+ "#<Twilio.Conversations.V1.DeliveryReceiptContext #{context}>"
221
+ end
222
+ end
223
+
224
+ class DeliveryReceiptInstance < InstanceResource
225
+ ##
226
+ # Initialize the DeliveryReceiptInstance
227
+ # @param [Version] version Version that contains the resource
228
+ # @param [Hash] payload payload that contains response from Twilio
229
+ # @param [String] chat_service_sid The SID of the {Conversation
230
+ # Service}[https://www.twilio.com/docs/conversations/api/service-resource] the
231
+ # Message resource is associated with.
232
+ # @param [String] conversation_sid The unique ID of the
233
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
234
+ # for this message.
235
+ # @param [String] message_sid The SID of the message within a
236
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
237
+ # the delivery receipt belongs to
238
+ # @param [String] sid A 34 character string that uniquely identifies this
239
+ # resource.
240
+ # @return [DeliveryReceiptInstance] DeliveryReceiptInstance
241
+ def initialize(version, payload, chat_service_sid: nil, conversation_sid: nil, message_sid: nil, sid: nil)
242
+ super(version)
243
+
244
+ # Marshaled Properties
245
+ @properties = {
246
+ 'account_sid' => payload['account_sid'],
247
+ 'chat_service_sid' => payload['chat_service_sid'],
248
+ 'conversation_sid' => payload['conversation_sid'],
249
+ 'message_sid' => payload['message_sid'],
250
+ 'sid' => payload['sid'],
251
+ 'channel_message_sid' => payload['channel_message_sid'],
252
+ 'participant_sid' => payload['participant_sid'],
253
+ 'status' => payload['status'],
254
+ 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
255
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
256
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
257
+ 'url' => payload['url'],
258
+ }
259
+
260
+ # Context
261
+ @instance_context = nil
262
+ @params = {
263
+ 'chat_service_sid' => chat_service_sid,
264
+ 'conversation_sid' => conversation_sid,
265
+ 'message_sid' => message_sid,
266
+ 'sid' => sid || @properties['sid'],
267
+ }
268
+ end
269
+
270
+ ##
271
+ # Generate an instance context for the instance, the context is capable of
272
+ # performing various actions. All instance actions are proxied to the context
273
+ # @return [DeliveryReceiptContext] DeliveryReceiptContext for this DeliveryReceiptInstance
274
+ def context
275
+ unless @instance_context
276
+ @instance_context = DeliveryReceiptContext.new(
277
+ @version,
278
+ @params['chat_service_sid'],
279
+ @params['conversation_sid'],
280
+ @params['message_sid'],
281
+ @params['sid'],
282
+ )
283
+ end
284
+ @instance_context
285
+ end
286
+
287
+ ##
288
+ # @return [String] The unique ID of the Account responsible for this participant.
289
+ def account_sid
290
+ @properties['account_sid']
291
+ end
292
+
293
+ ##
294
+ # @return [String] The SID of the Conversation Service that the resource is associated with.
295
+ def chat_service_sid
296
+ @properties['chat_service_sid']
297
+ end
298
+
299
+ ##
300
+ # @return [String] The unique ID of the Conversation for this message.
301
+ def conversation_sid
302
+ @properties['conversation_sid']
303
+ end
304
+
305
+ ##
306
+ # @return [String] The SID of the message the delivery receipt belongs to
307
+ def message_sid
308
+ @properties['message_sid']
309
+ end
310
+
311
+ ##
312
+ # @return [String] A 34 character string that uniquely identifies this resource.
313
+ def sid
314
+ @properties['sid']
315
+ end
316
+
317
+ ##
318
+ # @return [String] A messaging channel-specific identifier for the message delivered to participant
319
+ def channel_message_sid
320
+ @properties['channel_message_sid']
321
+ end
322
+
323
+ ##
324
+ # @return [String] The unique ID of the participant the delivery receipt belongs to.
325
+ def participant_sid
326
+ @properties['participant_sid']
327
+ end
328
+
329
+ ##
330
+ # @return [delivery_receipt.DeliveryStatus] The message delivery status
331
+ def status
332
+ @properties['status']
333
+ end
334
+
335
+ ##
336
+ # @return [String] The message {delivery error code}[https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors] for a `failed` status
337
+ def error_code
338
+ @properties['error_code']
339
+ end
340
+
341
+ ##
342
+ # @return [Time] The date that this resource was created.
343
+ def date_created
344
+ @properties['date_created']
345
+ end
346
+
347
+ ##
348
+ # @return [Time] The date that this resource was last updated.
349
+ def date_updated
350
+ @properties['date_updated']
351
+ end
352
+
353
+ ##
354
+ # @return [String] An absolute URL for this delivery receipt.
355
+ def url
356
+ @properties['url']
357
+ end
358
+
359
+ ##
360
+ # Fetch the DeliveryReceiptInstance
361
+ # @return [DeliveryReceiptInstance] Fetched DeliveryReceiptInstance
362
+ def fetch
363
+ context.fetch
364
+ end
365
+
366
+ ##
367
+ # Provide a user friendly representation
368
+ def to_s
369
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
370
+ "<Twilio.Conversations.V1.DeliveryReceiptInstance #{values}>"
371
+ end
372
+
373
+ ##
374
+ # Provide a detailed, user friendly representation
375
+ def inspect
376
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
377
+ "<Twilio.Conversations.V1.DeliveryReceiptInstance #{values}>"
378
+ end
379
+ end
380
+ end
381
+ end
382
+ end
383
+ end
384
+ end
385
+ end
386
+ end