twilio-ruby 5.40.0 → 5.41.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 (344) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +110 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/framework/version.rb +4 -8
  5. data/lib/twilio-ruby/rest/accounts.rb +12 -0
  6. data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
  7. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  8. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  9. data/lib/twilio-ruby/rest/api.rb +1 -1
  10. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +3 -3
  11. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +2 -2
  12. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +3 -3
  13. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +3 -3
  14. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +3 -3
  15. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +32 -23
  16. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +32 -23
  17. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +32 -23
  18. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +32 -23
  19. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +32 -23
  20. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +32 -23
  21. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +32 -23
  22. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +21 -20
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +3 -3
  24. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +3 -3
  25. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +6 -6
  26. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +20 -14
  27. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +8 -8
  28. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +3 -3
  29. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +29 -22
  30. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +3 -3
  31. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  32. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +10 -10
  33. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +3 -3
  34. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +3 -3
  35. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +3 -3
  36. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +3 -3
  37. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +3 -3
  38. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +1 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +28 -21
  40. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +6 -4
  41. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +3 -3
  42. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +3 -3
  43. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +3 -3
  44. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  45. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +5 -5
  46. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +6 -6
  47. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +3 -3
  48. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +3 -3
  49. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +6 -6
  50. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +3 -3
  51. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +1 -1
  52. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +2 -2
  53. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +2 -2
  54. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +3 -3
  55. 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
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +2 -2
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +3 -3
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +1 -1
  59. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +1 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +1 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +2 -2
  62. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +3 -3
  63. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +6 -6
  64. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +6 -6
  65. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +6 -6
  66. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +6 -6
  67. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +6 -6
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +6 -6
  69. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +6 -6
  70. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +6 -6
  71. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +6 -6
  72. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +19 -18
  73. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +3 -3
  74. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +12 -12
  75. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +3 -3
  76. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +3 -3
  77. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +3 -3
  78. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +15 -11
  79. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +3 -3
  80. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +33 -26
  81. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +3 -3
  82. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +6 -6
  83. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +9 -9
  84. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +31 -24
  85. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +8 -8
  86. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +6 -6
  87. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +3 -3
  88. data/lib/twilio-ruby/rest/chat/v1/service.rb +36 -36
  89. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +3 -3
  90. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +19 -19
  91. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +28 -28
  92. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +7 -7
  93. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +5 -5
  94. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +8 -8
  95. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +2 -2
  96. data/lib/twilio-ruby/rest/chat/v2/service.rb +36 -36
  97. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +18 -18
  98. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +15 -15
  99. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +19 -19
  100. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +54 -54
  101. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +25 -25
  102. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +15 -15
  103. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +5 -5
  104. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +8 -8
  105. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +18 -18
  106. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +20 -20
  107. data/lib/twilio-ruby/rest/client.rb +1 -1
  108. data/lib/twilio-ruby/rest/conversations.rb +39 -3
  109. data/lib/twilio-ruby/rest/conversations/v1.rb +68 -5
  110. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  111. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  112. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +34 -23
  113. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +15 -20
  114. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +35 -28
  115. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +42 -44
  116. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +14 -19
  117. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  118. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  119. data/lib/twilio-ruby/rest/conversations/v1/service.rb +434 -0
  120. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  121. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +263 -0
  122. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
  123. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +588 -0
  124. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +541 -0
  125. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  126. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +511 -0
  127. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  128. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  129. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +430 -0
  130. data/lib/twilio-ruby/rest/conversations/v1/user.rb +409 -0
  131. data/lib/twilio-ruby/rest/events.rb +20 -2
  132. data/lib/twilio-ruby/rest/events/v1.rb +34 -2
  133. data/lib/twilio-ruby/rest/events/v1/event_type.rb +291 -0
  134. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  135. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +290 -0
  136. data/lib/twilio-ruby/rest/events/v1/sink.rb +15 -14
  137. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  138. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +5 -4
  139. data/lib/twilio-ruby/rest/events/v1/subscription.rb +46 -21
  140. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +10 -116
  141. data/lib/twilio-ruby/rest/fax/v1/fax.rb +28 -27
  142. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
  143. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +36 -36
  144. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +3 -3
  145. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +19 -19
  146. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -28
  147. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +7 -7
  148. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +5 -5
  149. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +8 -8
  150. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +2 -2
  151. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +36 -36
  152. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +18 -18
  153. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +15 -15
  154. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +19 -19
  155. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +54 -54
  156. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +25 -25
  157. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +15 -15
  158. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +5 -5
  159. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +8 -8
  160. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +18 -18
  161. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +20 -20
  162. data/lib/twilio-ruby/rest/lookups.rb +1 -1
  163. data/lib/twilio-ruby/rest/lookups/v1.rb +1 -1
  164. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +10 -10
  165. data/lib/twilio-ruby/rest/messaging.rb +6 -0
  166. data/lib/twilio-ruby/rest/messaging/v1.rb +7 -0
  167. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  168. data/lib/twilio-ruby/rest/messaging/v1/service.rb +39 -36
  169. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +3 -3
  170. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +3 -3
  171. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +3 -3
  172. data/lib/twilio-ruby/rest/monitor/v1/event.rb +15 -15
  173. data/lib/twilio-ruby/rest/notify/v1/credential.rb +12 -6
  174. data/lib/twilio-ruby/rest/notify/v1/service.rb +24 -24
  175. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +10 -10
  176. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +23 -15
  177. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +3 -3
  178. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +16 -2
  179. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +18 -4
  180. data/lib/twilio-ruby/rest/preview.rb +8 -0
  181. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +15 -10
  182. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +9 -6
  183. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +1 -1
  184. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +15 -0
  185. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +4 -4
  186. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  187. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  188. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -26
  189. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +1 -4
  190. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +4 -4
  191. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +52 -52
  192. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +2 -2
  193. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +2 -2
  194. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +4 -4
  195. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +2 -2
  196. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +4 -4
  197. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +2 -2
  198. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +4 -4
  199. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +3 -3
  200. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +4 -4
  201. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +4 -4
  202. data/lib/twilio-ruby/rest/proxy/v1/service.rb +15 -15
  203. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +13 -11
  204. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +33 -30
  205. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +6 -6
  206. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +18 -17
  207. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +9 -9
  208. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +8 -8
  209. data/lib/twilio-ruby/rest/serverless/v1/service.rb +13 -13
  210. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +6 -6
  211. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +5 -5
  212. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +33 -8
  213. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  214. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +6 -8
  215. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +8 -8
  216. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +14 -14
  217. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  218. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +7 -7
  219. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +1 -1
  220. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +6 -6
  221. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +6 -6
  222. data/lib/twilio-ruby/rest/supersim/v1/command.rb +7 -7
  223. data/lib/twilio-ruby/rest/supersim/v1/network.rb +6 -6
  224. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +22 -12
  225. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +6 -6
  226. data/lib/twilio-ruby/rest/sync/v1/service.rb +3 -3
  227. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +6 -6
  228. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +6 -6
  229. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +6 -6
  230. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +6 -6
  231. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +6 -6
  232. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +6 -6
  233. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +12 -12
  234. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +6 -6
  235. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +6 -6
  236. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +4 -4
  237. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +4 -4
  238. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +2 -1
  239. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +6 -6
  240. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +16 -12
  241. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +8 -8
  242. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -6
  243. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +6 -6
  244. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +9 -9
  245. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +4 -7
  246. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +16 -12
  247. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +4 -4
  248. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +4 -4
  249. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +6 -6
  250. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +12 -12
  251. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -4
  252. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +6 -6
  253. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -4
  254. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +6 -6
  255. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +62 -47
  256. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +2 -2
  257. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +3 -2
  258. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +3 -2
  259. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +201 -0
  260. data/lib/twilio-ruby/rest/verify/v2/service.rb +51 -30
  261. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +13 -16
  262. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +39 -23
  263. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +12 -12
  264. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +3 -3
  265. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +3 -3
  266. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +14 -12
  267. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +5 -5
  268. data/lib/twilio-ruby/rest/video/v1/composition.rb +13 -9
  269. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +33 -24
  270. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  271. data/lib/twilio-ruby/rest/video/v1/room.rb +7 -9
  272. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +6 -6
  273. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +9 -9
  274. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +2 -2
  275. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +9 -9
  276. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +3 -6
  277. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +22 -22
  278. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +4 -4
  279. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +2 -2
  280. data/lib/twilio-ruby/rest/wireless/v1/command.rb +7 -7
  281. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +8 -7
  282. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +22 -22
  283. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +4 -4
  284. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +10 -10
  285. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +6 -6
  286. data/lib/twilio-ruby/version.rb +1 -1
  287. data/spec/framework/version_spec.rb +53 -0
  288. data/spec/holodeck/holodeck.rb +3 -3
  289. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
  290. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
  291. data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
  292. data/spec/integration/bulkexports/v1/export/day_spec.rb +5 -5
  293. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +4 -4
  294. data/spec/integration/bulkexports/v1/export_spec.rb +3 -3
  295. data/spec/integration/conversations/v1/{webhook_spec.rb → configuration/webhook_spec.rb} +12 -8
  296. data/spec/integration/conversations/v1/configuration_spec.rb +87 -0
  297. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +4 -0
  298. data/spec/integration/conversations/v1/conversation/participant_spec.rb +6 -6
  299. data/spec/integration/conversations/v1/conversation_spec.rb +5 -0
  300. data/spec/integration/conversations/v1/credential_spec.rb +219 -0
  301. data/spec/integration/conversations/v1/role_spec.rb +249 -0
  302. data/spec/integration/conversations/v1/service/binding_spec.rb +166 -0
  303. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +115 -0
  304. data/spec/integration/conversations/v1/service/configuration_spec.rb +87 -0
  305. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +144 -0
  306. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +429 -0
  307. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +407 -0
  308. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +299 -0
  309. data/spec/integration/conversations/v1/service/conversation_spec.rb +289 -0
  310. data/spec/integration/conversations/v1/service/role_spec.rb +260 -0
  311. data/spec/integration/conversations/v1/service/user_spec.rb +236 -0
  312. data/spec/integration/conversations/v1/service_spec.rb +174 -0
  313. data/spec/integration/conversations/v1/user_spec.rb +226 -0
  314. data/spec/integration/events/v1/event_type_spec.rb +133 -0
  315. data/spec/integration/events/v1/schema/schema_version_spec.rb +126 -0
  316. data/spec/integration/events/v1/schema_spec.rb +46 -0
  317. data/spec/integration/events/v1/sink_spec.rb +3 -3
  318. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -121
  319. data/spec/integration/events/v1/subscription_spec.rb +41 -3
  320. data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
  321. data/spec/integration/messaging/v1/deactivation_spec.rb +40 -0
  322. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +27 -0
  323. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +27 -0
  324. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel → branded_channel}/channel_spec.rb +4 -8
  325. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel_spec.rb → branded_channel_spec.rb} +5 -9
  326. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -1
  327. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +48 -0
  328. data/spec/integration/serverless/v1/service/build_spec.rb +8 -2
  329. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +1 -0
  330. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +1 -0
  331. data/spec/integration/supersim/v1/sim_spec.rb +23 -0
  332. data/spec/integration/trunking/v1/trunk/recording_spec.rb +79 -0
  333. data/spec/integration/trunking/v1/trunk_spec.rb +4 -0
  334. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +52 -8
  335. data/spec/integration/verify/v2/service/entity/factor_spec.rb +8 -13
  336. data/spec/integration/verify/v2/service_spec.rb +8 -4
  337. data/spec/integration/video/v1/room_spec.rb +37 -0
  338. data/spec/spec_helper.rb +1 -1
  339. metadata +80 -14
  340. data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +0 -262
  341. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +0 -233
  342. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
  343. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
  344. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -48
@@ -28,8 +28,8 @@ module Twilio
28
28
 
29
29
  ##
30
30
  # Create the CredentialListInstance
31
- # @param [String] credential_list_sid The SID of the [Credential
32
- # List](https://www.twilio.com/docs/voice/sip/api/sip-credentiallist-resource)
31
+ # @param [String] credential_list_sid The SID of the {Credential
32
+ # List}[https://www.twilio.com/docs/voice/sip/api/sip-credentiallist-resource]
33
33
  # that you want to associate with the trunk. Once associated, we will authenticate
34
34
  # access to the trunk against this list.
35
35
  # @return [CredentialListInstance] Created CredentialListInstance
@@ -27,8 +27,9 @@ module Twilio
27
27
 
28
28
  ##
29
29
  # Create the IpAccessControlListInstance
30
- # @param [String] ip_access_control_list_sid The SID of the [IP Access Control
31
- # List](https://www.twilio.com/docs/voice/sip/api/sip-ipaccesscontrollist-resource) that you want to associate with the trunk.
30
+ # @param [String] ip_access_control_list_sid The SID of the {IP Access Control
31
+ # List}[https://www.twilio.com/docs/voice/sip/api/sip-ipaccesscontrollist-resource]
32
+ # that you want to associate with the trunk.
32
33
  # @return [IpAccessControlListInstance] Created IpAccessControlListInstance
33
34
  def create(ip_access_control_list_sid: nil)
34
35
  data = Twilio::Values.of({'IpAccessControlListSid' => ip_access_control_list_sid, })
@@ -30,8 +30,9 @@ module Twilio
30
30
 
31
31
  ##
32
32
  # Create the PhoneNumberInstance
33
- # @param [String] phone_number_sid The SID of the [Incoming Phone
34
- # Number](https://www.twilio.com/docs/phone-numbers/api/incomingphonenumber-resource) that you want to associate with the trunk.
33
+ # @param [String] phone_number_sid The SID of the {Incoming Phone
34
+ # Number}[https://www.twilio.com/docs/phone-numbers/api/incomingphonenumber-resource]
35
+ # that you want to associate with the trunk.
35
36
  # @return [PhoneNumberInstance] Created PhoneNumberInstance
36
37
  def create(phone_number_sid: nil)
37
38
  data = Twilio::Values.of({'PhoneNumberSid' => phone_number_sid, })
@@ -0,0 +1,201 @@
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 Trunking < Domain
12
+ class V1 < Version
13
+ class TrunkContext < InstanceContext
14
+ class RecordingList < ListResource
15
+ ##
16
+ # Initialize the RecordingList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] trunk_sid The trunk_sid
19
+ # @return [RecordingList] RecordingList
20
+ def initialize(version, trunk_sid: nil)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {trunk_sid: trunk_sid}
25
+ end
26
+
27
+ ##
28
+ # Provide a user friendly representation
29
+ def to_s
30
+ '#<Twilio.Trunking.V1.RecordingList>'
31
+ end
32
+ end
33
+
34
+ class RecordingPage < Page
35
+ ##
36
+ # Initialize the RecordingPage
37
+ # @param [Version] version Version that contains the resource
38
+ # @param [Response] response Response from the API
39
+ # @param [Hash] solution Path solution for the resource
40
+ # @return [RecordingPage] RecordingPage
41
+ def initialize(version, response, solution)
42
+ super(version, response)
43
+
44
+ # Path Solution
45
+ @solution = solution
46
+ end
47
+
48
+ ##
49
+ # Build an instance of RecordingInstance
50
+ # @param [Hash] payload Payload response from the API
51
+ # @return [RecordingInstance] RecordingInstance
52
+ def get_instance(payload)
53
+ RecordingInstance.new(@version, payload, trunk_sid: @solution[:trunk_sid], )
54
+ end
55
+
56
+ ##
57
+ # Provide a user friendly representation
58
+ def to_s
59
+ '<Twilio.Trunking.V1.RecordingPage>'
60
+ end
61
+ end
62
+
63
+ class RecordingContext < InstanceContext
64
+ ##
65
+ # Initialize the RecordingContext
66
+ # @param [Version] version Version that contains the resource
67
+ # @param [String] trunk_sid The SID of the Trunk from which to fetch the recording
68
+ # settings.
69
+ # @return [RecordingContext] RecordingContext
70
+ def initialize(version, trunk_sid)
71
+ super(version)
72
+
73
+ # Path Solution
74
+ @solution = {trunk_sid: trunk_sid, }
75
+ @uri = "/Trunks/#{@solution[:trunk_sid]}/Recording"
76
+ end
77
+
78
+ ##
79
+ # Fetch the RecordingInstance
80
+ # @return [RecordingInstance] Fetched RecordingInstance
81
+ def fetch
82
+ payload = @version.fetch('GET', @uri)
83
+
84
+ RecordingInstance.new(@version, payload, trunk_sid: @solution[:trunk_sid], )
85
+ end
86
+
87
+ ##
88
+ # Update the RecordingInstance
89
+ # @return [RecordingInstance] Updated RecordingInstance
90
+ def update
91
+ payload = @version.update('POST', @uri)
92
+
93
+ RecordingInstance.new(@version, payload, trunk_sid: @solution[:trunk_sid], )
94
+ end
95
+
96
+ ##
97
+ # Provide a user friendly representation
98
+ def to_s
99
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
100
+ "#<Twilio.Trunking.V1.RecordingContext #{context}>"
101
+ end
102
+
103
+ ##
104
+ # Provide a detailed, user friendly representation
105
+ def inspect
106
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
107
+ "#<Twilio.Trunking.V1.RecordingContext #{context}>"
108
+ end
109
+ end
110
+
111
+ class RecordingInstance < InstanceResource
112
+ ##
113
+ # Initialize the RecordingInstance
114
+ # @param [Version] version Version that contains the resource
115
+ # @param [Hash] payload payload that contains response from Twilio
116
+ # @param [String] trunk_sid The trunk_sid
117
+ # @return [RecordingInstance] RecordingInstance
118
+ def initialize(version, payload, trunk_sid: nil)
119
+ super(version)
120
+
121
+ # Marshaled Properties
122
+ @properties = {
123
+ 'mode' => payload['mode'],
124
+ 'trim' => payload['trim'],
125
+ 'url' => payload['url'],
126
+ 'trunk_sid' => payload['trunk_sid'],
127
+ }
128
+
129
+ # Context
130
+ @instance_context = nil
131
+ @params = {'trunk_sid' => trunk_sid, }
132
+ end
133
+
134
+ ##
135
+ # Generate an instance context for the instance, the context is capable of
136
+ # performing various actions. All instance actions are proxied to the context
137
+ # @return [RecordingContext] RecordingContext for this RecordingInstance
138
+ def context
139
+ unless @instance_context
140
+ @instance_context = RecordingContext.new(@version, @params['trunk_sid'], )
141
+ end
142
+ @instance_context
143
+ end
144
+
145
+ ##
146
+ # @return [recording.RecordingMode] The recording mode for the trunk.
147
+ def mode
148
+ @properties['mode']
149
+ end
150
+
151
+ ##
152
+ # @return [recording.RecordingTrim] The recording trim setting for the trunk.
153
+ def trim
154
+ @properties['trim']
155
+ end
156
+
157
+ ##
158
+ # @return [String] The url
159
+ def url
160
+ @properties['url']
161
+ end
162
+
163
+ ##
164
+ # @return [String] The trunk_sid
165
+ def trunk_sid
166
+ @properties['trunk_sid']
167
+ end
168
+
169
+ ##
170
+ # Fetch the RecordingInstance
171
+ # @return [RecordingInstance] Fetched RecordingInstance
172
+ def fetch
173
+ context.fetch
174
+ end
175
+
176
+ ##
177
+ # Update the RecordingInstance
178
+ # @return [RecordingInstance] Updated RecordingInstance
179
+ def update
180
+ context.update
181
+ end
182
+
183
+ ##
184
+ # Provide a user friendly representation
185
+ def to_s
186
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
187
+ "<Twilio.Trunking.V1.RecordingInstance #{values}>"
188
+ end
189
+
190
+ ##
191
+ # Provide a detailed, user friendly representation
192
+ def inspect
193
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
194
+ "<Twilio.Trunking.V1.RecordingInstance #{values}>"
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
200
+ end
201
+ end
@@ -47,16 +47,21 @@ module Twilio
47
47
  # @param [Boolean] custom_code_enabled Whether to allow sending verifications with
48
48
  # a custom code instead of a randomly generated one. Not available for all
49
49
  # customers.
50
- # @param [Hash] push Configurations for the Push factors (channel) created under
51
- # this Service. If present, it must be a json string with the following format:
52
- # {"notify_service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "include_date":
53
- # true}. If `include_date` is set to `true`, which is the default, that means that
54
- # the push challenge’s response will include the date created value. If
55
- # `include_date` is set to `false`, then the date created value will not be
56
- # included. See [Challenge](https://www.twilio.com/docs/verify/api/challenge)
57
- # resource’s details parameter for more info
50
+ # @param [Boolean] push_include_date Optional configuration for the Push factors.
51
+ # If true, include the date in the Challenge's reponse. Otherwise, the date is
52
+ # omitted from the response. See
53
+ # {Challenge}[https://www.twilio.com/docs/verify/api/challenge] resource’s details
54
+ # parameter for more info. Default: true
55
+ # @param [String] push_apn_credential_sid Optional configuration for the Push
56
+ # factors. Set the APN Credential for this service. This will allow to send push
57
+ # notifications to iOS devices. See {Credential
58
+ # Resource}[https://www.twilio.com/docs/notify/api/credential-resource]
59
+ # @param [String] push_fcm_credential_sid Optional configuration for the Push
60
+ # factors. Set the FCM Credential for this service. This will allow to send push
61
+ # notifications to Android devices. See {Credential
62
+ # Resource}[https://www.twilio.com/docs/notify/api/credential-resource]
58
63
  # @return [ServiceInstance] Created ServiceInstance
59
- def create(friendly_name: nil, code_length: :unset, lookup_enabled: :unset, skip_sms_to_landlines: :unset, dtmf_input_required: :unset, tts_name: :unset, psd2_enabled: :unset, do_not_share_warning_enabled: :unset, custom_code_enabled: :unset, push: :unset)
64
+ def create(friendly_name: nil, code_length: :unset, lookup_enabled: :unset, skip_sms_to_landlines: :unset, dtmf_input_required: :unset, tts_name: :unset, psd2_enabled: :unset, do_not_share_warning_enabled: :unset, custom_code_enabled: :unset, push_include_date: :unset, push_apn_credential_sid: :unset, push_fcm_credential_sid: :unset)
60
65
  data = Twilio::Values.of({
61
66
  'FriendlyName' => friendly_name,
62
67
  'CodeLength' => code_length,
@@ -67,7 +72,9 @@ module Twilio
67
72
  'Psd2Enabled' => psd2_enabled,
68
73
  'DoNotShareWarningEnabled' => do_not_share_warning_enabled,
69
74
  'CustomCodeEnabled' => custom_code_enabled,
70
- 'Push' => Twilio.serialize_object(push),
75
+ 'Push.IncludeDate' => push_include_date,
76
+ 'Push.ApnCredentialSid' => push_apn_credential_sid,
77
+ 'Push.FcmCredentialSid' => push_fcm_credential_sid,
71
78
  })
72
79
 
73
80
  payload = @version.create('POST', @uri, data: data)
@@ -253,16 +260,21 @@ module Twilio
253
260
  # @param [Boolean] custom_code_enabled Whether to allow sending verifications with
254
261
  # a custom code instead of a randomly generated one. Not available for all
255
262
  # customers.
256
- # @param [Hash] push Configurations for the Push factors (channel) created under
257
- # this Service. If present, it must be a json string with the following format:
258
- # {"notify_service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "include_date":
259
- # true}. If `include_date` is set to `true`, which is the default, that means that
260
- # the push challenge’s response will include the date created value. If
261
- # `include_date` is set to `false`, then the date created value will not be
262
- # included. See [Challenge](https://www.twilio.com/docs/verify/api/challenge)
263
- # resource’s details parameter for more info
263
+ # @param [Boolean] push_include_date Optional configuration for the Push factors.
264
+ # If true, include the date in the Challenge's reponse. Otherwise, the date is
265
+ # omitted from the response. See
266
+ # {Challenge}[https://www.twilio.com/docs/verify/api/challenge] resource’s details
267
+ # parameter for more info. Default: true
268
+ # @param [String] push_apn_credential_sid Optional configuration for the Push
269
+ # factors. Set the APN Credential for this service. This will allow to send push
270
+ # notifications to iOS devices. See {Credential
271
+ # Resource}[https://www.twilio.com/docs/notify/api/credential-resource]
272
+ # @param [String] push_fcm_credential_sid Optional configuration for the Push
273
+ # factors. Set the FCM Credential for this service. This will allow to send push
274
+ # notifications to Android devices. See {Credential
275
+ # Resource}[https://www.twilio.com/docs/notify/api/credential-resource]
264
276
  # @return [ServiceInstance] Updated ServiceInstance
265
- def update(friendly_name: :unset, code_length: :unset, lookup_enabled: :unset, skip_sms_to_landlines: :unset, dtmf_input_required: :unset, tts_name: :unset, psd2_enabled: :unset, do_not_share_warning_enabled: :unset, custom_code_enabled: :unset, push: :unset)
277
+ def update(friendly_name: :unset, code_length: :unset, lookup_enabled: :unset, skip_sms_to_landlines: :unset, dtmf_input_required: :unset, tts_name: :unset, psd2_enabled: :unset, do_not_share_warning_enabled: :unset, custom_code_enabled: :unset, push_include_date: :unset, push_apn_credential_sid: :unset, push_fcm_credential_sid: :unset)
266
278
  data = Twilio::Values.of({
267
279
  'FriendlyName' => friendly_name,
268
280
  'CodeLength' => code_length,
@@ -273,7 +285,9 @@ module Twilio
273
285
  'Psd2Enabled' => psd2_enabled,
274
286
  'DoNotShareWarningEnabled' => do_not_share_warning_enabled,
275
287
  'CustomCodeEnabled' => custom_code_enabled,
276
- 'Push' => Twilio.serialize_object(push),
288
+ 'Push.IncludeDate' => push_include_date,
289
+ 'Push.ApnCredentialSid' => push_apn_credential_sid,
290
+ 'Push.FcmCredentialSid' => push_fcm_credential_sid,
277
291
  })
278
292
 
279
293
  payload = @version.update('POST', @uri, data: data)
@@ -589,16 +603,21 @@ module Twilio
589
603
  # @param [Boolean] custom_code_enabled Whether to allow sending verifications with
590
604
  # a custom code instead of a randomly generated one. Not available for all
591
605
  # customers.
592
- # @param [Hash] push Configurations for the Push factors (channel) created under
593
- # this Service. If present, it must be a json string with the following format:
594
- # {"notify_service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "include_date":
595
- # true}. If `include_date` is set to `true`, which is the default, that means that
596
- # the push challenge’s response will include the date created value. If
597
- # `include_date` is set to `false`, then the date created value will not be
598
- # included. See [Challenge](https://www.twilio.com/docs/verify/api/challenge)
599
- # resource’s details parameter for more info
606
+ # @param [Boolean] push_include_date Optional configuration for the Push factors.
607
+ # If true, include the date in the Challenge's reponse. Otherwise, the date is
608
+ # omitted from the response. See
609
+ # {Challenge}[https://www.twilio.com/docs/verify/api/challenge] resource’s details
610
+ # parameter for more info. Default: true
611
+ # @param [String] push_apn_credential_sid Optional configuration for the Push
612
+ # factors. Set the APN Credential for this service. This will allow to send push
613
+ # notifications to iOS devices. See {Credential
614
+ # Resource}[https://www.twilio.com/docs/notify/api/credential-resource]
615
+ # @param [String] push_fcm_credential_sid Optional configuration for the Push
616
+ # factors. Set the FCM Credential for this service. This will allow to send push
617
+ # notifications to Android devices. See {Credential
618
+ # Resource}[https://www.twilio.com/docs/notify/api/credential-resource]
600
619
  # @return [ServiceInstance] Updated ServiceInstance
601
- def update(friendly_name: :unset, code_length: :unset, lookup_enabled: :unset, skip_sms_to_landlines: :unset, dtmf_input_required: :unset, tts_name: :unset, psd2_enabled: :unset, do_not_share_warning_enabled: :unset, custom_code_enabled: :unset, push: :unset)
620
+ def update(friendly_name: :unset, code_length: :unset, lookup_enabled: :unset, skip_sms_to_landlines: :unset, dtmf_input_required: :unset, tts_name: :unset, psd2_enabled: :unset, do_not_share_warning_enabled: :unset, custom_code_enabled: :unset, push_include_date: :unset, push_apn_credential_sid: :unset, push_fcm_credential_sid: :unset)
602
621
  context.update(
603
622
  friendly_name: friendly_name,
604
623
  code_length: code_length,
@@ -609,7 +628,9 @@ module Twilio
609
628
  psd2_enabled: psd2_enabled,
610
629
  do_not_share_warning_enabled: do_not_share_warning_enabled,
611
630
  custom_code_enabled: custom_code_enabled,
612
- push: push,
631
+ push_include_date: push_include_date,
632
+ push_apn_credential_sid: push_apn_credential_sid,
633
+ push_fcm_credential_sid: push_fcm_credential_sid,
613
634
  )
614
635
  end
615
636
 
@@ -34,27 +34,24 @@ module Twilio
34
34
  # Create the ChallengeInstance
35
35
  # @param [String] factor_sid The unique SID identifier of the Factor.
36
36
  # @param [Time] expiration_date The future date in which this Challenge will
37
- # expire, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
38
- # @param [String] details Details provided to give context about the Challenge.
39
- # Shown to the end user. It must be a stringified JSON with the following
40
- # structure: {"message": "string", "fields": [ { "label": "string", "value":
41
- # "string"}]}. `message` is required. If you send the `fields` property, each
42
- # field has to include `label` and `value` properties. If you had set
43
- # `include_date=true` in the `push` configuration of the
44
- # [service](https://www.twilio.com/docs/verify/api/service), the response will
45
- # also include the challenge's date created value as an additional field called
46
- # `date`
47
- # @param [String] hidden_details Details provided to give context about the
37
+ # expire, given in {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] format.
38
+ # @param [String] details_message Shown to the user when the push notification
39
+ # arrives. Required when `factor_type` is `push`
40
+ # @param [Hash] details_fields A list of objects that describe the Fields included
41
+ # in the Challenge. Each object contains the label and value of the field. Used
42
+ # when `factor_type` is `push`.
43
+ # @param [Hash] hidden_details Details provided to give context about the
48
44
  # Challenge. Not shown to the end user. It must be a stringified JSON with only
49
45
  # strings values eg. `{"ip": "172.168.1.234"}`
50
46
  # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
51
47
  # @return [ChallengeInstance] Created ChallengeInstance
52
- def create(factor_sid: nil, expiration_date: :unset, details: :unset, hidden_details: :unset, twilio_sandbox_mode: :unset)
48
+ def create(factor_sid: nil, expiration_date: :unset, details_message: :unset, details_fields: :unset, hidden_details: :unset, twilio_sandbox_mode: :unset)
53
49
  data = Twilio::Values.of({
54
50
  'FactorSid' => factor_sid,
55
51
  'ExpirationDate' => Twilio.serialize_iso8601_datetime(expiration_date),
56
- 'Details' => details,
57
- 'HiddenDetails' => hidden_details,
52
+ 'Details.Message' => details_message,
53
+ 'Details.Fields' => Twilio.serialize_list(details_fields) { |e| Twilio.serialize_object(e) },
54
+ 'HiddenDetails' => Twilio.serialize_object(hidden_details),
58
55
  })
59
56
  headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
60
57
 
@@ -422,13 +419,13 @@ module Twilio
422
419
  end
423
420
 
424
421
  ##
425
- # @return [String] Public details provided to contextualize the Challenge
422
+ # @return [Hash] The details
426
423
  def details
427
424
  @properties['details']
428
425
  end
429
426
 
430
427
  ##
431
- # @return [String] Hidden details provided to contextualize the Challenge
428
+ # @return [Hash] Hidden details provided to contextualize the Challenge
432
429
  def hidden_details
433
430
  @properties['hidden_details']
434
431
  end
@@ -33,30 +33,38 @@ module Twilio
33
33
 
34
34
  ##
35
35
  # Create the FactorInstance
36
- # @param [String] binding A unique binding for this Factor that identifies it.
37
- # E.g. the algorithm and public key for `push` factors. It must be a json string
38
- # with the required properties for the given factor type. Required when creating a
39
- # new Factor. This value is never returned because it can contain customer
40
- # secrets.
41
36
  # @param [String] friendly_name The friendly name of this Factor
42
37
  # @param [factor.FactorTypes] factor_type The Type of this Factor. Currently only
43
38
  # `push` is supported
44
- # @param [String] config The config required for this Factor. It must be a json
45
- # string with the required properties for the given factor type
39
+ # @param [String] binding_alg The algorithm used when `factor_type` is `push`.
40
+ # Algorithm supported: `ES256`
41
+ # @param [String] binding_public_key The Ecdsa public key in PKIX, ASN.1 DER
42
+ # format encoded in Base64
43
+ # @param [String] config_app_id The ID that uniquely identifies your app in the
44
+ # Google or Apple store, such as `com.example.myapp`. Required when `factor_type`
45
+ # is `push`
46
+ # @param [factor.NotificationPlatforms] config_notification_platform The transport
47
+ # technology used to generate the Notification Token. Can be `apn` or `fcm`.
48
+ # Required when `factor_type` is `push`
49
+ # @param [String] config_notification_token For APN, the device token. For FCM the
50
+ # registration token. It used to send the push notifications. Required when
51
+ # `factor_type` is `push`
52
+ # @param [String] config_sdk_version The Verify Push SDK version used to configure
53
+ # the factor
46
54
  # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
47
- # @param [String] authorization The Authorization HTTP request header
48
55
  # @return [FactorInstance] Created FactorInstance
49
- def create(binding: nil, friendly_name: nil, factor_type: nil, config: nil, twilio_sandbox_mode: :unset, authorization: :unset)
56
+ def create(friendly_name: nil, factor_type: nil, binding_alg: :unset, binding_public_key: :unset, config_app_id: :unset, config_notification_platform: :unset, config_notification_token: :unset, config_sdk_version: :unset, twilio_sandbox_mode: :unset)
50
57
  data = Twilio::Values.of({
51
- 'Binding' => binding,
52
58
  'FriendlyName' => friendly_name,
53
59
  'FactorType' => factor_type,
54
- 'Config' => config,
55
- })
56
- headers = Twilio::Values.of({
57
- 'Twilio-Sandbox-Mode' => twilio_sandbox_mode,
58
- 'Authorization' => authorization,
60
+ 'Binding.Alg' => binding_alg,
61
+ 'Binding.PublicKey' => binding_public_key,
62
+ 'Config.AppId' => config_app_id,
63
+ 'Config.NotificationPlatform' => config_notification_platform,
64
+ 'Config.NotificationToken' => config_notification_token,
65
+ 'Config.SdkVersion' => config_sdk_version,
59
66
  })
67
+ headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
60
68
 
61
69
  payload = @version.create('POST', @uri, data: data, headers: headers)
62
70
 
@@ -247,15 +255,19 @@ module Twilio
247
255
  # @param [String] auth_payload The optional payload needed to verify the Factor
248
256
  # for the first time. E.g. for a TOTP, the numeric code.
249
257
  # @param [String] friendly_name The new friendly name of this Factor
250
- # @param [String] config The new config for this Factor. It must be a json string
251
- # with the required properties for the given factor type
258
+ # @param [String] config_notification_token For APN, the device token. For FCM the
259
+ # registration token. It used to send the push notifications. Required when
260
+ # `factor_type` is `push`
261
+ # @param [String] config_sdk_version The Verify Push SDK version used to configure
262
+ # the factor
252
263
  # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
253
264
  # @return [FactorInstance] Updated FactorInstance
254
- def update(auth_payload: :unset, friendly_name: :unset, config: :unset, twilio_sandbox_mode: :unset)
265
+ def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset, twilio_sandbox_mode: :unset)
255
266
  data = Twilio::Values.of({
256
267
  'AuthPayload' => auth_payload,
257
268
  'FriendlyName' => friendly_name,
258
- 'Config' => config,
269
+ 'Config.NotificationToken' => config_notification_token,
270
+ 'Config.SdkVersion' => config_sdk_version,
259
271
  })
260
272
  headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
261
273
 
@@ -431,15 +443,19 @@ module Twilio
431
443
  # @param [String] auth_payload The optional payload needed to verify the Factor
432
444
  # for the first time. E.g. for a TOTP, the numeric code.
433
445
  # @param [String] friendly_name The new friendly name of this Factor
434
- # @param [String] config The new config for this Factor. It must be a json string
435
- # with the required properties for the given factor type
446
+ # @param [String] config_notification_token For APN, the device token. For FCM the
447
+ # registration token. It used to send the push notifications. Required when
448
+ # `factor_type` is `push`
449
+ # @param [String] config_sdk_version The Verify Push SDK version used to configure
450
+ # the factor
436
451
  # @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
437
452
  # @return [FactorInstance] Updated FactorInstance
438
- def update(auth_payload: :unset, friendly_name: :unset, config: :unset, twilio_sandbox_mode: :unset)
453
+ def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset, twilio_sandbox_mode: :unset)
439
454
  context.update(
440
455
  auth_payload: auth_payload,
441
456
  friendly_name: friendly_name,
442
- config: config,
457
+ config_notification_token: config_notification_token,
458
+ config_sdk_version: config_sdk_version,
443
459
  twilio_sandbox_mode: twilio_sandbox_mode,
444
460
  )
445
461
  end