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