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,1365 @@
|
|
|
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 ConversationList < ListResource
|
|
21
|
+
|
|
22
|
+
class ConversationsV2Address
|
|
23
|
+
# @param [channel]: [String] The channel for Communication.
|
|
24
|
+
# @param [address]: [String] The address value formatted according to channel type: - SMS/VOICE: E.164 phone number (such as \"+18005550100\") - WHATSAPP: Phone number with whatsapp prefix (such as \"whatsapp:+18005550100\") - RCS: Sender ID or phone number with rcs prefix (such as \"rcs:brand_acme_agent\" or \"rcs:+18005550100\") - CHAT: Customer-defined string identifier
|
|
25
|
+
# @param [channel_id]: [String] Channel-specific ID for correlating Communications.
|
|
26
|
+
attr_accessor :channel, :address, :channel_id
|
|
27
|
+
def initialize(payload)
|
|
28
|
+
@channel = payload["channel"]
|
|
29
|
+
@address = payload["address"]
|
|
30
|
+
@channel_id = payload["channel_id"]
|
|
31
|
+
end
|
|
32
|
+
def to_json(options = {})
|
|
33
|
+
{
|
|
34
|
+
"channel": @channel,
|
|
35
|
+
"address": @address,
|
|
36
|
+
"channelId": @channel_id,
|
|
37
|
+
}.to_json(options)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class ConversationsV2CaptureRule
|
|
42
|
+
# @param [from]: [String] The from address. Use `*` for wildcard to match any from address.
|
|
43
|
+
# @param [to]: [String] The to address. Use `*` for wildcard to match any to address.
|
|
44
|
+
# @param [metadata]: [Hash<String, String>] Additional matching criteria for the capture rule. For voice calls, can include `callType` (`PSTN`, `SIP`, and similar).
|
|
45
|
+
attr_accessor :from, :to, :metadata
|
|
46
|
+
def initialize(payload)
|
|
47
|
+
@from = payload["from"]
|
|
48
|
+
@to = payload["to"]
|
|
49
|
+
@metadata = payload["metadata"]
|
|
50
|
+
end
|
|
51
|
+
def to_json(options = {})
|
|
52
|
+
{
|
|
53
|
+
"from": @from,
|
|
54
|
+
"to": @to,
|
|
55
|
+
"metadata": @metadata,
|
|
56
|
+
}.to_json(options)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
class ConversationsV2StatusTimeouts
|
|
61
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
62
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
63
|
+
attr_accessor :inactive, :closed
|
|
64
|
+
def initialize(payload)
|
|
65
|
+
@inactive = payload["inactive"]
|
|
66
|
+
@closed = payload["closed"]
|
|
67
|
+
end
|
|
68
|
+
def to_json(options = {})
|
|
69
|
+
{
|
|
70
|
+
"inactive": @inactive,
|
|
71
|
+
"closed": @closed,
|
|
72
|
+
}.to_json(options)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
class CreateConversationWithConfigRequest
|
|
77
|
+
# @param [configuration_id]: [String] The ID of an existing configuration.
|
|
78
|
+
# @param [name]: [String] The name of the conversation.
|
|
79
|
+
# @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
|
|
80
|
+
# @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
|
|
81
|
+
attr_accessor :configuration_id, :name, :configuration, :participants
|
|
82
|
+
def initialize(payload)
|
|
83
|
+
@configuration_id = payload["configuration_id"]
|
|
84
|
+
@name = payload["name"]
|
|
85
|
+
@configuration = payload["configuration"]
|
|
86
|
+
@participants = payload["participants"]
|
|
87
|
+
end
|
|
88
|
+
def to_json(options = {})
|
|
89
|
+
{
|
|
90
|
+
"configurationId": @configuration_id,
|
|
91
|
+
"name": @name,
|
|
92
|
+
"configuration": @configuration,
|
|
93
|
+
"participants": @participants,
|
|
94
|
+
}.to_json(options)
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
class CreateConversationWithConfigRequestConfiguration
|
|
99
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
100
|
+
attr_accessor :intelligence_configuration_ids
|
|
101
|
+
def initialize(payload)
|
|
102
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
103
|
+
end
|
|
104
|
+
def to_json(options = {})
|
|
105
|
+
{
|
|
106
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
107
|
+
}.to_json(options)
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
class CreateConversationWithConfigRequestParticipants
|
|
112
|
+
# @param [name]: [String] Display name for the Participant.
|
|
113
|
+
# @param [type]: [String] Type of Participant in the Conversation.
|
|
114
|
+
# @param [profile_id]: [String] Resolved profile ID.
|
|
115
|
+
# @param [addresses]: [Array<ConversationList.CreateConversationWithConfigRequestParticipantsAddresses>] List of Communication addresses for the Participant.
|
|
116
|
+
attr_accessor :name, :type, :profile_id, :addresses
|
|
117
|
+
def initialize(payload)
|
|
118
|
+
@name = payload["name"]
|
|
119
|
+
@type = payload["type"]
|
|
120
|
+
@profile_id = payload["profile_id"]
|
|
121
|
+
@addresses = payload["addresses"]
|
|
122
|
+
end
|
|
123
|
+
def to_json(options = {})
|
|
124
|
+
{
|
|
125
|
+
"name": @name,
|
|
126
|
+
"type": @type,
|
|
127
|
+
"profileId": @profile_id,
|
|
128
|
+
"addresses": @addresses,
|
|
129
|
+
}.to_json(options)
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
class CreateConversationWithConfigRequestParticipantsAddresses
|
|
134
|
+
# @param [channel]: [String]
|
|
135
|
+
# @param [address]: [String]
|
|
136
|
+
# @param [channel_id]: [String]
|
|
137
|
+
attr_accessor :channel, :address, :channel_id
|
|
138
|
+
def initialize(payload)
|
|
139
|
+
@channel = payload["channel"]
|
|
140
|
+
@address = payload["address"]
|
|
141
|
+
@channel_id = payload["channel_id"]
|
|
142
|
+
end
|
|
143
|
+
def to_json(options = {})
|
|
144
|
+
{
|
|
145
|
+
"channel": @channel,
|
|
146
|
+
"address": @address,
|
|
147
|
+
"channelId": @channel_id,
|
|
148
|
+
}.to_json(options)
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
class PatchConversationByIdRequest
|
|
153
|
+
# @param [name]: [String] The name of the Conversation.
|
|
154
|
+
# @param [status]: [String] The state of the Conversation.
|
|
155
|
+
# @param [configuration]: [ConversationList.PatchConversationByIdRequestConfiguration]
|
|
156
|
+
attr_accessor :name, :status, :configuration
|
|
157
|
+
def initialize(payload)
|
|
158
|
+
@name = payload["name"]
|
|
159
|
+
@status = payload["status"]
|
|
160
|
+
@configuration = payload["configuration"]
|
|
161
|
+
end
|
|
162
|
+
def to_json(options = {})
|
|
163
|
+
{
|
|
164
|
+
"name": @name,
|
|
165
|
+
"status": @status,
|
|
166
|
+
"configuration": @configuration,
|
|
167
|
+
}.to_json(options)
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
class PatchConversationByIdRequestConfiguration
|
|
172
|
+
# @param [status_callbacks]: [Array<ConversationList.ConversationsV2StatusCallbackConfig>] List of webhook configurations for this conversation. Send an empty array to clear all callbacks and stop webhook delivery.
|
|
173
|
+
attr_accessor :status_callbacks
|
|
174
|
+
def initialize(payload)
|
|
175
|
+
@status_callbacks = payload["status_callbacks"]
|
|
176
|
+
end
|
|
177
|
+
def to_json(options = {})
|
|
178
|
+
{
|
|
179
|
+
"statusCallbacks": @status_callbacks,
|
|
180
|
+
}.to_json(options)
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
class UpdateConversationByIdRequest
|
|
185
|
+
# @param [name]: [String] The name of the Conversation.
|
|
186
|
+
# @param [status]: [String] The state of the Conversation.
|
|
187
|
+
attr_accessor :name, :status
|
|
188
|
+
def initialize(payload)
|
|
189
|
+
@name = payload["name"]
|
|
190
|
+
@status = payload["status"]
|
|
191
|
+
end
|
|
192
|
+
def to_json(options = {})
|
|
193
|
+
{
|
|
194
|
+
"name": @name,
|
|
195
|
+
"status": @status,
|
|
196
|
+
}.to_json(options)
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
class ConversationsV2Address
|
|
202
|
+
# @param [channel]: [String] The channel for Communication.
|
|
203
|
+
# @param [address]: [String] The address value formatted according to channel type: - SMS/VOICE: E.164 phone number (such as \"+18005550100\") - WHATSAPP: Phone number with whatsapp prefix (such as \"whatsapp:+18005550100\") - RCS: Sender ID or phone number with rcs prefix (such as \"rcs:brand_acme_agent\" or \"rcs:+18005550100\") - CHAT: Customer-defined string identifier
|
|
204
|
+
# @param [channel_id]: [String] Channel-specific ID for correlating Communications.
|
|
205
|
+
attr_accessor :channel, :address, :channel_id
|
|
206
|
+
def initialize(payload)
|
|
207
|
+
@channel = payload["channel"]
|
|
208
|
+
@address = payload["address"]
|
|
209
|
+
@channel_id = payload["channel_id"]
|
|
210
|
+
end
|
|
211
|
+
def to_json(options = {})
|
|
212
|
+
{
|
|
213
|
+
"channel": @channel,
|
|
214
|
+
"address": @address,
|
|
215
|
+
"channelId": @channel_id,
|
|
216
|
+
}.to_json(options)
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
class ConversationsV2CaptureRule
|
|
221
|
+
# @param [from]: [String] The from address. Use `*` for wildcard to match any from address.
|
|
222
|
+
# @param [to]: [String] The to address. Use `*` for wildcard to match any to address.
|
|
223
|
+
# @param [metadata]: [Hash<String, String>] Additional matching criteria for the capture rule. For voice calls, can include `callType` (`PSTN`, `SIP`, and similar).
|
|
224
|
+
attr_accessor :from, :to, :metadata
|
|
225
|
+
def initialize(payload)
|
|
226
|
+
@from = payload["from"]
|
|
227
|
+
@to = payload["to"]
|
|
228
|
+
@metadata = payload["metadata"]
|
|
229
|
+
end
|
|
230
|
+
def to_json(options = {})
|
|
231
|
+
{
|
|
232
|
+
"from": @from,
|
|
233
|
+
"to": @to,
|
|
234
|
+
"metadata": @metadata,
|
|
235
|
+
}.to_json(options)
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
class ConversationsV2StatusTimeouts
|
|
240
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
241
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
242
|
+
attr_accessor :inactive, :closed
|
|
243
|
+
def initialize(payload)
|
|
244
|
+
@inactive = payload["inactive"]
|
|
245
|
+
@closed = payload["closed"]
|
|
246
|
+
end
|
|
247
|
+
def to_json(options = {})
|
|
248
|
+
{
|
|
249
|
+
"inactive": @inactive,
|
|
250
|
+
"closed": @closed,
|
|
251
|
+
}.to_json(options)
|
|
252
|
+
end
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
class CreateConversationWithConfigRequest
|
|
256
|
+
# @param [configuration_id]: [String] The ID of an existing configuration.
|
|
257
|
+
# @param [name]: [String] The name of the conversation.
|
|
258
|
+
# @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
|
|
259
|
+
# @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
|
|
260
|
+
attr_accessor :configuration_id, :name, :configuration, :participants
|
|
261
|
+
def initialize(payload)
|
|
262
|
+
@configuration_id = payload["configuration_id"]
|
|
263
|
+
@name = payload["name"]
|
|
264
|
+
@configuration = payload["configuration"]
|
|
265
|
+
@participants = payload["participants"]
|
|
266
|
+
end
|
|
267
|
+
def to_json(options = {})
|
|
268
|
+
{
|
|
269
|
+
"configurationId": @configuration_id,
|
|
270
|
+
"name": @name,
|
|
271
|
+
"configuration": @configuration,
|
|
272
|
+
"participants": @participants,
|
|
273
|
+
}.to_json(options)
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
class CreateConversationWithConfigRequestConfiguration
|
|
278
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
279
|
+
attr_accessor :intelligence_configuration_ids
|
|
280
|
+
def initialize(payload)
|
|
281
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
282
|
+
end
|
|
283
|
+
def to_json(options = {})
|
|
284
|
+
{
|
|
285
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
286
|
+
}.to_json(options)
|
|
287
|
+
end
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
class CreateConversationWithConfigRequestParticipants
|
|
291
|
+
# @param [name]: [String] Display name for the Participant.
|
|
292
|
+
# @param [type]: [String] Type of Participant in the Conversation.
|
|
293
|
+
# @param [profile_id]: [String] Resolved profile ID.
|
|
294
|
+
# @param [addresses]: [Array<ConversationList.CreateConversationWithConfigRequestParticipantsAddresses>] List of Communication addresses for the Participant.
|
|
295
|
+
attr_accessor :name, :type, :profile_id, :addresses
|
|
296
|
+
def initialize(payload)
|
|
297
|
+
@name = payload["name"]
|
|
298
|
+
@type = payload["type"]
|
|
299
|
+
@profile_id = payload["profile_id"]
|
|
300
|
+
@addresses = payload["addresses"]
|
|
301
|
+
end
|
|
302
|
+
def to_json(options = {})
|
|
303
|
+
{
|
|
304
|
+
"name": @name,
|
|
305
|
+
"type": @type,
|
|
306
|
+
"profileId": @profile_id,
|
|
307
|
+
"addresses": @addresses,
|
|
308
|
+
}.to_json(options)
|
|
309
|
+
end
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
class CreateConversationWithConfigRequestParticipantsAddresses
|
|
313
|
+
# @param [channel]: [String]
|
|
314
|
+
# @param [address]: [String]
|
|
315
|
+
# @param [channel_id]: [String]
|
|
316
|
+
attr_accessor :channel, :address, :channel_id
|
|
317
|
+
def initialize(payload)
|
|
318
|
+
@channel = payload["channel"]
|
|
319
|
+
@address = payload["address"]
|
|
320
|
+
@channel_id = payload["channel_id"]
|
|
321
|
+
end
|
|
322
|
+
def to_json(options = {})
|
|
323
|
+
{
|
|
324
|
+
"channel": @channel,
|
|
325
|
+
"address": @address,
|
|
326
|
+
"channelId": @channel_id,
|
|
327
|
+
}.to_json(options)
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
class PatchConversationByIdRequest
|
|
332
|
+
# @param [name]: [String] The name of the Conversation.
|
|
333
|
+
# @param [status]: [String] The state of the Conversation.
|
|
334
|
+
# @param [configuration]: [ConversationList.PatchConversationByIdRequestConfiguration]
|
|
335
|
+
attr_accessor :name, :status, :configuration
|
|
336
|
+
def initialize(payload)
|
|
337
|
+
@name = payload["name"]
|
|
338
|
+
@status = payload["status"]
|
|
339
|
+
@configuration = payload["configuration"]
|
|
340
|
+
end
|
|
341
|
+
def to_json(options = {})
|
|
342
|
+
{
|
|
343
|
+
"name": @name,
|
|
344
|
+
"status": @status,
|
|
345
|
+
"configuration": @configuration,
|
|
346
|
+
}.to_json(options)
|
|
347
|
+
end
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
class PatchConversationByIdRequestConfiguration
|
|
351
|
+
# @param [status_callbacks]: [Array<ConversationList.ConversationsV2StatusCallbackConfig>] List of webhook configurations for this conversation. Send an empty array to clear all callbacks and stop webhook delivery.
|
|
352
|
+
attr_accessor :status_callbacks
|
|
353
|
+
def initialize(payload)
|
|
354
|
+
@status_callbacks = payload["status_callbacks"]
|
|
355
|
+
end
|
|
356
|
+
def to_json(options = {})
|
|
357
|
+
{
|
|
358
|
+
"statusCallbacks": @status_callbacks,
|
|
359
|
+
}.to_json(options)
|
|
360
|
+
end
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
class UpdateConversationByIdRequest
|
|
364
|
+
# @param [name]: [String] The name of the Conversation.
|
|
365
|
+
# @param [status]: [String] The state of the Conversation.
|
|
366
|
+
attr_accessor :name, :status
|
|
367
|
+
def initialize(payload)
|
|
368
|
+
@name = payload["name"]
|
|
369
|
+
@status = payload["status"]
|
|
370
|
+
end
|
|
371
|
+
def to_json(options = {})
|
|
372
|
+
{
|
|
373
|
+
"name": @name,
|
|
374
|
+
"status": @status,
|
|
375
|
+
}.to_json(options)
|
|
376
|
+
end
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
class ConversationsV2Address
|
|
381
|
+
# @param [channel]: [String] The channel for Communication.
|
|
382
|
+
# @param [address]: [String] The address value formatted according to channel type: - SMS/VOICE: E.164 phone number (such as \"+18005550100\") - WHATSAPP: Phone number with whatsapp prefix (such as \"whatsapp:+18005550100\") - RCS: Sender ID or phone number with rcs prefix (such as \"rcs:brand_acme_agent\" or \"rcs:+18005550100\") - CHAT: Customer-defined string identifier
|
|
383
|
+
# @param [channel_id]: [String] Channel-specific ID for correlating Communications.
|
|
384
|
+
attr_accessor :channel, :address, :channel_id
|
|
385
|
+
def initialize(payload)
|
|
386
|
+
@channel = payload["channel"]
|
|
387
|
+
@address = payload["address"]
|
|
388
|
+
@channel_id = payload["channel_id"]
|
|
389
|
+
end
|
|
390
|
+
def to_json(options = {})
|
|
391
|
+
{
|
|
392
|
+
"channel": @channel,
|
|
393
|
+
"address": @address,
|
|
394
|
+
"channelId": @channel_id,
|
|
395
|
+
}.to_json(options)
|
|
396
|
+
end
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
class ConversationsV2CaptureRule
|
|
400
|
+
# @param [from]: [String] The from address. Use `*` for wildcard to match any from address.
|
|
401
|
+
# @param [to]: [String] The to address. Use `*` for wildcard to match any to address.
|
|
402
|
+
# @param [metadata]: [Hash<String, String>] Additional matching criteria for the capture rule. For voice calls, can include `callType` (`PSTN`, `SIP`, and similar).
|
|
403
|
+
attr_accessor :from, :to, :metadata
|
|
404
|
+
def initialize(payload)
|
|
405
|
+
@from = payload["from"]
|
|
406
|
+
@to = payload["to"]
|
|
407
|
+
@metadata = payload["metadata"]
|
|
408
|
+
end
|
|
409
|
+
def to_json(options = {})
|
|
410
|
+
{
|
|
411
|
+
"from": @from,
|
|
412
|
+
"to": @to,
|
|
413
|
+
"metadata": @metadata,
|
|
414
|
+
}.to_json(options)
|
|
415
|
+
end
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
class ConversationsV2StatusTimeouts
|
|
419
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
420
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
421
|
+
attr_accessor :inactive, :closed
|
|
422
|
+
def initialize(payload)
|
|
423
|
+
@inactive = payload["inactive"]
|
|
424
|
+
@closed = payload["closed"]
|
|
425
|
+
end
|
|
426
|
+
def to_json(options = {})
|
|
427
|
+
{
|
|
428
|
+
"inactive": @inactive,
|
|
429
|
+
"closed": @closed,
|
|
430
|
+
}.to_json(options)
|
|
431
|
+
end
|
|
432
|
+
end
|
|
433
|
+
|
|
434
|
+
class CreateConversationWithConfigRequest
|
|
435
|
+
# @param [configuration_id]: [String] The ID of an existing configuration.
|
|
436
|
+
# @param [name]: [String] The name of the conversation.
|
|
437
|
+
# @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
|
|
438
|
+
# @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
|
|
439
|
+
attr_accessor :configuration_id, :name, :configuration, :participants
|
|
440
|
+
def initialize(payload)
|
|
441
|
+
@configuration_id = payload["configuration_id"]
|
|
442
|
+
@name = payload["name"]
|
|
443
|
+
@configuration = payload["configuration"]
|
|
444
|
+
@participants = payload["participants"]
|
|
445
|
+
end
|
|
446
|
+
def to_json(options = {})
|
|
447
|
+
{
|
|
448
|
+
"configurationId": @configuration_id,
|
|
449
|
+
"name": @name,
|
|
450
|
+
"configuration": @configuration,
|
|
451
|
+
"participants": @participants,
|
|
452
|
+
}.to_json(options)
|
|
453
|
+
end
|
|
454
|
+
end
|
|
455
|
+
|
|
456
|
+
class CreateConversationWithConfigRequestConfiguration
|
|
457
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
458
|
+
attr_accessor :intelligence_configuration_ids
|
|
459
|
+
def initialize(payload)
|
|
460
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
461
|
+
end
|
|
462
|
+
def to_json(options = {})
|
|
463
|
+
{
|
|
464
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
465
|
+
}.to_json(options)
|
|
466
|
+
end
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
class CreateConversationWithConfigRequestParticipants
|
|
470
|
+
# @param [name]: [String] Display name for the Participant.
|
|
471
|
+
# @param [type]: [String] Type of Participant in the Conversation.
|
|
472
|
+
# @param [profile_id]: [String] Resolved profile ID.
|
|
473
|
+
# @param [addresses]: [Array<ConversationList.CreateConversationWithConfigRequestParticipantsAddresses>] List of Communication addresses for the Participant.
|
|
474
|
+
attr_accessor :name, :type, :profile_id, :addresses
|
|
475
|
+
def initialize(payload)
|
|
476
|
+
@name = payload["name"]
|
|
477
|
+
@type = payload["type"]
|
|
478
|
+
@profile_id = payload["profile_id"]
|
|
479
|
+
@addresses = payload["addresses"]
|
|
480
|
+
end
|
|
481
|
+
def to_json(options = {})
|
|
482
|
+
{
|
|
483
|
+
"name": @name,
|
|
484
|
+
"type": @type,
|
|
485
|
+
"profileId": @profile_id,
|
|
486
|
+
"addresses": @addresses,
|
|
487
|
+
}.to_json(options)
|
|
488
|
+
end
|
|
489
|
+
end
|
|
490
|
+
|
|
491
|
+
class CreateConversationWithConfigRequestParticipantsAddresses
|
|
492
|
+
# @param [channel]: [String]
|
|
493
|
+
# @param [address]: [String]
|
|
494
|
+
# @param [channel_id]: [String]
|
|
495
|
+
attr_accessor :channel, :address, :channel_id
|
|
496
|
+
def initialize(payload)
|
|
497
|
+
@channel = payload["channel"]
|
|
498
|
+
@address = payload["address"]
|
|
499
|
+
@channel_id = payload["channel_id"]
|
|
500
|
+
end
|
|
501
|
+
def to_json(options = {})
|
|
502
|
+
{
|
|
503
|
+
"channel": @channel,
|
|
504
|
+
"address": @address,
|
|
505
|
+
"channelId": @channel_id,
|
|
506
|
+
}.to_json(options)
|
|
507
|
+
end
|
|
508
|
+
end
|
|
509
|
+
|
|
510
|
+
class PatchConversationByIdRequest
|
|
511
|
+
# @param [name]: [String] The name of the Conversation.
|
|
512
|
+
# @param [status]: [String] The state of the Conversation.
|
|
513
|
+
# @param [configuration]: [ConversationList.PatchConversationByIdRequestConfiguration]
|
|
514
|
+
attr_accessor :name, :status, :configuration
|
|
515
|
+
def initialize(payload)
|
|
516
|
+
@name = payload["name"]
|
|
517
|
+
@status = payload["status"]
|
|
518
|
+
@configuration = payload["configuration"]
|
|
519
|
+
end
|
|
520
|
+
def to_json(options = {})
|
|
521
|
+
{
|
|
522
|
+
"name": @name,
|
|
523
|
+
"status": @status,
|
|
524
|
+
"configuration": @configuration,
|
|
525
|
+
}.to_json(options)
|
|
526
|
+
end
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
class PatchConversationByIdRequestConfiguration
|
|
530
|
+
# @param [status_callbacks]: [Array<ConversationList.ConversationsV2StatusCallbackConfig>] List of webhook configurations for this conversation. Send an empty array to clear all callbacks and stop webhook delivery.
|
|
531
|
+
attr_accessor :status_callbacks
|
|
532
|
+
def initialize(payload)
|
|
533
|
+
@status_callbacks = payload["status_callbacks"]
|
|
534
|
+
end
|
|
535
|
+
def to_json(options = {})
|
|
536
|
+
{
|
|
537
|
+
"statusCallbacks": @status_callbacks,
|
|
538
|
+
}.to_json(options)
|
|
539
|
+
end
|
|
540
|
+
end
|
|
541
|
+
|
|
542
|
+
class UpdateConversationByIdRequest
|
|
543
|
+
# @param [name]: [String] The name of the Conversation.
|
|
544
|
+
# @param [status]: [String] The state of the Conversation.
|
|
545
|
+
attr_accessor :name, :status
|
|
546
|
+
def initialize(payload)
|
|
547
|
+
@name = payload["name"]
|
|
548
|
+
@status = payload["status"]
|
|
549
|
+
end
|
|
550
|
+
def to_json(options = {})
|
|
551
|
+
{
|
|
552
|
+
"name": @name,
|
|
553
|
+
"status": @status,
|
|
554
|
+
}.to_json(options)
|
|
555
|
+
end
|
|
556
|
+
end
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
##
|
|
560
|
+
# Initialize the ConversationList
|
|
561
|
+
# @param [Version] version Version that contains the resource
|
|
562
|
+
# @return [ConversationList] ConversationList
|
|
563
|
+
def initialize(version)
|
|
564
|
+
|
|
565
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
566
|
+
super(apiV1Version)
|
|
567
|
+
# Path Solution
|
|
568
|
+
@solution = { }
|
|
569
|
+
@uri = "/Conversations"
|
|
570
|
+
|
|
571
|
+
end
|
|
572
|
+
##
|
|
573
|
+
# Create the ConversationInstance
|
|
574
|
+
# @param [CreateConversationWithConfigRequest] create_conversation_with_config_request
|
|
575
|
+
# @return [ConversationInstance] Created ConversationInstance
|
|
576
|
+
def create(create_conversation_with_config_request: :unset
|
|
577
|
+
)
|
|
578
|
+
|
|
579
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
580
|
+
headers['Content-Type'] = 'application/json'
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
payload = @version.create('POST', @uri, headers: headers, data: create_conversation_with_config_request.to_json)
|
|
586
|
+
ConversationInstance.new(
|
|
587
|
+
@version,
|
|
588
|
+
payload,
|
|
589
|
+
)
|
|
590
|
+
end
|
|
591
|
+
|
|
592
|
+
##
|
|
593
|
+
# Create the ConversationInstanceMetadata
|
|
594
|
+
# @param [CreateConversationWithConfigRequest] create_conversation_with_config_request
|
|
595
|
+
# @return [ConversationInstance] Created ConversationInstance
|
|
596
|
+
def create_with_metadata(create_conversation_with_config_request: :unset
|
|
597
|
+
)
|
|
598
|
+
|
|
599
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
600
|
+
headers['Content-Type'] = 'application/json'
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
response = @version.create_with_metadata('POST', @uri, headers: headers, data: create_conversation_with_config_request.to_json)
|
|
606
|
+
conversation_instance = ConversationInstance.new(
|
|
607
|
+
@version,
|
|
608
|
+
response.body,
|
|
609
|
+
)
|
|
610
|
+
ConversationInstanceMetadata.new(
|
|
611
|
+
@version,
|
|
612
|
+
conversation_instance,
|
|
613
|
+
response.headers,
|
|
614
|
+
response.status_code
|
|
615
|
+
)
|
|
616
|
+
end
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
##
|
|
620
|
+
# Lists ConversationInstance records from the API as a list.
|
|
621
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
622
|
+
# memory before returning.
|
|
623
|
+
# @param [Array[String]] status Filters for specific statuses
|
|
624
|
+
# @param [String] channel_id The resource identifier (such as callSid or messageSid) to filter conversations.
|
|
625
|
+
# @param [String] page_token A URL-safe, base64-encoded token representing the page of results to return
|
|
626
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
627
|
+
# guarantees to never return more than limit. Default is no limit
|
|
628
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
629
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
630
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
631
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
632
|
+
# @return [Array] Array of up to limit results
|
|
633
|
+
def list(status: :unset, channel_id: :unset, page_token: :unset, limit: nil, page_size: nil)
|
|
634
|
+
self.stream(
|
|
635
|
+
status: status,
|
|
636
|
+
channel_id: channel_id,
|
|
637
|
+
page_token: page_token,
|
|
638
|
+
limit: limit,
|
|
639
|
+
page_size: page_size
|
|
640
|
+
).entries
|
|
641
|
+
end
|
|
642
|
+
|
|
643
|
+
##
|
|
644
|
+
# Streams Instance records from the API as an Enumerable.
|
|
645
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
646
|
+
# is reached.
|
|
647
|
+
# @param [Array[String]] status Filters for specific statuses
|
|
648
|
+
# @param [String] channel_id The resource identifier (such as callSid or messageSid) to filter conversations.
|
|
649
|
+
# @param [String] page_token A URL-safe, base64-encoded token representing the page of results to return
|
|
650
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
651
|
+
# guarantees to never return more than limit. Default is no limit
|
|
652
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
653
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
654
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
655
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
656
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
657
|
+
def stream(status: :unset, channel_id: :unset, page_token: :unset, limit: nil, page_size: nil)
|
|
658
|
+
limits = @version.read_limits(limit, page_size)
|
|
659
|
+
|
|
660
|
+
page = self.page(
|
|
661
|
+
status: status,
|
|
662
|
+
channel_id: channel_id,
|
|
663
|
+
page_token: page_token,
|
|
664
|
+
page_size: limits[:page_size], )
|
|
665
|
+
|
|
666
|
+
return [].each if page.nil?
|
|
667
|
+
|
|
668
|
+
result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
669
|
+
return [].each if result.nil?
|
|
670
|
+
result
|
|
671
|
+
end
|
|
672
|
+
|
|
673
|
+
##
|
|
674
|
+
# Lists ConversationPageMetadata records from the API as a list.
|
|
675
|
+
# @param [Array[String]] status Filters for specific statuses
|
|
676
|
+
# @param [String] channel_id The resource identifier (such as callSid or messageSid) to filter conversations.
|
|
677
|
+
# @param [String] page_token A URL-safe, base64-encoded token representing the page of results to return
|
|
678
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
679
|
+
# guarantees to never return more than limit. Default is no limit
|
|
680
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
681
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
682
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
683
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
684
|
+
# @return [Array] Array of up to limit results
|
|
685
|
+
def list_with_metadata(status: :unset, channel_id: :unset, page_token: :unset, limit: nil, page_size: nil)
|
|
686
|
+
limits = @version.read_limits(limit, page_size)
|
|
687
|
+
params = Twilio::Values.of({
|
|
688
|
+
|
|
689
|
+
'status' => Twilio.serialize_list(status) { |e| e },
|
|
690
|
+
'channelId' => channel_id,
|
|
691
|
+
'pageToken' => page_token,
|
|
692
|
+
|
|
693
|
+
'PageSize' => limits[:page_size],
|
|
694
|
+
});
|
|
695
|
+
headers = Twilio::Values.of({})
|
|
696
|
+
|
|
697
|
+
response = @version.page('GET', @uri, params: params, headers: headers)
|
|
698
|
+
|
|
699
|
+
ConversationPageMetadata.new(@version, response, @solution, limits[:limit])
|
|
700
|
+
end
|
|
701
|
+
|
|
702
|
+
##
|
|
703
|
+
# When passed a block, yields ConversationInstance records from the API.
|
|
704
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
705
|
+
# is reached.
|
|
706
|
+
def each
|
|
707
|
+
limits = @version.read_limits
|
|
708
|
+
|
|
709
|
+
page = self.page(page_size: limits[:page_size], )
|
|
710
|
+
|
|
711
|
+
return [].each if page.nil?
|
|
712
|
+
|
|
713
|
+
result = @version.stream(page,
|
|
714
|
+
limit: limits[:limit],
|
|
715
|
+
page_limit: limits[:page_limit])
|
|
716
|
+
return [].each if result.nil?
|
|
717
|
+
result.each {|x| yield x}
|
|
718
|
+
end
|
|
719
|
+
|
|
720
|
+
##
|
|
721
|
+
# Retrieve a single page of ConversationInstance records from the API.
|
|
722
|
+
# Request is executed immediately.
|
|
723
|
+
# @param [Array[String]] status Filters for specific statuses
|
|
724
|
+
# @param [String] channel_id The resource identifier (such as callSid or messageSid) to filter conversations.
|
|
725
|
+
# @param [String] page_token A URL-safe, base64-encoded token representing the page of results to return
|
|
726
|
+
|
|
727
|
+
# @return [Page] Page of ConversationInstance
|
|
728
|
+
def page(status: :unset, channel_id: :unset, page_token: :unset, page_size: :unset)
|
|
729
|
+
params = Twilio::Values.of({
|
|
730
|
+
|
|
731
|
+
'status' => Twilio.serialize_list(status) { |e| e },
|
|
732
|
+
'channelId' => channel_id,
|
|
733
|
+
'pageToken' => page_token,
|
|
734
|
+
'PageSize' => page_size,
|
|
735
|
+
})
|
|
736
|
+
headers = Twilio::Values.of({})
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
response = @version.page('GET', @uri, params: params, headers: headers)
|
|
741
|
+
|
|
742
|
+
ConversationPage.new(@version, response, @solution)
|
|
743
|
+
end
|
|
744
|
+
|
|
745
|
+
##
|
|
746
|
+
# Retrieve a single page of ConversationInstance records from the API.
|
|
747
|
+
# Request is executed immediately.
|
|
748
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
749
|
+
# @return [Page] Page of ConversationInstance
|
|
750
|
+
def get_page(target_url)
|
|
751
|
+
response = @version.domain.request(
|
|
752
|
+
'GET',
|
|
753
|
+
target_url
|
|
754
|
+
)
|
|
755
|
+
ConversationPage.new(@version, response, @solution)
|
|
756
|
+
end
|
|
757
|
+
|
|
758
|
+
|
|
759
|
+
|
|
760
|
+
# Provide a user friendly representation
|
|
761
|
+
def to_s
|
|
762
|
+
'#<Twilio.Conversations.V2.ConversationList>'
|
|
763
|
+
end
|
|
764
|
+
end
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
class ConversationContext < InstanceContext
|
|
768
|
+
##
|
|
769
|
+
# Initialize the ConversationContext
|
|
770
|
+
# @param [Version] version Version that contains the resource
|
|
771
|
+
# @param [String] sid
|
|
772
|
+
# @return [ConversationContext] ConversationContext
|
|
773
|
+
def initialize(version, sid)
|
|
774
|
+
|
|
775
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
776
|
+
super(apiV1Version)
|
|
777
|
+
|
|
778
|
+
# Path Solution
|
|
779
|
+
@solution = { sid: sid, }
|
|
780
|
+
@uri = "/Conversations/#{@solution[:sid]}"
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
end
|
|
784
|
+
##
|
|
785
|
+
# Delete the ConversationInstance
|
|
786
|
+
# @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.
|
|
787
|
+
# @return [Boolean] True if delete succeeds, false otherwise
|
|
788
|
+
def delete(
|
|
789
|
+
idempotency_key: :unset
|
|
790
|
+
)
|
|
791
|
+
|
|
792
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
|
|
797
|
+
ConversationInstance.new(
|
|
798
|
+
@version,
|
|
799
|
+
response.body,
|
|
800
|
+
sid: @solution[:sid],
|
|
801
|
+
)
|
|
802
|
+
|
|
803
|
+
end
|
|
804
|
+
|
|
805
|
+
##
|
|
806
|
+
# Delete the ConversationInstanceMetadata
|
|
807
|
+
# @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.
|
|
808
|
+
# @return [Boolean] True if delete succeeds, false otherwise
|
|
809
|
+
def delete_with_metadata(
|
|
810
|
+
idempotency_key: :unset
|
|
811
|
+
)
|
|
812
|
+
|
|
813
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
|
|
818
|
+
conversation_instance = ConversationInstance.new(
|
|
819
|
+
@version,
|
|
820
|
+
response.body,
|
|
821
|
+
account_sid: @solution[:account_sid],
|
|
822
|
+
sid: @solution[:sid],
|
|
823
|
+
)
|
|
824
|
+
ConversationInstanceMetadata.new(@version, conversation_instance, response.headers, response.status_code)
|
|
825
|
+
end
|
|
826
|
+
|
|
827
|
+
##
|
|
828
|
+
# Fetch the ConversationInstance
|
|
829
|
+
# @return [ConversationInstance] Fetched ConversationInstance
|
|
830
|
+
def fetch
|
|
831
|
+
|
|
832
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
payload = @version.fetch('GET', @uri, headers: headers)
|
|
839
|
+
ConversationInstance.new(
|
|
840
|
+
@version,
|
|
841
|
+
payload,
|
|
842
|
+
sid: @solution[:sid],
|
|
843
|
+
)
|
|
844
|
+
end
|
|
845
|
+
|
|
846
|
+
##
|
|
847
|
+
# Fetch the ConversationInstanceMetadata
|
|
848
|
+
# @return [ConversationInstance] Fetched ConversationInstance
|
|
849
|
+
def fetch_with_metadata
|
|
850
|
+
|
|
851
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
852
|
+
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
response = @version.fetch_with_metadata('GET', @uri, headers: headers)
|
|
858
|
+
conversation_instance = ConversationInstance.new(
|
|
859
|
+
@version,
|
|
860
|
+
response.body,
|
|
861
|
+
sid: @solution[:sid],
|
|
862
|
+
)
|
|
863
|
+
ConversationInstanceMetadata.new(
|
|
864
|
+
@version,
|
|
865
|
+
conversation_instance,
|
|
866
|
+
response.headers,
|
|
867
|
+
response.status_code
|
|
868
|
+
)
|
|
869
|
+
end
|
|
870
|
+
|
|
871
|
+
##
|
|
872
|
+
# Patch the ConversationInstance
|
|
873
|
+
# @param [PatchConversationByIdRequest] patch_conversation_by_id_request The conversation fields to update
|
|
874
|
+
# @return [ConversationInstance] Patched ConversationInstance
|
|
875
|
+
def patch(patch_conversation_by_id_request: :unset
|
|
876
|
+
)
|
|
877
|
+
|
|
878
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
879
|
+
headers['Content-Type'] = 'application/json'
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
payload = @version.patch('PATCH', @uri, headers: headers, data: patch_conversation_by_id_request.to_json)
|
|
885
|
+
ConversationInstance.new(
|
|
886
|
+
@version,
|
|
887
|
+
payload,
|
|
888
|
+
sid: @solution[:sid],
|
|
889
|
+
)
|
|
890
|
+
end
|
|
891
|
+
|
|
892
|
+
##
|
|
893
|
+
# Patch the ConversationInstanceMetadata
|
|
894
|
+
# @param [PatchConversationByIdRequest] patch_conversation_by_id_request The conversation fields to update
|
|
895
|
+
# @return [ConversationInstance] Patchd ConversationInstance
|
|
896
|
+
def patch_with_metadata(patch_conversation_by_id_request: :unset
|
|
897
|
+
)
|
|
898
|
+
|
|
899
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
900
|
+
headers['Content-Type'] = 'application/json'
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
|
|
905
|
+
response = @version.patch_with_metadata('PATCH', @uri, headers: headers, data: patch_conversation_by_id_request.to_json)
|
|
906
|
+
conversation_instance = ConversationInstance.new(
|
|
907
|
+
@version,
|
|
908
|
+
response.body,
|
|
909
|
+
sid: @solution[:sid],
|
|
910
|
+
)
|
|
911
|
+
ConversationInstanceMetadata.new(
|
|
912
|
+
@version,
|
|
913
|
+
conversation_instance,
|
|
914
|
+
response.headers,
|
|
915
|
+
response.status_code
|
|
916
|
+
)
|
|
917
|
+
end
|
|
918
|
+
|
|
919
|
+
##
|
|
920
|
+
# Update the ConversationInstance
|
|
921
|
+
# @param [UpdateConversationByIdRequest] update_conversation_by_id_request The conversation to update
|
|
922
|
+
# @return [ConversationInstance] Updated ConversationInstance
|
|
923
|
+
def update(update_conversation_by_id_request: :unset
|
|
924
|
+
)
|
|
925
|
+
|
|
926
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
927
|
+
headers['Content-Type'] = 'application/json'
|
|
928
|
+
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
payload = @version.update('PUT', @uri, headers: headers, data: update_conversation_by_id_request.to_json)
|
|
933
|
+
ConversationInstance.new(
|
|
934
|
+
@version,
|
|
935
|
+
payload,
|
|
936
|
+
sid: @solution[:sid],
|
|
937
|
+
)
|
|
938
|
+
end
|
|
939
|
+
|
|
940
|
+
##
|
|
941
|
+
# Update the ConversationInstanceMetadata
|
|
942
|
+
# @param [UpdateConversationByIdRequest] update_conversation_by_id_request The conversation to update
|
|
943
|
+
# @return [ConversationInstance] Updated ConversationInstance
|
|
944
|
+
def update_with_metadata(update_conversation_by_id_request: :unset
|
|
945
|
+
)
|
|
946
|
+
|
|
947
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
948
|
+
headers['Content-Type'] = 'application/json'
|
|
949
|
+
|
|
950
|
+
|
|
951
|
+
|
|
952
|
+
|
|
953
|
+
response = @version.update_with_metadata('PUT', @uri, headers: headers, data: update_conversation_by_id_request.to_json)
|
|
954
|
+
conversation_instance = ConversationInstance.new(
|
|
955
|
+
@version,
|
|
956
|
+
response.body,
|
|
957
|
+
sid: @solution[:sid],
|
|
958
|
+
)
|
|
959
|
+
ConversationInstanceMetadata.new(
|
|
960
|
+
@version,
|
|
961
|
+
conversation_instance,
|
|
962
|
+
response.headers,
|
|
963
|
+
response.status_code
|
|
964
|
+
)
|
|
965
|
+
end
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
##
|
|
969
|
+
# Provide a user friendly representation
|
|
970
|
+
def to_s
|
|
971
|
+
context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
|
|
972
|
+
"#<Twilio.Conversations.V2.ConversationContext #{context}>"
|
|
973
|
+
end
|
|
974
|
+
|
|
975
|
+
##
|
|
976
|
+
# Provide a detailed, user friendly representation
|
|
977
|
+
def inspect
|
|
978
|
+
context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
|
|
979
|
+
"#<Twilio.Conversations.V2.ConversationContext #{context}>"
|
|
980
|
+
end
|
|
981
|
+
end
|
|
982
|
+
|
|
983
|
+
class ConversationInstanceMetadata < InstanceResourceMetadata
|
|
984
|
+
##
|
|
985
|
+
# Initializes a new ConversationInstanceMetadata.
|
|
986
|
+
# @param [Version] version Version that contains the resource
|
|
987
|
+
# @param [}ConversationInstance] conversation_instance The instance associated with the metadata.
|
|
988
|
+
# @param [Hash] headers Header object with response headers.
|
|
989
|
+
# @param [Integer] status_code The HTTP status code of the response.
|
|
990
|
+
# @return [ConversationInstanceMetadata] The initialized instance with metadata.
|
|
991
|
+
def initialize(version, conversation_instance, headers, status_code)
|
|
992
|
+
super(version, headers, status_code)
|
|
993
|
+
@conversation_instance = conversation_instance
|
|
994
|
+
end
|
|
995
|
+
|
|
996
|
+
def conversation
|
|
997
|
+
@conversation_instance
|
|
998
|
+
end
|
|
999
|
+
|
|
1000
|
+
def headers
|
|
1001
|
+
@headers
|
|
1002
|
+
end
|
|
1003
|
+
|
|
1004
|
+
def status_code
|
|
1005
|
+
@status_code
|
|
1006
|
+
end
|
|
1007
|
+
|
|
1008
|
+
def to_s
|
|
1009
|
+
"<Twilio.Api.V2010.ConversationInstanceMetadata status=#{@status_code}>"
|
|
1010
|
+
end
|
|
1011
|
+
end
|
|
1012
|
+
|
|
1013
|
+
class ConversationListResponse < InstanceListResource
|
|
1014
|
+
# @param [Array<ConversationInstance>] instance
|
|
1015
|
+
# @param [Hash{String => Object}] headers
|
|
1016
|
+
# @param [Integer] status_code
|
|
1017
|
+
def initialize(version, payload, key)
|
|
1018
|
+
@conversation_instance = payload.body[key].map do |data|
|
|
1019
|
+
ConversationInstance.new(version, data)
|
|
1020
|
+
end
|
|
1021
|
+
@headers = payload.headers
|
|
1022
|
+
@status_code = payload.status_code
|
|
1023
|
+
end
|
|
1024
|
+
|
|
1025
|
+
def conversation_instance
|
|
1026
|
+
@instance
|
|
1027
|
+
end
|
|
1028
|
+
end
|
|
1029
|
+
|
|
1030
|
+
class ConversationPage < TokenPage
|
|
1031
|
+
##
|
|
1032
|
+
# Initialize the ConversationPage
|
|
1033
|
+
# @param [Version] version Version that contains the resource
|
|
1034
|
+
# @param [Response] response Response from the API
|
|
1035
|
+
# @param [Hash] solution Path solution for the resource
|
|
1036
|
+
# @return [ConversationPage] ConversationPage
|
|
1037
|
+
def initialize(version, response, solution)
|
|
1038
|
+
|
|
1039
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
1040
|
+
super(apiV1Version, response)
|
|
1041
|
+
|
|
1042
|
+
# Path Solution
|
|
1043
|
+
@solution = solution
|
|
1044
|
+
end
|
|
1045
|
+
|
|
1046
|
+
##
|
|
1047
|
+
# Build an instance of ConversationInstance
|
|
1048
|
+
# @param [Hash] payload Payload response from the API
|
|
1049
|
+
# @return [ConversationInstance] ConversationInstance
|
|
1050
|
+
def get_instance(payload)
|
|
1051
|
+
ConversationInstance.new(@version, payload)
|
|
1052
|
+
end
|
|
1053
|
+
|
|
1054
|
+
##
|
|
1055
|
+
# Provide a user friendly representation
|
|
1056
|
+
def to_s
|
|
1057
|
+
'<Twilio.Conversations.V2.ConversationPage>'
|
|
1058
|
+
end
|
|
1059
|
+
end
|
|
1060
|
+
|
|
1061
|
+
class ConversationPageMetadata < PageMetadata
|
|
1062
|
+
attr_reader :conversation_page
|
|
1063
|
+
|
|
1064
|
+
def initialize(version, response, solution, limit)
|
|
1065
|
+
super(version, response)
|
|
1066
|
+
@conversation_page = []
|
|
1067
|
+
@limit = limit
|
|
1068
|
+
key = get_key(response.body)
|
|
1069
|
+
records = 0
|
|
1070
|
+
while( limit != :unset && records < limit )
|
|
1071
|
+
@conversation_page << ConversationListResponse.new(version, @payload, key, limit - records)
|
|
1072
|
+
@payload = self.next_page
|
|
1073
|
+
break unless @payload
|
|
1074
|
+
records += (@payload.body[key] || []).size
|
|
1075
|
+
end
|
|
1076
|
+
# Path Solution
|
|
1077
|
+
@solution = solution
|
|
1078
|
+
end
|
|
1079
|
+
|
|
1080
|
+
def each
|
|
1081
|
+
@conversation_page.each do |record|
|
|
1082
|
+
yield record
|
|
1083
|
+
end
|
|
1084
|
+
end
|
|
1085
|
+
|
|
1086
|
+
def to_s
|
|
1087
|
+
'<Twilio::REST::Conversations::V2PageMetadata>';
|
|
1088
|
+
end
|
|
1089
|
+
end
|
|
1090
|
+
class ConversationListResponse < InstanceListResource
|
|
1091
|
+
|
|
1092
|
+
# @param [Array<ConversationInstance>] instance
|
|
1093
|
+
# @param [Hash{String => Object}] headers
|
|
1094
|
+
# @param [Integer] status_code
|
|
1095
|
+
def initialize(version, payload, key, limit = :unset)
|
|
1096
|
+
data_list = payload.body[key] || []
|
|
1097
|
+
if limit != :unset
|
|
1098
|
+
data_list = data_list[0, limit]
|
|
1099
|
+
end
|
|
1100
|
+
@conversation = data_list.map do |data|
|
|
1101
|
+
ConversationInstance.new(version, data)
|
|
1102
|
+
end
|
|
1103
|
+
@headers = payload.headers
|
|
1104
|
+
@status_code = payload.status_code
|
|
1105
|
+
end
|
|
1106
|
+
|
|
1107
|
+
def conversation
|
|
1108
|
+
@conversation
|
|
1109
|
+
end
|
|
1110
|
+
|
|
1111
|
+
def headers
|
|
1112
|
+
@headers
|
|
1113
|
+
end
|
|
1114
|
+
|
|
1115
|
+
def status_code
|
|
1116
|
+
@status_code
|
|
1117
|
+
end
|
|
1118
|
+
end
|
|
1119
|
+
|
|
1120
|
+
class ConversationInstance < InstanceResource
|
|
1121
|
+
##
|
|
1122
|
+
# Initialize the ConversationInstance
|
|
1123
|
+
# @param [Version] version Version that contains the resource
|
|
1124
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
1125
|
+
# @param [String] account_sid The SID of the
|
|
1126
|
+
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this Conversation
|
|
1127
|
+
# resource.
|
|
1128
|
+
# @param [String] sid The SID of the Call resource to fetch.
|
|
1129
|
+
# @return [ConversationInstance] ConversationInstance
|
|
1130
|
+
def initialize(version, payload , sid: nil)
|
|
1131
|
+
|
|
1132
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
1133
|
+
super(apiV1Version)
|
|
1134
|
+
|
|
1135
|
+
# Marshaled Properties
|
|
1136
|
+
@properties = {
|
|
1137
|
+
'id' => payload['id'],
|
|
1138
|
+
'account_id' => payload['account_id'],
|
|
1139
|
+
'configuration_id' => payload['configuration_id'],
|
|
1140
|
+
'status' => payload['status'],
|
|
1141
|
+
'name' => payload['name'],
|
|
1142
|
+
'created_at' => Twilio.deserialize_iso8601_datetime(payload['created_at']),
|
|
1143
|
+
'updated_at' => Twilio.deserialize_iso8601_datetime(payload['updated_at']),
|
|
1144
|
+
'configuration' => payload['configuration'],
|
|
1145
|
+
'participants' => payload['participants'],
|
|
1146
|
+
'status_url' => payload['status_url'],
|
|
1147
|
+
'related' => payload['related'],
|
|
1148
|
+
'display_name' => payload['display_name'],
|
|
1149
|
+
'description' => payload['description'],
|
|
1150
|
+
'conversation_grouping_type' => payload['conversation_grouping_type'],
|
|
1151
|
+
'memory_store_id' => payload['memory_store_id'],
|
|
1152
|
+
'channel_settings' => payload['channel_settings'],
|
|
1153
|
+
'status_callbacks' => payload['status_callbacks'],
|
|
1154
|
+
'intelligence_configuration_ids' => payload['intelligence_configuration_ids'],
|
|
1155
|
+
'memory_extraction_enabled' => payload['memory_extraction_enabled'],
|
|
1156
|
+
'conversations_v1_bridge' => payload['conversations_v1_bridge'],
|
|
1157
|
+
'version' => payload['version'],
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
# Context
|
|
1161
|
+
@instance_context = nil
|
|
1162
|
+
@params = { 'sid' => sid || @properties['sid'] , }
|
|
1163
|
+
end
|
|
1164
|
+
|
|
1165
|
+
##
|
|
1166
|
+
# Generate an instance context for the instance, the context is capable of
|
|
1167
|
+
# performing various actions. All instance actions are proxied to the context
|
|
1168
|
+
# @return [ConversationContext] CallContext for this CallInstance
|
|
1169
|
+
def context
|
|
1170
|
+
unless @instance_context
|
|
1171
|
+
@instance_context = ConversationContext.new(@version , @params['sid'])
|
|
1172
|
+
end
|
|
1173
|
+
@instance_context
|
|
1174
|
+
end
|
|
1175
|
+
|
|
1176
|
+
##
|
|
1177
|
+
# @return [String] Conversation ID.
|
|
1178
|
+
def id
|
|
1179
|
+
@properties['id']
|
|
1180
|
+
end
|
|
1181
|
+
|
|
1182
|
+
##
|
|
1183
|
+
# @return [String] Account ID.
|
|
1184
|
+
def account_id
|
|
1185
|
+
@properties['account_id']
|
|
1186
|
+
end
|
|
1187
|
+
|
|
1188
|
+
##
|
|
1189
|
+
# @return [String] Configuration ID.
|
|
1190
|
+
def configuration_id
|
|
1191
|
+
@properties['configuration_id']
|
|
1192
|
+
end
|
|
1193
|
+
|
|
1194
|
+
##
|
|
1195
|
+
# @return [String] Conversation status.
|
|
1196
|
+
def status
|
|
1197
|
+
@properties['status']
|
|
1198
|
+
end
|
|
1199
|
+
|
|
1200
|
+
##
|
|
1201
|
+
# @return [String] Conversation name.
|
|
1202
|
+
def name
|
|
1203
|
+
@properties['name']
|
|
1204
|
+
end
|
|
1205
|
+
|
|
1206
|
+
##
|
|
1207
|
+
# @return [Time] Timestamp when this Conversation was created.
|
|
1208
|
+
def created_at
|
|
1209
|
+
@properties['created_at']
|
|
1210
|
+
end
|
|
1211
|
+
|
|
1212
|
+
##
|
|
1213
|
+
# @return [Time] Timestamp when this Conversation was last updated.
|
|
1214
|
+
def updated_at
|
|
1215
|
+
@properties['updated_at']
|
|
1216
|
+
end
|
|
1217
|
+
|
|
1218
|
+
##
|
|
1219
|
+
# @return [ListConversationByAccount200ResponseConversationsConfiguration]
|
|
1220
|
+
def configuration
|
|
1221
|
+
@properties['configuration']
|
|
1222
|
+
end
|
|
1223
|
+
|
|
1224
|
+
##
|
|
1225
|
+
# @return [Array<ConversationsV2Participant>] Participants in this Conversation.
|
|
1226
|
+
def participants
|
|
1227
|
+
@properties['participants']
|
|
1228
|
+
end
|
|
1229
|
+
|
|
1230
|
+
##
|
|
1231
|
+
# @return [String] URL to poll for operation status.
|
|
1232
|
+
def status_url
|
|
1233
|
+
@properties['status_url']
|
|
1234
|
+
end
|
|
1235
|
+
|
|
1236
|
+
##
|
|
1237
|
+
# @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
|
|
1238
|
+
def related
|
|
1239
|
+
@properties['related']
|
|
1240
|
+
end
|
|
1241
|
+
|
|
1242
|
+
##
|
|
1243
|
+
# @return [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
1244
|
+
def display_name
|
|
1245
|
+
@properties['display_name']
|
|
1246
|
+
end
|
|
1247
|
+
|
|
1248
|
+
##
|
|
1249
|
+
# @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.
|
|
1250
|
+
def description
|
|
1251
|
+
@properties['description']
|
|
1252
|
+
end
|
|
1253
|
+
|
|
1254
|
+
##
|
|
1255
|
+
# @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.
|
|
1256
|
+
def conversation_grouping_type
|
|
1257
|
+
@properties['conversation_grouping_type']
|
|
1258
|
+
end
|
|
1259
|
+
|
|
1260
|
+
##
|
|
1261
|
+
# @return [String] Memory Store ID for Profile resolution.
|
|
1262
|
+
def memory_store_id
|
|
1263
|
+
@properties['memory_store_id']
|
|
1264
|
+
end
|
|
1265
|
+
|
|
1266
|
+
##
|
|
1267
|
+
# @return [Hash<String, ConversationsV2ChannelSetting>] Channel-specific configuration settings by channel type. Keys should be valid channel types (`VOICE`, `SMS`, `RCS`, `WHATSAPP`, `CHAT`).
|
|
1268
|
+
def channel_settings
|
|
1269
|
+
@properties['channel_settings']
|
|
1270
|
+
end
|
|
1271
|
+
|
|
1272
|
+
##
|
|
1273
|
+
# @return [Array<ConversationsV2StatusCallbackConfig>] List of default webhook configurations applied to Conversations under this Configuration.
|
|
1274
|
+
def status_callbacks
|
|
1275
|
+
@properties['status_callbacks']
|
|
1276
|
+
end
|
|
1277
|
+
|
|
1278
|
+
##
|
|
1279
|
+
# @return [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
1280
|
+
def intelligence_configuration_ids
|
|
1281
|
+
@properties['intelligence_configuration_ids']
|
|
1282
|
+
end
|
|
1283
|
+
|
|
1284
|
+
##
|
|
1285
|
+
# @return [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
1286
|
+
def memory_extraction_enabled
|
|
1287
|
+
@properties['memory_extraction_enabled']
|
|
1288
|
+
end
|
|
1289
|
+
|
|
1290
|
+
##
|
|
1291
|
+
# @return [ConversationsV2ConversationsV1Bridge]
|
|
1292
|
+
def conversations_v1_bridge
|
|
1293
|
+
@properties['conversations_v1_bridge']
|
|
1294
|
+
end
|
|
1295
|
+
|
|
1296
|
+
##
|
|
1297
|
+
# @return [String] Version number used for optimistic locking.
|
|
1298
|
+
def version
|
|
1299
|
+
@properties['version']
|
|
1300
|
+
end
|
|
1301
|
+
|
|
1302
|
+
##
|
|
1303
|
+
# Delete the ConversationInstance
|
|
1304
|
+
# @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.
|
|
1305
|
+
# @return [Boolean] True if delete succeeds, false otherwise
|
|
1306
|
+
def delete(
|
|
1307
|
+
idempotency_key: :unset
|
|
1308
|
+
)
|
|
1309
|
+
|
|
1310
|
+
context.delete(
|
|
1311
|
+
idempotency_key: idempotency_key,
|
|
1312
|
+
)
|
|
1313
|
+
end
|
|
1314
|
+
|
|
1315
|
+
##
|
|
1316
|
+
# Fetch the ConversationInstance
|
|
1317
|
+
# @return [ConversationInstance] Fetched ConversationInstance
|
|
1318
|
+
def fetch
|
|
1319
|
+
|
|
1320
|
+
context.fetch
|
|
1321
|
+
end
|
|
1322
|
+
|
|
1323
|
+
##
|
|
1324
|
+
# Patch the ConversationInstance
|
|
1325
|
+
# @param [PatchConversationByIdRequest] patch_conversation_by_id_request The conversation fields to update
|
|
1326
|
+
# @return [ConversationInstance] Patched ConversationInstance
|
|
1327
|
+
def patch(patch_conversation_by_id_request: :unset
|
|
1328
|
+
)
|
|
1329
|
+
|
|
1330
|
+
context.patch(
|
|
1331
|
+
patch_conversation_by_id_request: patch_conversation_by_id_request,
|
|
1332
|
+
)
|
|
1333
|
+
end
|
|
1334
|
+
|
|
1335
|
+
##
|
|
1336
|
+
# Update the ConversationInstance
|
|
1337
|
+
# @param [UpdateConversationByIdRequest] update_conversation_by_id_request The conversation to update
|
|
1338
|
+
# @return [ConversationInstance] Updated ConversationInstance
|
|
1339
|
+
def update(update_conversation_by_id_request: :unset
|
|
1340
|
+
)
|
|
1341
|
+
|
|
1342
|
+
context.update(
|
|
1343
|
+
update_conversation_by_id_request: update_conversation_by_id_request,
|
|
1344
|
+
)
|
|
1345
|
+
end
|
|
1346
|
+
|
|
1347
|
+
##
|
|
1348
|
+
# Provide a user friendly representation
|
|
1349
|
+
def to_s
|
|
1350
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
1351
|
+
"<Twilio.Conversations.V2.ConversationInstance #{values}>"
|
|
1352
|
+
end
|
|
1353
|
+
|
|
1354
|
+
##
|
|
1355
|
+
# Provide a detailed, user friendly representation
|
|
1356
|
+
def inspect
|
|
1357
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
1358
|
+
"<Twilio.Conversations.V2.ConversationInstance #{values}>"
|
|
1359
|
+
end
|
|
1360
|
+
end
|
|
1361
|
+
|
|
1362
|
+
end
|
|
1363
|
+
end
|
|
1364
|
+
end
|
|
1365
|
+
end
|