twilio-ruby 5.40.2 → 5.43.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 (369) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +111 -0
  3. data/{LICENSE.md → LICENSE} +0 -0
  4. data/PULL_REQUEST_TEMPLATE.md +3 -3
  5. data/README.md +18 -2
  6. data/lib/twilio-ruby.rb +1 -1
  7. data/lib/twilio-ruby/framework/version.rb +2 -1
  8. data/lib/twilio-ruby/jwt/access_token.rb +7 -2
  9. data/lib/twilio-ruby/rest/accounts.rb +12 -0
  10. data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  12. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  13. data/lib/twilio-ruby/rest/api.rb +1 -1
  14. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +3 -3
  15. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +2 -2
  16. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +3 -3
  17. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +3 -3
  18. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +3 -3
  19. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +32 -23
  20. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +32 -23
  21. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +32 -23
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +32 -23
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +32 -23
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +32 -23
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +32 -23
  26. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +41 -20
  27. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +3 -3
  29. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +3 -3
  30. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +6 -6
  31. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +20 -14
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +8 -8
  33. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +3 -3
  34. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +29 -22
  35. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +3 -3
  36. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  37. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +10 -10
  38. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +3 -3
  39. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +3 -3
  40. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +3 -3
  41. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +3 -3
  42. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +3 -3
  43. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +1 -1
  44. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +28 -21
  45. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +6 -4
  46. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +3 -3
  47. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +3 -3
  48. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +3 -3
  49. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  50. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +5 -5
  51. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +6 -6
  52. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +3 -3
  53. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +3 -3
  54. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +6 -6
  55. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +3 -3
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +1 -1
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +2 -2
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +2 -2
  59. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +3 -3
  60. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +3 -3
  61. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +2 -2
  62. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +3 -3
  63. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +1 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +1 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +1 -1
  66. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +2 -2
  67. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +3 -3
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +6 -6
  69. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +6 -6
  70. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +6 -6
  71. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +6 -6
  72. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +6 -6
  73. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +6 -6
  74. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +6 -6
  75. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +6 -6
  76. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +6 -6
  77. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +19 -18
  78. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +3 -3
  79. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +12 -12
  80. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +3 -3
  81. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +3 -3
  82. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +3 -3
  83. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +15 -11
  84. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +3 -3
  85. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +33 -26
  86. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +3 -3
  87. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +6 -6
  88. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +9 -9
  89. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +31 -24
  90. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +8 -8
  91. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +6 -6
  92. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +3 -3
  93. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
  94. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
  95. data/lib/twilio-ruby/rest/chat/v1/service.rb +36 -36
  96. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +3 -3
  97. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +19 -19
  98. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +28 -28
  99. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +7 -7
  100. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +5 -5
  101. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +8 -8
  102. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +2 -2
  103. data/lib/twilio-ruby/rest/chat/v2/service.rb +36 -36
  104. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +18 -18
  105. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +15 -15
  106. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +19 -19
  107. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +54 -54
  108. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +25 -25
  109. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +15 -15
  110. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +5 -5
  111. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +8 -8
  112. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +18 -18
  113. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +20 -20
  114. data/lib/twilio-ruby/rest/client.rb +30 -4
  115. data/lib/twilio-ruby/rest/conversations.rb +0 -16
  116. data/lib/twilio-ruby/rest/conversations/v1.rb +0 -24
  117. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +23 -21
  118. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  119. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +20 -20
  120. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +15 -20
  121. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +23 -25
  122. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +42 -44
  123. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +14 -19
  124. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +1 -9
  125. data/lib/twilio-ruby/rest/conversations/v1/role.rb +5 -11
  126. data/lib/twilio-ruby/rest/conversations/v1/service.rb +2 -10
  127. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +34 -39
  128. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +32 -28
  129. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
  130. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +27 -25
  131. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +24 -29
  132. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +33 -35
  133. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +52 -54
  134. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +24 -29
  135. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +14 -20
  136. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +53 -42
  137. data/lib/twilio-ruby/rest/conversations/v1/user.rb +44 -33
  138. data/lib/twilio-ruby/rest/events.rb +10 -1
  139. data/lib/twilio-ruby/rest/events/v1.rb +17 -1
  140. data/lib/twilio-ruby/rest/events/v1/event_type.rb +8 -8
  141. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  142. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +290 -0
  143. data/lib/twilio-ruby/rest/events/v1/subscription.rb +40 -13
  144. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +3 -109
  145. data/lib/twilio-ruby/rest/fax/v1/fax.rb +28 -27
  146. data/lib/twilio-ruby/rest/insights.rb +8 -0
  147. data/lib/twilio-ruby/rest/insights/v1.rb +15 -0
  148. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
  149. data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
  150. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  151. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
  152. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
  153. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
  154. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
  155. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
  156. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
  157. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
  158. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
  159. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
  160. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
  161. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
  162. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
  163. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
  164. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
  165. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
  166. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
  167. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
  168. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
  169. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
  170. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
  171. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
  172. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
  173. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
  174. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
  175. data/lib/twilio-ruby/rest/lookups.rb +1 -1
  176. data/lib/twilio-ruby/rest/lookups/v1.rb +1 -1
  177. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +10 -10
  178. data/lib/twilio-ruby/rest/messaging/v1/service.rb +39 -36
  179. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +3 -3
  180. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +3 -3
  181. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +3 -3
  182. data/lib/twilio-ruby/rest/monitor/v1/event.rb +15 -15
  183. data/lib/twilio-ruby/rest/notify/v1/credential.rb +12 -6
  184. data/lib/twilio-ruby/rest/notify/v1/service.rb +24 -24
  185. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +10 -10
  186. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +23 -15
  187. data/lib/twilio-ruby/rest/preview.rb +8 -0
  188. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
  189. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
  190. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +15 -10
  191. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +9 -6
  192. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +1 -1
  193. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +15 -0
  194. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +4 -4
  195. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  196. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  197. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -26
  198. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +1 -4
  199. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +4 -4
  200. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +52 -52
  201. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +2 -2
  202. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +2 -2
  203. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +4 -4
  204. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +2 -2
  205. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +4 -4
  206. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +2 -2
  207. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +4 -4
  208. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +3 -3
  209. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +4 -4
  210. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +4 -4
  211. data/lib/twilio-ruby/rest/proxy/v1/service.rb +15 -15
  212. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +13 -11
  213. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +6 -6
  214. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +6 -6
  215. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +6 -6
  216. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +9 -9
  217. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +8 -8
  218. data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
  219. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
  220. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
  221. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +29 -4
  222. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  223. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
  224. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
  225. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
  226. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
  227. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  228. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
  229. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
  230. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +6 -6
  231. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +6 -6
  232. data/lib/twilio-ruby/rest/supersim/v1/command.rb +7 -7
  233. data/lib/twilio-ruby/rest/supersim/v1/network.rb +6 -6
  234. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +7 -7
  235. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +6 -6
  236. data/lib/twilio-ruby/rest/sync/v1/service.rb +3 -3
  237. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +21 -11
  238. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +6 -6
  239. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +21 -11
  240. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +34 -11
  241. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +6 -6
  242. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +21 -11
  243. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +40 -17
  244. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +6 -6
  245. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +21 -11
  246. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +4 -4
  247. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +4 -4
  248. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +6 -6
  249. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
  250. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +16 -12
  251. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
  252. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +8 -8
  253. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -6
  254. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +6 -6
  255. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +9 -9
  256. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +4 -7
  257. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +16 -12
  258. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +4 -4
  259. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +4 -4
  260. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +6 -6
  261. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +12 -12
  262. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -4
  263. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +6 -6
  264. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -4
  265. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +6 -6
  266. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +46 -53
  267. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +2 -2
  268. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +3 -2
  269. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +3 -2
  270. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +201 -0
  271. data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
  272. data/lib/twilio-ruby/rest/verify/v2/service.rb +54 -33
  273. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
  274. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +23 -35
  275. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +36 -61
  276. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +59 -61
  277. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +12 -12
  278. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +3 -3
  279. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +3 -3
  280. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +14 -12
  281. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +5 -5
  282. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
  283. data/lib/twilio-ruby/rest/video/v1/composition.rb +13 -9
  284. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +33 -24
  285. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  286. data/lib/twilio-ruby/rest/video/v1/room.rb +27 -9
  287. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +6 -6
  288. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +9 -9
  289. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +2 -2
  290. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
  291. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +9 -9
  292. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +3 -6
  293. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +22 -22
  294. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +4 -4
  295. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +2 -2
  296. data/lib/twilio-ruby/rest/wireless/v1/command.rb +7 -7
  297. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +8 -7
  298. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +22 -22
  299. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +4 -4
  300. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +10 -10
  301. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +6 -6
  302. data/lib/twilio-ruby/util/configuration.rb +5 -1
  303. data/lib/twilio-ruby/version.rb +1 -1
  304. data/spec/framework/version_spec.rb +11 -0
  305. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
  306. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
  307. data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
  308. data/spec/integration/api/v2010/account/call_spec.rb +20 -10
  309. data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
  310. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
  311. data/spec/integration/conversations/v1/{webhook_spec.rb → configuration/webhook_spec.rb} +12 -8
  312. data/spec/integration/conversations/v1/configuration_spec.rb +4 -2
  313. data/spec/integration/conversations/v1/conversation_spec.rb +1 -1
  314. data/spec/integration/conversations/v1/{notification_spec.rb → service/configuration/notification_spec.rb} +12 -4
  315. data/spec/integration/conversations/v1/service/conversation_spec.rb +1 -1
  316. data/spec/integration/conversations/v1/service/user_spec.rb +9 -3
  317. data/spec/integration/conversations/v1/user_spec.rb +9 -3
  318. data/spec/integration/events/v1/schema/schema_version_spec.rb +126 -0
  319. data/spec/integration/events/v1/schema_spec.rb +46 -0
  320. data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
  321. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -121
  322. data/spec/integration/events/v1/subscription_spec.rb +87 -0
  323. data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
  324. data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
  325. data/spec/integration/insights/v1/room_spec.rb +164 -0
  326. data/spec/integration/ip_messaging/v1/credential_spec.rb +13 -13
  327. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
  328. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
  329. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
  330. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
  331. data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
  332. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
  333. data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
  334. data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
  335. data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
  336. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
  337. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
  338. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
  339. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
  340. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
  341. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
  342. data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
  343. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
  344. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
  345. data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
  346. data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
  347. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
  348. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel → branded_channel}/channel_spec.rb +4 -8
  349. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel_spec.rb → branded_channel_spec.rb} +5 -9
  350. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -1
  351. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +48 -0
  352. data/spec/integration/serverless/v1/service/build_spec.rb +8 -2
  353. data/spec/integration/trunking/v1/trunk/recording_spec.rb +79 -0
  354. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +56 -20
  355. data/spec/integration/verify/v2/service/entity/factor_spec.rb +11 -26
  356. data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
  357. data/spec/integration/verify/v2/service_spec.rb +8 -4
  358. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
  359. data/spec/integration/video/v1/room_spec.rb +12 -7
  360. data/spec/jwt/access_token_spec.rb +9 -1
  361. data/spec/rest/client_spec.rb +24 -2
  362. data/twilio-ruby.gemspec +2 -1
  363. metadata +60 -19
  364. data/lib/twilio-ruby/rest/conversations/v1/notification.rb +0 -310
  365. data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +0 -262
  366. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +0 -233
  367. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
  368. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
  369. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -48
@@ -1,310 +0,0 @@
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
- ##
14
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
- class NotificationList < ListResource
16
- ##
17
- # Initialize the NotificationList
18
- # @param [Version] version Version that contains the resource
19
- # @return [NotificationList] NotificationList
20
- def initialize(version)
21
- super(version)
22
-
23
- # Path Solution
24
- @solution = {}
25
- end
26
-
27
- ##
28
- # Provide a user friendly representation
29
- def to_s
30
- '#<Twilio.Conversations.V1.NotificationList>'
31
- end
32
- end
33
-
34
- ##
35
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
36
- class NotificationPage < Page
37
- ##
38
- # Initialize the NotificationPage
39
- # @param [Version] version Version that contains the resource
40
- # @param [Response] response Response from the API
41
- # @param [Hash] solution Path solution for the resource
42
- # @return [NotificationPage] NotificationPage
43
- def initialize(version, response, solution)
44
- super(version, response)
45
-
46
- # Path Solution
47
- @solution = solution
48
- end
49
-
50
- ##
51
- # Build an instance of NotificationInstance
52
- # @param [Hash] payload Payload response from the API
53
- # @return [NotificationInstance] NotificationInstance
54
- def get_instance(payload)
55
- NotificationInstance.new(@version, payload, )
56
- end
57
-
58
- ##
59
- # Provide a user friendly representation
60
- def to_s
61
- '<Twilio.Conversations.V1.NotificationPage>'
62
- end
63
- end
64
-
65
- ##
66
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
67
- class NotificationContext < InstanceContext
68
- ##
69
- # Initialize the NotificationContext
70
- # @param [Version] version Version that contains the resource
71
- # @param [String] chat_service_sid The SID of the [Chat
72
- # Service](https://www.twilio.com/docs/chat/rest/service-resource) the
73
- # Configuration applies to.
74
- # @return [NotificationContext] NotificationContext
75
- def initialize(version, chat_service_sid)
76
- super(version)
77
-
78
- # Path Solution
79
- @solution = {chat_service_sid: chat_service_sid, }
80
- @uri = "/Services/#{@solution[:chat_service_sid]}/Configuration/Notifications"
81
- end
82
-
83
- ##
84
- # Update the NotificationInstance
85
- # @param [Boolean] log_enabled Weather the notification logging is enabled.
86
- # @param [Boolean] new_message_enabled Whether to send a notification when a new
87
- # message is added to a conversation. The default is `false`.
88
- # @param [String] new_message_template The template to use to create the
89
- # notification text displayed when a new message is added to a conversation and
90
- # `new_message.enabled` is `true`.
91
- # @param [String] new_message_sound The name of the sound to play when a new
92
- # message is added to a conversation and `new_message.enabled` is `true`.
93
- # @param [Boolean] new_message_badge_count_enabled Whether the new message badge
94
- # is enabled. The default is `false`.
95
- # @param [Boolean] added_to_conversation_enabled Whether to send a notification
96
- # when a participant is added to a conversation. The default is `false`.
97
- # @param [String] added_to_conversation_template The template to use to create the
98
- # notification text displayed when a participant is added to a conversation and
99
- # `added_to_conversation.enabled` is `true`.
100
- # @param [String] added_to_conversation_sound The name of the sound to play when a
101
- # participant is added to a conversation and `added_to_conversation.enabled` is
102
- # `true`.
103
- # @param [Boolean] removed_from_conversation_enabled Whether to send a
104
- # notification to a user when they are removed from a conversation. The default is
105
- # `false`.
106
- # @param [String] removed_from_conversation_template The template to use to create
107
- # the notification text displayed to a user when they are removed from a
108
- # conversation and `removed_from_conversation.enabled` is `true`.
109
- # @param [String] removed_from_conversation_sound The name of the sound to play to
110
- # a user when they are removed from a conversation and
111
- # `removed_from_conversation.enabled` is `true`.
112
- # @return [NotificationInstance] Updated NotificationInstance
113
- def update(log_enabled: :unset, new_message_enabled: :unset, new_message_template: :unset, new_message_sound: :unset, new_message_badge_count_enabled: :unset, added_to_conversation_enabled: :unset, added_to_conversation_template: :unset, added_to_conversation_sound: :unset, removed_from_conversation_enabled: :unset, removed_from_conversation_template: :unset, removed_from_conversation_sound: :unset)
114
- data = Twilio::Values.of({
115
- 'LogEnabled' => log_enabled,
116
- 'NewMessage.Enabled' => new_message_enabled,
117
- 'NewMessage.Template' => new_message_template,
118
- 'NewMessage.Sound' => new_message_sound,
119
- 'NewMessage.BadgeCountEnabled' => new_message_badge_count_enabled,
120
- 'AddedToConversation.Enabled' => added_to_conversation_enabled,
121
- 'AddedToConversation.Template' => added_to_conversation_template,
122
- 'AddedToConversation.Sound' => added_to_conversation_sound,
123
- 'RemovedFromConversation.Enabled' => removed_from_conversation_enabled,
124
- 'RemovedFromConversation.Template' => removed_from_conversation_template,
125
- 'RemovedFromConversation.Sound' => removed_from_conversation_sound,
126
- })
127
-
128
- payload = @version.update('POST', @uri, data: data)
129
-
130
- NotificationInstance.new(@version, payload, chat_service_sid: @solution[:chat_service_sid], )
131
- end
132
-
133
- ##
134
- # Fetch the NotificationInstance
135
- # @return [NotificationInstance] Fetched NotificationInstance
136
- def fetch
137
- payload = @version.fetch('GET', @uri)
138
-
139
- NotificationInstance.new(@version, payload, chat_service_sid: @solution[:chat_service_sid], )
140
- end
141
-
142
- ##
143
- # Provide a user friendly representation
144
- def to_s
145
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
146
- "#<Twilio.Conversations.V1.NotificationContext #{context}>"
147
- end
148
-
149
- ##
150
- # Provide a detailed, user friendly representation
151
- def inspect
152
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
153
- "#<Twilio.Conversations.V1.NotificationContext #{context}>"
154
- end
155
- end
156
-
157
- ##
158
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
159
- class NotificationInstance < InstanceResource
160
- ##
161
- # Initialize the NotificationInstance
162
- # @param [Version] version Version that contains the resource
163
- # @param [Hash] payload payload that contains response from Twilio
164
- # @param [String] chat_service_sid The SID of the [Chat
165
- # Service](https://www.twilio.com/docs/chat/rest/service-resource) the
166
- # Configuration applies to.
167
- # @return [NotificationInstance] NotificationInstance
168
- def initialize(version, payload, chat_service_sid: nil)
169
- super(version)
170
-
171
- # Marshaled Properties
172
- @properties = {
173
- 'account_sid' => payload['account_sid'],
174
- 'chat_service_sid' => payload['chat_service_sid'],
175
- 'new_message' => payload['new_message'],
176
- 'added_to_conversation' => payload['added_to_conversation'],
177
- 'removed_from_conversation' => payload['removed_from_conversation'],
178
- 'log_enabled' => payload['log_enabled'],
179
- 'url' => payload['url'],
180
- }
181
-
182
- # Context
183
- @instance_context = nil
184
- @params = {'chat_service_sid' => chat_service_sid || @properties['chat_service_sid'], }
185
- end
186
-
187
- ##
188
- # Generate an instance context for the instance, the context is capable of
189
- # performing various actions. All instance actions are proxied to the context
190
- # @return [NotificationContext] NotificationContext for this NotificationInstance
191
- def context
192
- unless @instance_context
193
- @instance_context = NotificationContext.new(@version, @params['chat_service_sid'], )
194
- end
195
- @instance_context
196
- end
197
-
198
- ##
199
- # @return [String] The unique id of the Account responsible for this configuration.
200
- def account_sid
201
- @properties['account_sid']
202
- end
203
-
204
- ##
205
- # @return [String] The SID of the Chat Service that the Configuration applies to.
206
- def chat_service_sid
207
- @properties['chat_service_sid']
208
- end
209
-
210
- ##
211
- # @return [Hash] The Push Notification configuration for New Messages.
212
- def new_message
213
- @properties['new_message']
214
- end
215
-
216
- ##
217
- # @return [Hash] The Push Notification configuration for being added to a Conversation.
218
- def added_to_conversation
219
- @properties['added_to_conversation']
220
- end
221
-
222
- ##
223
- # @return [Hash] The Push Notification configuration for being removed from a Conversation.
224
- def removed_from_conversation
225
- @properties['removed_from_conversation']
226
- end
227
-
228
- ##
229
- # @return [Boolean] Weather the notification logging is enabled.
230
- def log_enabled
231
- @properties['log_enabled']
232
- end
233
-
234
- ##
235
- # @return [String] An absolute URL for this configuration.
236
- def url
237
- @properties['url']
238
- end
239
-
240
- ##
241
- # Update the NotificationInstance
242
- # @param [Boolean] log_enabled Weather the notification logging is enabled.
243
- # @param [Boolean] new_message_enabled Whether to send a notification when a new
244
- # message is added to a conversation. The default is `false`.
245
- # @param [String] new_message_template The template to use to create the
246
- # notification text displayed when a new message is added to a conversation and
247
- # `new_message.enabled` is `true`.
248
- # @param [String] new_message_sound The name of the sound to play when a new
249
- # message is added to a conversation and `new_message.enabled` is `true`.
250
- # @param [Boolean] new_message_badge_count_enabled Whether the new message badge
251
- # is enabled. The default is `false`.
252
- # @param [Boolean] added_to_conversation_enabled Whether to send a notification
253
- # when a participant is added to a conversation. The default is `false`.
254
- # @param [String] added_to_conversation_template The template to use to create the
255
- # notification text displayed when a participant is added to a conversation and
256
- # `added_to_conversation.enabled` is `true`.
257
- # @param [String] added_to_conversation_sound The name of the sound to play when a
258
- # participant is added to a conversation and `added_to_conversation.enabled` is
259
- # `true`.
260
- # @param [Boolean] removed_from_conversation_enabled Whether to send a
261
- # notification to a user when they are removed from a conversation. The default is
262
- # `false`.
263
- # @param [String] removed_from_conversation_template The template to use to create
264
- # the notification text displayed to a user when they are removed from a
265
- # conversation and `removed_from_conversation.enabled` is `true`.
266
- # @param [String] removed_from_conversation_sound The name of the sound to play to
267
- # a user when they are removed from a conversation and
268
- # `removed_from_conversation.enabled` is `true`.
269
- # @return [NotificationInstance] Updated NotificationInstance
270
- def update(log_enabled: :unset, new_message_enabled: :unset, new_message_template: :unset, new_message_sound: :unset, new_message_badge_count_enabled: :unset, added_to_conversation_enabled: :unset, added_to_conversation_template: :unset, added_to_conversation_sound: :unset, removed_from_conversation_enabled: :unset, removed_from_conversation_template: :unset, removed_from_conversation_sound: :unset)
271
- context.update(
272
- log_enabled: log_enabled,
273
- new_message_enabled: new_message_enabled,
274
- new_message_template: new_message_template,
275
- new_message_sound: new_message_sound,
276
- new_message_badge_count_enabled: new_message_badge_count_enabled,
277
- added_to_conversation_enabled: added_to_conversation_enabled,
278
- added_to_conversation_template: added_to_conversation_template,
279
- added_to_conversation_sound: added_to_conversation_sound,
280
- removed_from_conversation_enabled: removed_from_conversation_enabled,
281
- removed_from_conversation_template: removed_from_conversation_template,
282
- removed_from_conversation_sound: removed_from_conversation_sound,
283
- )
284
- end
285
-
286
- ##
287
- # Fetch the NotificationInstance
288
- # @return [NotificationInstance] Fetched NotificationInstance
289
- def fetch
290
- context.fetch
291
- end
292
-
293
- ##
294
- # Provide a user friendly representation
295
- def to_s
296
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
297
- "<Twilio.Conversations.V1.NotificationInstance #{values}>"
298
- end
299
-
300
- ##
301
- # Provide a detailed, user friendly representation
302
- def inspect
303
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
304
- "<Twilio.Conversations.V1.NotificationInstance #{values}>"
305
- end
306
- end
307
- end
308
- end
309
- end
310
- end
@@ -1,262 +0,0 @@
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
- ##
14
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
- class WebhookList < ListResource
16
- ##
17
- # Initialize the WebhookList
18
- # @param [Version] version Version that contains the resource
19
- # @return [WebhookList] WebhookList
20
- def initialize(version)
21
- super(version)
22
-
23
- # Path Solution
24
- @solution = {}
25
- end
26
-
27
- ##
28
- # Provide a user friendly representation
29
- def to_s
30
- '#<Twilio.Conversations.V1.WebhookList>'
31
- end
32
- end
33
-
34
- ##
35
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
36
- class WebhookPage < Page
37
- ##
38
- # Initialize the WebhookPage
39
- # @param [Version] version Version that contains the resource
40
- # @param [Response] response Response from the API
41
- # @param [Hash] solution Path solution for the resource
42
- # @return [WebhookPage] WebhookPage
43
- def initialize(version, response, solution)
44
- super(version, response)
45
-
46
- # Path Solution
47
- @solution = solution
48
- end
49
-
50
- ##
51
- # Build an instance of WebhookInstance
52
- # @param [Hash] payload Payload response from the API
53
- # @return [WebhookInstance] WebhookInstance
54
- def get_instance(payload)
55
- WebhookInstance.new(@version, payload, )
56
- end
57
-
58
- ##
59
- # Provide a user friendly representation
60
- def to_s
61
- '<Twilio.Conversations.V1.WebhookPage>'
62
- end
63
- end
64
-
65
- ##
66
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
67
- class WebhookContext < InstanceContext
68
- ##
69
- # Initialize the WebhookContext
70
- # @param [Version] version Version that contains the resource
71
- # @return [WebhookContext] WebhookContext
72
- def initialize(version)
73
- super(version)
74
-
75
- # Path Solution
76
- @solution = {}
77
- @uri = "/Conversations/Webhooks"
78
- end
79
-
80
- ##
81
- # Fetch the WebhookInstance
82
- # @return [WebhookInstance] Fetched WebhookInstance
83
- def fetch
84
- payload = @version.fetch('GET', @uri)
85
-
86
- WebhookInstance.new(@version, payload, )
87
- end
88
-
89
- ##
90
- # Update the WebhookInstance
91
- # @param [String] method The HTTP method to be used when sending a webhook
92
- # request.
93
- # @param [String] filters The list of webhook event triggers that are enabled for
94
- # this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`,
95
- # `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`,
96
- # `onParticipantUpdated`, `onParticipantRemoved`
97
- # @param [String] pre_webhook_url The absolute url the pre-event webhook request
98
- # should be sent to.
99
- # @param [String] post_webhook_url The absolute url the post-event webhook request
100
- # should be sent to.
101
- # @param [webhook.Target] target The routing target of the webhook. Can be
102
- # ordinary or route internally to Flex
103
- # @return [WebhookInstance] Updated WebhookInstance
104
- def update(method: :unset, filters: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, target: :unset)
105
- data = Twilio::Values.of({
106
- 'Method' => method,
107
- 'Filters' => Twilio.serialize_list(filters) { |e| e },
108
- 'PreWebhookUrl' => pre_webhook_url,
109
- 'PostWebhookUrl' => post_webhook_url,
110
- 'Target' => target,
111
- })
112
-
113
- payload = @version.update('POST', @uri, data: data)
114
-
115
- WebhookInstance.new(@version, payload, )
116
- end
117
-
118
- ##
119
- # Provide a user friendly representation
120
- def to_s
121
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
122
- "#<Twilio.Conversations.V1.WebhookContext #{context}>"
123
- end
124
-
125
- ##
126
- # Provide a detailed, user friendly representation
127
- def inspect
128
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
129
- "#<Twilio.Conversations.V1.WebhookContext #{context}>"
130
- end
131
- end
132
-
133
- ##
134
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
135
- class WebhookInstance < InstanceResource
136
- ##
137
- # Initialize the WebhookInstance
138
- # @param [Version] version Version that contains the resource
139
- # @param [Hash] payload payload that contains response from Twilio
140
- # @return [WebhookInstance] WebhookInstance
141
- def initialize(version, payload)
142
- super(version)
143
-
144
- # Marshaled Properties
145
- @properties = {
146
- 'account_sid' => payload['account_sid'],
147
- 'method' => payload['method'],
148
- 'filters' => payload['filters'],
149
- 'pre_webhook_url' => payload['pre_webhook_url'],
150
- 'post_webhook_url' => payload['post_webhook_url'],
151
- 'target' => payload['target'],
152
- 'url' => payload['url'],
153
- }
154
-
155
- # Context
156
- @instance_context = nil
157
- @params = {}
158
- end
159
-
160
- ##
161
- # Generate an instance context for the instance, the context is capable of
162
- # performing various actions. All instance actions are proxied to the context
163
- # @return [WebhookContext] WebhookContext for this WebhookInstance
164
- def context
165
- unless @instance_context
166
- @instance_context = WebhookContext.new(@version, )
167
- end
168
- @instance_context
169
- end
170
-
171
- ##
172
- # @return [String] The unique id of the Account responsible for this conversation.
173
- def account_sid
174
- @properties['account_sid']
175
- end
176
-
177
- ##
178
- # @return [webhook.Method] The HTTP method to be used when sending a webhook request.
179
- def method
180
- @properties['method']
181
- end
182
-
183
- ##
184
- # @return [String] The list of webhook event triggers that are enabled for this Service.
185
- def filters
186
- @properties['filters']
187
- end
188
-
189
- ##
190
- # @return [String] The absolute url the pre-event webhook request should be sent to.
191
- def pre_webhook_url
192
- @properties['pre_webhook_url']
193
- end
194
-
195
- ##
196
- # @return [String] The absolute url the post-event webhook request should be sent to.
197
- def post_webhook_url
198
- @properties['post_webhook_url']
199
- end
200
-
201
- ##
202
- # @return [webhook.Target] The routing target of the webhook.
203
- def target
204
- @properties['target']
205
- end
206
-
207
- ##
208
- # @return [String] An absolute URL for this webhook.
209
- def url
210
- @properties['url']
211
- end
212
-
213
- ##
214
- # Fetch the WebhookInstance
215
- # @return [WebhookInstance] Fetched WebhookInstance
216
- def fetch
217
- context.fetch
218
- end
219
-
220
- ##
221
- # Update the WebhookInstance
222
- # @param [String] method The HTTP method to be used when sending a webhook
223
- # request.
224
- # @param [String] filters The list of webhook event triggers that are enabled for
225
- # this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`,
226
- # `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`,
227
- # `onParticipantUpdated`, `onParticipantRemoved`
228
- # @param [String] pre_webhook_url The absolute url the pre-event webhook request
229
- # should be sent to.
230
- # @param [String] post_webhook_url The absolute url the post-event webhook request
231
- # should be sent to.
232
- # @param [webhook.Target] target The routing target of the webhook. Can be
233
- # ordinary or route internally to Flex
234
- # @return [WebhookInstance] Updated WebhookInstance
235
- def update(method: :unset, filters: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, target: :unset)
236
- context.update(
237
- method: method,
238
- filters: filters,
239
- pre_webhook_url: pre_webhook_url,
240
- post_webhook_url: post_webhook_url,
241
- target: target,
242
- )
243
- end
244
-
245
- ##
246
- # Provide a user friendly representation
247
- def to_s
248
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
249
- "<Twilio.Conversations.V1.WebhookInstance #{values}>"
250
- end
251
-
252
- ##
253
- # Provide a detailed, user friendly representation
254
- def inspect
255
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
256
- "<Twilio.Conversations.V1.WebhookInstance #{values}>"
257
- end
258
- end
259
- end
260
- end
261
- end
262
- end