twilio-ruby 5.49.0 → 5.54.0

Sign up to get free protection for your applications and to get access to all the features.
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