twilio-ruby 5.50.0 → 5.54.1

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 (467) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +22 -28
  3. data/CHANGES.md +112 -0
  4. data/README.md +3 -2
  5. data/lib/twilio-ruby/http/http_client.rb +3 -1
  6. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1 -4
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +23 -23
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  9. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +2 -2
  10. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
  11. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +0 -8
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +1 -7
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +1 -9
  14. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
  15. data/lib/twilio-ruby/rest/events/v1/event_type.rb +12 -5
  16. data/lib/twilio-ruby/rest/events/v1/schema.rb +12 -12
  17. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +37 -37
  18. data/lib/twilio-ruby/rest/events/v1/sink.rb +41 -5
  19. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +15 -12
  20. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +28 -22
  21. data/lib/twilio-ruby/rest/messaging.rb +12 -0
  22. data/lib/twilio-ruby/rest/messaging/v1.rb +14 -0
  23. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  24. data/lib/twilio-ruby/rest/messaging/v1/service.rb +118 -26
  25. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +426 -0
  26. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +125 -0
  27. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  28. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  29. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  30. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +16 -0
  31. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +6 -6
  32. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +12 -13
  33. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +26 -6
  34. data/lib/twilio-ruby/rest/verify/v2/service.rb +61 -3
  35. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +24 -0
  36. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +53 -6
  37. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +201 -0
  38. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +0 -62
  39. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  40. data/lib/twilio-ruby/rest/video/v1/composition.rb +0 -8
  41. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  42. data/lib/twilio-ruby/version.rb +1 -1
  43. data/twilio-ruby.gemspec +1 -1
  44. metadata +10 -850
  45. data/spec/framework/request_spec.rb +0 -36
  46. data/spec/framework/serialize_spec.rb +0 -80
  47. data/spec/framework/version_spec.rb +0 -219
  48. data/spec/holodeck/holodeck.rb +0 -66
  49. data/spec/holodeck/hologram.rb +0 -4
  50. data/spec/http/http_client_spec.rb +0 -122
  51. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  52. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  53. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  54. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  55. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  56. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  57. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  58. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  59. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  60. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  61. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  62. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  63. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  64. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  65. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  66. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  67. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  68. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  69. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  70. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  71. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  72. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  73. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  74. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  75. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  76. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  77. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  78. data/spec/integration/api/v2010/account/conference_spec.rb +0 -716
  79. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  80. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  81. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  82. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  83. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  84. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  85. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -358
  86. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  87. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  88. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  89. data/spec/integration/api/v2010/account/message_spec.rb +0 -544
  90. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  91. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  92. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  93. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  94. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  95. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  96. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  97. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  98. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  99. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  100. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  101. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  102. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  103. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  104. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  105. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  106. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  107. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  108. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  109. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  110. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  111. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  112. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  113. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  114. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  115. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  116. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  117. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  118. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  119. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  120. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  121. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  122. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  123. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  124. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  125. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  126. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  127. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  128. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  129. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  130. data/spec/integration/api/v2010/account_spec.rb +0 -327
  131. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  132. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  133. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  134. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  135. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  136. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  137. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  138. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  139. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  140. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  141. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  142. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  143. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  144. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  145. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  146. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  147. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -133
  148. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -80
  149. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  150. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  151. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  152. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  153. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  154. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  155. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  156. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  157. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  158. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  159. data/spec/integration/chat/v1/service_spec.rb +0 -295
  160. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  161. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  162. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  163. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  164. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  165. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  166. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  167. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  168. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  169. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  170. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  171. data/spec/integration/chat/v2/service_spec.rb +0 -350
  172. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  173. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  174. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  175. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  176. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  177. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  178. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  179. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  180. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  181. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  182. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  183. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  184. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  185. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  186. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  187. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  188. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  189. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  190. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  191. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  192. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  193. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  194. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  195. data/spec/integration/events/v1/schema_spec.rb +0 -46
  196. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  197. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  198. data/spec/integration/events/v1/sink_spec.rb +0 -231
  199. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -225
  200. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  201. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  202. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  203. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  204. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -578
  205. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  206. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  207. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  208. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  209. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  210. data/spec/integration/insights/v1/call_spec.rb +0 -46
  211. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  212. data/spec/integration/insights/v1/room_spec.rb +0 -164
  213. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  214. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  215. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  216. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  217. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  218. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  219. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  220. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  221. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  222. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  223. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  224. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  225. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  226. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  227. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  228. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  229. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  230. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  231. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  232. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  233. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  234. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  235. data/spec/integration/messaging/v1/brand_registration_spec.rb +0 -143
  236. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  237. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  238. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  239. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  240. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  241. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  242. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  243. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  244. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  245. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  246. data/spec/integration/notify/v1/service_spec.rb +0 -289
  247. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  248. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  249. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  250. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  251. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  252. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  253. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  254. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  255. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  256. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  257. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  258. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  259. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  260. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  261. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  262. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  263. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  264. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  265. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  266. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  267. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  268. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  269. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  270. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  271. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  272. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  273. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  274. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  275. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  276. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  277. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  278. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  279. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  280. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  281. data/spec/integration/preview/sync/service_spec.rb +0 -241
  282. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  283. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  284. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  285. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  286. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  287. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  288. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  289. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  290. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  291. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  292. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  293. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  294. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  295. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  296. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  297. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  298. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  299. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  300. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  301. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  302. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  303. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  304. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  305. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  306. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  307. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  308. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  309. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  310. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  311. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  312. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  313. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  314. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  315. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  316. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  317. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  318. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  319. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  320. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  321. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  322. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  323. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  324. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  325. data/spec/integration/serverless/v1/service/build_spec.rb +0 -224
  326. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  327. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  328. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  329. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  330. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  331. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  332. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  333. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  334. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  335. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  336. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  337. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  338. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  339. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  340. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  341. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  342. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  343. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  344. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  345. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  346. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  347. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  348. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  349. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  350. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  351. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  352. data/spec/integration/supersim/v1/fleet_spec.rb +0 -234
  353. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  354. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  355. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  356. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  357. data/spec/integration/supersim/v1/sms_command_spec.rb +0 -184
  358. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  359. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  360. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  361. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  362. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  363. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  364. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  365. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  366. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  367. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  368. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  369. data/spec/integration/sync/v1/service_spec.rb +0 -261
  370. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  371. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  372. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  373. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  374. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  375. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  376. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  377. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  378. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  379. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -327
  380. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  381. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  382. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  383. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  384. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  385. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  386. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  387. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  388. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  389. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  390. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  391. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  392. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  393. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  394. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  395. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  396. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  397. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  398. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  399. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  400. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  401. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment_spec.rb +0 -192
  402. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_entity_assignments_spec.rb +0 -186
  403. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_evaluations_spec.rb +0 -615
  404. data/spec/integration/trusthub/v1/customer_profiles_spec.rb +0 -255
  405. data/spec/integration/trusthub/v1/end_user_spec.rb +0 -247
  406. data/spec/integration/trusthub/v1/end_user_type_spec.rb +0 -176
  407. data/spec/integration/trusthub/v1/policies_spec.rb +0 -252
  408. data/spec/integration/trusthub/v1/supporting_document_spec.rb +0 -235
  409. data/spec/integration/trusthub/v1/supporting_document_type_spec.rb +0 -159
  410. data/spec/integration/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment_spec.rb +0 -192
  411. data/spec/integration/trusthub/v1/trust_products/trust_products_entity_assignments_spec.rb +0 -186
  412. data/spec/integration/trusthub/v1/trust_products/trust_products_evaluations_spec.rb +0 -615
  413. data/spec/integration/trusthub/v1/trust_products_spec.rb +0 -255
  414. data/spec/integration/verify/v2/form_spec.rb +0 -47
  415. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  416. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  417. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  418. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  419. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  420. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  421. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  422. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  423. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  424. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  425. data/spec/integration/verify/v2/service_spec.rb +0 -279
  426. data/spec/integration/verify/v2/verification_attempt_spec.rb +0 -146
  427. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  428. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  429. data/spec/integration/video/v1/composition_spec.rb +0 -347
  430. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  431. data/spec/integration/video/v1/recording_spec.rb +0 -176
  432. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  433. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  434. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  435. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  436. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  437. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  438. data/spec/integration/video/v1/room_spec.rb +0 -340
  439. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  440. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  441. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  442. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  443. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  444. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  445. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  446. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  447. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  448. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  449. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  450. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  451. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  452. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  453. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  454. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  455. data/spec/jwt/access_token_spec.rb +0 -159
  456. data/spec/jwt/client_capability_spec.rb +0 -104
  457. data/spec/jwt/task_router_spec.rb +0 -172
  458. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  459. data/spec/rest/client_spec.rb +0 -255
  460. data/spec/security/request_validator_spec.rb +0 -125
  461. data/spec/spec_helper.rb +0 -38
  462. data/spec/support/fakeweb.rb +0 -2
  463. data/spec/twilio_spec.rb +0 -17
  464. data/spec/twiml/messaging_response_spec.rb +0 -235
  465. data/spec/twiml/voice_response_spec.rb +0 -847
  466. data/spec/util/configuration_spec.rb +0 -33
  467. data/spec/util/url_encode_spec.rb +0 -12
@@ -29,15 +29,20 @@ module Twilio
29
29
  # Create the ServiceInstance
30
30
  # @param [String] friendly_name A descriptive string that you create to describe
31
31
  # the resource. It can be up to 64 characters long.
32
- # @param [String] inbound_request_url The URL we should call using
33
- # `inbound_method` when a message is received by any phone number or short code in
34
- # the Service. When this property is `null`, receiving inbound messages is
35
- # disabled.
32
+ # @param [String] inbound_request_url The URL we call using `inbound_method` when
33
+ # a message is received by any phone number or short code in the Service. When
34
+ # this property is `null`, receiving inbound messages is disabled. All messages
35
+ # sent to the Twilio phone number or short code will not be logged and received on
36
+ # the Account. If the `use_inbound_webhook_on_number` field is enabled then the
37
+ # webhook url defined on the phone number will override the `inbound_request_url`
38
+ # defined for the Messaging Service.
36
39
  # @param [String] inbound_method The HTTP method we should use to call
37
40
  # `inbound_request_url`. Can be `GET` or `POST` and the default is `POST`.
38
- # @param [String] fallback_url The URL that we should call using `fallback_method`
39
- # if an error occurs while retrieving or executing the TwiML from the Inbound
40
- # Request URL.
41
+ # @param [String] fallback_url The URL that we call using `fallback_method` if an
42
+ # error occurs while retrieving or executing the TwiML from the Inbound Request
43
+ # URL. If the `use_inbound_webhook_on_number` field is enabled then the webhook
44
+ # url defined on the phone number will override the `fallback_url` defined for the
45
+ # Messaging Service.
41
46
  # @param [String] fallback_method The HTTP method we should use to call
42
47
  # `fallback_url`. Can be: `GET` or `POST`.
43
48
  # @param [String] status_callback The URL we should call to {pass status
@@ -62,8 +67,14 @@ module Twilio
62
67
  # @param [String] validity_period How long, in seconds, messages sent from the
63
68
  # Service are valid. Can be an integer from `1` to `14,400`.
64
69
  # @param [Boolean] synchronous_validation Reserved.
70
+ # @param [Boolean] use_inbound_webhook_on_number A boolean value that indicates
71
+ # either the webhook url configured on the phone number will be used or
72
+ # `inbound_request_url`/`fallback_url` url will be called when a message is
73
+ # received from the phone number. If this field is enabled then the webhook url
74
+ # defined on the phone number will override the
75
+ # `inbound_request_url`/`fallback_url` defined for the Messaging Service.
65
76
  # @return [ServiceInstance] Created ServiceInstance
66
- def create(friendly_name: nil, inbound_request_url: :unset, inbound_method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, sticky_sender: :unset, mms_converter: :unset, smart_encoding: :unset, scan_message_content: :unset, fallback_to_long_code: :unset, area_code_geomatch: :unset, validity_period: :unset, synchronous_validation: :unset)
77
+ def create(friendly_name: nil, inbound_request_url: :unset, inbound_method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, sticky_sender: :unset, mms_converter: :unset, smart_encoding: :unset, scan_message_content: :unset, fallback_to_long_code: :unset, area_code_geomatch: :unset, validity_period: :unset, synchronous_validation: :unset, use_inbound_webhook_on_number: :unset)
67
78
  data = Twilio::Values.of({
68
79
  'FriendlyName' => friendly_name,
69
80
  'InboundRequestUrl' => inbound_request_url,
@@ -79,6 +90,7 @@ module Twilio
79
90
  'AreaCodeGeomatch' => area_code_geomatch,
80
91
  'ValidityPeriod' => validity_period,
81
92
  'SynchronousValidation' => synchronous_validation,
93
+ 'UseInboundWebhookOnNumber' => use_inbound_webhook_on_number,
82
94
  })
83
95
 
84
96
  payload = @version.create('POST', @uri, data: data)
@@ -223,21 +235,28 @@ module Twilio
223
235
  @phone_numbers = nil
224
236
  @short_codes = nil
225
237
  @alpha_senders = nil
238
+ @us_app_to_person = nil
239
+ @us_app_to_person_usecases = nil
226
240
  end
227
241
 
228
242
  ##
229
243
  # Update the ServiceInstance
230
244
  # @param [String] friendly_name A descriptive string that you create to describe
231
245
  # the resource. It can be up to 64 characters long.
232
- # @param [String] inbound_request_url The URL we should call using
233
- # `inbound_method` when a message is received by any phone number or short code in
234
- # the Service. When this property is `null`, receiving inbound messages is
235
- # disabled.
246
+ # @param [String] inbound_request_url The URL we call using `inbound_method` when
247
+ # a message is received by any phone number or short code in the Service. When
248
+ # this property is `null`, receiving inbound messages is disabled. All messages
249
+ # sent to the Twilio phone number or short code will not be logged and received on
250
+ # the Account. If the `use_inbound_webhook_on_number` field is enabled then the
251
+ # webhook url defined on the phone number will override the `inbound_request_url`
252
+ # defined for the Messaging Service.
236
253
  # @param [String] inbound_method The HTTP method we should use to call
237
254
  # `inbound_request_url`. Can be `GET` or `POST` and the default is `POST`.
238
- # @param [String] fallback_url The URL that we should call using `fallback_method`
239
- # if an error occurs while retrieving or executing the TwiML from the Inbound
240
- # Request URL.
255
+ # @param [String] fallback_url The URL that we call using `fallback_method` if an
256
+ # error occurs while retrieving or executing the TwiML from the Inbound Request
257
+ # URL. If the `use_inbound_webhook_on_number` field is enabled then the webhook
258
+ # url defined on the phone number will override the `fallback_url` defined for the
259
+ # Messaging Service.
241
260
  # @param [String] fallback_method The HTTP method we should use to call
242
261
  # `fallback_url`. Can be: `GET` or `POST`.
243
262
  # @param [String] status_callback The URL we should call to {pass status
@@ -262,8 +281,14 @@ module Twilio
262
281
  # @param [String] validity_period How long, in seconds, messages sent from the
263
282
  # Service are valid. Can be an integer from `1` to `14,400`.
264
283
  # @param [Boolean] synchronous_validation Reserved.
284
+ # @param [Boolean] use_inbound_webhook_on_number A boolean value that indicates
285
+ # either the webhook url configured on the phone number will be used or
286
+ # `inbound_request_url`/`fallback_url` url will be called when a message is
287
+ # received from the phone number. If this field is enabled then the webhook url
288
+ # defined on the phone number will override the
289
+ # `inbound_request_url`/`fallback_url` defined for the Messaging Service.
265
290
  # @return [ServiceInstance] Updated ServiceInstance
266
- def update(friendly_name: :unset, inbound_request_url: :unset, inbound_method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, sticky_sender: :unset, mms_converter: :unset, smart_encoding: :unset, scan_message_content: :unset, fallback_to_long_code: :unset, area_code_geomatch: :unset, validity_period: :unset, synchronous_validation: :unset)
291
+ def update(friendly_name: :unset, inbound_request_url: :unset, inbound_method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, sticky_sender: :unset, mms_converter: :unset, smart_encoding: :unset, scan_message_content: :unset, fallback_to_long_code: :unset, area_code_geomatch: :unset, validity_period: :unset, synchronous_validation: :unset, use_inbound_webhook_on_number: :unset)
267
292
  data = Twilio::Values.of({
268
293
  'FriendlyName' => friendly_name,
269
294
  'InboundRequestUrl' => inbound_request_url,
@@ -279,6 +304,7 @@ module Twilio
279
304
  'AreaCodeGeomatch' => area_code_geomatch,
280
305
  'ValidityPeriod' => validity_period,
281
306
  'SynchronousValidation' => synchronous_validation,
307
+ 'UseInboundWebhookOnNumber' => use_inbound_webhook_on_number,
282
308
  })
283
309
 
284
310
  payload = @version.update('POST', @uri, data: data)
@@ -356,6 +382,39 @@ module Twilio
356
382
  @alpha_senders
357
383
  end
358
384
 
385
+ ##
386
+ # Access the us_app_to_person
387
+ # @return [UsAppToPersonList]
388
+ # @return [UsAppToPersonContext] if sid was passed.
389
+ def us_app_to_person(sid=:unset)
390
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
391
+
392
+ if sid != :unset
393
+ return UsAppToPersonContext.new(@version, @solution[:sid], sid, )
394
+ end
395
+
396
+ unless @us_app_to_person
397
+ @us_app_to_person = UsAppToPersonList.new(@version, messaging_service_sid: @solution[:sid], )
398
+ end
399
+
400
+ @us_app_to_person
401
+ end
402
+
403
+ ##
404
+ # Access the us_app_to_person_usecases
405
+ # @return [UsAppToPersonUsecaseList]
406
+ # @return [UsAppToPersonUsecaseContext]
407
+ def us_app_to_person_usecases
408
+ unless @us_app_to_person_usecases
409
+ @us_app_to_person_usecases = UsAppToPersonUsecaseList.new(
410
+ @version,
411
+ messaging_service_sid: @solution[:sid],
412
+ )
413
+ end
414
+
415
+ @us_app_to_person_usecases
416
+ end
417
+
359
418
  ##
360
419
  # Provide a user friendly representation
361
420
  def to_s
@@ -405,6 +464,7 @@ module Twilio
405
464
  'validity_period' => payload['validity_period'].to_i,
406
465
  'url' => payload['url'],
407
466
  'links' => payload['links'],
467
+ 'use_inbound_webhook_on_number' => payload['use_inbound_webhook_on_number'],
408
468
  }
409
469
 
410
470
  # Context
@@ -454,7 +514,7 @@ module Twilio
454
514
  end
455
515
 
456
516
  ##
457
- # @return [String] The URL we call using inbound_method when a message is received by any phone number or short code in the Service
517
+ # @return [String] The URL we call using inbound_method when a message is received by any phone number or short code in the Service. This field will be overridden if the `use_inbound_webhook_on_number` field is enabled.
458
518
  def inbound_request_url
459
519
  @properties['inbound_request_url']
460
520
  end
@@ -466,7 +526,7 @@ module Twilio
466
526
  end
467
527
 
468
528
  ##
469
- # @return [String] The URL that we call using fallback_method if an error occurs while retrieving or executing the TwiML from the Inbound Request URL
529
+ # @return [String] The URL that we call using fallback_method if an error occurs while retrieving or executing the TwiML from the Inbound Request URL. This field will be overridden if the `use_inbound_webhook_on_number` field is enabled.
470
530
  def fallback_url
471
531
  @properties['fallback_url']
472
532
  end
@@ -543,19 +603,30 @@ module Twilio
543
603
  @properties['links']
544
604
  end
545
605
 
606
+ ##
607
+ # @return [Boolean] If enabled, the webhook url configured on the phone number will be used and will override the `inbound_request_url`/`fallback_url` url called when an inbound message is received.
608
+ def use_inbound_webhook_on_number
609
+ @properties['use_inbound_webhook_on_number']
610
+ end
611
+
546
612
  ##
547
613
  # Update the ServiceInstance
548
614
  # @param [String] friendly_name A descriptive string that you create to describe
549
615
  # the resource. It can be up to 64 characters long.
550
- # @param [String] inbound_request_url The URL we should call using
551
- # `inbound_method` when a message is received by any phone number or short code in
552
- # the Service. When this property is `null`, receiving inbound messages is
553
- # disabled.
616
+ # @param [String] inbound_request_url The URL we call using `inbound_method` when
617
+ # a message is received by any phone number or short code in the Service. When
618
+ # this property is `null`, receiving inbound messages is disabled. All messages
619
+ # sent to the Twilio phone number or short code will not be logged and received on
620
+ # the Account. If the `use_inbound_webhook_on_number` field is enabled then the
621
+ # webhook url defined on the phone number will override the `inbound_request_url`
622
+ # defined for the Messaging Service.
554
623
  # @param [String] inbound_method The HTTP method we should use to call
555
624
  # `inbound_request_url`. Can be `GET` or `POST` and the default is `POST`.
556
- # @param [String] fallback_url The URL that we should call using `fallback_method`
557
- # if an error occurs while retrieving or executing the TwiML from the Inbound
558
- # Request URL.
625
+ # @param [String] fallback_url The URL that we call using `fallback_method` if an
626
+ # error occurs while retrieving or executing the TwiML from the Inbound Request
627
+ # URL. If the `use_inbound_webhook_on_number` field is enabled then the webhook
628
+ # url defined on the phone number will override the `fallback_url` defined for the
629
+ # Messaging Service.
559
630
  # @param [String] fallback_method The HTTP method we should use to call
560
631
  # `fallback_url`. Can be: `GET` or `POST`.
561
632
  # @param [String] status_callback The URL we should call to {pass status
@@ -580,8 +651,14 @@ module Twilio
580
651
  # @param [String] validity_period How long, in seconds, messages sent from the
581
652
  # Service are valid. Can be an integer from `1` to `14,400`.
582
653
  # @param [Boolean] synchronous_validation Reserved.
654
+ # @param [Boolean] use_inbound_webhook_on_number A boolean value that indicates
655
+ # either the webhook url configured on the phone number will be used or
656
+ # `inbound_request_url`/`fallback_url` url will be called when a message is
657
+ # received from the phone number. If this field is enabled then the webhook url
658
+ # defined on the phone number will override the
659
+ # `inbound_request_url`/`fallback_url` defined for the Messaging Service.
583
660
  # @return [ServiceInstance] Updated ServiceInstance
584
- def update(friendly_name: :unset, inbound_request_url: :unset, inbound_method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, sticky_sender: :unset, mms_converter: :unset, smart_encoding: :unset, scan_message_content: :unset, fallback_to_long_code: :unset, area_code_geomatch: :unset, validity_period: :unset, synchronous_validation: :unset)
661
+ def update(friendly_name: :unset, inbound_request_url: :unset, inbound_method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, sticky_sender: :unset, mms_converter: :unset, smart_encoding: :unset, scan_message_content: :unset, fallback_to_long_code: :unset, area_code_geomatch: :unset, validity_period: :unset, synchronous_validation: :unset, use_inbound_webhook_on_number: :unset)
585
662
  context.update(
586
663
  friendly_name: friendly_name,
587
664
  inbound_request_url: inbound_request_url,
@@ -597,6 +674,7 @@ module Twilio
597
674
  area_code_geomatch: area_code_geomatch,
598
675
  validity_period: validity_period,
599
676
  synchronous_validation: synchronous_validation,
677
+ use_inbound_webhook_on_number: use_inbound_webhook_on_number,
600
678
  )
601
679
  end
602
680
 
@@ -635,6 +713,20 @@ module Twilio
635
713
  context.alpha_senders
636
714
  end
637
715
 
716
+ ##
717
+ # Access the us_app_to_person
718
+ # @return [us_app_to_person] us_app_to_person
719
+ def us_app_to_person
720
+ context.us_app_to_person
721
+ end
722
+
723
+ ##
724
+ # Access the us_app_to_person_usecases
725
+ # @return [us_app_to_person_usecases] us_app_to_person_usecases
726
+ def us_app_to_person_usecases
727
+ context.us_app_to_person_usecases
728
+ end
729
+
638
730
  ##
639
731
  # Provide a user friendly representation
640
732
  def to_s
@@ -0,0 +1,426 @@
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 Messaging < Domain
12
+ class V1 < Version
13
+ class ServiceContext < InstanceContext
14
+ ##
15
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
+ class UsAppToPersonList < ListResource
17
+ ##
18
+ # Initialize the UsAppToPersonList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] messaging_service_sid The SID of the {Messaging
21
+ # Service}[https://www.twilio.com/docs/messaging/services/api] that the resource
22
+ # is associated with.
23
+ # @return [UsAppToPersonList] UsAppToPersonList
24
+ def initialize(version, messaging_service_sid: nil)
25
+ super(version)
26
+
27
+ # Path Solution
28
+ @solution = {messaging_service_sid: messaging_service_sid}
29
+ @uri = "/Services/#{@solution[:messaging_service_sid]}/Compliance/Usa2p"
30
+ end
31
+
32
+ ##
33
+ # Create the UsAppToPersonInstance
34
+ # @param [String] brand_registration_sid A2P Brand Registration SID
35
+ # @param [String] description A short description of what this SMS campaign does.
36
+ # @param [Array[String]] message_samples Message samples, up to 5 sample messages,
37
+ # <=1024 chars each.
38
+ # @param [String] us_app_to_person_usecase A2P Campaign Use Case. Examples: [ 2FA,
39
+ # EMERGENCY, MARKETING..]
40
+ # @param [Boolean] has_embedded_links Indicates that this SMS campaign will send
41
+ # messages that contain links.
42
+ # @param [Boolean] has_embedded_phone Indicates that this SMS campaign will send
43
+ # messages that contain phone numbers.
44
+ # @return [UsAppToPersonInstance] Created UsAppToPersonInstance
45
+ def create(brand_registration_sid: nil, description: nil, message_samples: nil, us_app_to_person_usecase: nil, has_embedded_links: nil, has_embedded_phone: nil)
46
+ data = Twilio::Values.of({
47
+ 'BrandRegistrationSid' => brand_registration_sid,
48
+ 'Description' => description,
49
+ 'MessageSamples' => Twilio.serialize_list(message_samples) { |e| e },
50
+ 'UsAppToPersonUsecase' => us_app_to_person_usecase,
51
+ 'HasEmbeddedLinks' => has_embedded_links,
52
+ 'HasEmbeddedPhone' => has_embedded_phone,
53
+ })
54
+
55
+ payload = @version.create('POST', @uri, data: data)
56
+
57
+ UsAppToPersonInstance.new(
58
+ @version,
59
+ payload,
60
+ messaging_service_sid: @solution[:messaging_service_sid],
61
+ )
62
+ end
63
+
64
+ ##
65
+ # Lists UsAppToPersonInstance records from the API as a list.
66
+ # Unlike stream(), this operation is eager and will load `limit` records into
67
+ # memory before returning.
68
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
69
+ # guarantees to never return more than limit. Default is no limit
70
+ # @param [Integer] page_size Number of records to fetch per request, when
71
+ # not set will use the default value of 50 records. If no page_size is defined
72
+ # but a limit is defined, stream() will attempt to read the limit with the most
73
+ # efficient page size, i.e. min(limit, 1000)
74
+ # @return [Array] Array of up to limit results
75
+ def list(limit: nil, page_size: nil)
76
+ self.stream(limit: limit, page_size: page_size).entries
77
+ end
78
+
79
+ ##
80
+ # Streams UsAppToPersonInstance records from the API as an Enumerable.
81
+ # This operation lazily loads records as efficiently as possible until the limit
82
+ # is reached.
83
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
84
+ # guarantees to never return more than limit. Default is no limit.
85
+ # @param [Integer] page_size Number of records to fetch per request, when
86
+ # not set will use the default value of 50 records. If no page_size is defined
87
+ # but a limit is defined, stream() will attempt to read the limit with the most
88
+ # efficient page size, i.e. min(limit, 1000)
89
+ # @return [Enumerable] Enumerable that will yield up to limit results
90
+ def stream(limit: nil, page_size: nil)
91
+ limits = @version.read_limits(limit, page_size)
92
+
93
+ page = self.page(page_size: limits[:page_size], )
94
+
95
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
96
+ end
97
+
98
+ ##
99
+ # When passed a block, yields UsAppToPersonInstance records from the API.
100
+ # This operation lazily loads records as efficiently as possible until the limit
101
+ # is reached.
102
+ def each
103
+ limits = @version.read_limits
104
+
105
+ page = self.page(page_size: limits[:page_size], )
106
+
107
+ @version.stream(page,
108
+ limit: limits[:limit],
109
+ page_limit: limits[:page_limit]).each {|x| yield x}
110
+ end
111
+
112
+ ##
113
+ # Retrieve a single page of UsAppToPersonInstance records from the API.
114
+ # Request is executed immediately.
115
+ # @param [String] page_token PageToken provided by the API
116
+ # @param [Integer] page_number Page Number, this value is simply for client state
117
+ # @param [Integer] page_size Number of records to return, defaults to 50
118
+ # @return [Page] Page of UsAppToPersonInstance
119
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
120
+ params = Twilio::Values.of({
121
+ 'PageToken' => page_token,
122
+ 'Page' => page_number,
123
+ 'PageSize' => page_size,
124
+ })
125
+
126
+ response = @version.page('GET', @uri, params: params)
127
+
128
+ UsAppToPersonPage.new(@version, response, @solution)
129
+ end
130
+
131
+ ##
132
+ # Retrieve a single page of UsAppToPersonInstance records from the API.
133
+ # Request is executed immediately.
134
+ # @param [String] target_url API-generated URL for the requested results page
135
+ # @return [Page] Page of UsAppToPersonInstance
136
+ def get_page(target_url)
137
+ response = @version.domain.request(
138
+ 'GET',
139
+ target_url
140
+ )
141
+ UsAppToPersonPage.new(@version, response, @solution)
142
+ end
143
+
144
+ ##
145
+ # Provide a user friendly representation
146
+ def to_s
147
+ '#<Twilio.Messaging.V1.UsAppToPersonList>'
148
+ end
149
+ end
150
+
151
+ ##
152
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
153
+ class UsAppToPersonPage < Page
154
+ ##
155
+ # Initialize the UsAppToPersonPage
156
+ # @param [Version] version Version that contains the resource
157
+ # @param [Response] response Response from the API
158
+ # @param [Hash] solution Path solution for the resource
159
+ # @return [UsAppToPersonPage] UsAppToPersonPage
160
+ def initialize(version, response, solution)
161
+ super(version, response)
162
+
163
+ # Path Solution
164
+ @solution = solution
165
+ end
166
+
167
+ ##
168
+ # Build an instance of UsAppToPersonInstance
169
+ # @param [Hash] payload Payload response from the API
170
+ # @return [UsAppToPersonInstance] UsAppToPersonInstance
171
+ def get_instance(payload)
172
+ UsAppToPersonInstance.new(
173
+ @version,
174
+ payload,
175
+ messaging_service_sid: @solution[:messaging_service_sid],
176
+ )
177
+ end
178
+
179
+ ##
180
+ # Provide a user friendly representation
181
+ def to_s
182
+ '<Twilio.Messaging.V1.UsAppToPersonPage>'
183
+ end
184
+ end
185
+
186
+ ##
187
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
188
+ class UsAppToPersonContext < InstanceContext
189
+ ##
190
+ # Initialize the UsAppToPersonContext
191
+ # @param [Version] version Version that contains the resource
192
+ # @param [String] messaging_service_sid The SID of the {Messaging
193
+ # Service}[https://www.twilio.com/docs/messaging/services/api] to fetch the
194
+ # resource from.
195
+ # @param [String] sid The SID of the US A2P Compliance resource to fetch
196
+ # `QE2c6890da8086d771620e9b13fadeba0b`.
197
+ # @return [UsAppToPersonContext] UsAppToPersonContext
198
+ def initialize(version, messaging_service_sid, sid)
199
+ super(version)
200
+
201
+ # Path Solution
202
+ @solution = {messaging_service_sid: messaging_service_sid, sid: sid, }
203
+ @uri = "/Services/#{@solution[:messaging_service_sid]}/Compliance/Usa2p/#{@solution[:sid]}"
204
+ end
205
+
206
+ ##
207
+ # Delete the UsAppToPersonInstance
208
+ # @return [Boolean] true if delete succeeds, false otherwise
209
+ def delete
210
+ @version.delete('DELETE', @uri)
211
+ end
212
+
213
+ ##
214
+ # Fetch the UsAppToPersonInstance
215
+ # @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
216
+ def fetch
217
+ payload = @version.fetch('GET', @uri)
218
+
219
+ UsAppToPersonInstance.new(
220
+ @version,
221
+ payload,
222
+ messaging_service_sid: @solution[:messaging_service_sid],
223
+ sid: @solution[:sid],
224
+ )
225
+ end
226
+
227
+ ##
228
+ # Provide a user friendly representation
229
+ def to_s
230
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
231
+ "#<Twilio.Messaging.V1.UsAppToPersonContext #{context}>"
232
+ end
233
+
234
+ ##
235
+ # Provide a detailed, user friendly representation
236
+ def inspect
237
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
238
+ "#<Twilio.Messaging.V1.UsAppToPersonContext #{context}>"
239
+ end
240
+ end
241
+
242
+ ##
243
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
244
+ class UsAppToPersonInstance < InstanceResource
245
+ ##
246
+ # Initialize the UsAppToPersonInstance
247
+ # @param [Version] version Version that contains the resource
248
+ # @param [Hash] payload payload that contains response from Twilio
249
+ # @param [String] messaging_service_sid The SID of the {Messaging
250
+ # Service}[https://www.twilio.com/docs/messaging/services/api] that the resource
251
+ # is associated with.
252
+ # @param [String] sid The SID of the US A2P Compliance resource to fetch
253
+ # `QE2c6890da8086d771620e9b13fadeba0b`.
254
+ # @return [UsAppToPersonInstance] UsAppToPersonInstance
255
+ def initialize(version, payload, messaging_service_sid: nil, sid: nil)
256
+ super(version)
257
+
258
+ # Marshaled Properties
259
+ @properties = {
260
+ 'sid' => payload['sid'],
261
+ 'account_sid' => payload['account_sid'],
262
+ 'brand_registration_sid' => payload['brand_registration_sid'],
263
+ 'messaging_service_sid' => payload['messaging_service_sid'],
264
+ 'description' => payload['description'],
265
+ 'message_samples' => payload['message_samples'],
266
+ 'us_app_to_person_usecase' => payload['us_app_to_person_usecase'],
267
+ 'has_embedded_links' => payload['has_embedded_links'],
268
+ 'has_embedded_phone' => payload['has_embedded_phone'],
269
+ 'campaign_status' => payload['campaign_status'],
270
+ 'campaign_id' => payload['campaign_id'],
271
+ 'is_externally_registered' => payload['is_externally_registered'],
272
+ 'rate_limits' => payload['rate_limits'],
273
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
274
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
275
+ 'url' => payload['url'],
276
+ }
277
+
278
+ # Context
279
+ @instance_context = nil
280
+ @params = {'messaging_service_sid' => messaging_service_sid, 'sid' => sid || @properties['sid'], }
281
+ end
282
+
283
+ ##
284
+ # Generate an instance context for the instance, the context is capable of
285
+ # performing various actions. All instance actions are proxied to the context
286
+ # @return [UsAppToPersonContext] UsAppToPersonContext for this UsAppToPersonInstance
287
+ def context
288
+ unless @instance_context
289
+ @instance_context = UsAppToPersonContext.new(
290
+ @version,
291
+ @params['messaging_service_sid'],
292
+ @params['sid'],
293
+ )
294
+ end
295
+ @instance_context
296
+ end
297
+
298
+ ##
299
+ # @return [String] The unique string that identifies a US A2P Compliance resource
300
+ def sid
301
+ @properties['sid']
302
+ end
303
+
304
+ ##
305
+ # @return [String] The SID of the Account that created the resource
306
+ def account_sid
307
+ @properties['account_sid']
308
+ end
309
+
310
+ ##
311
+ # @return [String] A2P Brand Registration SID
312
+ def brand_registration_sid
313
+ @properties['brand_registration_sid']
314
+ end
315
+
316
+ ##
317
+ # @return [String] The SID of the Messaging Service the resource is associated with
318
+ def messaging_service_sid
319
+ @properties['messaging_service_sid']
320
+ end
321
+
322
+ ##
323
+ # @return [String] A short description of what this SMS campaign does
324
+ def description
325
+ @properties['description']
326
+ end
327
+
328
+ ##
329
+ # @return [Array[String]] Message samples
330
+ def message_samples
331
+ @properties['message_samples']
332
+ end
333
+
334
+ ##
335
+ # @return [String] A2P Campaign Use Case.
336
+ def us_app_to_person_usecase
337
+ @properties['us_app_to_person_usecase']
338
+ end
339
+
340
+ ##
341
+ # @return [Boolean] Indicate that this SMS campaign will send messages that contain links
342
+ def has_embedded_links
343
+ @properties['has_embedded_links']
344
+ end
345
+
346
+ ##
347
+ # @return [Boolean] Indicates that this SMS campaign will send messages that contain phone numbers
348
+ def has_embedded_phone
349
+ @properties['has_embedded_phone']
350
+ end
351
+
352
+ ##
353
+ # @return [String] Campaign status
354
+ def campaign_status
355
+ @properties['campaign_status']
356
+ end
357
+
358
+ ##
359
+ # @return [String] The Campaign Registry (TCR) Campaign ID.
360
+ def campaign_id
361
+ @properties['campaign_id']
362
+ end
363
+
364
+ ##
365
+ # @return [Boolean] Indicates whether the campaign was registered externally or not
366
+ def is_externally_registered
367
+ @properties['is_externally_registered']
368
+ end
369
+
370
+ ##
371
+ # @return [Hash] Rate limit and/or classification set by each carrier
372
+ def rate_limits
373
+ @properties['rate_limits']
374
+ end
375
+
376
+ ##
377
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
378
+ def date_created
379
+ @properties['date_created']
380
+ end
381
+
382
+ ##
383
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
384
+ def date_updated
385
+ @properties['date_updated']
386
+ end
387
+
388
+ ##
389
+ # @return [String] The absolute URL of the US App to Person resource
390
+ def url
391
+ @properties['url']
392
+ end
393
+
394
+ ##
395
+ # Delete the UsAppToPersonInstance
396
+ # @return [Boolean] true if delete succeeds, false otherwise
397
+ def delete
398
+ context.delete
399
+ end
400
+
401
+ ##
402
+ # Fetch the UsAppToPersonInstance
403
+ # @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
404
+ def fetch
405
+ context.fetch
406
+ end
407
+
408
+ ##
409
+ # Provide a user friendly representation
410
+ def to_s
411
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
412
+ "<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
413
+ end
414
+
415
+ ##
416
+ # Provide a detailed, user friendly representation
417
+ def inspect
418
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
419
+ "<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
420
+ end
421
+ end
422
+ end
423
+ end
424
+ end
425
+ end
426
+ end