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.
- checksums.yaml +4 -4
- data/.github/workflows/test-and-deploy.yml +11 -1
- data/.gitignore +3 -0
- data/CHANGES.md +722 -0
- data/CONTRIBUTING.md +10 -2
- data/Gemfile +3 -0
- data/LICENSE +1 -1
- data/Makefile +6 -0
- data/README.md +15 -9
- data/UPGRADE.md +21 -0
- data/cluster_spec.rb +77 -0
- data/lib/twilio-ruby/base/client_base.rb +124 -0
- data/lib/twilio-ruby/framework/request.rb +8 -1
- data/lib/twilio-ruby/framework/rest/error.rb +0 -12
- data/lib/twilio-ruby/http/http_client.rb +13 -5
- data/lib/twilio-ruby/jwt/access_token.rb +0 -59
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +201 -178
- data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +133 -0
- data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +133 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +380 -332
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +380 -332
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -114
- data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +176 -0
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +219 -192
- data/lib/twilio-ruby/rest/accounts/v1.rb +63 -42
- data/lib/twilio-ruby/rest/accounts.rb +4 -34
- data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +624 -605
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +316 -320
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +435 -0
- data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +139 -118
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +403 -417
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +294 -342
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +503 -511
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +844 -641
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +844 -641
- data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +307 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +159 -153
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +233 -240
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +955 -1050
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +668 -756
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +458 -458
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +494 -493
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +433 -407
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +323 -352
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +403 -418
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +539 -554
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +539 -553
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +539 -553
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +342 -302
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +170 -166
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +345 -350
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +624 -641
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +160 -138
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +160 -138
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +403 -399
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +375 -358
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -338
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +435 -390
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +200 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +384 -380
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +373 -385
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +369 -372
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +512 -513
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +422 -408
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +342 -306
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +384 -368
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +408 -373
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +353 -0
- 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
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +353 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +95 -103
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +346 -339
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +346 -338
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +658 -645
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +421 -421
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +408 -374
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +142 -150
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +174 -154
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +369 -350
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +315 -339
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +315 -339
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +315 -339
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +315 -339
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +315 -339
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +315 -339
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +315 -339
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +315 -339
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +382 -416
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +494 -484
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +113 -104
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +175 -161
- data/lib/twilio-ruby/rest/api/v2010/account.rb +986 -943
- data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
- data/lib/twilio-ruby/rest/api.rb +25 -34
- data/lib/twilio-ruby/rest/api_base.rb +38 -0
- data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +355 -0
- data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +362 -0
- data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +303 -0
- data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +201 -0
- data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +668 -0
- data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +229 -0
- data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +209 -0
- data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +591 -0
- data/lib/twilio-ruby/rest/assistants/v1/policy.rb +264 -0
- data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +264 -0
- data/lib/twilio-ruby/rest/assistants/v1/session.rb +328 -0
- data/lib/twilio-ruby/rest/assistants/v1/tool.rb +586 -0
- data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
- data/lib/twilio-ruby/rest/assistants.rb +6 -0
- data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +302 -279
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +301 -279
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +276 -248
- data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +249 -235
- data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +248 -216
- data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
- data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
- data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +428 -403
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +381 -391
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -440
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -437
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +543 -515
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +405 -367
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +474 -440
- data/lib/twilio-ruby/rest/chat/v1/service.rb +870 -894
- data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +428 -401
- data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +376 -370
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +381 -386
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +492 -527
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +519 -533
- data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +449 -467
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +612 -605
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +405 -369
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +369 -381
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +412 -419
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +516 -491
- data/lib/twilio-ruby/rest/chat/v2/service.rb +773 -778
- data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +291 -267
- data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
- data/lib/twilio-ruby/rest/chat.rb +4 -48
- data/lib/twilio-ruby/rest/chat_base.rb +48 -0
- data/lib/twilio-ruby/rest/client.rb +333 -584
- data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +185 -0
- data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +202 -188
- data/lib/twilio-ruby/rest/content/v1/content.rb +941 -336
- data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
- data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
- data/lib/twilio-ruby/rest/content/v1.rb +54 -52
- data/lib/twilio-ruby/rest/content/v2/content.rb +316 -0
- data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +309 -0
- data/lib/twilio-ruby/rest/content/v2.rb +46 -0
- data/lib/twilio-ruby/rest/content.rb +2 -46
- data/lib/twilio-ruby/rest/content_base.rb +43 -0
- data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +481 -444
- data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +259 -227
- data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +284 -252
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +337 -344
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +543 -510
- data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +504 -495
- data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +434 -403
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +626 -590
- data/lib/twilio-ruby/rest/conversations/v1/credential.rb +434 -409
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +305 -304
- data/lib/twilio-ruby/rest/conversations/v1/role.rb +393 -356
- data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +369 -373
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +305 -289
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +251 -235
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +312 -279
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +344 -371
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +550 -550
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +513 -530
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +443 -438
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +638 -626
- data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +311 -317
- data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +405 -380
- data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +453 -455
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +490 -474
- data/lib/twilio-ruby/rest/conversations/v1/service.rb +483 -447
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +452 -435
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +478 -441
- data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
- data/lib/twilio-ruby/rest/conversations.rb +9 -34
- data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +319 -288
- data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
- data/lib/twilio-ruby/rest/events/v1/schema.rb +230 -218
- data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +117 -100
- data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +123 -103
- data/lib/twilio-ruby/rest/events/v1/sink.rb +443 -408
- data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +374 -339
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +425 -387
- data/lib/twilio-ruby/rest/events/v1.rb +87 -87
- data/lib/twilio-ruby/rest/events.rb +5 -34
- data/lib/twilio-ruby/rest/events_base.rb +38 -0
- data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +439 -387
- data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +372 -330
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +547 -496
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +572 -570
- data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +321 -306
- data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +221 -208
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
- data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +352 -403
- data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +157 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +137 -124
- data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +247 -229
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +343 -319
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +404 -398
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +264 -225
- data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +397 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +446 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +247 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +393 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +386 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +233 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +332 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +256 -0
- data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +188 -0
- data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +387 -331
- data/lib/twilio-ruby/rest/flex_api/v1.rb +313 -214
- data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +370 -0
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +145 -127
- data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
- data/lib/twilio-ruby/rest/flex_api.rb +21 -117
- data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
- data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +247 -227
- data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
- data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
- data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
- data/lib/twilio-ruby/rest/iam/v1/api_key.rb +270 -0
- data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +223 -0
- data/lib/twilio-ruby/rest/iam/v1/key.rb +177 -0
- data/lib/twilio-ruby/rest/iam/v1.rb +61 -0
- data/lib/twilio-ruby/rest/iam.rb +6 -0
- data/lib/twilio-ruby/rest/iam_base.rb +38 -0
- data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +315 -315
- data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +353 -0
- data/lib/twilio-ruby/rest/insights/v1/call/event.rb +270 -255
- data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +242 -225
- data/lib/twilio-ruby/rest/insights/v1/call.rb +263 -236
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +534 -439
- data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +484 -467
- data/lib/twilio-ruby/rest/insights/v1/conference.rb +498 -502
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
- data/lib/twilio-ruby/rest/insights/v1/room.rb +491 -489
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +249 -205
- data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
- data/lib/twilio-ruby/rest/insights.rb +6 -34
- data/lib/twilio-ruby/rest/insights_base.rb +38 -0
- data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +447 -0
- data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +356 -0
- data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +217 -0
- data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +197 -0
- data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +358 -0
- data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +356 -0
- data/lib/twilio-ruby/rest/intelligence/v2/service.rb +517 -0
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +227 -0
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +389 -0
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +262 -0
- data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +525 -0
- data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
- data/lib/twilio-ruby/rest/intelligence.rb +6 -0
- data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +428 -364
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +381 -359
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -397
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -409
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +543 -488
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +405 -347
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +474 -418
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +870 -779
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +428 -364
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +376 -343
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +381 -359
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +492 -451
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +519 -479
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +449 -411
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +612 -555
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +405 -347
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +369 -351
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +404 -384
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +516 -467
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +773 -689
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
- data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
- data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +246 -239
- data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +376 -335
- data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
- data/lib/twilio-ruby/rest/lookups.rb +2 -41
- data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
- data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +309 -0
- data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +336 -0
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +352 -0
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +157 -0
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +465 -0
- data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +310 -0
- data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +199 -0
- data/lib/twilio-ruby/rest/marketplace/v1.rb +85 -0
- data/lib/twilio-ruby/rest/marketplace.rb +6 -0
- data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +124 -119
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +361 -346
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +499 -466
- data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +192 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +285 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +282 -232
- data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +231 -218
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +161 -144
- data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +209 -210
- data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +197 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +356 -335
- data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +370 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +363 -341
- data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +363 -336
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +613 -521
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +124 -115
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +774 -763
- data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +793 -713
- data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +109 -94
- data/lib/twilio-ruby/rest/messaging/v1.rb +187 -165
- data/lib/twilio-ruby/rest/messaging.rb +10 -53
- data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
- data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +355 -307
- data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +348 -300
- data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +202 -185
- data/lib/twilio-ruby/rest/microvisor/v1/app.rb +342 -320
- data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +374 -335
- data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +367 -328
- data/lib/twilio-ruby/rest/microvisor/v1/device.rb +420 -383
- data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
- data/lib/twilio-ruby/rest/microvisor.rb +4 -50
- data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +401 -395
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +384 -390
- data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
- data/lib/twilio-ruby/rest/monitor.rb +3 -34
- data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +428 -408
- data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +442 -452
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +316 -362
- data/lib/twilio-ruby/rest/notify/v1/service.rb +633 -622
- data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
- data/lib/twilio-ruby/rest/notify.rb +3 -34
- data/lib/twilio-ruby/rest/notify_base.rb +38 -0
- data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +241 -0
- data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +111 -94
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +294 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +322 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +256 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +149 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +168 -0
- data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +273 -0
- data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +161 -0
- data/lib/twilio-ruby/rest/numbers/v1.rb +148 -28
- data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +344 -0
- data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +408 -0
- data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +266 -0
- data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +277 -0
- data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +507 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +281 -261
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +329 -298
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +340 -309
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +197 -181
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +613 -607
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +400 -351
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +293 -266
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +342 -307
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +428 -371
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +293 -266
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +178 -181
- data/lib/twilio-ruby/rest/numbers/v2.rb +93 -28
- data/lib/twilio-ruby/rest/numbers.rb +2 -47
- data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
- data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +144 -0
- data/lib/twilio-ruby/rest/oauth/v1/token.rb +176 -151
- data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
- data/lib/twilio-ruby/rest/oauth.rb +3 -65
- data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +371 -396
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +451 -446
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +617 -625
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +326 -309
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +345 -330
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +436 -398
- data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
- data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +383 -374
- data/lib/twilio-ruby/rest/preview/sync/service/document.rb +448 -399
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +439 -407
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +383 -374
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +424 -398
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +442 -404
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +383 -374
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +424 -398
- data/lib/twilio-ruby/rest/preview/sync/service.rb +502 -452
- data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
- data/lib/twilio-ruby/rest/preview/wireless/command.rb +390 -364
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +455 -398
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +233 -205
- data/lib/twilio-ruby/rest/preview/wireless/sim.rb +577 -523
- data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
- data/lib/twilio-ruby/rest/preview.rb +11 -79
- data/lib/twilio-ruby/rest/preview_base.rb +53 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +300 -275
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +108 -119
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +293 -268
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +108 -119
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +300 -275
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +223 -197
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +122 -135
- data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
- data/lib/twilio-ruby/rest/pricing/v2/country.rb +292 -270
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +235 -217
- data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +300 -275
- data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +241 -220
- data/lib/twilio-ruby/rest/pricing/v2/voice.rb +122 -138
- data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
- data/lib/twilio-ruby/rest/pricing.rb +6 -41
- data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +426 -403
- data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +411 -418
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +433 -449
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +426 -442
- data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +529 -506
- data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +406 -370
- data/lib/twilio-ruby/rest/proxy/v1/service.rb +566 -596
- data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
- data/lib/twilio-ruby/rest/proxy.rb +2 -34
- data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
- data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +265 -227
- data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +265 -223
- data/lib/twilio-ruby/rest/routes/v2/trunk.rb +265 -227
- data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
- data/lib/twilio-ruby/rest/routes.rb +4 -34
- data/lib/twilio-ruby/rest/routes_base.rb +38 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +419 -380
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +209 -208
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +412 -384
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +342 -338
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +362 -383
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +410 -396
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +461 -447
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +224 -234
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +419 -380
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +530 -493
- data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
- data/lib/twilio-ruby/rest/serverless.rb +2 -34
- data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +209 -199
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +224 -218
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +364 -355
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +429 -394
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +209 -200
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +224 -221
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +364 -361
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +477 -449
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +385 -355
- data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +209 -200
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +224 -221
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +364 -361
- data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +470 -442
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +344 -320
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +237 -0
- data/lib/twilio-ruby/rest/studio/v2/flow.rb +528 -472
- data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +124 -99
- data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
- data/lib/twilio-ruby/rest/studio.rb +3 -41
- data/lib/twilio-ruby/rest/studio_base.rb +43 -0
- data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +396 -382
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +477 -483
- data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +401 -409
- data/lib/twilio-ruby/rest/supersim/v1/network.rb +303 -297
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +342 -332
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +385 -351
- data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -237
- data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
- data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +465 -453
- data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +361 -361
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +306 -344
- data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
- data/lib/twilio-ruby/rest/supersim.rb +10 -34
- data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
- data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +383 -371
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +464 -423
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +473 -490
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +383 -370
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +476 -495
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +383 -368
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +142 -132
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +428 -400
- data/lib/twilio-ruby/rest/sync/v1/service.rb +584 -567
- data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
- data/lib/twilio-ruby/rest/sync.rb +2 -34
- data/lib/twilio-ruby/rest/sync_base.rb +38 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +414 -395
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +445 -464
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +709 -749
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +659 -661
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +418 -382
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +164 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +362 -369
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +282 -275
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +233 -236
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +240 -258
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +583 -572
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +691 -732
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +394 -388
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +238 -239
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +284 -265
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +218 -193
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +254 -234
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +630 -637
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +362 -375
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +248 -241
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +233 -244
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +532 -510
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +356 -356
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +234 -206
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +244 -234
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +729 -730
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
- data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
- data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +349 -320
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +349 -317
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +449 -419
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +482 -451
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +229 -191
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +632 -630
- data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
- data/lib/twilio-ruby/rest/trunking.rb +2 -34
- data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +249 -0
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +357 -0
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +220 -0
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +364 -352
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +348 -323
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +338 -321
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +541 -513
- data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +392 -346
- data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +285 -261
- data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +278 -252
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +406 -359
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +285 -261
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +364 -352
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +348 -323
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +338 -321
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +541 -513
- data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
- data/lib/twilio-ruby/rest/trusthub.rb +8 -34
- data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
- data/lib/twilio-ruby/rest/verify/v2/form.rb +196 -183
- data/lib/twilio-ruby/rest/verify/v2/safelist.rb +228 -207
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +277 -254
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +194 -192
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +503 -531
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +454 -453
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +252 -283
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +429 -414
- data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +388 -363
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +410 -388
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +429 -384
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +390 -372
- data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +224 -205
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +456 -412
- data/lib/twilio-ruby/rest/verify/v2/service.rb +816 -780
- data/lib/twilio-ruby/rest/verify/v2/template.rb +222 -205
- data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +375 -387
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +242 -226
- data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
- data/lib/twilio-ruby/rest/verify.rb +7 -34
- data/lib/twilio-ruby/rest/verify_base.rb +38 -0
- data/lib/twilio-ruby/rest/video/v1/composition.rb +484 -507
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +534 -647
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +286 -261
- data/lib/twilio-ruby/rest/video/v1/recording.rb +431 -426
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +286 -261
- data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +262 -0
- data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +334 -0
- data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +186 -0
- data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +341 -0
- data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
- data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +175 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +613 -602
- data/lib/twilio-ruby/rest/video/v1.rb +99 -99
- data/lib/twilio-ruby/rest/video.rb +7 -34
- data/lib/twilio-ruby/rest/video_base.rb +38 -0
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +161 -176
- data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +510 -486
- data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +449 -434
- data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +400 -352
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +138 -121
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +376 -397
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +220 -190
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +123 -121
- data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +386 -339
- data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +369 -319
- data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
- data/lib/twilio-ruby/rest/voice.rb +7 -34
- data/lib/twilio-ruby/rest/voice_base.rb +38 -0
- data/lib/twilio-ruby/rest/wireless/v1/command.rb +415 -406
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +472 -436
- data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
- data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +240 -243
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +641 -647
- data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +227 -221
- data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
- data/lib/twilio-ruby/rest/wireless.rb +5 -34
- data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
- data/lib/twilio-ruby/rest.rb +1 -0
- data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
- data/lib/twilio-ruby/twiml/voice_response.rb +97 -18
- data/lib/twilio-ruby/version.rb +1 -1
- data/sonar-project.properties +1 -1
- data/twilio-ruby.gemspec +2 -1
- metadata +148 -80
- data/conf/cacert.pem +0 -3376
- data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
- 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
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
- data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
- data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
- data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
- data/lib/twilio-ruby/rest/autopilot.rb +0 -53
- data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
- data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
- data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
- data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
- data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
- data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
- data/lib/twilio-ruby/rest/media/v1.rb +0 -76
- data/lib/twilio-ruby/rest/media.rb +0 -65
- data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
- data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
- data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
- data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
- data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
- data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
- data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
- data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
- data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
- data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
- data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
- data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
- data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
- data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
- data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
- data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,528 +1,620 @@
|
|
1
1
|
##
|
2
|
-
#
|
3
|
-
#
|
4
|
-
# |
|
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
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
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
|
-
|
528
|
-
|
618
|
+
end
|
619
|
+
|
620
|
+
|