twilio-ruby 7.10.4 → 7.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test-and-deploy.yml +1 -1
- data/CHANGES.md +166 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +2 -2
- data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +3 -3
- data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +3 -3
- data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +18 -10
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +18 -10
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +2 -2
- data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +4 -4
- data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +5 -5
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +2 -2
- data/lib/twilio-ruby/rest/accounts/v1.rb +11 -2
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +41 -33
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +61 -53
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +28 -28
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +30 -16
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +207 -207
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +207 -207
- data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +27 -21
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +4 -4
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +5 -5
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +73 -59
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +93 -79
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +17 -9
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +19 -11
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +29 -21
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +14 -6
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +36 -28
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +36 -28
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +36 -28
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +83 -75
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +15 -7
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +47 -33
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +15 -7
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +17 -9
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +19 -11
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +15 -7
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +25 -17
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +15 -7
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +17 -9
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +16 -8
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +14 -6
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +14 -6
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +14 -6
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +14 -6
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +14 -6
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +52 -44
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +22 -14
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +16 -8
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +13 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +26 -18
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +8 -8
- data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -10
- data/lib/twilio-ruby/rest/api/v2010.rb +1 -0
- data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +13 -5
- data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +13 -5
- data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +13 -5
- data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +2 -2
- data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +14 -5
- data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +13 -5
- data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +2 -2
- data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +14 -5
- data/lib/twilio-ruby/rest/assistants/v1/policy.rb +13 -5
- data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +13 -5
- data/lib/twilio-ruby/rest/assistants/v1/session.rb +13 -5
- data/lib/twilio-ruby/rest/assistants/v1/tool.rb +14 -5
- data/lib/twilio-ruby/rest/assistants/v1.rb +4 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +13 -5
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +19 -11
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +2 -2
- data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +2 -2
- data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +8 -8
- data/lib/twilio-ruby/rest/bulkexports/v1.rb +2 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +32 -24
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +15 -7
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +19 -11
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +20 -12
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +23 -15
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +18 -10
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +13 -5
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +23 -15
- data/lib/twilio-ruby/rest/chat/v1/service.rb +122 -114
- data/lib/twilio-ruby/rest/chat/v1.rb +2 -0
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +32 -24
- data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +13 -5
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +15 -7
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +37 -29
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +37 -29
- data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +32 -24
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +37 -29
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +18 -10
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +13 -5
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +21 -13
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +26 -18
- data/lib/twilio-ruby/rest/chat/v2/service.rb +76 -68
- data/lib/twilio-ruby/rest/chat/v2.rb +2 -0
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +8 -8
- data/lib/twilio-ruby/rest/chat/v3.rb +6 -0
- data/lib/twilio-ruby/rest/client.rb +5 -0
- data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +2 -2
- data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +2 -2
- data/lib/twilio-ruby/rest/content/v1/content.rb +14 -5
- data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +13 -5
- data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +13 -5
- data/lib/twilio-ruby/rest/content/v1.rb +1 -0
- data/lib/twilio-ruby/rest/content/v2/content.rb +13 -5
- data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +13 -5
- data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +43 -35
- data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +12 -12
- data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +10 -10
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +13 -5
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +39 -31
- data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +44 -36
- data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +30 -22
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +51 -43
- data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +15 -15
- data/lib/twilio-ruby/rest/conversations/v1/credential.rb +34 -26
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +13 -5
- data/lib/twilio-ruby/rest/conversations/v1/role.rb +18 -10
- data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +13 -5
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +28 -28
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +10 -10
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +10 -10
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +13 -5
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +39 -31
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +44 -36
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +30 -22
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +51 -43
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +15 -15
- data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +13 -5
- data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +18 -10
- data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +19 -11
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +28 -20
- data/lib/twilio-ruby/rest/conversations/v1/service.rb +14 -6
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +19 -11
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +28 -20
- data/lib/twilio-ruby/rest/conversations/v1.rb +6 -0
- data/lib/twilio-ruby/rest/conversations/v2/communication.rb +698 -0
- data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +1208 -0
- data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +1365 -0
- data/lib/twilio-ruby/rest/conversations/v2/operation.rb +369 -0
- data/lib/twilio-ruby/rest/conversations/v2/participant.rb +745 -0
- data/lib/twilio-ruby/rest/conversations/v2.rb +126 -0
- data/lib/twilio-ruby/rest/conversations_base.rb +6 -1
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +13 -5
- data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +13 -5
- data/lib/twilio-ruby/rest/events/v1/schema.rb +2 -2
- data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +2 -2
- data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
- data/lib/twilio-ruby/rest/events/v1/sink.rb +18 -10
- data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +17 -9
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +18 -10
- data/lib/twilio-ruby/rest/events/v1.rb +4 -0
- data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +32 -24
- data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +23 -15
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +5 -4
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +64 -56
- data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +20 -12
- data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +13 -5
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +32 -24
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +21 -13
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +33 -25
- data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +13 -5
- data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +4 -4
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +3 -3
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +3 -3
- data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +4 -4
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +14 -6
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +18 -10
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +3 -2
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +17 -9
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +8 -8
- data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +27 -19
- data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +25 -17
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +4 -4
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +15 -7
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +19 -11
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +4 -4
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +17 -9
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +4 -4
- data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +2 -2
- data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +23 -15
- data/lib/twilio-ruby/rest/flex_api/v1.rb +19 -6
- data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +8 -8
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +8 -8
- data/lib/twilio-ruby/rest/flex_api/v2.rb +6 -0
- data/lib/twilio-ruby/rest/flex_api_base.rb +6 -1
- data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +10 -10
- data/lib/twilio-ruby/rest/frontline_api/v1.rb +1 -0
- data/lib/twilio-ruby/rest/iam/v1/api_key.rb +6 -6
- data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +13 -5
- data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +6 -6
- data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +3 -2
- data/lib/twilio-ruby/rest/iam/v1/role_permission.rb +327 -0
- data/lib/twilio-ruby/rest/iam/v1/token.rb +10 -10
- data/lib/twilio-ruby/rest/iam/v1.rb +17 -0
- data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +16 -16
- data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +14 -14
- data/lib/twilio-ruby/rest/insights/v1/call/event.rb +17 -9
- data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +13 -5
- data/lib/twilio-ruby/rest/insights/v1/call.rb +2 -2
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +23 -15
- data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +17 -9
- data/lib/twilio-ruby/rest/insights/v1/conference.rb +13 -5
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +13 -5
- data/lib/twilio-ruby/rest/insights/v1/room.rb +13 -5
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +10 -10
- data/lib/twilio-ruby/rest/insights/v1.rb +3 -0
- data/lib/twilio-ruby/rest/insights/v2/inbound.rb +21 -12
- data/lib/twilio-ruby/rest/insights/v2/outbound.rb +21 -12
- data/lib/twilio-ruby/rest/insights/v2/report.rb +10 -9
- data/lib/twilio-ruby/rest/insights/v2.rb +3 -0
- data/lib/twilio-ruby/rest/insights/v3/metadata.rb +227 -0
- data/lib/twilio-ruby/rest/insights/v3/query.rb +394 -0
- data/lib/twilio-ruby/rest/insights/v3.rb +46 -0
- data/lib/twilio-ruby/rest/insights_base.rb +5 -0
- data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +22 -14
- data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +13 -5
- data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +2 -2
- data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +2 -2
- data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +13 -5
- data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +13 -5
- data/lib/twilio-ruby/rest/intelligence/v2/service.rb +43 -35
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +4 -4
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +4 -4
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +4 -4
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +15 -7
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +13 -5
- data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +17 -9
- data/lib/twilio-ruby/rest/intelligence/v2.rb +13 -0
- data/lib/twilio-ruby/rest/intelligence/v3/configuration.rb +1073 -0
- data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +602 -0
- data/lib/twilio-ruby/rest/intelligence/v3/operator.rb +784 -0
- data/lib/twilio-ruby/rest/intelligence/v3/operator_result.rb +622 -0
- data/lib/twilio-ruby/rest/intelligence/v3/version.rb +556 -0
- data/lib/twilio-ruby/rest/intelligence/v3.rb +120 -0
- data/lib/twilio-ruby/rest/intelligence_base.rb +6 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +32 -24
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +15 -7
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +19 -11
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +20 -12
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +23 -15
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +18 -10
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +13 -5
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +23 -15
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +122 -114
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +2 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +32 -24
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +13 -5
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +15 -7
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +37 -29
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +37 -29
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +32 -24
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +37 -29
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +18 -10
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +13 -5
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +19 -11
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +26 -18
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +76 -68
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +2 -0
- data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +13 -5
- data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +2 -2
- data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +14 -5
- data/lib/twilio-ruby/rest/knowledge/v1.rb +1 -0
- data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +306 -0
- data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +714 -0
- data/lib/twilio-ruby/rest/knowledge/v2/knowledge_basis.rb +739 -0
- data/lib/twilio-ruby/rest/knowledge/v2/operation.rb +376 -0
- data/lib/twilio-ruby/rest/knowledge/v2/search.rb +355 -0
- data/lib/twilio-ruby/rest/knowledge/v2.rb +145 -0
- data/lib/twilio-ruby/rest/knowledge_base.rb +6 -1
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +10 -10
- data/lib/twilio-ruby/rest/lookups/v1.rb +1 -0
- data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +3 -2
- data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +4 -2
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +32 -32
- data/lib/twilio-ruby/rest/lookups/v2/query.rb +2 -2
- data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +3 -3
- data/lib/twilio-ruby/rest/lookups/v2.rb +13 -0
- data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +13 -5
- data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +13 -5
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +15 -7
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +2 -2
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +21 -13
- data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +4 -4
- data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +16 -16
- data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +2 -2
- data/lib/twilio-ruby/rest/marketplace/v1.rb +3 -0
- data/lib/twilio-ruby/rest/{flex_api/v1/create_flex_instance.rb → memory/v1/bulk.rb} +104 -124
- data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +798 -0
- data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +843 -0
- data/lib/twilio-ruby/rest/memory/v1/event.rb +320 -0
- data/lib/twilio-ruby/rest/memory/v1/identifier.rb +710 -0
- data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +442 -0
- data/lib/twilio-ruby/rest/memory/v1/import.rb +574 -0
- data/lib/twilio-ruby/rest/memory/v1/lookup.rb +250 -0
- data/lib/twilio-ruby/rest/memory/v1/observation.rb +786 -0
- data/lib/twilio-ruby/rest/memory/v1/operation.rb +376 -0
- data/lib/twilio-ruby/rest/memory/v1/profile.rb +636 -0
- data/lib/twilio-ruby/rest/memory/v1/recall.rb +366 -0
- data/lib/twilio-ruby/rest/memory/v1/revision.rb +349 -0
- data/lib/twilio-ruby/rest/memory/v1/store.rb +701 -0
- data/lib/twilio-ruby/rest/memory/v1/trait.rb +336 -0
- data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +904 -0
- data/lib/twilio-ruby/rest/memory/v1.rb +475 -0
- data/lib/twilio-ruby/rest/memory.rb +6 -0
- data/lib/twilio-ruby/rest/memory_base.rb +38 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +15 -7
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +18 -10
- data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +4 -4
- data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +4 -4
- data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +10 -10
- data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +5 -5
- data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +14 -6
- data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +14 -6
- data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +15 -7
- data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +14 -6
- data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +14 -6
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +54 -46
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +3 -3
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +61 -53
- data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +120 -112
- data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v1.rb +15 -0
- data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +22 -7
- data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +4 -4
- data/lib/twilio-ruby/rest/messaging/v2.rb +2 -0
- data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +247 -0
- data/lib/twilio-ruby/rest/messaging/v3.rb +40 -0
- data/lib/twilio-ruby/rest/messaging_base.rb +5 -0
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +13 -5
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +13 -5
- data/lib/twilio-ruby/rest/monitor/v1.rb +2 -0
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +32 -24
- data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +20 -12
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +20 -20
- data/lib/twilio-ruby/rest/notify/v1/service.rb +55 -47
- data/lib/twilio-ruby/rest/notify/v1.rb +2 -0
- data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +13 -5
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +6 -6
- data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +13 -5
- data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v1.rb +21 -2
- data/lib/twilio-ruby/rest/numbers/v2/application.rb +13 -5
- data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +13 -5
- data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +19 -11
- data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +4 -4
- data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +8 -8
- data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +35 -27
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +14 -6
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +13 -5
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +14 -6
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +3 -3
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +29 -21
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +20 -12
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +13 -5
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +15 -7
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +20 -12
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +13 -5
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +2 -2
- data/lib/twilio-ruby/rest/numbers/v2.rb +5 -0
- data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +19 -19
- data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +7 -7
- data/lib/twilio-ruby/rest/oauth/v1/token.rb +10 -10
- data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +7 -7
- data/lib/twilio-ruby/rest/oauth/v2/token.rb +11 -11
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +13 -5
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +33 -25
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +50 -42
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +2 -0
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +13 -5
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +13 -5
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +15 -7
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +21 -13
- data/lib/twilio-ruby/rest/preview/marketplace.rb +2 -0
- data/lib/twilio-ruby/rest/preview/wireless/command.rb +20 -12
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +27 -19
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +6 -6
- data/lib/twilio-ruby/rest/preview/wireless/sim.rb +45 -37
- data/lib/twilio-ruby/rest/preview/wireless.rb +3 -0
- data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +7 -7
- data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +10 -10
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +13 -5
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +54 -10
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +27 -11
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +2 -2
- data/lib/twilio-ruby/rest/preview_iam/versionless.rb +1 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +13 -5
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +2 -2
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +13 -5
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +2 -2
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +13 -5
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +2 -2
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +2 -2
- data/lib/twilio-ruby/rest/pricing/v1.rb +22 -4
- data/lib/twilio-ruby/rest/pricing/v2/country.rb +13 -5
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +4 -4
- data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +13 -5
- data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +4 -4
- data/lib/twilio-ruby/rest/pricing/v2/voice.rb +2 -2
- data/lib/twilio-ruby/rest/pricing/v2.rb +13 -2
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +18 -10
- data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +13 -5
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +15 -7
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +17 -9
- data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +25 -17
- data/lib/twilio-ruby/rest/proxy/v1/service.rb +37 -29
- data/lib/twilio-ruby/rest/proxy/v1.rb +1 -0
- data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +6 -6
- data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +6 -6
- data/lib/twilio-ruby/rest/routes/v2/trunk.rb +6 -6
- data/lib/twilio-ruby/rest/routes/v2.rb +3 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +13 -5
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +16 -8
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +2 -2
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +17 -9
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +15 -7
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +13 -5
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +19 -11
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +15 -7
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +2 -2
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +13 -5
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +16 -8
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +23 -15
- data/lib/twilio-ruby/rest/serverless/v1.rb +1 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +2 -2
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +2 -2
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +13 -5
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +16 -8
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +2 -2
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +2 -2
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +13 -5
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +18 -10
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +13 -5
- data/lib/twilio-ruby/rest/studio/v1.rb +1 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +2 -2
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +2 -2
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +13 -5
- data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +37 -14
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +13 -5
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +4 -4
- data/lib/twilio-ruby/rest/studio/v2/flow.rb +42 -19
- data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -6
- data/lib/twilio-ruby/rest/studio/v2.rb +1 -0
- data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +17 -9
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +36 -28
- data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +19 -11
- data/lib/twilio-ruby/rest/supersim/v1/network.rb +13 -5
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +14 -6
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +17 -9
- data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +13 -5
- data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +13 -5
- data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +13 -5
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +27 -19
- data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +17 -9
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +13 -5
- data/lib/twilio-ruby/rest/supersim/v1.rb +7 -0
- data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +19 -11
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +22 -14
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +29 -21
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +19 -11
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +20 -12
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +30 -22
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +19 -11
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +20 -12
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +3 -3
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +17 -9
- data/lib/twilio-ruby/rest/sync/v1/service.rb +34 -26
- data/lib/twilio-ruby/rest/sync/v1.rb +1 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +17 -9
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +13 -5
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +123 -115
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +38 -30
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +20 -12
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +2 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +12 -12
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +4 -4
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +12 -12
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +13 -5
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +31 -23
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +119 -111
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +17 -9
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +10 -10
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +10 -10
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +4 -4
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +16 -16
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +28 -20
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +12 -12
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +4 -4
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +12 -12
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +30 -22
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +12 -12
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +4 -4
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +12 -12
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +33 -25
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +1 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +14 -6
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +14 -6
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +28 -20
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +14 -6
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +6 -6
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +37 -29
- data/lib/twilio-ruby/rest/trunking/v1.rb +1 -0
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +9 -9
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +45 -45
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +40 -40
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +15 -7
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +14 -6
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +14 -6
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +25 -17
- data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +20 -12
- data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +13 -5
- data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +13 -5
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +20 -12
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +13 -5
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +15 -7
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +14 -6
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +14 -6
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +25 -17
- data/lib/twilio-ruby/rest/trusthub/v1.rb +9 -0
- data/lib/twilio-ruby/rest/verify/v2/form.rb +2 -2
- data/lib/twilio-ruby/rest/verify/v2/safelist.rb +3 -3
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +6 -6
- data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +9 -9
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +3 -3
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +23 -15
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +31 -23
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +16 -16
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +14 -6
- data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +17 -9
- data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +10 -9
- data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +2 -2
- data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +2 -2
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +19 -11
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +17 -9
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +24 -24
- data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +8 -8
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +40 -32
- data/lib/twilio-ruby/rest/verify/v2/service.rb +91 -83
- data/lib/twilio-ruby/rest/verify/v2/template.rb +13 -5
- data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +13 -5
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +14 -14
- data/lib/twilio-ruby/rest/verify/v2.rb +4 -0
- data/lib/twilio-ruby/rest/video/v1/composition.rb +22 -14
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +43 -35
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +14 -14
- data/lib/twilio-ruby/rest/video/v1/recording.rb +13 -5
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +14 -14
- data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +2 -2
- data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +13 -5
- data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +3 -3
- data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +13 -5
- data/lib/twilio-ruby/rest/video/v1/room/participant.rb +15 -7
- data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +3 -3
- data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +13 -5
- data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +18 -10
- data/lib/twilio-ruby/rest/video/v1/room.rb +32 -24
- data/lib/twilio-ruby/rest/video/v1.rb +4 -0
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +2 -2
- data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +43 -35
- data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +28 -20
- data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +16 -8
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +3 -3
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +13 -5
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +13 -5
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +4 -4
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +2 -2
- data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +18 -10
- data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +17 -9
- data/lib/twilio-ruby/rest/voice/v1.rb +10 -0
- data/lib/twilio-ruby/rest/voice/v3/transcription.rb +514 -0
- data/lib/twilio-ruby/rest/voice/v3.rb +50 -0
- data/lib/twilio-ruby/rest/voice_base.rb +6 -1
- data/lib/twilio-ruby/rest/wireless/v1/command.rb +20 -12
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +29 -21
- data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +13 -5
- data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +13 -5
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +49 -41
- data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +13 -5
- data/lib/twilio-ruby/rest/wireless/v1.rb +3 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +20 -11
- data/lib/twilio-ruby/version.rb +1 -1
- data/twilio-ruby.gemspec +1 -1
- metadata +49 -5
|
@@ -0,0 +1,1208 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
|
|
4
|
+
# | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
|
|
5
|
+
# | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
|
|
6
|
+
#
|
|
7
|
+
# Conversation Orchestrator
|
|
8
|
+
# Manage configurations, conversations, participants, and communications. Create configurations to define capture rules and channel settings, then use conversations to group related communications.
|
|
9
|
+
#
|
|
10
|
+
# NOTE: This class is auto generated by OpenAPI Generator.
|
|
11
|
+
# https://openapi-generator.tech
|
|
12
|
+
# Do not edit the class manually.
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
module Twilio
|
|
17
|
+
module REST
|
|
18
|
+
class Conversations < ConversationsBase
|
|
19
|
+
class V2 < Version
|
|
20
|
+
class ConfigurationList < ListResource
|
|
21
|
+
|
|
22
|
+
class ConversationsV2CaptureRule
|
|
23
|
+
# @param [from]: [String] The from address. Use `*` for wildcard to match any from address.
|
|
24
|
+
# @param [to]: [String] The to address. Use `*` for wildcard to match any to address.
|
|
25
|
+
# @param [metadata]: [Hash<String, String>] Additional matching criteria for the capture rule. For voice calls, can include `callType` (`PSTN`, `SIP`, and similar).
|
|
26
|
+
attr_accessor :from, :to, :metadata
|
|
27
|
+
def initialize(payload)
|
|
28
|
+
@from = payload["from"]
|
|
29
|
+
@to = payload["to"]
|
|
30
|
+
@metadata = payload["metadata"]
|
|
31
|
+
end
|
|
32
|
+
def to_json(options = {})
|
|
33
|
+
{
|
|
34
|
+
"from": @from,
|
|
35
|
+
"to": @to,
|
|
36
|
+
"metadata": @metadata,
|
|
37
|
+
}.to_json(options)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class ConversationsV2StatusTimeouts
|
|
42
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
43
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
44
|
+
attr_accessor :inactive, :closed
|
|
45
|
+
def initialize(payload)
|
|
46
|
+
@inactive = payload["inactive"]
|
|
47
|
+
@closed = payload["closed"]
|
|
48
|
+
end
|
|
49
|
+
def to_json(options = {})
|
|
50
|
+
{
|
|
51
|
+
"inactive": @inactive,
|
|
52
|
+
"closed": @closed,
|
|
53
|
+
}.to_json(options)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
class CreateConfigurationRequest
|
|
58
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
59
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
60
|
+
# @param [conversation_grouping_type]: [String] The strategy Conversation Orchestrator uses to assign communications to conversations.
|
|
61
|
+
# @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
|
|
62
|
+
# @param [channel_settings]: [Hash<String, CreateConfigurationRequestChannelSettingsValue>]
|
|
63
|
+
# @param [status_callbacks]: [Array<ConfigurationList.CreateConfigurationRequestStatusCallbacks>] A list of webhook configurations.
|
|
64
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
65
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
66
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled
|
|
67
|
+
def initialize(payload)
|
|
68
|
+
@display_name = payload["display_name"]
|
|
69
|
+
@description = payload["description"]
|
|
70
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
71
|
+
@memory_store_id = payload["memory_store_id"]
|
|
72
|
+
@channel_settings = payload["channel_settings"]
|
|
73
|
+
@status_callbacks = payload["status_callbacks"]
|
|
74
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
75
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
76
|
+
end
|
|
77
|
+
def to_json(options = {})
|
|
78
|
+
{
|
|
79
|
+
"displayName": @display_name,
|
|
80
|
+
"description": @description,
|
|
81
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
82
|
+
"memoryStoreId": @memory_store_id,
|
|
83
|
+
"channelSettings": @channel_settings,
|
|
84
|
+
"statusCallbacks": @status_callbacks,
|
|
85
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
86
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
87
|
+
}.to_json(options)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
class CreateConfigurationRequestChannelSettingsValue
|
|
92
|
+
# @param [status_timeouts]: [CreateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
93
|
+
# @param [capture_rules]: [Array<CreateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
94
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
95
|
+
def initialize(payload)
|
|
96
|
+
@status_timeouts = payload["status_timeouts"]
|
|
97
|
+
@capture_rules = payload["capture_rules"]
|
|
98
|
+
end
|
|
99
|
+
def to_json(options = {})
|
|
100
|
+
{
|
|
101
|
+
"statusTimeouts": @status_timeouts,
|
|
102
|
+
"captureRules": @capture_rules,
|
|
103
|
+
}.to_json(options)
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
class CreateConfigurationRequestChannelSettingsValueCaptureRules
|
|
108
|
+
# @param [from]: [String] The from address. Use '*' for wildcard.
|
|
109
|
+
# @param [to]: [String] The to address. Use '*' for wildcard.
|
|
110
|
+
# @param [metadata]: [Hash<String, String>]
|
|
111
|
+
attr_accessor :from, :to, :metadata
|
|
112
|
+
def initialize(payload)
|
|
113
|
+
@from = payload["from"]
|
|
114
|
+
@to = payload["to"]
|
|
115
|
+
@metadata = payload["metadata"]
|
|
116
|
+
end
|
|
117
|
+
def to_json(options = {})
|
|
118
|
+
{
|
|
119
|
+
"from": @from,
|
|
120
|
+
"to": @to,
|
|
121
|
+
"metadata": @metadata,
|
|
122
|
+
}.to_json(options)
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
class CreateConfigurationRequestChannelSettingsValueStatusTimeouts
|
|
127
|
+
# @param [inactive]: [Integer] The inactivity timeout in minutes. For more information, see [Conversation lifecycle](/docs/platform/conversations/concepts/lifecycle).
|
|
128
|
+
# @param [closed]: [Integer] The close timeout in minutes. For more information, see [Conversation lifecycle](/docs/platform/conversations/concepts/lifecycle).
|
|
129
|
+
attr_accessor :inactive, :closed
|
|
130
|
+
def initialize(payload)
|
|
131
|
+
@inactive = payload["inactive"]
|
|
132
|
+
@closed = payload["closed"]
|
|
133
|
+
end
|
|
134
|
+
def to_json(options = {})
|
|
135
|
+
{
|
|
136
|
+
"inactive": @inactive,
|
|
137
|
+
"closed": @closed,
|
|
138
|
+
}.to_json(options)
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
class CreateConfigurationRequestStatusCallbacks
|
|
143
|
+
# @param [url]: [String] The destination URL for webhooks.
|
|
144
|
+
# @param [method]: [String] The HTTP method used to invoke the webhook URL.
|
|
145
|
+
attr_accessor :url, :method
|
|
146
|
+
def initialize(payload)
|
|
147
|
+
@url = payload["url"]
|
|
148
|
+
@method = payload["method"]
|
|
149
|
+
end
|
|
150
|
+
def to_json(options = {})
|
|
151
|
+
{
|
|
152
|
+
"url": @url,
|
|
153
|
+
"method": @method,
|
|
154
|
+
}.to_json(options)
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
class UpdateConfigurationRequest
|
|
159
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
160
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
161
|
+
# @param [conversation_grouping_type]: [String] The strategy Conversation Orchestrator uses to assign communications to conversations.
|
|
162
|
+
# @param [memory_store_id]: [String] The Memory Store ID for profile resolution.
|
|
163
|
+
# @param [channel_settings]: [Hash<String, UpdateConfigurationRequestChannelSettingsValue>]
|
|
164
|
+
# @param [status_callbacks]: [Array<ConfigurationList.UpdateConfigurationRequestStatusCallbacks>]
|
|
165
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
166
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
167
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled
|
|
168
|
+
def initialize(payload)
|
|
169
|
+
@display_name = payload["display_name"]
|
|
170
|
+
@description = payload["description"]
|
|
171
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
172
|
+
@memory_store_id = payload["memory_store_id"]
|
|
173
|
+
@channel_settings = payload["channel_settings"]
|
|
174
|
+
@status_callbacks = payload["status_callbacks"]
|
|
175
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
176
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
177
|
+
end
|
|
178
|
+
def to_json(options = {})
|
|
179
|
+
{
|
|
180
|
+
"displayName": @display_name,
|
|
181
|
+
"description": @description,
|
|
182
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
183
|
+
"memoryStoreId": @memory_store_id,
|
|
184
|
+
"channelSettings": @channel_settings,
|
|
185
|
+
"statusCallbacks": @status_callbacks,
|
|
186
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
187
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
188
|
+
}.to_json(options)
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
class UpdateConfigurationRequestChannelSettingsValue
|
|
193
|
+
# @param [status_timeouts]: [UpdateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
194
|
+
# @param [capture_rules]: [Array<UpdateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
195
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
196
|
+
def initialize(payload)
|
|
197
|
+
@status_timeouts = payload["status_timeouts"]
|
|
198
|
+
@capture_rules = payload["capture_rules"]
|
|
199
|
+
end
|
|
200
|
+
def to_json(options = {})
|
|
201
|
+
{
|
|
202
|
+
"statusTimeouts": @status_timeouts,
|
|
203
|
+
"captureRules": @capture_rules,
|
|
204
|
+
}.to_json(options)
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
class UpdateConfigurationRequestChannelSettingsValueCaptureRules
|
|
209
|
+
# @param [from]: [String]
|
|
210
|
+
# @param [to]: [String]
|
|
211
|
+
# @param [metadata]: [Hash<String, String>]
|
|
212
|
+
attr_accessor :from, :to, :metadata
|
|
213
|
+
def initialize(payload)
|
|
214
|
+
@from = payload["from"]
|
|
215
|
+
@to = payload["to"]
|
|
216
|
+
@metadata = payload["metadata"]
|
|
217
|
+
end
|
|
218
|
+
def to_json(options = {})
|
|
219
|
+
{
|
|
220
|
+
"from": @from,
|
|
221
|
+
"to": @to,
|
|
222
|
+
"metadata": @metadata,
|
|
223
|
+
}.to_json(options)
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
class UpdateConfigurationRequestChannelSettingsValueStatusTimeouts
|
|
228
|
+
# @param [inactive]: [Integer]
|
|
229
|
+
# @param [closed]: [Integer]
|
|
230
|
+
attr_accessor :inactive, :closed
|
|
231
|
+
def initialize(payload)
|
|
232
|
+
@inactive = payload["inactive"]
|
|
233
|
+
@closed = payload["closed"]
|
|
234
|
+
end
|
|
235
|
+
def to_json(options = {})
|
|
236
|
+
{
|
|
237
|
+
"inactive": @inactive,
|
|
238
|
+
"closed": @closed,
|
|
239
|
+
}.to_json(options)
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
class UpdateConfigurationRequestStatusCallbacks
|
|
244
|
+
# @param [url]: [String]
|
|
245
|
+
# @param [method]: [String]
|
|
246
|
+
attr_accessor :url, :method
|
|
247
|
+
def initialize(payload)
|
|
248
|
+
@url = payload["url"]
|
|
249
|
+
@method = payload["method"]
|
|
250
|
+
end
|
|
251
|
+
def to_json(options = {})
|
|
252
|
+
{
|
|
253
|
+
"url": @url,
|
|
254
|
+
"method": @method,
|
|
255
|
+
}.to_json(options)
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
class ConversationsV2CaptureRule
|
|
261
|
+
# @param [from]: [String] The from address. Use `*` for wildcard to match any from address.
|
|
262
|
+
# @param [to]: [String] The to address. Use `*` for wildcard to match any to address.
|
|
263
|
+
# @param [metadata]: [Hash<String, String>] Additional matching criteria for the capture rule. For voice calls, can include `callType` (`PSTN`, `SIP`, and similar).
|
|
264
|
+
attr_accessor :from, :to, :metadata
|
|
265
|
+
def initialize(payload)
|
|
266
|
+
@from = payload["from"]
|
|
267
|
+
@to = payload["to"]
|
|
268
|
+
@metadata = payload["metadata"]
|
|
269
|
+
end
|
|
270
|
+
def to_json(options = {})
|
|
271
|
+
{
|
|
272
|
+
"from": @from,
|
|
273
|
+
"to": @to,
|
|
274
|
+
"metadata": @metadata,
|
|
275
|
+
}.to_json(options)
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
class ConversationsV2StatusTimeouts
|
|
280
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
281
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
282
|
+
attr_accessor :inactive, :closed
|
|
283
|
+
def initialize(payload)
|
|
284
|
+
@inactive = payload["inactive"]
|
|
285
|
+
@closed = payload["closed"]
|
|
286
|
+
end
|
|
287
|
+
def to_json(options = {})
|
|
288
|
+
{
|
|
289
|
+
"inactive": @inactive,
|
|
290
|
+
"closed": @closed,
|
|
291
|
+
}.to_json(options)
|
|
292
|
+
end
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
class CreateConfigurationRequest
|
|
296
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
297
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
298
|
+
# @param [conversation_grouping_type]: [String] The strategy Conversation Orchestrator uses to assign communications to conversations.
|
|
299
|
+
# @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
|
|
300
|
+
# @param [channel_settings]: [Hash<String, CreateConfigurationRequestChannelSettingsValue>]
|
|
301
|
+
# @param [status_callbacks]: [Array<ConfigurationList.CreateConfigurationRequestStatusCallbacks>] A list of webhook configurations.
|
|
302
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
303
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
304
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled
|
|
305
|
+
def initialize(payload)
|
|
306
|
+
@display_name = payload["display_name"]
|
|
307
|
+
@description = payload["description"]
|
|
308
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
309
|
+
@memory_store_id = payload["memory_store_id"]
|
|
310
|
+
@channel_settings = payload["channel_settings"]
|
|
311
|
+
@status_callbacks = payload["status_callbacks"]
|
|
312
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
313
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
314
|
+
end
|
|
315
|
+
def to_json(options = {})
|
|
316
|
+
{
|
|
317
|
+
"displayName": @display_name,
|
|
318
|
+
"description": @description,
|
|
319
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
320
|
+
"memoryStoreId": @memory_store_id,
|
|
321
|
+
"channelSettings": @channel_settings,
|
|
322
|
+
"statusCallbacks": @status_callbacks,
|
|
323
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
324
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
325
|
+
}.to_json(options)
|
|
326
|
+
end
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
class CreateConfigurationRequestChannelSettingsValue
|
|
330
|
+
# @param [status_timeouts]: [CreateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
331
|
+
# @param [capture_rules]: [Array<CreateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
332
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
333
|
+
def initialize(payload)
|
|
334
|
+
@status_timeouts = payload["status_timeouts"]
|
|
335
|
+
@capture_rules = payload["capture_rules"]
|
|
336
|
+
end
|
|
337
|
+
def to_json(options = {})
|
|
338
|
+
{
|
|
339
|
+
"statusTimeouts": @status_timeouts,
|
|
340
|
+
"captureRules": @capture_rules,
|
|
341
|
+
}.to_json(options)
|
|
342
|
+
end
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
class CreateConfigurationRequestChannelSettingsValueCaptureRules
|
|
346
|
+
# @param [from]: [String] The from address. Use '*' for wildcard.
|
|
347
|
+
# @param [to]: [String] The to address. Use '*' for wildcard.
|
|
348
|
+
# @param [metadata]: [Hash<String, String>]
|
|
349
|
+
attr_accessor :from, :to, :metadata
|
|
350
|
+
def initialize(payload)
|
|
351
|
+
@from = payload["from"]
|
|
352
|
+
@to = payload["to"]
|
|
353
|
+
@metadata = payload["metadata"]
|
|
354
|
+
end
|
|
355
|
+
def to_json(options = {})
|
|
356
|
+
{
|
|
357
|
+
"from": @from,
|
|
358
|
+
"to": @to,
|
|
359
|
+
"metadata": @metadata,
|
|
360
|
+
}.to_json(options)
|
|
361
|
+
end
|
|
362
|
+
end
|
|
363
|
+
|
|
364
|
+
class CreateConfigurationRequestChannelSettingsValueStatusTimeouts
|
|
365
|
+
# @param [inactive]: [Integer] The inactivity timeout in minutes. For more information, see [Conversation lifecycle](/docs/platform/conversations/concepts/lifecycle).
|
|
366
|
+
# @param [closed]: [Integer] The close timeout in minutes. For more information, see [Conversation lifecycle](/docs/platform/conversations/concepts/lifecycle).
|
|
367
|
+
attr_accessor :inactive, :closed
|
|
368
|
+
def initialize(payload)
|
|
369
|
+
@inactive = payload["inactive"]
|
|
370
|
+
@closed = payload["closed"]
|
|
371
|
+
end
|
|
372
|
+
def to_json(options = {})
|
|
373
|
+
{
|
|
374
|
+
"inactive": @inactive,
|
|
375
|
+
"closed": @closed,
|
|
376
|
+
}.to_json(options)
|
|
377
|
+
end
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
class CreateConfigurationRequestStatusCallbacks
|
|
381
|
+
# @param [url]: [String] The destination URL for webhooks.
|
|
382
|
+
# @param [method]: [String] The HTTP method used to invoke the webhook URL.
|
|
383
|
+
attr_accessor :url, :method
|
|
384
|
+
def initialize(payload)
|
|
385
|
+
@url = payload["url"]
|
|
386
|
+
@method = payload["method"]
|
|
387
|
+
end
|
|
388
|
+
def to_json(options = {})
|
|
389
|
+
{
|
|
390
|
+
"url": @url,
|
|
391
|
+
"method": @method,
|
|
392
|
+
}.to_json(options)
|
|
393
|
+
end
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
class UpdateConfigurationRequest
|
|
397
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
398
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
399
|
+
# @param [conversation_grouping_type]: [String] The strategy Conversation Orchestrator uses to assign communications to conversations.
|
|
400
|
+
# @param [memory_store_id]: [String] The Memory Store ID for profile resolution.
|
|
401
|
+
# @param [channel_settings]: [Hash<String, UpdateConfigurationRequestChannelSettingsValue>]
|
|
402
|
+
# @param [status_callbacks]: [Array<ConfigurationList.UpdateConfigurationRequestStatusCallbacks>]
|
|
403
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
404
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
405
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled
|
|
406
|
+
def initialize(payload)
|
|
407
|
+
@display_name = payload["display_name"]
|
|
408
|
+
@description = payload["description"]
|
|
409
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
410
|
+
@memory_store_id = payload["memory_store_id"]
|
|
411
|
+
@channel_settings = payload["channel_settings"]
|
|
412
|
+
@status_callbacks = payload["status_callbacks"]
|
|
413
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
414
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
415
|
+
end
|
|
416
|
+
def to_json(options = {})
|
|
417
|
+
{
|
|
418
|
+
"displayName": @display_name,
|
|
419
|
+
"description": @description,
|
|
420
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
421
|
+
"memoryStoreId": @memory_store_id,
|
|
422
|
+
"channelSettings": @channel_settings,
|
|
423
|
+
"statusCallbacks": @status_callbacks,
|
|
424
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
425
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
426
|
+
}.to_json(options)
|
|
427
|
+
end
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
class UpdateConfigurationRequestChannelSettingsValue
|
|
431
|
+
# @param [status_timeouts]: [UpdateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
432
|
+
# @param [capture_rules]: [Array<UpdateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
433
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
434
|
+
def initialize(payload)
|
|
435
|
+
@status_timeouts = payload["status_timeouts"]
|
|
436
|
+
@capture_rules = payload["capture_rules"]
|
|
437
|
+
end
|
|
438
|
+
def to_json(options = {})
|
|
439
|
+
{
|
|
440
|
+
"statusTimeouts": @status_timeouts,
|
|
441
|
+
"captureRules": @capture_rules,
|
|
442
|
+
}.to_json(options)
|
|
443
|
+
end
|
|
444
|
+
end
|
|
445
|
+
|
|
446
|
+
class UpdateConfigurationRequestChannelSettingsValueCaptureRules
|
|
447
|
+
# @param [from]: [String]
|
|
448
|
+
# @param [to]: [String]
|
|
449
|
+
# @param [metadata]: [Hash<String, String>]
|
|
450
|
+
attr_accessor :from, :to, :metadata
|
|
451
|
+
def initialize(payload)
|
|
452
|
+
@from = payload["from"]
|
|
453
|
+
@to = payload["to"]
|
|
454
|
+
@metadata = payload["metadata"]
|
|
455
|
+
end
|
|
456
|
+
def to_json(options = {})
|
|
457
|
+
{
|
|
458
|
+
"from": @from,
|
|
459
|
+
"to": @to,
|
|
460
|
+
"metadata": @metadata,
|
|
461
|
+
}.to_json(options)
|
|
462
|
+
end
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
class UpdateConfigurationRequestChannelSettingsValueStatusTimeouts
|
|
466
|
+
# @param [inactive]: [Integer]
|
|
467
|
+
# @param [closed]: [Integer]
|
|
468
|
+
attr_accessor :inactive, :closed
|
|
469
|
+
def initialize(payload)
|
|
470
|
+
@inactive = payload["inactive"]
|
|
471
|
+
@closed = payload["closed"]
|
|
472
|
+
end
|
|
473
|
+
def to_json(options = {})
|
|
474
|
+
{
|
|
475
|
+
"inactive": @inactive,
|
|
476
|
+
"closed": @closed,
|
|
477
|
+
}.to_json(options)
|
|
478
|
+
end
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
class UpdateConfigurationRequestStatusCallbacks
|
|
482
|
+
# @param [url]: [String]
|
|
483
|
+
# @param [method]: [String]
|
|
484
|
+
attr_accessor :url, :method
|
|
485
|
+
def initialize(payload)
|
|
486
|
+
@url = payload["url"]
|
|
487
|
+
@method = payload["method"]
|
|
488
|
+
end
|
|
489
|
+
def to_json(options = {})
|
|
490
|
+
{
|
|
491
|
+
"url": @url,
|
|
492
|
+
"method": @method,
|
|
493
|
+
}.to_json(options)
|
|
494
|
+
end
|
|
495
|
+
end
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
##
|
|
499
|
+
# Initialize the ConfigurationList
|
|
500
|
+
# @param [Version] version Version that contains the resource
|
|
501
|
+
# @return [ConfigurationList] ConfigurationList
|
|
502
|
+
def initialize(version)
|
|
503
|
+
|
|
504
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
505
|
+
super(apiV1Version)
|
|
506
|
+
# Path Solution
|
|
507
|
+
@solution = { }
|
|
508
|
+
@uri = "/ControlPlane/Configurations"
|
|
509
|
+
|
|
510
|
+
end
|
|
511
|
+
##
|
|
512
|
+
# Create the ConfigurationInstance
|
|
513
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
514
|
+
# @param [CreateConfigurationRequest] create_configuration_request The configuration to create
|
|
515
|
+
# @return [ConfigurationInstance] Created ConfigurationInstance
|
|
516
|
+
def create(
|
|
517
|
+
idempotency_key: :unset,
|
|
518
|
+
create_configuration_request: :unset
|
|
519
|
+
)
|
|
520
|
+
|
|
521
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
522
|
+
headers['Content-Type'] = 'application/json'
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
payload = @version.create('POST', @uri, headers: headers, data: create_configuration_request.to_json)
|
|
528
|
+
ConfigurationInstance.new(
|
|
529
|
+
@version,
|
|
530
|
+
payload,
|
|
531
|
+
)
|
|
532
|
+
end
|
|
533
|
+
|
|
534
|
+
##
|
|
535
|
+
# Create the ConfigurationInstanceMetadata
|
|
536
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
537
|
+
# @param [CreateConfigurationRequest] create_configuration_request The configuration to create
|
|
538
|
+
# @return [ConfigurationInstance] Created ConfigurationInstance
|
|
539
|
+
def create_with_metadata(
|
|
540
|
+
idempotency_key: :unset,
|
|
541
|
+
create_configuration_request: :unset
|
|
542
|
+
)
|
|
543
|
+
|
|
544
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
545
|
+
headers['Content-Type'] = 'application/json'
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
response = @version.create_with_metadata('POST', @uri, headers: headers, data: create_configuration_request.to_json)
|
|
551
|
+
configuration_instance = ConfigurationInstance.new(
|
|
552
|
+
@version,
|
|
553
|
+
response.body,
|
|
554
|
+
)
|
|
555
|
+
ConfigurationInstanceMetadata.new(
|
|
556
|
+
@version,
|
|
557
|
+
configuration_instance,
|
|
558
|
+
response.headers,
|
|
559
|
+
response.status_code
|
|
560
|
+
)
|
|
561
|
+
end
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
##
|
|
565
|
+
# Lists ConfigurationInstance records from the API as a list.
|
|
566
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
567
|
+
# memory before returning.
|
|
568
|
+
# @param [String] page_token A URL-safe, base64-encoded token representing the page of results to return
|
|
569
|
+
# @param [String] memory_store_id Filter configurations by Memory Store ID
|
|
570
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
571
|
+
# guarantees to never return more than limit. Default is no limit
|
|
572
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
573
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
574
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
575
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
576
|
+
# @return [Array] Array of up to limit results
|
|
577
|
+
def list(page_token: :unset, memory_store_id: :unset, limit: nil, page_size: nil)
|
|
578
|
+
self.stream(
|
|
579
|
+
page_token: page_token,
|
|
580
|
+
memory_store_id: memory_store_id,
|
|
581
|
+
limit: limit,
|
|
582
|
+
page_size: page_size
|
|
583
|
+
).entries
|
|
584
|
+
end
|
|
585
|
+
|
|
586
|
+
##
|
|
587
|
+
# Streams Instance records from the API as an Enumerable.
|
|
588
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
589
|
+
# is reached.
|
|
590
|
+
# @param [String] page_token A URL-safe, base64-encoded token representing the page of results to return
|
|
591
|
+
# @param [String] memory_store_id Filter configurations by Memory Store ID
|
|
592
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
593
|
+
# guarantees to never return more than limit. Default is no limit
|
|
594
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
595
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
596
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
597
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
598
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
599
|
+
def stream(page_token: :unset, memory_store_id: :unset, limit: nil, page_size: nil)
|
|
600
|
+
limits = @version.read_limits(limit, page_size)
|
|
601
|
+
|
|
602
|
+
page = self.page(
|
|
603
|
+
page_token: page_token,
|
|
604
|
+
memory_store_id: memory_store_id,
|
|
605
|
+
page_size: limits[:page_size], )
|
|
606
|
+
|
|
607
|
+
return [].each if page.nil?
|
|
608
|
+
|
|
609
|
+
result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
610
|
+
return [].each if result.nil?
|
|
611
|
+
result
|
|
612
|
+
end
|
|
613
|
+
|
|
614
|
+
##
|
|
615
|
+
# Lists ConfigurationPageMetadata records from the API as a list.
|
|
616
|
+
# @param [String] page_token A URL-safe, base64-encoded token representing the page of results to return
|
|
617
|
+
# @param [String] memory_store_id Filter configurations by Memory Store ID
|
|
618
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
619
|
+
# guarantees to never return more than limit. Default is no limit
|
|
620
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
621
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
622
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
623
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
624
|
+
# @return [Array] Array of up to limit results
|
|
625
|
+
def list_with_metadata(page_token: :unset, memory_store_id: :unset, limit: nil, page_size: nil)
|
|
626
|
+
limits = @version.read_limits(limit, page_size)
|
|
627
|
+
params = Twilio::Values.of({
|
|
628
|
+
'pageToken' => page_token,
|
|
629
|
+
'memoryStoreId' => memory_store_id,
|
|
630
|
+
|
|
631
|
+
'PageSize' => limits[:page_size],
|
|
632
|
+
});
|
|
633
|
+
headers = Twilio::Values.of({})
|
|
634
|
+
|
|
635
|
+
response = @version.page('GET', @uri, params: params, headers: headers)
|
|
636
|
+
|
|
637
|
+
ConfigurationPageMetadata.new(@version, response, @solution, limits[:limit])
|
|
638
|
+
end
|
|
639
|
+
|
|
640
|
+
##
|
|
641
|
+
# When passed a block, yields ConfigurationInstance records from the API.
|
|
642
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
643
|
+
# is reached.
|
|
644
|
+
def each
|
|
645
|
+
limits = @version.read_limits
|
|
646
|
+
|
|
647
|
+
page = self.page(page_size: limits[:page_size], )
|
|
648
|
+
|
|
649
|
+
return [].each if page.nil?
|
|
650
|
+
|
|
651
|
+
result = @version.stream(page,
|
|
652
|
+
limit: limits[:limit],
|
|
653
|
+
page_limit: limits[:page_limit])
|
|
654
|
+
return [].each if result.nil?
|
|
655
|
+
result.each {|x| yield x}
|
|
656
|
+
end
|
|
657
|
+
|
|
658
|
+
##
|
|
659
|
+
# Retrieve a single page of ConfigurationInstance records from the API.
|
|
660
|
+
# Request is executed immediately.
|
|
661
|
+
# @param [String] page_token A URL-safe, base64-encoded token representing the page of results to return
|
|
662
|
+
# @param [String] memory_store_id Filter configurations by Memory Store ID
|
|
663
|
+
|
|
664
|
+
# @return [Page] Page of ConfigurationInstance
|
|
665
|
+
def page(page_token: :unset, memory_store_id: :unset, page_size: :unset)
|
|
666
|
+
params = Twilio::Values.of({
|
|
667
|
+
'pageToken' => page_token,
|
|
668
|
+
'memoryStoreId' => memory_store_id,
|
|
669
|
+
'PageSize' => page_size,
|
|
670
|
+
})
|
|
671
|
+
headers = Twilio::Values.of({})
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
response = @version.page('GET', @uri, params: params, headers: headers)
|
|
676
|
+
|
|
677
|
+
ConfigurationPage.new(@version, response, @solution)
|
|
678
|
+
end
|
|
679
|
+
|
|
680
|
+
##
|
|
681
|
+
# Retrieve a single page of ConfigurationInstance records from the API.
|
|
682
|
+
# Request is executed immediately.
|
|
683
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
684
|
+
# @return [Page] Page of ConfigurationInstance
|
|
685
|
+
def get_page(target_url)
|
|
686
|
+
response = @version.domain.request(
|
|
687
|
+
'GET',
|
|
688
|
+
target_url
|
|
689
|
+
)
|
|
690
|
+
ConfigurationPage.new(@version, response, @solution)
|
|
691
|
+
end
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
# Provide a user friendly representation
|
|
696
|
+
def to_s
|
|
697
|
+
'#<Twilio.Conversations.V2.ConfigurationList>'
|
|
698
|
+
end
|
|
699
|
+
end
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
class ConfigurationContext < InstanceContext
|
|
703
|
+
##
|
|
704
|
+
# Initialize the ConfigurationContext
|
|
705
|
+
# @param [Version] version Version that contains the resource
|
|
706
|
+
# @param [String] sid
|
|
707
|
+
# @return [ConfigurationContext] ConfigurationContext
|
|
708
|
+
def initialize(version, sid)
|
|
709
|
+
|
|
710
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
711
|
+
super(apiV1Version)
|
|
712
|
+
|
|
713
|
+
# Path Solution
|
|
714
|
+
@solution = { sid: sid, }
|
|
715
|
+
@uri = "/ControlPlane/Configurations/#{@solution[:sid]}"
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
end
|
|
719
|
+
##
|
|
720
|
+
# Delete the ConfigurationInstance
|
|
721
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
722
|
+
# @return [Boolean] True if delete succeeds, false otherwise
|
|
723
|
+
def delete(
|
|
724
|
+
idempotency_key: :unset
|
|
725
|
+
)
|
|
726
|
+
|
|
727
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
|
|
732
|
+
ConfigurationInstance.new(
|
|
733
|
+
@version,
|
|
734
|
+
response.body,
|
|
735
|
+
sid: @solution[:sid],
|
|
736
|
+
)
|
|
737
|
+
|
|
738
|
+
end
|
|
739
|
+
|
|
740
|
+
##
|
|
741
|
+
# Delete the ConfigurationInstanceMetadata
|
|
742
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
743
|
+
# @return [Boolean] True if delete succeeds, false otherwise
|
|
744
|
+
def delete_with_metadata(
|
|
745
|
+
idempotency_key: :unset
|
|
746
|
+
)
|
|
747
|
+
|
|
748
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
|
|
753
|
+
configuration_instance = ConfigurationInstance.new(
|
|
754
|
+
@version,
|
|
755
|
+
response.body,
|
|
756
|
+
account_sid: @solution[:account_sid],
|
|
757
|
+
sid: @solution[:sid],
|
|
758
|
+
)
|
|
759
|
+
ConfigurationInstanceMetadata.new(@version, configuration_instance, response.headers, response.status_code)
|
|
760
|
+
end
|
|
761
|
+
|
|
762
|
+
##
|
|
763
|
+
# Fetch the ConfigurationInstance
|
|
764
|
+
# @return [ConfigurationInstance] Fetched ConfigurationInstance
|
|
765
|
+
def fetch
|
|
766
|
+
|
|
767
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
payload = @version.fetch('GET', @uri, headers: headers)
|
|
774
|
+
ConfigurationInstance.new(
|
|
775
|
+
@version,
|
|
776
|
+
payload,
|
|
777
|
+
sid: @solution[:sid],
|
|
778
|
+
)
|
|
779
|
+
end
|
|
780
|
+
|
|
781
|
+
##
|
|
782
|
+
# Fetch the ConfigurationInstanceMetadata
|
|
783
|
+
# @return [ConfigurationInstance] Fetched ConfigurationInstance
|
|
784
|
+
def fetch_with_metadata
|
|
785
|
+
|
|
786
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
response = @version.fetch_with_metadata('GET', @uri, headers: headers)
|
|
793
|
+
configuration_instance = ConfigurationInstance.new(
|
|
794
|
+
@version,
|
|
795
|
+
response.body,
|
|
796
|
+
sid: @solution[:sid],
|
|
797
|
+
)
|
|
798
|
+
ConfigurationInstanceMetadata.new(
|
|
799
|
+
@version,
|
|
800
|
+
configuration_instance,
|
|
801
|
+
response.headers,
|
|
802
|
+
response.status_code
|
|
803
|
+
)
|
|
804
|
+
end
|
|
805
|
+
|
|
806
|
+
##
|
|
807
|
+
# Update the ConfigurationInstance
|
|
808
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
809
|
+
# @param [UpdateConfigurationRequest] update_configuration_request The configuration to update
|
|
810
|
+
# @return [ConfigurationInstance] Updated ConfigurationInstance
|
|
811
|
+
def update(
|
|
812
|
+
idempotency_key: :unset,
|
|
813
|
+
update_configuration_request: :unset
|
|
814
|
+
)
|
|
815
|
+
|
|
816
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
817
|
+
headers['Content-Type'] = 'application/json'
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
|
|
822
|
+
payload = @version.update('PUT', @uri, headers: headers, data: update_configuration_request.to_json)
|
|
823
|
+
ConfigurationInstance.new(
|
|
824
|
+
@version,
|
|
825
|
+
payload,
|
|
826
|
+
sid: @solution[:sid],
|
|
827
|
+
)
|
|
828
|
+
end
|
|
829
|
+
|
|
830
|
+
##
|
|
831
|
+
# Update the ConfigurationInstanceMetadata
|
|
832
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
833
|
+
# @param [UpdateConfigurationRequest] update_configuration_request The configuration to update
|
|
834
|
+
# @return [ConfigurationInstance] Updated ConfigurationInstance
|
|
835
|
+
def update_with_metadata(
|
|
836
|
+
idempotency_key: :unset,
|
|
837
|
+
update_configuration_request: :unset
|
|
838
|
+
)
|
|
839
|
+
|
|
840
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
841
|
+
headers['Content-Type'] = 'application/json'
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
response = @version.update_with_metadata('PUT', @uri, headers: headers, data: update_configuration_request.to_json)
|
|
847
|
+
configuration_instance = ConfigurationInstance.new(
|
|
848
|
+
@version,
|
|
849
|
+
response.body,
|
|
850
|
+
sid: @solution[:sid],
|
|
851
|
+
)
|
|
852
|
+
ConfigurationInstanceMetadata.new(
|
|
853
|
+
@version,
|
|
854
|
+
configuration_instance,
|
|
855
|
+
response.headers,
|
|
856
|
+
response.status_code
|
|
857
|
+
)
|
|
858
|
+
end
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
##
|
|
862
|
+
# Provide a user friendly representation
|
|
863
|
+
def to_s
|
|
864
|
+
context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
|
|
865
|
+
"#<Twilio.Conversations.V2.ConfigurationContext #{context}>"
|
|
866
|
+
end
|
|
867
|
+
|
|
868
|
+
##
|
|
869
|
+
# Provide a detailed, user friendly representation
|
|
870
|
+
def inspect
|
|
871
|
+
context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
|
|
872
|
+
"#<Twilio.Conversations.V2.ConfigurationContext #{context}>"
|
|
873
|
+
end
|
|
874
|
+
end
|
|
875
|
+
|
|
876
|
+
class ConfigurationInstanceMetadata < InstanceResourceMetadata
|
|
877
|
+
##
|
|
878
|
+
# Initializes a new ConfigurationInstanceMetadata.
|
|
879
|
+
# @param [Version] version Version that contains the resource
|
|
880
|
+
# @param [}ConfigurationInstance] configuration_instance The instance associated with the metadata.
|
|
881
|
+
# @param [Hash] headers Header object with response headers.
|
|
882
|
+
# @param [Integer] status_code The HTTP status code of the response.
|
|
883
|
+
# @return [ConfigurationInstanceMetadata] The initialized instance with metadata.
|
|
884
|
+
def initialize(version, configuration_instance, headers, status_code)
|
|
885
|
+
super(version, headers, status_code)
|
|
886
|
+
@configuration_instance = configuration_instance
|
|
887
|
+
end
|
|
888
|
+
|
|
889
|
+
def configuration
|
|
890
|
+
@configuration_instance
|
|
891
|
+
end
|
|
892
|
+
|
|
893
|
+
def headers
|
|
894
|
+
@headers
|
|
895
|
+
end
|
|
896
|
+
|
|
897
|
+
def status_code
|
|
898
|
+
@status_code
|
|
899
|
+
end
|
|
900
|
+
|
|
901
|
+
def to_s
|
|
902
|
+
"<Twilio.Api.V2010.ConfigurationInstanceMetadata status=#{@status_code}>"
|
|
903
|
+
end
|
|
904
|
+
end
|
|
905
|
+
|
|
906
|
+
class ConfigurationListResponse < InstanceListResource
|
|
907
|
+
# @param [Array<ConfigurationInstance>] instance
|
|
908
|
+
# @param [Hash{String => Object}] headers
|
|
909
|
+
# @param [Integer] status_code
|
|
910
|
+
def initialize(version, payload, key)
|
|
911
|
+
@configuration_instance = payload.body[key].map do |data|
|
|
912
|
+
ConfigurationInstance.new(version, data)
|
|
913
|
+
end
|
|
914
|
+
@headers = payload.headers
|
|
915
|
+
@status_code = payload.status_code
|
|
916
|
+
end
|
|
917
|
+
|
|
918
|
+
def configuration_instance
|
|
919
|
+
@instance
|
|
920
|
+
end
|
|
921
|
+
end
|
|
922
|
+
|
|
923
|
+
class ConfigurationPage < TokenPage
|
|
924
|
+
##
|
|
925
|
+
# Initialize the ConfigurationPage
|
|
926
|
+
# @param [Version] version Version that contains the resource
|
|
927
|
+
# @param [Response] response Response from the API
|
|
928
|
+
# @param [Hash] solution Path solution for the resource
|
|
929
|
+
# @return [ConfigurationPage] ConfigurationPage
|
|
930
|
+
def initialize(version, response, solution)
|
|
931
|
+
|
|
932
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
933
|
+
super(apiV1Version, response)
|
|
934
|
+
|
|
935
|
+
# Path Solution
|
|
936
|
+
@solution = solution
|
|
937
|
+
end
|
|
938
|
+
|
|
939
|
+
##
|
|
940
|
+
# Build an instance of ConfigurationInstance
|
|
941
|
+
# @param [Hash] payload Payload response from the API
|
|
942
|
+
# @return [ConfigurationInstance] ConfigurationInstance
|
|
943
|
+
def get_instance(payload)
|
|
944
|
+
ConfigurationInstance.new(@version, payload)
|
|
945
|
+
end
|
|
946
|
+
|
|
947
|
+
##
|
|
948
|
+
# Provide a user friendly representation
|
|
949
|
+
def to_s
|
|
950
|
+
'<Twilio.Conversations.V2.ConfigurationPage>'
|
|
951
|
+
end
|
|
952
|
+
end
|
|
953
|
+
|
|
954
|
+
class ConfigurationPageMetadata < PageMetadata
|
|
955
|
+
attr_reader :configuration_page
|
|
956
|
+
|
|
957
|
+
def initialize(version, response, solution, limit)
|
|
958
|
+
super(version, response)
|
|
959
|
+
@configuration_page = []
|
|
960
|
+
@limit = limit
|
|
961
|
+
key = get_key(response.body)
|
|
962
|
+
records = 0
|
|
963
|
+
while( limit != :unset && records < limit )
|
|
964
|
+
@configuration_page << ConfigurationListResponse.new(version, @payload, key, limit - records)
|
|
965
|
+
@payload = self.next_page
|
|
966
|
+
break unless @payload
|
|
967
|
+
records += (@payload.body[key] || []).size
|
|
968
|
+
end
|
|
969
|
+
# Path Solution
|
|
970
|
+
@solution = solution
|
|
971
|
+
end
|
|
972
|
+
|
|
973
|
+
def each
|
|
974
|
+
@configuration_page.each do |record|
|
|
975
|
+
yield record
|
|
976
|
+
end
|
|
977
|
+
end
|
|
978
|
+
|
|
979
|
+
def to_s
|
|
980
|
+
'<Twilio::REST::Conversations::V2PageMetadata>';
|
|
981
|
+
end
|
|
982
|
+
end
|
|
983
|
+
class ConfigurationListResponse < InstanceListResource
|
|
984
|
+
|
|
985
|
+
# @param [Array<ConfigurationInstance>] instance
|
|
986
|
+
# @param [Hash{String => Object}] headers
|
|
987
|
+
# @param [Integer] status_code
|
|
988
|
+
def initialize(version, payload, key, limit = :unset)
|
|
989
|
+
data_list = payload.body[key] || []
|
|
990
|
+
if limit != :unset
|
|
991
|
+
data_list = data_list[0, limit]
|
|
992
|
+
end
|
|
993
|
+
@configuration = data_list.map do |data|
|
|
994
|
+
ConfigurationInstance.new(version, data)
|
|
995
|
+
end
|
|
996
|
+
@headers = payload.headers
|
|
997
|
+
@status_code = payload.status_code
|
|
998
|
+
end
|
|
999
|
+
|
|
1000
|
+
def configuration
|
|
1001
|
+
@configuration
|
|
1002
|
+
end
|
|
1003
|
+
|
|
1004
|
+
def headers
|
|
1005
|
+
@headers
|
|
1006
|
+
end
|
|
1007
|
+
|
|
1008
|
+
def status_code
|
|
1009
|
+
@status_code
|
|
1010
|
+
end
|
|
1011
|
+
end
|
|
1012
|
+
|
|
1013
|
+
class ConfigurationInstance < InstanceResource
|
|
1014
|
+
##
|
|
1015
|
+
# Initialize the ConfigurationInstance
|
|
1016
|
+
# @param [Version] version Version that contains the resource
|
|
1017
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
1018
|
+
# @param [String] account_sid The SID of the
|
|
1019
|
+
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this Configuration
|
|
1020
|
+
# resource.
|
|
1021
|
+
# @param [String] sid The SID of the Call resource to fetch.
|
|
1022
|
+
# @return [ConfigurationInstance] ConfigurationInstance
|
|
1023
|
+
def initialize(version, payload , sid: nil)
|
|
1024
|
+
|
|
1025
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
1026
|
+
super(apiV1Version)
|
|
1027
|
+
|
|
1028
|
+
# Marshaled Properties
|
|
1029
|
+
@properties = {
|
|
1030
|
+
'status_url' => payload['status_url'],
|
|
1031
|
+
'related' => payload['related'],
|
|
1032
|
+
'id' => payload['id'],
|
|
1033
|
+
'display_name' => payload['display_name'],
|
|
1034
|
+
'description' => payload['description'],
|
|
1035
|
+
'conversation_grouping_type' => payload['conversation_grouping_type'],
|
|
1036
|
+
'memory_store_id' => payload['memory_store_id'],
|
|
1037
|
+
'channel_settings' => payload['channel_settings'],
|
|
1038
|
+
'status_callbacks' => payload['status_callbacks'],
|
|
1039
|
+
'intelligence_configuration_ids' => payload['intelligence_configuration_ids'],
|
|
1040
|
+
'memory_extraction_enabled' => payload['memory_extraction_enabled'],
|
|
1041
|
+
'conversations_v1_bridge' => payload['conversations_v1_bridge'],
|
|
1042
|
+
'created_at' => Twilio.deserialize_iso8601_datetime(payload['created_at']),
|
|
1043
|
+
'updated_at' => Twilio.deserialize_iso8601_datetime(payload['updated_at']),
|
|
1044
|
+
'version' => payload['version'],
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
# Context
|
|
1048
|
+
@instance_context = nil
|
|
1049
|
+
@params = { 'sid' => sid || @properties['sid'] , }
|
|
1050
|
+
end
|
|
1051
|
+
|
|
1052
|
+
##
|
|
1053
|
+
# Generate an instance context for the instance, the context is capable of
|
|
1054
|
+
# performing various actions. All instance actions are proxied to the context
|
|
1055
|
+
# @return [ConfigurationContext] CallContext for this CallInstance
|
|
1056
|
+
def context
|
|
1057
|
+
unless @instance_context
|
|
1058
|
+
@instance_context = ConfigurationContext.new(@version , @params['sid'])
|
|
1059
|
+
end
|
|
1060
|
+
@instance_context
|
|
1061
|
+
end
|
|
1062
|
+
|
|
1063
|
+
##
|
|
1064
|
+
# @return [String] URL to poll for operation status.
|
|
1065
|
+
def status_url
|
|
1066
|
+
@properties['status_url']
|
|
1067
|
+
end
|
|
1068
|
+
|
|
1069
|
+
##
|
|
1070
|
+
# @return [Hash<String, String>] Named resource identifiers associated with this operation. Keys depend on the operation type: - config-create, config-update, config-delete: configurationId - conversation-delete: conversationId
|
|
1071
|
+
def related
|
|
1072
|
+
@properties['related']
|
|
1073
|
+
end
|
|
1074
|
+
|
|
1075
|
+
##
|
|
1076
|
+
# @return [String] Configuration ID.
|
|
1077
|
+
def id
|
|
1078
|
+
@properties['id']
|
|
1079
|
+
end
|
|
1080
|
+
|
|
1081
|
+
##
|
|
1082
|
+
# @return [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
1083
|
+
def display_name
|
|
1084
|
+
@properties['display_name']
|
|
1085
|
+
end
|
|
1086
|
+
|
|
1087
|
+
##
|
|
1088
|
+
# @return [String] Human-readable description for the Configuration. Allows spaces and special characters, typically limited to a paragraph of text. This serves as a descriptive field rather than just a name.
|
|
1089
|
+
def description
|
|
1090
|
+
@properties['description']
|
|
1091
|
+
end
|
|
1092
|
+
|
|
1093
|
+
##
|
|
1094
|
+
# @return [String] Type of Conversation grouping strategy: - `GROUP_BY_PROFILE`: Groups Communications by resolved Profile from the Memory Store. A Profile is looked up or created for `CUSTOMER` Participant types. All Communications from the same Profile are in the same Conversation, regardless of address or channel. - `GROUP_BY_PARTICIPANT_ADDRESSES`: Groups Communications by Participant addresses across all channels. A customer using +18005550100 will be in the same Conversation whether they contact by SMS, WhatsApp, or RCS. - `GROUP_BY_PARTICIPANT_ADDRESSES_AND_CHANNEL_TYPE`: Groups Communications by both Participant addresses AND channel. A customer using +18005550100 by SMS will be in a different Conversation than the same customer by Voice.
|
|
1095
|
+
def conversation_grouping_type
|
|
1096
|
+
@properties['conversation_grouping_type']
|
|
1097
|
+
end
|
|
1098
|
+
|
|
1099
|
+
##
|
|
1100
|
+
# @return [String] Memory Store ID for Profile resolution.
|
|
1101
|
+
def memory_store_id
|
|
1102
|
+
@properties['memory_store_id']
|
|
1103
|
+
end
|
|
1104
|
+
|
|
1105
|
+
##
|
|
1106
|
+
# @return [Hash<String, ConversationsV2ChannelSetting>] Channel-specific configuration settings by channel type. Keys should be valid channel types (`VOICE`, `SMS`, `RCS`, `WHATSAPP`, `CHAT`).
|
|
1107
|
+
def channel_settings
|
|
1108
|
+
@properties['channel_settings']
|
|
1109
|
+
end
|
|
1110
|
+
|
|
1111
|
+
##
|
|
1112
|
+
# @return [Array<ConversationsV2StatusCallbackConfig>] List of default webhook configurations applied to Conversations under this Configuration.
|
|
1113
|
+
def status_callbacks
|
|
1114
|
+
@properties['status_callbacks']
|
|
1115
|
+
end
|
|
1116
|
+
|
|
1117
|
+
##
|
|
1118
|
+
# @return [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
1119
|
+
def intelligence_configuration_ids
|
|
1120
|
+
@properties['intelligence_configuration_ids']
|
|
1121
|
+
end
|
|
1122
|
+
|
|
1123
|
+
##
|
|
1124
|
+
# @return [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
1125
|
+
def memory_extraction_enabled
|
|
1126
|
+
@properties['memory_extraction_enabled']
|
|
1127
|
+
end
|
|
1128
|
+
|
|
1129
|
+
##
|
|
1130
|
+
# @return [ConversationsV2ConversationsV1Bridge]
|
|
1131
|
+
def conversations_v1_bridge
|
|
1132
|
+
@properties['conversations_v1_bridge']
|
|
1133
|
+
end
|
|
1134
|
+
|
|
1135
|
+
##
|
|
1136
|
+
# @return [Time] Timestamp when this Configuration was created.
|
|
1137
|
+
def created_at
|
|
1138
|
+
@properties['created_at']
|
|
1139
|
+
end
|
|
1140
|
+
|
|
1141
|
+
##
|
|
1142
|
+
# @return [Time] Timestamp when this Configuration was last updated.
|
|
1143
|
+
def updated_at
|
|
1144
|
+
@properties['updated_at']
|
|
1145
|
+
end
|
|
1146
|
+
|
|
1147
|
+
##
|
|
1148
|
+
# @return [String] Version number used for optimistic locking.
|
|
1149
|
+
def version
|
|
1150
|
+
@properties['version']
|
|
1151
|
+
end
|
|
1152
|
+
|
|
1153
|
+
##
|
|
1154
|
+
# Delete the ConfigurationInstance
|
|
1155
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
1156
|
+
# @return [Boolean] True if delete succeeds, false otherwise
|
|
1157
|
+
def delete(
|
|
1158
|
+
idempotency_key: :unset
|
|
1159
|
+
)
|
|
1160
|
+
|
|
1161
|
+
context.delete(
|
|
1162
|
+
idempotency_key: idempotency_key,
|
|
1163
|
+
)
|
|
1164
|
+
end
|
|
1165
|
+
|
|
1166
|
+
##
|
|
1167
|
+
# Fetch the ConfigurationInstance
|
|
1168
|
+
# @return [ConfigurationInstance] Fetched ConfigurationInstance
|
|
1169
|
+
def fetch
|
|
1170
|
+
|
|
1171
|
+
context.fetch
|
|
1172
|
+
end
|
|
1173
|
+
|
|
1174
|
+
##
|
|
1175
|
+
# Update the ConfigurationInstance
|
|
1176
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
1177
|
+
# @param [UpdateConfigurationRequest] update_configuration_request The configuration to update
|
|
1178
|
+
# @return [ConfigurationInstance] Updated ConfigurationInstance
|
|
1179
|
+
def update(
|
|
1180
|
+
idempotency_key: :unset,
|
|
1181
|
+
update_configuration_request: :unset
|
|
1182
|
+
)
|
|
1183
|
+
|
|
1184
|
+
context.update(
|
|
1185
|
+
idempotency_key: idempotency_key,
|
|
1186
|
+
update_configuration_request: update_configuration_request,
|
|
1187
|
+
)
|
|
1188
|
+
end
|
|
1189
|
+
|
|
1190
|
+
##
|
|
1191
|
+
# Provide a user friendly representation
|
|
1192
|
+
def to_s
|
|
1193
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
1194
|
+
"<Twilio.Conversations.V2.ConfigurationInstance #{values}>"
|
|
1195
|
+
end
|
|
1196
|
+
|
|
1197
|
+
##
|
|
1198
|
+
# Provide a detailed, user friendly representation
|
|
1199
|
+
def inspect
|
|
1200
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
1201
|
+
"<Twilio.Conversations.V2.ConfigurationInstance #{values}>"
|
|
1202
|
+
end
|
|
1203
|
+
end
|
|
1204
|
+
|
|
1205
|
+
end
|
|
1206
|
+
end
|
|
1207
|
+
end
|
|
1208
|
+
end
|