twilio-ruby 5.49.0 → 5.54.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 (472) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +22 -28
  3. data/CHANGES.md +130 -0
  4. data/README.md +7 -6
  5. data/lib/twilio-ruby/http/http_client.rb +3 -1
  6. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +7 -1
  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 +15 -7
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +15 -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.rb +8 -2
  20. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +136 -6
  21. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +28 -22
  22. data/lib/twilio-ruby/rest/messaging.rb +12 -0
  23. data/lib/twilio-ruby/rest/messaging/v1.rb +14 -0
  24. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  25. data/lib/twilio-ruby/rest/messaging/v1/service.rb +118 -26
  26. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +426 -0
  27. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +125 -0
  28. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  29. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  30. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  31. data/lib/twilio-ruby/rest/supersim.rb +9 -0
  32. data/lib/twilio-ruby/rest/supersim/v1.rb +16 -0
  33. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +55 -3
  34. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +16 -0
  35. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  36. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +12 -13
  37. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +31 -7
  38. data/lib/twilio-ruby/rest/verify/v2/service.rb +61 -3
  39. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +24 -0
  40. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +39 -1
  41. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +202 -0
  42. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +0 -62
  43. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  44. data/lib/twilio-ruby/rest/video/v1/composition.rb +0 -8
  45. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  46. data/lib/twilio-ruby/rest/video/v1/room.rb +4 -1
  47. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
  48. data/lib/twilio-ruby/version.rb +1 -1
  49. data/twilio-ruby.gemspec +1 -1
  50. metadata +11 -848
  51. data/spec/framework/request_spec.rb +0 -36
  52. data/spec/framework/serialize_spec.rb +0 -80
  53. data/spec/framework/version_spec.rb +0 -219
  54. data/spec/holodeck/holodeck.rb +0 -66
  55. data/spec/holodeck/hologram.rb +0 -4
  56. data/spec/http/http_client_spec.rb +0 -122
  57. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  58. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  59. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  60. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  61. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  62. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  63. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  64. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  65. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  66. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  67. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  68. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  69. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  70. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  71. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  72. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  73. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  74. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  75. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  76. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  77. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  78. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  79. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  80. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  81. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  82. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  83. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  84. data/spec/integration/api/v2010/account/conference_spec.rb +0 -716
  85. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  86. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  87. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  88. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  89. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  90. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  91. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -358
  92. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  93. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  94. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  95. data/spec/integration/api/v2010/account/message_spec.rb +0 -544
  96. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  97. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  98. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  99. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  100. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  101. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  102. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  103. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  104. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  105. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  106. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  107. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  108. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  109. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  110. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  111. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  112. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  113. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  114. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  115. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  116. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  117. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  118. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  119. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  120. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  121. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  122. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  123. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  124. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  125. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  126. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  127. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  128. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  129. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  130. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  131. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  132. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  133. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  134. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  135. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  136. data/spec/integration/api/v2010/account_spec.rb +0 -327
  137. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  138. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  139. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  140. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  141. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  142. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  143. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  144. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  145. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  146. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  147. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  148. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  149. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  150. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  151. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  152. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  153. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  154. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  155. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  156. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  157. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  158. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  159. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  160. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  161. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  162. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  163. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  164. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  165. data/spec/integration/chat/v1/service_spec.rb +0 -295
  166. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  167. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  168. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  169. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  170. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  171. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  172. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  173. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  174. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  175. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  176. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  177. data/spec/integration/chat/v2/service_spec.rb +0 -350
  178. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  179. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  180. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  181. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  182. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  183. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  184. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  185. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  186. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  187. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  188. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  189. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  190. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  191. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  192. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  193. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  194. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  195. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  196. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  197. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  198. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  199. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  200. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  201. data/spec/integration/events/v1/schema_spec.rb +0 -46
  202. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  203. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  204. data/spec/integration/events/v1/sink_spec.rb +0 -231
  205. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  206. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  207. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  208. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  209. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  210. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -578
  211. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  212. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  213. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  214. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  215. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  216. data/spec/integration/insights/v1/call_spec.rb +0 -46
  217. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  218. data/spec/integration/insights/v1/room_spec.rb +0 -164
  219. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  220. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  221. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  222. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  223. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  224. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  225. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  226. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  227. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  228. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  229. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  230. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  231. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  232. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  233. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  234. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  235. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  236. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  237. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  238. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  239. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  240. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  241. data/spec/integration/messaging/v1/brand_registration_spec.rb +0 -143
  242. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  243. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  244. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  245. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  246. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  247. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  248. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  249. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  250. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  251. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  252. data/spec/integration/notify/v1/service_spec.rb +0 -289
  253. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  254. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  255. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  256. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  257. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  258. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  259. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  260. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  261. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  262. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  263. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  264. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  265. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  266. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  267. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  268. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  269. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  270. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  271. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  272. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  273. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  274. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  275. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  276. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  277. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  278. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  279. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  280. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  281. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  282. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  283. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  284. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  285. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  286. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  287. data/spec/integration/preview/sync/service_spec.rb +0 -241
  288. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  289. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  290. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  291. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  292. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  293. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  294. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  295. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  296. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  297. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  298. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  299. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  300. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  301. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  302. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  303. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  304. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  305. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  306. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  307. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  308. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  309. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  310. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  311. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  312. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  313. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  314. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  315. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  316. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  317. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  318. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  319. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  320. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  321. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  322. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  323. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  324. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  325. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  326. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  327. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  328. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  329. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  330. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  331. data/spec/integration/serverless/v1/service/build_spec.rb +0 -224
  332. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  333. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  334. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  335. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  336. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  337. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  338. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  339. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  340. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  341. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  342. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  343. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  344. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  345. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  346. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  347. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  348. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  349. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  350. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  351. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  352. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  353. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  354. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  355. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  356. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  357. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  358. data/spec/integration/supersim/v1/fleet_spec.rb +0 -222
  359. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  360. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  361. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  362. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  363. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  364. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  365. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  366. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  367. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  368. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  369. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  370. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  371. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  372. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  373. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  374. data/spec/integration/sync/v1/service_spec.rb +0 -261
  375. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  376. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  377. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  378. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  379. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  380. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  381. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  382. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  383. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  384. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  385. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  386. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  387. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  388. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  389. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  390. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  391. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  392. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  393. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  394. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  395. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  396. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  397. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  398. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  399. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  400. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  401. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  402. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  403. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  404. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  405. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  406. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment_spec.rb +0 -192
  407. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_entity_assignments_spec.rb +0 -186
  408. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_evaluations_spec.rb +0 -615
  409. data/spec/integration/trusthub/v1/customer_profiles_spec.rb +0 -255
  410. data/spec/integration/trusthub/v1/end_user_spec.rb +0 -247
  411. data/spec/integration/trusthub/v1/end_user_type_spec.rb +0 -176
  412. data/spec/integration/trusthub/v1/policies_spec.rb +0 -252
  413. data/spec/integration/trusthub/v1/supporting_document_spec.rb +0 -235
  414. data/spec/integration/trusthub/v1/supporting_document_type_spec.rb +0 -159
  415. data/spec/integration/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment_spec.rb +0 -192
  416. data/spec/integration/trusthub/v1/trust_products/trust_products_entity_assignments_spec.rb +0 -186
  417. data/spec/integration/trusthub/v1/trust_products/trust_products_evaluations_spec.rb +0 -615
  418. data/spec/integration/trusthub/v1/trust_products_spec.rb +0 -255
  419. data/spec/integration/verify/v2/form_spec.rb +0 -47
  420. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  421. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  422. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  423. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  424. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  425. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  426. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  427. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  428. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  429. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  430. data/spec/integration/verify/v2/service_spec.rb +0 -279
  431. data/spec/integration/verify/v2/verification_attempt_spec.rb +0 -146
  432. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  433. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  434. data/spec/integration/video/v1/composition_spec.rb +0 -347
  435. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  436. data/spec/integration/video/v1/recording_spec.rb +0 -176
  437. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  438. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  439. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  440. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  441. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  442. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  443. data/spec/integration/video/v1/room_spec.rb +0 -301
  444. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  445. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  446. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  447. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  448. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  449. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  450. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  451. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  452. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  453. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  454. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  455. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  456. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  457. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  458. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  459. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  460. data/spec/jwt/access_token_spec.rb +0 -159
  461. data/spec/jwt/client_capability_spec.rb +0 -104
  462. data/spec/jwt/task_router_spec.rb +0 -172
  463. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  464. data/spec/rest/client_spec.rb +0 -255
  465. data/spec/security/request_validator_spec.rb +0 -125
  466. data/spec/spec_helper.rb +0 -38
  467. data/spec/support/fakeweb.rb +0 -2
  468. data/spec/twilio_spec.rb +0 -17
  469. data/spec/twiml/messaging_response_spec.rb +0 -235
  470. data/spec/twiml/voice_response_spec.rb +0 -847
  471. data/spec/util/configuration_spec.rb +0 -33
  472. data/spec/util/url_encode_spec.rb +0 -12
@@ -17,7 +17,9 @@ module Twilio
17
17
  @version = 'v1'
18
18
  @brand_registrations = nil
19
19
  @deactivations = nil
20
+ @external_campaign = nil
20
21
  @services = nil
22
+ @usecases = nil
21
23
  end
22
24
 
23
25
  ##
@@ -41,6 +43,12 @@ module Twilio
41
43
  @deactivations ||= DeactivationsContext.new self
42
44
  end
43
45
 
46
+ ##
47
+ # @return [Twilio::REST::Messaging::V1::ExternalCampaignContext]
48
+ def external_campaign
49
+ @external_campaign ||= ExternalCampaignList.new self
50
+ end
51
+
44
52
  ##
45
53
  # @param [String] sid The SID of the Service resource to fetch.
46
54
  # @return [Twilio::REST::Messaging::V1::ServiceContext] if sid was passed.
@@ -56,6 +64,12 @@ module Twilio
56
64
  end
57
65
  end
58
66
 
67
+ ##
68
+ # @return [Twilio::REST::Messaging::V1::UsecaseContext]
69
+ def usecases
70
+ @usecases ||= UsecaseList.new self
71
+ end
72
+
59
73
  ##
60
74
  # Provide a user friendly representation
61
75
  def to_s
@@ -0,0 +1,150 @@
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
+ ##
14
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
+ class ExternalCampaignList < ListResource
16
+ ##
17
+ # Initialize the ExternalCampaignList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [ExternalCampaignList] ExternalCampaignList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ @uri = "/Services/PreregisteredUsa2p"
26
+ end
27
+
28
+ ##
29
+ # Create the ExternalCampaignInstance
30
+ # @param [String] campaign_id ID of the preregistered campaign.
31
+ # @param [String] messaging_service_sid The SID of the {Messaging
32
+ # Service}[https://www.twilio.com/docs/messaging/services/api] that the resource
33
+ # is associated with.
34
+ # @return [ExternalCampaignInstance] Created ExternalCampaignInstance
35
+ def create(campaign_id: nil, messaging_service_sid: nil)
36
+ data = Twilio::Values.of({
37
+ 'CampaignId' => campaign_id,
38
+ 'MessagingServiceSid' => messaging_service_sid,
39
+ })
40
+
41
+ payload = @version.create('POST', @uri, data: data)
42
+
43
+ ExternalCampaignInstance.new(@version, payload, )
44
+ end
45
+
46
+ ##
47
+ # Provide a user friendly representation
48
+ def to_s
49
+ '#<Twilio.Messaging.V1.ExternalCampaignList>'
50
+ end
51
+ end
52
+
53
+ ##
54
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
55
+ class ExternalCampaignPage < Page
56
+ ##
57
+ # Initialize the ExternalCampaignPage
58
+ # @param [Version] version Version that contains the resource
59
+ # @param [Response] response Response from the API
60
+ # @param [Hash] solution Path solution for the resource
61
+ # @return [ExternalCampaignPage] ExternalCampaignPage
62
+ def initialize(version, response, solution)
63
+ super(version, response)
64
+
65
+ # Path Solution
66
+ @solution = solution
67
+ end
68
+
69
+ ##
70
+ # Build an instance of ExternalCampaignInstance
71
+ # @param [Hash] payload Payload response from the API
72
+ # @return [ExternalCampaignInstance] ExternalCampaignInstance
73
+ def get_instance(payload)
74
+ ExternalCampaignInstance.new(@version, payload, )
75
+ end
76
+
77
+ ##
78
+ # Provide a user friendly representation
79
+ def to_s
80
+ '<Twilio.Messaging.V1.ExternalCampaignPage>'
81
+ end
82
+ end
83
+
84
+ ##
85
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
86
+ class ExternalCampaignInstance < InstanceResource
87
+ ##
88
+ # Initialize the ExternalCampaignInstance
89
+ # @param [Version] version Version that contains the resource
90
+ # @param [Hash] payload payload that contains response from Twilio
91
+ # @return [ExternalCampaignInstance] ExternalCampaignInstance
92
+ def initialize(version, payload)
93
+ super(version)
94
+
95
+ # Marshaled Properties
96
+ @properties = {
97
+ 'sid' => payload['sid'],
98
+ 'account_sid' => payload['account_sid'],
99
+ 'campaign_id' => payload['campaign_id'],
100
+ 'messaging_service_sid' => payload['messaging_service_sid'],
101
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
102
+ }
103
+ end
104
+
105
+ ##
106
+ # @return [String] The unique string that identifies a US A2P Compliance resource
107
+ def sid
108
+ @properties['sid']
109
+ end
110
+
111
+ ##
112
+ # @return [String] The SID of the Account that created the resource
113
+ def account_sid
114
+ @properties['account_sid']
115
+ end
116
+
117
+ ##
118
+ # @return [String] ID of the preregistered campaign.
119
+ def campaign_id
120
+ @properties['campaign_id']
121
+ end
122
+
123
+ ##
124
+ # @return [String] The SID of the Messaging Service the resource is associated with
125
+ def messaging_service_sid
126
+ @properties['messaging_service_sid']
127
+ end
128
+
129
+ ##
130
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
131
+ def date_created
132
+ @properties['date_created']
133
+ end
134
+
135
+ ##
136
+ # Provide a user friendly representation
137
+ def to_s
138
+ "<Twilio.Messaging.V1.ExternalCampaignInstance>"
139
+ end
140
+
141
+ ##
142
+ # Provide a detailed, user friendly representation
143
+ def inspect
144
+ "<Twilio.Messaging.V1.ExternalCampaignInstance>"
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
150
+ end
@@ -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