twilio-ruby 5.77.0 → 7.3.3

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