twilio-ruby 5.61.2 → 6.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (677) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +21 -0
  3. data/.github/workflows/test-and-deploy.yml +139 -0
  4. data/.gitignore +3 -0
  5. data/.rubocop.yml +1 -1
  6. data/.rubocop_todo.yml +84 -21
  7. data/CHANGES.md +893 -1
  8. data/CONTRIBUTING.md +11 -9
  9. data/LICENSE +1 -1
  10. data/Makefile +13 -8
  11. data/PULL_REQUEST_TEMPLATE.md +1 -1
  12. data/README.md +136 -44
  13. data/UPGRADE.md +10 -0
  14. data/advanced-examples/custom-http-client.md +170 -0
  15. data/cluster_spec.rb +77 -0
  16. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  17. data/lib/twilio-ruby/base/client_base.rb +121 -0
  18. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  19. data/lib/twilio-ruby/http/http_client.rb +11 -6
  20. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  21. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  22. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +371 -332
  23. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +371 -332
  24. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  25. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +169 -0
  26. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  27. data/lib/twilio-ruby/rest/accounts/v1.rb +51 -42
  28. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  29. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +370 -365
  31. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +551 -514
  32. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +615 -586
  33. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +313 -320
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +394 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +394 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +394 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +394 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +394 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +394 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +394 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +432 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +202 -194
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +400 -417
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +494 -511
  49. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -634
  50. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +872 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +952 -972
  54. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +652 -717
  55. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +451 -458
  56. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +489 -493
  57. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +426 -407
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +321 -351
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +398 -418
  60. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +536 -554
  61. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +536 -553
  62. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +536 -553
  63. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +841 -903
  64. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +335 -302
  65. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  66. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +340 -350
  67. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +615 -612
  68. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  69. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  70. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +400 -399
  71. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +368 -358
  72. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +340 -338
  73. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +426 -390
  74. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +358 -380
  75. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +368 -385
  76. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +364 -372
  77. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +507 -486
  78. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +417 -408
  79. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +335 -306
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +375 -368
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +399 -373
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +346 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +193 -195
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +193 -195
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +339 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +339 -338
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +649 -645
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +412 -421
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +399 -374
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  94. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  95. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +364 -350
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +314 -339
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +314 -339
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +314 -339
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +314 -339
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +314 -339
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +314 -339
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +314 -339
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +314 -339
  104. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +381 -416
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +485 -484
  106. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  107. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  108. data/lib/twilio-ruby/rest/api/v2010/account.rb +979 -943
  109. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  110. data/lib/twilio-ruby/rest/api.rb +25 -34
  111. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  112. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +299 -279
  113. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +298 -279
  114. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  115. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +246 -235
  116. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  117. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  118. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  119. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  120. data/lib/twilio-ruby/rest/chat/v1/credential.rb +419 -403
  121. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +374 -391
  122. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +422 -440
  123. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +438 -437
  124. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +534 -515
  125. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -367
  126. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -239
  127. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +465 -440
  128. data/lib/twilio-ruby/rest/chat/v1/service.rb +861 -894
  129. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  130. data/lib/twilio-ruby/rest/chat/v2/credential.rb +419 -401
  131. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +371 -370
  132. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +374 -386
  133. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +486 -527
  134. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +513 -533
  135. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +440 -467
  136. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +606 -605
  137. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -369
  138. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +364 -381
  139. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +406 -413
  140. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +509 -491
  141. data/lib/twilio-ruby/rest/chat/v2/service.rb +764 -778
  142. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  143. data/lib/twilio-ruby/rest/chat/v3/channel.rb +297 -0
  144. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  145. data/lib/twilio-ruby/rest/chat.rb +10 -38
  146. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  147. data/lib/twilio-ruby/rest/client.rb +318 -561
  148. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  149. data/lib/twilio-ruby/rest/content/v1/content.rb +363 -0
  150. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +251 -0
  151. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +265 -0
  152. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  153. data/lib/twilio-ruby/rest/content.rb +15 -0
  154. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  155. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +482 -0
  156. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  157. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  158. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +334 -344
  159. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +537 -495
  160. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +498 -495
  161. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +425 -403
  162. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +620 -552
  163. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +425 -409
  164. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +304 -304
  165. data/lib/twilio-ruby/rest/conversations/v1/role.rb +384 -356
  166. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +364 -373
  167. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  168. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  169. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  170. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +341 -371
  171. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +544 -535
  172. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +507 -530
  173. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +434 -438
  174. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +632 -588
  175. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +310 -317
  176. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +396 -380
  177. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +446 -455
  178. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +484 -474
  179. data/lib/twilio-ruby/rest/conversations/v1/service.rb +476 -447
  180. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +445 -435
  181. data/lib/twilio-ruby/rest/conversations/v1/user.rb +472 -441
  182. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -119
  183. data/lib/twilio-ruby/rest/conversations.rb +18 -34
  184. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  185. data/lib/twilio-ruby/rest/events/v1/event_type.rb +302 -288
  186. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +299 -0
  187. data/lib/twilio-ruby/rest/events/v1/schema.rb +227 -218
  188. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  189. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  190. data/lib/twilio-ruby/rest/events/v1/sink.rb +434 -408
  191. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +365 -339
  192. data/lib/twilio-ruby/rest/events/v1/subscription.rb +416 -387
  193. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  194. data/lib/twilio-ruby/rest/events.rb +5 -34
  195. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  196. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +448 -0
  197. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +365 -330
  198. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +510 -475
  199. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +563 -555
  200. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +327 -0
  201. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +228 -0
  202. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +442 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +358 -0
  204. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +443 -0
  205. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +361 -0
  206. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  210. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +251 -0
  211. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +339 -0
  212. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +406 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +267 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +187 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +378 -331
  216. data/lib/twilio-ruby/rest/flex_api/v1.rb +201 -76
  217. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  218. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  219. data/lib/twilio-ruby/rest/flex_api.rb +33 -31
  220. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  221. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  222. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  223. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  224. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  225. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +319 -0
  226. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  227. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +269 -255
  228. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +241 -225
  229. data/lib/twilio-ruby/rest/insights/v1/call.rb +260 -228
  230. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +485 -426
  231. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +488 -0
  232. data/lib/twilio-ruby/rest/insights/v1/conference.rb +505 -0
  233. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -371
  234. data/lib/twilio-ruby/rest/insights/v1/room.rb +490 -489
  235. data/lib/twilio-ruby/rest/insights/v1/setting.rb +254 -0
  236. data/lib/twilio-ruby/rest/insights/v1.rb +84 -60
  237. data/lib/twilio-ruby/rest/insights.rb +17 -31
  238. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  239. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +510 -0
  240. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +226 -0
  241. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +388 -0
  242. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +248 -0
  243. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +520 -0
  244. data/lib/twilio-ruby/rest/intelligence/v2.rb +64 -0
  245. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  246. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +419 -364
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +374 -359
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +422 -397
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +438 -409
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +534 -488
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -347
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -233
  254. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +465 -418
  255. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +861 -779
  256. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +419 -364
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +371 -343
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +374 -359
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +486 -451
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +513 -479
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +440 -411
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +606 -555
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -347
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +364 -351
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +397 -384
  267. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +509 -467
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +764 -689
  269. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  270. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  271. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  272. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  273. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  274. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +370 -0
  275. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  276. data/lib/twilio-ruby/rest/lookups.rb +2 -34
  277. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  278. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +410 -374
  279. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +404 -0
  280. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  281. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +422 -380
  282. data/lib/twilio-ruby/rest/media/v1.rb +72 -53
  283. data/lib/twilio-ruby/rest/media.rb +13 -34
  284. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  285. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +358 -346
  287. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +487 -420
  288. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  289. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +289 -0
  291. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +238 -0
  292. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  293. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  294. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +196 -0
  295. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +351 -335
  296. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +329 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +358 -341
  298. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +358 -336
  299. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +506 -426
  300. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  301. data/lib/twilio-ruby/rest/messaging/v1/service.rb +767 -763
  302. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +777 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  304. data/lib/twilio-ruby/rest/messaging/v1.rb +187 -74
  305. data/lib/twilio-ruby/rest/messaging.rb +36 -35
  306. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  307. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +358 -0
  308. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +351 -0
  309. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  310. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +349 -0
  311. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +374 -0
  312. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +367 -0
  313. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +427 -0
  314. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  315. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  316. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  317. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -395
  318. data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -390
  319. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  320. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  321. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  322. data/lib/twilio-ruby/rest/notify/v1/credential.rb +421 -408
  323. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +437 -452
  324. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  325. data/lib/twilio-ruby/rest/notify/v1/service.rb +626 -622
  326. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  327. data/lib/twilio-ruby/rest/notify.rb +3 -34
  328. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  329. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +224 -0
  330. data/lib/twilio-ruby/rest/numbers/v1/porting_bulk_portability.rb +229 -0
  331. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_fetch.rb +245 -0
  332. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +263 -0
  333. data/lib/twilio-ruby/rest/numbers/v1.rb +94 -0
  334. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +343 -0
  335. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +403 -0
  336. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +249 -0
  337. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +502 -0
  338. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +276 -179
  339. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +324 -298
  340. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +333 -309
  341. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  342. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +601 -550
  343. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +391 -351
  344. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +290 -266
  345. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +322 -307
  346. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +412 -364
  347. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +290 -266
  348. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  349. data/lib/twilio-ruby/rest/numbers/v2.rb +78 -28
  350. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  351. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  352. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +410 -375
  353. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +394 -358
  354. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +449 -418
  355. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +407 -369
  356. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +494 -459
  357. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  358. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +370 -396
  359. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +446 -446
  360. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +610 -625
  361. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  362. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +301 -298
  363. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +325 -309
  364. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +342 -330
  365. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +429 -398
  366. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  367. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +378 -374
  368. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +442 -399
  369. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +434 -407
  370. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +378 -374
  371. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +419 -398
  372. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +437 -404
  373. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +378 -374
  374. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +419 -398
  375. data/lib/twilio-ruby/rest/preview/sync/service.rb +495 -452
  376. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  377. data/lib/twilio-ruby/rest/preview/wireless/command.rb +387 -364
  378. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +448 -398
  379. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  380. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +574 -523
  381. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  382. data/lib/twilio-ruby/rest/preview.rb +11 -137
  383. data/lib/twilio-ruby/rest/preview_base.rb +58 -0
  384. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +297 -275
  385. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  386. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +290 -268
  387. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  388. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +297 -275
  389. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  390. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  391. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  392. data/lib/twilio-ruby/rest/pricing/v2/country.rb +289 -270
  393. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  394. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +297 -275
  395. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  396. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  397. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  398. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  399. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  400. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +419 -403
  401. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +408 -418
  402. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +430 -449
  403. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +421 -455
  404. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +522 -547
  405. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +399 -370
  406. data/lib/twilio-ruby/rest/proxy/v1/service.rb +559 -596
  407. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  408. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  409. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  410. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +268 -0
  411. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +268 -0
  412. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +268 -0
  413. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  414. data/lib/twilio-ruby/rest/routes.rb +32 -0
  415. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  416. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +315 -323
  417. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +412 -380
  418. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  419. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +407 -384
  420. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +336 -338
  421. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +361 -383
  422. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +403 -396
  423. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +456 -447
  424. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  425. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +342 -353
  426. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +412 -380
  427. data/lib/twilio-ruby/rest/serverless/v1/service.rb +523 -493
  428. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  429. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  430. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  431. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  432. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  433. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +361 -355
  434. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +422 -394
  435. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  436. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  437. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +361 -361
  438. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +468 -449
  439. data/lib/twilio-ruby/rest/studio/v1/flow.rb +380 -355
  440. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  441. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  442. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  443. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +361 -361
  444. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +461 -442
  445. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +341 -320
  446. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  447. data/lib/twilio-ruby/rest/studio/v2/flow.rb +519 -472
  448. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  449. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  450. data/lib/twilio-ruby/rest/studio.rb +3 -41
  451. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  452. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +403 -0
  453. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +472 -484
  454. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +398 -406
  455. data/lib/twilio-ruby/rest/supersim/v1/network.rb +302 -297
  456. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +337 -332
  457. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +380 -351
  458. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +256 -0
  459. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +242 -224
  460. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +207 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +460 -433
  462. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +358 -361
  463. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +286 -311
  464. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -140
  465. data/lib/twilio-ruby/rest/supersim.rb +22 -40
  466. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  467. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +376 -371
  468. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +456 -423
  469. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +466 -490
  470. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +376 -370
  471. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +470 -445
  472. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +469 -495
  473. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +376 -368
  474. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +470 -444
  475. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  476. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +419 -400
  477. data/lib/twilio-ruby/rest/sync/v1/service.rb +575 -567
  478. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  479. data/lib/twilio-ruby/rest/sync.rb +2 -34
  480. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +405 -395
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +442 -464
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +705 -736
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +623 -661
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +409 -382
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -365
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +239 -258
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +574 -566
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +687 -732
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +389 -388
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +623 -631
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -373
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +523 -510
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -354
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +720 -730
  506. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  507. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  508. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +342 -320
  510. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +342 -317
  511. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +440 -419
  512. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +475 -451
  513. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  514. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +623 -630
  515. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  516. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  517. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  518. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +232 -0
  519. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +211 -0
  520. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +357 -352
  521. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +335 -323
  522. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +333 -321
  523. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +525 -513
  524. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +383 -346
  525. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +282 -261
  526. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +275 -252
  527. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +397 -359
  528. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +282 -261
  529. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +357 -352
  530. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +335 -323
  531. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +333 -321
  532. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +525 -513
  533. data/lib/twilio-ruby/rest/trusthub/v1.rb +153 -139
  534. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  535. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  536. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  537. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +231 -0
  538. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +265 -116
  539. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -198
  540. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +496 -521
  541. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +447 -454
  542. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -279
  543. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +422 -422
  544. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +379 -363
  545. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +401 -388
  546. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +420 -384
  547. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +380 -359
  548. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -198
  549. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +447 -420
  550. data/lib/twilio-ruby/rest/verify/v2/service.rb +782 -770
  551. data/lib/twilio-ruby/rest/verify/v2/template.rb +221 -198
  552. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +372 -319
  553. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +247 -0
  554. data/lib/twilio-ruby/rest/verify/v2.rb +99 -78
  555. data/lib/twilio-ruby/rest/verify.rb +23 -36
  556. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  557. data/lib/twilio-ruby/rest/video/v1/composition.rb +477 -486
  558. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +525 -647
  559. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  560. data/lib/twilio-ruby/rest/video/v1/recording.rb +426 -405
  561. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  562. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  563. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +331 -0
  564. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  565. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +338 -0
  566. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +498 -0
  567. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  568. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +423 -0
  569. data/lib/twilio-ruby/rest/video/v1/room.rb +606 -567
  570. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  571. data/lib/twilio-ruby/rest/video.rb +7 -34
  572. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  573. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +168 -0
  574. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +501 -486
  575. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +440 -434
  576. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +391 -352
  577. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  578. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +195 -183
  579. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +375 -397
  580. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  581. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  582. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +377 -339
  583. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +360 -319
  584. data/lib/twilio-ruby/rest/voice/v1.rb +130 -96
  585. data/lib/twilio-ruby/rest/voice.rb +12 -31
  586. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  587. data/lib/twilio-ruby/rest/wireless/v1/command.rb +408 -406
  588. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +463 -436
  589. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +298 -284
  590. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +239 -243
  591. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +634 -647
  592. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +226 -221
  593. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  594. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  595. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  596. data/lib/twilio-ruby/rest.rb +1 -0
  597. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  598. data/lib/twilio-ruby/twiml/voice_response.rb +209 -42
  599. data/lib/twilio-ruby/version.rb +1 -1
  600. data/lib/twilio-ruby.rb +1 -1
  601. data/sonar-project.properties +2 -2
  602. data/twilio-ruby.gemspec +2 -3
  603. metadata +155 -98
  604. data/.github/workflows/deploy.yml +0 -65
  605. data/.github/workflows/test.yml +0 -52
  606. data/conf/cacert.pem +0 -3376
  607. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  614. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  615. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  617. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  618. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  619. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  620. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  621. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  622. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  623. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  624. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  625. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  626. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  627. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  628. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  629. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  630. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  631. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  632. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  633. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  634. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  635. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  636. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  637. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -314
  638. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  639. data/lib/twilio-ruby/rest/fax/v1.rb +0 -45
  640. data/lib/twilio-ruby/rest/fax.rb +0 -47
  641. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -307
  642. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  643. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  644. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  645. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  646. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  647. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  648. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -62
  649. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  650. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  651. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  652. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  653. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  654. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
  655. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  656. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  657. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  658. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  659. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  660. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  661. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  662. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  663. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  664. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  665. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  666. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  667. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  668. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  669. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  670. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  671. data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
  672. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -406
  673. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  674. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  675. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  676. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -483
  677. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,433 +1,513 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Messaging
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
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, at least 2 and up to 5
37
- # sample messages, <=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
- 'mock' => payload['mock'],
277
- }
278
-
279
- # Context
280
- @instance_context = nil
281
- @params = {'messaging_service_sid' => messaging_service_sid, 'sid' => sid || @properties['sid'], }
282
- end
283
-
284
- ##
285
- # Generate an instance context for the instance, the context is capable of
286
- # performing various actions. All instance actions are proxied to the context
287
- # @return [UsAppToPersonContext] UsAppToPersonContext for this UsAppToPersonInstance
288
- def context
289
- unless @instance_context
290
- @instance_context = UsAppToPersonContext.new(
291
- @version,
292
- @params['messaging_service_sid'],
293
- @params['sid'],
294
- )
295
- end
296
- @instance_context
297
- end
298
-
299
- ##
300
- # @return [String] The unique string that identifies a US A2P Compliance resource
301
- def sid
302
- @properties['sid']
303
- end
304
-
305
- ##
306
- # @return [String] The SID of the Account that created the resource
307
- def account_sid
308
- @properties['account_sid']
309
- end
310
-
311
- ##
312
- # @return [String] A2P Brand Registration SID
313
- def brand_registration_sid
314
- @properties['brand_registration_sid']
315
- end
316
-
317
- ##
318
- # @return [String] The SID of the Messaging Service the resource is associated with
319
- def messaging_service_sid
320
- @properties['messaging_service_sid']
321
- end
322
-
323
- ##
324
- # @return [String] A short description of what this SMS campaign does
325
- def description
326
- @properties['description']
327
- end
328
-
329
- ##
330
- # @return [Array[String]] Message samples
331
- def message_samples
332
- @properties['message_samples']
333
- end
334
-
335
- ##
336
- # @return [String] A2P Campaign Use Case.
337
- def us_app_to_person_usecase
338
- @properties['us_app_to_person_usecase']
339
- end
340
-
341
- ##
342
- # @return [Boolean] Indicate that this SMS campaign will send messages that contain links
343
- def has_embedded_links
344
- @properties['has_embedded_links']
345
- end
346
-
347
- ##
348
- # @return [Boolean] Indicates that this SMS campaign will send messages that contain phone numbers
349
- def has_embedded_phone
350
- @properties['has_embedded_phone']
351
- end
352
-
353
- ##
354
- # @return [String] Campaign status
355
- def campaign_status
356
- @properties['campaign_status']
357
- end
358
-
359
- ##
360
- # @return [String] The Campaign Registry (TCR) Campaign ID.
361
- def campaign_id
362
- @properties['campaign_id']
363
- end
364
-
365
- ##
366
- # @return [Boolean] Indicates whether the campaign was registered externally or not
367
- def is_externally_registered
368
- @properties['is_externally_registered']
369
- end
370
-
371
- ##
372
- # @return [Hash] Rate limit and/or classification set by each carrier
373
- def rate_limits
374
- @properties['rate_limits']
375
- end
376
-
377
- ##
378
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
379
- def date_created
380
- @properties['date_created']
381
- end
382
-
383
- ##
384
- # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
385
- def date_updated
386
- @properties['date_updated']
387
- end
388
-
389
- ##
390
- # @return [String] The absolute URL of the US App to Person resource
391
- def url
392
- @properties['url']
393
- end
394
-
395
- ##
396
- # @return [Boolean] A boolean that specifies whether campaign is a mock or not.
397
- def mock
398
- @properties['mock']
399
- end
400
-
401
- ##
402
- # Delete the UsAppToPersonInstance
403
- # @return [Boolean] true if delete succeeds, false otherwise
404
- def delete
405
- context.delete
406
- end
407
-
408
- ##
409
- # Fetch the UsAppToPersonInstance
410
- # @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
411
- def fetch
412
- context.fetch
413
- end
414
14
 
415
- ##
416
- # Provide a user friendly representation
417
- def to_s
418
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
419
- "<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
420
- end
421
15
 
422
- ##
423
- # Provide a detailed, user friendly representation
424
- def inspect
425
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
426
- "<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Messaging < MessagingBase
19
+ class V1 < Version
20
+ class ServiceContext < InstanceContext
21
+
22
+ class UsAppToPersonList < ListResource
23
+ ##
24
+ # Initialize the UsAppToPersonList
25
+ # @param [Version] version Version that contains the resource
26
+ # @return [UsAppToPersonList] UsAppToPersonList
27
+ def initialize(version, messaging_service_sid: nil)
28
+ super(version)
29
+ # Path Solution
30
+ @solution = { messaging_service_sid: messaging_service_sid }
31
+ @uri = "/Services/#{@solution[:messaging_service_sid]}/Compliance/Usa2p"
32
+
33
+ end
34
+ ##
35
+ # Create the UsAppToPersonInstance
36
+ # @param [String] brand_registration_sid A2P Brand Registration SID
37
+ # @param [String] description A short description of what this SMS campaign does. Min length: 40 characters. Max length: 4096 characters.
38
+ # @param [String] message_flow Required for all Campaigns. Details around how a consumer opts-in to their campaign, therefore giving consent to receive their messages. If multiple opt-in methods can be used for the same campaign, they must all be listed. 40 character minimum. 2048 character maximum.
39
+ # @param [Array[String]] message_samples An array of sample message strings, min two and max five. Min length for each sample: 20 chars. Max length for each sample: 1024 chars.
40
+ # @param [String] us_app_to_person_usecase A2P Campaign Use Case. Examples: [ 2FA, EMERGENCY, MARKETING..]
41
+ # @param [Boolean] has_embedded_links Indicates that this SMS campaign will send messages that contain links.
42
+ # @param [Boolean] has_embedded_phone Indicates that this SMS campaign will send messages that contain phone numbers.
43
+ # @param [String] opt_in_message If end users can text in a keyword to start receiving messages from this campaign, the auto-reply messages sent to the end users must be provided. The opt-in response should include the Brand name, confirmation of opt-in enrollment to a recurring message campaign, how to get help, and clear description of how to opt-out. This field is required if end users can text in a keyword to start receiving messages from this campaign. 20 character minimum. 320 character maximum.
44
+ # @param [String] opt_out_message Upon receiving the opt-out keywords from the end users, Twilio customers are expected to send back an auto-generated response, which must provide acknowledgment of the opt-out request and confirmation that no further messages will be sent. It is also recommended that these opt-out messages include the brand name. This field is required if managing opt out keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out features). 20 character minimum. 320 character maximum.
45
+ # @param [String] help_message When customers receive the help keywords from their end users, Twilio customers are expected to send back an auto-generated response; this may include the brand name and additional support contact information. This field is required if managing help keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out features). 20 character minimum. 320 character maximum.
46
+ # @param [Array[String]] opt_in_keywords If end users can text in a keyword to start receiving messages from this campaign, those keywords must be provided. This field is required if end users can text in a keyword to start receiving messages from this campaign. Values must be alphanumeric. 255 character maximum.
47
+ # @param [Array[String]] opt_out_keywords End users should be able to text in a keyword to stop receiving messages from this campaign. Those keywords must be provided. This field is required if managing opt out keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out features). Values must be alphanumeric. 255 character maximum.
48
+ # @param [Array[String]] help_keywords End users should be able to text in a keyword to receive help. Those keywords must be provided as part of the campaign registration request. This field is required if managing help keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out features). Values must be alphanumeric. 255 character maximum.
49
+ # @return [UsAppToPersonInstance] Created UsAppToPersonInstance
50
+ def create(
51
+ brand_registration_sid: nil,
52
+ description: nil,
53
+ message_flow: nil,
54
+ message_samples: nil,
55
+ us_app_to_person_usecase: nil,
56
+ has_embedded_links: nil,
57
+ has_embedded_phone: nil,
58
+ opt_in_message: :unset,
59
+ opt_out_message: :unset,
60
+ help_message: :unset,
61
+ opt_in_keywords: :unset,
62
+ opt_out_keywords: :unset,
63
+ help_keywords: :unset
64
+ )
65
+
66
+ data = Twilio::Values.of({
67
+ 'BrandRegistrationSid' => brand_registration_sid,
68
+ 'Description' => description,
69
+ 'MessageFlow' => message_flow,
70
+ 'MessageSamples' => Twilio.serialize_list(message_samples) { |e| e },
71
+ 'UsAppToPersonUsecase' => us_app_to_person_usecase,
72
+ 'HasEmbeddedLinks' => has_embedded_links,
73
+ 'HasEmbeddedPhone' => has_embedded_phone,
74
+ 'OptInMessage' => opt_in_message,
75
+ 'OptOutMessage' => opt_out_message,
76
+ 'HelpMessage' => help_message,
77
+ 'OptInKeywords' => Twilio.serialize_list(opt_in_keywords) { |e| e },
78
+ 'OptOutKeywords' => Twilio.serialize_list(opt_out_keywords) { |e| e },
79
+ 'HelpKeywords' => Twilio.serialize_list(help_keywords) { |e| e },
80
+ })
81
+
82
+ payload = @version.create('POST', @uri, data: data)
83
+ UsAppToPersonInstance.new(
84
+ @version,
85
+ payload,
86
+ messaging_service_sid: @solution[:messaging_service_sid],
87
+ )
88
+ end
89
+
90
+
91
+ ##
92
+ # Lists UsAppToPersonInstance records from the API as a list.
93
+ # Unlike stream(), this operation is eager and will load `limit` records into
94
+ # memory before returning.
95
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
96
+ # guarantees to never return more than limit. Default is no limit
97
+ # @param [Integer] page_size Number of records to fetch per request, when
98
+ # not set will use the default value of 50 records. If no page_size is defined
99
+ # but a limit is defined, stream() will attempt to read the limit with the most
100
+ # efficient page size, i.e. min(limit, 1000)
101
+ # @return [Array] Array of up to limit results
102
+ def list(limit: nil, page_size: nil)
103
+ self.stream(
104
+ limit: limit,
105
+ page_size: page_size
106
+ ).entries
107
+ end
108
+
109
+ ##
110
+ # Streams Instance records from the API as an Enumerable.
111
+ # This operation lazily loads records as efficiently as possible until the limit
112
+ # is reached.
113
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
114
+ # guarantees to never return more than limit. Default is no limit
115
+ # @param [Integer] page_size Number of records to fetch per request, when
116
+ # not set will use the default value of 50 records. If no page_size is defined
117
+ # but a limit is defined, stream() will attempt to read the limit with the most
118
+ # efficient page size, i.e. min(limit, 1000)
119
+ # @return [Enumerable] Enumerable that will yield up to limit results
120
+ def stream(limit: nil, page_size: nil)
121
+ limits = @version.read_limits(limit, page_size)
122
+
123
+ page = self.page(
124
+ page_size: limits[:page_size], )
125
+
126
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
127
+ end
128
+
129
+ ##
130
+ # When passed a block, yields UsAppToPersonInstance records from the API.
131
+ # This operation lazily loads records as efficiently as possible until the limit
132
+ # is reached.
133
+ def each
134
+ limits = @version.read_limits
135
+
136
+ page = self.page(page_size: limits[:page_size], )
137
+
138
+ @version.stream(page,
139
+ limit: limits[:limit],
140
+ page_limit: limits[:page_limit]).each {|x| yield x}
141
+ end
142
+
143
+ ##
144
+ # Retrieve a single page of UsAppToPersonInstance records from the API.
145
+ # Request is executed immediately.
146
+ # @param [String] page_token PageToken provided by the API
147
+ # @param [Integer] page_number Page Number, this value is simply for client state
148
+ # @param [Integer] page_size Number of records to return, defaults to 50
149
+ # @return [Page] Page of UsAppToPersonInstance
150
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
151
+ params = Twilio::Values.of({
152
+ 'PageToken' => page_token,
153
+ 'Page' => page_number,
154
+ 'PageSize' => page_size,
155
+ })
156
+
157
+ response = @version.page('GET', @uri, params: params)
158
+
159
+ UsAppToPersonPage.new(@version, response, @solution)
160
+ end
161
+
162
+ ##
163
+ # Retrieve a single page of UsAppToPersonInstance records from the API.
164
+ # Request is executed immediately.
165
+ # @param [String] target_url API-generated URL for the requested results page
166
+ # @return [Page] Page of UsAppToPersonInstance
167
+ def get_page(target_url)
168
+ response = @version.domain.request(
169
+ 'GET',
170
+ target_url
171
+ )
172
+ UsAppToPersonPage.new(@version, response, @solution)
173
+ end
174
+
175
+
176
+
177
+ # Provide a user friendly representation
178
+ def to_s
179
+ '#<Twilio.Messaging.V1.UsAppToPersonList>'
180
+ end
181
+ end
182
+
183
+
184
+ ##
185
+ #PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
186
+ class UsAppToPersonContext < InstanceContext
187
+ ##
188
+ # Initialize the UsAppToPersonContext
189
+ # @param [Version] version Version that contains the resource
190
+ # @param [String] messaging_service_sid The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) to fetch the resource from.
191
+ # @param [String] sid The SID of the US A2P Compliance resource to fetch `QE2c6890da8086d771620e9b13fadeba0b`.
192
+ # @return [UsAppToPersonContext] UsAppToPersonContext
193
+ def initialize(version, messaging_service_sid, sid)
194
+ super(version)
195
+
196
+ # Path Solution
197
+ @solution = { messaging_service_sid: messaging_service_sid, sid: sid, }
198
+ @uri = "/Services/#{@solution[:messaging_service_sid]}/Compliance/Usa2p/#{@solution[:sid]}"
199
+
200
+
201
+ end
202
+ ##
203
+ # Delete the UsAppToPersonInstance
204
+ # @return [Boolean] True if delete succeeds, false otherwise
205
+ def delete
206
+
207
+ @version.delete('DELETE', @uri)
208
+ end
209
+
210
+ ##
211
+ # Fetch the UsAppToPersonInstance
212
+ # @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
213
+ def fetch
214
+
215
+ payload = @version.fetch('GET', @uri)
216
+ UsAppToPersonInstance.new(
217
+ @version,
218
+ payload,
219
+ messaging_service_sid: @solution[:messaging_service_sid],
220
+ sid: @solution[:sid],
221
+ )
222
+ end
223
+
224
+
225
+ ##
226
+ # Provide a user friendly representation
227
+ def to_s
228
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
229
+ "#<Twilio.Messaging.V1.UsAppToPersonContext #{context}>"
230
+ end
231
+
232
+ ##
233
+ # Provide a detailed, user friendly representation
234
+ def inspect
235
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
236
+ "#<Twilio.Messaging.V1.UsAppToPersonContext #{context}>"
237
+ end
238
+ end
239
+
240
+ class UsAppToPersonPage < Page
241
+ ##
242
+ # Initialize the UsAppToPersonPage
243
+ # @param [Version] version Version that contains the resource
244
+ # @param [Response] response Response from the API
245
+ # @param [Hash] solution Path solution for the resource
246
+ # @return [UsAppToPersonPage] UsAppToPersonPage
247
+ def initialize(version, response, solution)
248
+ super(version, response)
249
+
250
+ # Path Solution
251
+ @solution = solution
252
+ end
253
+
254
+ ##
255
+ # Build an instance of UsAppToPersonInstance
256
+ # @param [Hash] payload Payload response from the API
257
+ # @return [UsAppToPersonInstance] UsAppToPersonInstance
258
+ def get_instance(payload)
259
+ UsAppToPersonInstance.new(@version, payload, messaging_service_sid: @solution[:messaging_service_sid])
260
+ end
261
+
262
+ ##
263
+ # Provide a user friendly representation
264
+ def to_s
265
+ '<Twilio.Messaging.V1.UsAppToPersonPage>'
266
+ end
267
+ end
268
+ class UsAppToPersonInstance < InstanceResource
269
+ ##
270
+ # Initialize the UsAppToPersonInstance
271
+ # @param [Version] version Version that contains the resource
272
+ # @param [Hash] payload payload that contains response from Twilio
273
+ # @param [String] account_sid The SID of the
274
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this UsAppToPerson
275
+ # resource.
276
+ # @param [String] sid The SID of the Call resource to fetch.
277
+ # @return [UsAppToPersonInstance] UsAppToPersonInstance
278
+ def initialize(version, payload , messaging_service_sid: nil, sid: nil)
279
+ super(version)
280
+
281
+ # Marshaled Properties
282
+ @properties = {
283
+ 'sid' => payload['sid'],
284
+ 'account_sid' => payload['account_sid'],
285
+ 'brand_registration_sid' => payload['brand_registration_sid'],
286
+ 'messaging_service_sid' => payload['messaging_service_sid'],
287
+ 'description' => payload['description'],
288
+ 'message_samples' => payload['message_samples'],
289
+ 'us_app_to_person_usecase' => payload['us_app_to_person_usecase'],
290
+ 'has_embedded_links' => payload['has_embedded_links'],
291
+ 'has_embedded_phone' => payload['has_embedded_phone'],
292
+ 'campaign_status' => payload['campaign_status'],
293
+ 'campaign_id' => payload['campaign_id'],
294
+ 'is_externally_registered' => payload['is_externally_registered'],
295
+ 'rate_limits' => payload['rate_limits'],
296
+ 'message_flow' => payload['message_flow'],
297
+ 'opt_in_message' => payload['opt_in_message'],
298
+ 'opt_out_message' => payload['opt_out_message'],
299
+ 'help_message' => payload['help_message'],
300
+ 'opt_in_keywords' => payload['opt_in_keywords'],
301
+ 'opt_out_keywords' => payload['opt_out_keywords'],
302
+ 'help_keywords' => payload['help_keywords'],
303
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
304
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
305
+ 'url' => payload['url'],
306
+ 'mock' => payload['mock'],
307
+ 'errors' => payload['errors'],
308
+ }
309
+
310
+ # Context
311
+ @instance_context = nil
312
+ @params = { 'messaging_service_sid' => messaging_service_sid || @properties['messaging_service_sid'] ,'sid' => sid || @properties['sid'] , }
313
+ end
314
+
315
+ ##
316
+ # Generate an instance context for the instance, the context is capable of
317
+ # performing various actions. All instance actions are proxied to the context
318
+ # @return [UsAppToPersonContext] CallContext for this CallInstance
319
+ def context
320
+ unless @instance_context
321
+ @instance_context = UsAppToPersonContext.new(@version , @params['messaging_service_sid'], @params['sid'])
322
+ end
323
+ @instance_context
324
+ end
325
+
326
+ ##
327
+ # @return [String] The unique string that identifies a US A2P Compliance resource `QE2c6890da8086d771620e9b13fadeba0b`.
328
+ def sid
329
+ @properties['sid']
330
+ end
331
+
332
+ ##
333
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that the Campaign belongs to.
334
+ def account_sid
335
+ @properties['account_sid']
336
+ end
337
+
338
+ ##
339
+ # @return [String] The unique string to identify the A2P brand.
340
+ def brand_registration_sid
341
+ @properties['brand_registration_sid']
342
+ end
343
+
344
+ ##
345
+ # @return [String] The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) that the resource is associated with.
346
+ def messaging_service_sid
347
+ @properties['messaging_service_sid']
348
+ end
349
+
350
+ ##
351
+ # @return [String] A short description of what this SMS campaign does. Min length: 40 characters. Max length: 4096 characters.
352
+ def description
353
+ @properties['description']
354
+ end
355
+
356
+ ##
357
+ # @return [Array<String>] An array of sample message strings, min two and max five. Min length for each sample: 20 chars. Max length for each sample: 1024 chars.
358
+ def message_samples
359
+ @properties['message_samples']
360
+ end
361
+
362
+ ##
363
+ # @return [String] A2P Campaign Use Case. Examples: [ 2FA, EMERGENCY, MARKETING, SOLE_PROPRIETOR...]. SOLE_PROPRIETOR campaign use cases can only be created by SOLE_PROPRIETOR Brands, and there can only be one SOLE_PROPRIETOR campaign created per SOLE_PROPRIETOR Brand.
364
+ def us_app_to_person_usecase
365
+ @properties['us_app_to_person_usecase']
366
+ end
367
+
368
+ ##
369
+ # @return [Boolean] Indicate that this SMS campaign will send messages that contain links.
370
+ def has_embedded_links
371
+ @properties['has_embedded_links']
372
+ end
373
+
374
+ ##
375
+ # @return [Boolean] Indicates that this SMS campaign will send messages that contain phone numbers.
376
+ def has_embedded_phone
377
+ @properties['has_embedded_phone']
378
+ end
379
+
380
+ ##
381
+ # @return [String] Campaign status. Examples: IN_PROGRESS, VERIFIED, FAILED.
382
+ def campaign_status
383
+ @properties['campaign_status']
384
+ end
385
+
386
+ ##
387
+ # @return [String] The Campaign Registry (TCR) Campaign ID.
388
+ def campaign_id
389
+ @properties['campaign_id']
390
+ end
391
+
392
+ ##
393
+ # @return [Boolean] Indicates whether the campaign was registered externally or not.
394
+ def is_externally_registered
395
+ @properties['is_externally_registered']
396
+ end
397
+
398
+ ##
399
+ # @return [Hash] Rate limit and/or classification set by each carrier, Ex. AT&T or T-Mobile.
400
+ def rate_limits
401
+ @properties['rate_limits']
402
+ end
403
+
404
+ ##
405
+ # @return [String] Details around how a consumer opts-in to their campaign, therefore giving consent to receive their messages. If multiple opt-in methods can be used for the same campaign, they must all be listed. 40 character minimum. 2048 character maximum.
406
+ def message_flow
407
+ @properties['message_flow']
408
+ end
409
+
410
+ ##
411
+ # @return [String] If end users can text in a keyword to start receiving messages from this campaign, the auto-reply messages sent to the end users must be provided. The opt-in response should include the Brand name, confirmation of opt-in enrollment to a recurring message campaign, how to get help, and clear description of how to opt-out. This field is required if end users can text in a keyword to start receiving messages from this campaign. 20 character minimum. 320 character maximum.
412
+ def opt_in_message
413
+ @properties['opt_in_message']
414
+ end
415
+
416
+ ##
417
+ # @return [String] Upon receiving the opt-out keywords from the end users, Twilio customers are expected to send back an auto-generated response, which must provide acknowledgment of the opt-out request and confirmation that no further messages will be sent. It is also recommended that these opt-out messages include the brand name. This field is required if managing opt out keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out features). 20 character minimum. 320 character maximum.
418
+ def opt_out_message
419
+ @properties['opt_out_message']
420
+ end
421
+
422
+ ##
423
+ # @return [String] When customers receive the help keywords from their end users, Twilio customers are expected to send back an auto-generated response; this may include the brand name and additional support contact information. This field is required if managing help keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out features). 20 character minimum. 320 character maximum.
424
+ def help_message
425
+ @properties['help_message']
426
+ end
427
+
428
+ ##
429
+ # @return [Array<String>] If end users can text in a keyword to start receiving messages from this campaign, those keywords must be provided. This field is required if end users can text in a keyword to start receiving messages from this campaign. Values must be alphanumeric. 255 character maximum.
430
+ def opt_in_keywords
431
+ @properties['opt_in_keywords']
432
+ end
433
+
434
+ ##
435
+ # @return [Array<String>] End users should be able to text in a keyword to stop receiving messages from this campaign. Those keywords must be provided. This field is required if managing opt out keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out features). Values must be alphanumeric. 255 character maximum.
436
+ def opt_out_keywords
437
+ @properties['opt_out_keywords']
438
+ end
439
+
440
+ ##
441
+ # @return [Array<String>] End users should be able to text in a keyword to receive help. Those keywords must be provided as part of the campaign registration request. This field is required if managing help keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out features). Values must be alphanumeric. 255 character maximum.
442
+ def help_keywords
443
+ @properties['help_keywords']
444
+ end
445
+
446
+ ##
447
+ # @return [Time] The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
448
+ def date_created
449
+ @properties['date_created']
450
+ end
451
+
452
+ ##
453
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
454
+ def date_updated
455
+ @properties['date_updated']
456
+ end
457
+
458
+ ##
459
+ # @return [String] The absolute URL of the US App to Person resource.
460
+ def url
461
+ @properties['url']
462
+ end
463
+
464
+ ##
465
+ # @return [Boolean] A boolean that specifies whether campaign is a mock or not. Mock campaigns will be automatically created if using a mock brand. Mock campaigns should only be used for testing purposes.
466
+ def mock
467
+ @properties['mock']
468
+ end
469
+
470
+ ##
471
+ # @return [Array<Hash>] Details indicating why a campaign registration failed. These errors can indicate one or more fields that were incorrect or did not meet review requirements.
472
+ def errors
473
+ @properties['errors']
474
+ end
475
+
476
+ ##
477
+ # Delete the UsAppToPersonInstance
478
+ # @return [Boolean] True if delete succeeds, false otherwise
479
+ def delete
480
+
481
+ context.delete
482
+ end
483
+
484
+ ##
485
+ # Fetch the UsAppToPersonInstance
486
+ # @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
487
+ def fetch
488
+
489
+ context.fetch
490
+ end
491
+
492
+ ##
493
+ # Provide a user friendly representation
494
+ def to_s
495
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
496
+ "<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
497
+ end
498
+
499
+ ##
500
+ # Provide a detailed, user friendly representation
501
+ def inspect
502
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
503
+ "<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
504
+ end
505
+ end
506
+
507
+ end
427
508
  end
428
- end
429
509
  end
430
- end
431
510
  end
432
- end
433
- end
511
+ end
512
+
513
+