Class: Aws::ConnectCases::Client

Inherits:
Seahorse::Client::Base
  • Object
show all
Includes:
Aws::ClientStubs
Defined in:
lib/aws-sdk-connectcases/client.rb

Overview

An API client for ConnectCases. To construct a client, you need to configure a ‘:region` and `:credentials`.

client = Aws::ConnectCases::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See #initialize for a full list of supported configuration options.

Class Attribute Summary collapse

API Operations collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials used for authentication. This can be any class that includes and implements ‘Aws::CredentialProvider`, or instance of any one of the following classes:

    • ‘Aws::Credentials` - Used for configuring static, non-refreshing credentials.

    • ‘Aws::SharedCredentials` - Used for loading static credentials from a shared file, such as `~/.aws/config`.

    • ‘Aws::AssumeRoleCredentials` - Used when you need to assume a role.

    • ‘Aws::AssumeRoleWebIdentityCredentials` - Used when you need to assume a role after providing credentials via the web.

    • ‘Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an access token generated from `aws login`.

    • ‘Aws::ProcessCredentials` - Used for loading credentials from a process that outputs to stdout.

    • ‘Aws::InstanceProfileCredentials` - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • ‘Aws::ECSCredentials` - Used for loading credentials from instances running in ECS.

    • ‘Aws::CognitoIdentityCredentials` - Used for loading credentials from the Cognito Identity service.

    When ‘:credentials` are not configured directly, the following locations will be searched for credentials:

    • Aws.config`

    • The ‘:access_key_id`, `:secret_access_key`, `:session_token`, and `:account_id` options.

    • ENV`, `ENV`, `ENV`, and `ENV`.

    • ‘~/.aws/credentials`

    • ‘~/.aws/config`

    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of ‘Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting `ENV` to `true`.

  • :region (required, String)

    The AWS region to connect to. The configured ‘:region` is used to determine the service `:endpoint`. When not passed, a default `:region` is searched for in the following locations:

  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to ‘true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in ‘adaptive` retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a `RetryCapacityNotAvailableError` and will not retry instead of sleeping.

  • :auth_scheme_preference (Array<String>)

    A list of preferred authentication schemes to use when making a request. Supported values are: ‘sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV` or in shared config as `auth_scheme_preference`, the value should be a comma-separated list.

  • :client_side_monitoring (Boolean) — default: false

    When ‘true`, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When ‘true`, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in ‘standard` and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    When ‘true`, the SDK will not prepend the modeled host prefix to the endpoint.

  • :disable_request_compression (Boolean) — default: false

    When set to ‘true’ the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the ‘:endpoint` option directly. This is normally constructed from the `:region` option. Configuring `:endpoint` is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to ‘true`, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the ‘:logger` at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in ‘standard` and `adaptive` retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at ‘HOME/.aws/credentials`. When not specified, ’default’ is used.

  • :request_checksum_calculation (String) — default: "when_supported"

    Determines when a checksum will be calculated for request payloads. Values are:

    • ‘when_supported` - (default) When set, a checksum will be calculated for all request payloads of operations modeled with the `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a `requestAlgorithmMember` is modeled.

    • ‘when_required` - When set, a checksum will only be calculated for request payloads of operations modeled with the `httpChecksum` trait where `requestChecksumRequired` is `true` or where a `requestAlgorithmMember` is modeled and supplied.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :response_checksum_validation (String) — default: "when_supported"

    Determines when checksum validation will be performed on response payloads. Values are:

    • ‘when_supported` - (default) When set, checksum validation is performed on all response payloads of operations modeled with the `httpChecksum` trait where `responseAlgorithms` is modeled, except when no modeled checksum algorithms are supported.

    • ‘when_required` - When set, checksum validation is not performed on response payloads of operations unless the checksum algorithm is supported and the `requestValidationModeMember` member is set to `ENABLED`.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the ‘legacy` retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the ‘legacy` retry mode.

    @see www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the ‘legacy` retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • ‘legacy` - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • ‘standard` - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • ‘adaptive` - An experimental retry mode that includes all the functionality of `standard` mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default ‘:sigv4a_signing_region_set` is searched for in the following locations:

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    ** Please note ** When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses ‘NoOpTelemetryProvider` which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the

    ‘opentelemetry-sdk` gem and then, pass in an instance of a `Aws::Telemetry::OTelProvider` for telemetry provider.

  • :token_provider (Aws::TokenProvider)

    Your Bearer token used for authentication. This can be any class that includes and implements ‘Aws::TokenProvider`, or instance of any one of the following classes:

    • ‘Aws::StaticTokenProvider` - Used for configuring static, non-refreshing tokens.

    • ‘Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an access token generated from `aws login`.

    When ‘:token_provider` is not configured directly, the `Aws::TokenProviderChain` will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to ‘true`, dualstack enabled endpoints (with `.aws` TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to ‘true`, fips compatible endpoints will be used if available. When a `fips` region is used, the region is normalized and this config is set to `true`.

  • :validate_params (Boolean) — default: true

    When ‘true`, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::ConnectCases::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to ‘#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::ConnectCases::EndpointParameters`.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has “Expect” header set to “100-continue”. Defaults to ‘nil` which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like ‘proxy.com:123’.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When ‘true`, HTTP debug output will be sent to the `:logger`.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a ‘content-length`).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When ‘true`, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When ‘true`, SSL peer certificates are verified when establishing a connection.



473
474
475
# File 'lib/aws-sdk-connectcases/client.rb', line 473

def initialize(*args)
  super
end

Class Attribute Details

.identifierObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



3399
3400
3401
# File 'lib/aws-sdk-connectcases/client.rb', line 3399

def identifier
  @identifier
end

Class Method Details

.errors_moduleObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



3402
3403
3404
# File 'lib/aws-sdk-connectcases/client.rb', line 3402

def errors_module
  Errors
end

Instance Method Details

#batch_get_case_rule(params = {}) ⇒ Types::BatchGetCaseRuleResponse

Gets a batch of case rules. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template].

[1]: docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html

Examples:

Request syntax with placeholder values


resp = client.batch_get_case_rule({
  domain_id: "DomainId", # required
  case_rules: [ # required
    {
      id: "CaseRuleId", # required
    },
  ],
})

Response structure


resp.case_rules #=> Array
resp.case_rules[0].case_rule_id #=> String
resp.case_rules[0].name #=> String
resp.case_rules[0].case_rule_arn #=> String
resp.case_rules[0].rule.required.default_value #=> Boolean
resp.case_rules[0].rule.required.conditions #=> Array
resp.case_rules[0].rule.required.conditions[0].equal_to.operand_one.field_id #=> String
resp.case_rules[0].rule.required.conditions[0].equal_to.operand_two.string_value #=> String
resp.case_rules[0].rule.required.conditions[0].equal_to.operand_two.boolean_value #=> Boolean
resp.case_rules[0].rule.required.conditions[0].equal_to.operand_two.double_value #=> Float
resp.case_rules[0].rule.required.conditions[0].equal_to.result #=> Boolean
resp.case_rules[0].rule.required.conditions[0].not_equal_to.operand_one.field_id #=> String
resp.case_rules[0].rule.required.conditions[0].not_equal_to.operand_two.string_value #=> String
resp.case_rules[0].rule.required.conditions[0].not_equal_to.operand_two.boolean_value #=> Boolean
resp.case_rules[0].rule.required.conditions[0].not_equal_to.operand_two.double_value #=> Float
resp.case_rules[0].rule.required.conditions[0].not_equal_to.result #=> Boolean
resp.case_rules[0].rule.field_options.parent_field_id #=> String
resp.case_rules[0].rule.field_options.child_field_id #=> String
resp.case_rules[0].rule.field_options.parent_child_field_options_mappings #=> Array
resp.case_rules[0].rule.field_options.parent_child_field_options_mappings[0].parent_field_option_value #=> String
resp.case_rules[0].rule.field_options.parent_child_field_options_mappings[0].child_field_option_values #=> Array
resp.case_rules[0].rule.field_options.parent_child_field_options_mappings[0].child_field_option_values[0] #=> String
resp.case_rules[0].rule.hidden.default_value #=> Boolean
resp.case_rules[0].rule.hidden.conditions #=> Array
resp.case_rules[0].rule.hidden.conditions[0].equal_to.operand_one.field_id #=> String
resp.case_rules[0].rule.hidden.conditions[0].equal_to.operand_two.string_value #=> String
resp.case_rules[0].rule.hidden.conditions[0].equal_to.operand_two.boolean_value #=> Boolean
resp.case_rules[0].rule.hidden.conditions[0].equal_to.operand_two.double_value #=> Float
resp.case_rules[0].rule.hidden.conditions[0].equal_to.result #=> Boolean
resp.case_rules[0].rule.hidden.conditions[0].not_equal_to.operand_one.field_id #=> String
resp.case_rules[0].rule.hidden.conditions[0].not_equal_to.operand_two.string_value #=> String
resp.case_rules[0].rule.hidden.conditions[0].not_equal_to.operand_two.boolean_value #=> Boolean
resp.case_rules[0].rule.hidden.conditions[0].not_equal_to.operand_two.double_value #=> Float
resp.case_rules[0].rule.hidden.conditions[0].not_equal_to.result #=> Boolean
resp.case_rules[0].description #=> String
resp.case_rules[0].deleted #=> Boolean
resp.case_rules[0].created_time #=> Time
resp.case_rules[0].last_modified_time #=> Time
resp.case_rules[0].tags #=> Hash
resp.case_rules[0].tags["String"] #=> String
resp.errors #=> Array
resp.errors[0].id #=> String
resp.errors[0].error_code #=> String
resp.errors[0].message #=> String
resp.unprocessed_case_rules #=> Array
resp.unprocessed_case_rules[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    Unique identifier of a Cases domain.

  • :case_rules (required, Array<Types::CaseRuleIdentifier>)

    A list of case rule identifiers.

Returns:

See Also:



564
565
566
567
# File 'lib/aws-sdk-connectcases/client.rb', line 564

def batch_get_case_rule(params = {}, options = {})
  req = build_request(:batch_get_case_rule, params)
  req.send_request(options)
end

#batch_get_field(params = {}) ⇒ Types::BatchGetFieldResponse

Returns the description for the list of fields in the request parameters.

Examples:

Request syntax with placeholder values


resp = client.batch_get_field({
  domain_id: "DomainId", # required
  fields: [ # required
    {
      id: "FieldId", # required
    },
  ],
})

Response structure


resp.fields #=> Array
resp.fields[0].field_id #=> String
resp.fields[0].name #=> String
resp.fields[0].field_arn #=> String
resp.fields[0].description #=> String
resp.fields[0].type #=> String, one of "Text", "Number", "Boolean", "DateTime", "SingleSelect", "Url", "User"
resp.fields[0].namespace #=> String, one of "System", "Custom"
resp.fields[0].tags #=> Hash
resp.fields[0].tags["String"] #=> String
resp.fields[0].deleted #=> Boolean
resp.fields[0].created_time #=> Time
resp.fields[0].last_modified_time #=> Time
resp.errors #=> Array
resp.errors[0].id #=> String
resp.errors[0].error_code #=> String
resp.errors[0].message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :fields (required, Array<Types::FieldIdentifier>)

    A list of unique field identifiers.

Returns:

See Also:



617
618
619
620
# File 'lib/aws-sdk-connectcases/client.rb', line 617

def batch_get_field(params = {}, options = {})
  req = build_request(:batch_get_field, params)
  req.send_request(options)
end

#batch_put_field_options(params = {}) ⇒ Types::BatchPutFieldOptionsResponse

Creates and updates a set of field options for a single select field in a Cases domain.

Examples:

Request syntax with placeholder values


resp = client.batch_put_field_options({
  domain_id: "DomainId", # required
  field_id: "FieldId", # required
  options: [ # required
    {
      name: "FieldOptionName", # required
      value: "FieldOptionValue", # required
      active: false, # required
    },
  ],
})

Response structure


resp.errors #=> Array
resp.errors[0].message #=> String
resp.errors[0].error_code #=> String
resp.errors[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :field_id (required, String)

    The unique identifier of a field.

  • :options (required, Array<Types::FieldOption>)

    A list of ‘FieldOption` objects.

Returns:

See Also:



663
664
665
666
# File 'lib/aws-sdk-connectcases/client.rb', line 663

def batch_put_field_options(params = {}, options = {})
  req = build_request(:batch_put_field_options, params)
  req.send_request(options)
end

#build_request(operation_name, params = {}) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • params ({}) (defaults to: {})


3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
# File 'lib/aws-sdk-connectcases/client.rb', line 3372

def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  tracer = config.telemetry_provider.tracer_provider.tracer(
    Aws::Telemetry.module_to_tracer_name('Aws::ConnectCases')
  )
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config,
    tracer: tracer
  )
  context[:gem_name] = 'aws-sdk-connectcases'
  context[:gem_version] = '1.56.0'
  Seahorse::Client::Request.new(handlers, context)
end

#create_case(params = {}) ⇒ Types::CreateCaseResponse

<note markdown=“1”> If you provide a value for ‘PerformedBy.UserArn` you must also have

connect:DescribeUser][1

permission on the User ARN resource that you

provide

</note>

Creates a case in the specified Cases domain. Case system and custom

fields are taken as an array id/value pairs with a declared data types.

The following fields are required when creating a case:

* `customer_id` - You must provide the full customer profile ARN in
 this format: `arn:aws:profile:your_AWS_Region:your_AWS_account
 ID:domains/your_profiles_domain_name/profiles/profile_ID`
  • ‘title`

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html

Examples:

Request syntax with placeholder values


resp = client.create_case({
  domain_id: "DomainId", # required
  template_id: "TemplateId", # required
  fields: [ # required
    {
      id: "FieldId", # required
      value: { # required
        string_value: "FieldValueUnionStringValueString",
        double_value: 1.0,
        boolean_value: false,
        empty_value: {
        },
        user_arn_value: "String",
      },
    },
  ],
  client_token: "CreateCaseRequestClientTokenString",
  performed_by: {
    user_arn: "UserArn",
    custom_entity: "CustomEntity",
  },
})

Response structure


resp.case_id #=> String
resp.case_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :template_id (required, String)

    A unique identifier of a template.

  • :fields (required, Array<Types::FieldValue>)

    An array of objects with field ID (matching ListFields/DescribeField) and value union data.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see [Making retries safe with idempotent APIs].

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

    [1]: aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/

  • :performed_by (Types::UserUnion)

    Represents the entity that performed the action.

Returns:

See Also:



756
757
758
759
# File 'lib/aws-sdk-connectcases/client.rb', line 756

def create_case(params = {}, options = {})
  req = build_request(:create_case, params)
  req.send_request(options)
end

#create_case_rule(params = {}) ⇒ Types::CreateCaseRuleResponse

Creates a new case rule. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template].

[1]: docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html

Examples:

Request syntax with placeholder values


resp = client.create_case_rule({
  domain_id: "DomainId", # required
  name: "CaseRuleName", # required
  description: "CaseRuleDescription",
  rule: { # required
    required: {
      default_value: false, # required
      conditions: [ # required
        {
          equal_to: {
            operand_one: { # required
              field_id: "FieldId",
            },
            operand_two: { # required
              string_value: "OperandTwoStringValueString",
              boolean_value: false,
              double_value: 1.0,
              empty_value: {
              },
            },
            result: false, # required
          },
          not_equal_to: {
            operand_one: { # required
              field_id: "FieldId",
            },
            operand_two: { # required
              string_value: "OperandTwoStringValueString",
              boolean_value: false,
              double_value: 1.0,
              empty_value: {
              },
            },
            result: false, # required
          },
        },
      ],
    },
    field_options: {
      parent_field_id: "FieldId",
      child_field_id: "FieldId",
      parent_child_field_options_mappings: [ # required
        {
          parent_field_option_value: "ParentChildFieldOptionValue", # required
          child_field_option_values: ["ParentChildFieldOptionValue"], # required
        },
      ],
    },
    hidden: {
      default_value: false, # required
      conditions: [ # required
        {
          equal_to: {
            operand_one: { # required
              field_id: "FieldId",
            },
            operand_two: { # required
              string_value: "OperandTwoStringValueString",
              boolean_value: false,
              double_value: 1.0,
              empty_value: {
              },
            },
            result: false, # required
          },
          not_equal_to: {
            operand_one: { # required
              field_id: "FieldId",
            },
            operand_two: { # required
              string_value: "OperandTwoStringValueString",
              boolean_value: false,
              double_value: 1.0,
              empty_value: {
              },
            },
            result: false, # required
          },
        },
      ],
    },
  },
})

Response structure


resp.case_rule_id #=> String
resp.case_rule_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    Unique identifier of a Cases domain.

  • :name (required, String)

    Name of the case rule.

  • :description (String)

    The description of a case rule.

  • :rule (required, Types::CaseRuleDetails)

    Represents what rule type should take place, under what conditions.

Returns:

See Also:



882
883
884
885
# File 'lib/aws-sdk-connectcases/client.rb', line 882

def create_case_rule(params = {}, options = {})
  req = build_request(:create_case_rule, params)
  req.send_request(options)
end

#create_domain(params = {}) ⇒ Types::CreateDomainResponse

Creates a domain, which is a container for all case data, such as cases, fields, templates and layouts. Each Amazon Connect instance can be associated with only one Cases domain.

This will not associate your connect instance to Cases domain. Instead, use the Amazon Connect [CreateIntegrationAssociation] API. You need specific IAM permissions to successfully associate the Cases domain. For more information, see [Onboard to Cases].

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html [2]: docs.aws.amazon.com/connect/latest/adminguide/required-permissions-iam-cases.html#onboard-cases-iam

Examples:

Request syntax with placeholder values


resp = client.create_domain({
  name: "DomainName", # required
})

Response structure


resp.domain_id #=> String
resp.domain_arn #=> String
resp.domain_status #=> String, one of "Active", "CreationInProgress", "CreationFailed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name for your Cases domain. It must be unique for your Amazon Web Services account.

Returns:

See Also:



927
928
929
930
# File 'lib/aws-sdk-connectcases/client.rb', line 927

def create_domain(params = {}, options = {})
  req = build_request(:create_domain, params)
  req.send_request(options)
end

#create_field(params = {}) ⇒ Types::CreateFieldResponse

Creates a field in the Cases domain. This field is used to define the case object model (that is, defines what data can be captured on cases) in a Cases domain.

Examples:

Request syntax with placeholder values


resp = client.create_field({
  domain_id: "DomainId", # required
  name: "FieldName", # required
  type: "Text", # required, accepts Text, Number, Boolean, DateTime, SingleSelect, Url, User
  description: "FieldDescription",
})

Response structure


resp.field_id #=> String
resp.field_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :name (required, String)

    The name of the field.

  • :type (required, String)

    Defines the data type, some system constraints, and default display of the field.

  • :description (String)

    The description of the field.

Returns:

See Also:



972
973
974
975
# File 'lib/aws-sdk-connectcases/client.rb', line 972

def create_field(params = {}, options = {})
  req = build_request(:create_field, params)
  req.send_request(options)
end

#create_layout(params = {}) ⇒ Types::CreateLayoutResponse

Creates a layout in the Cases domain. Layouts define the following configuration in the top section and More Info tab of the Cases user interface:

  • Fields to display to the users

  • Field ordering

<note markdown=“1”> Title and Status fields cannot be part of layouts since they are not configurable.

</note>

Examples:

Request syntax with placeholder values


resp = client.create_layout({
  domain_id: "DomainId", # required
  name: "LayoutName", # required
  content: { # required
    basic: {
      top_panel: {
        sections: [
          {
            field_group: {
              name: "FieldGroupNameString",
              fields: [ # required
                {
                  id: "FieldId", # required
                },
              ],
            },
          },
        ],
      },
      more_info: {
        sections: [
          {
            field_group: {
              name: "FieldGroupNameString",
              fields: [ # required
                {
                  id: "FieldId", # required
                },
              ],
            },
          },
        ],
      },
    },
  },
})

Response structure


resp.layout_id #=> String
resp.layout_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :name (required, String)

    The name of the layout. It must be unique for the Cases domain.

  • :content (required, Types::LayoutContent)

    Information about which fields will be present in the layout, and information about the order of the fields.

Returns:

See Also:



1053
1054
1055
1056
# File 'lib/aws-sdk-connectcases/client.rb', line 1053

def create_layout(params = {}, options = {})
  req = build_request(:create_layout, params)
  req.send_request(options)
end

Creates a related item (comments, tasks, and contacts) and associates it with a case.

There’s a quota for the number of fields allowed in a Custom type related item. See [Amazon Connect Cases quotas].

**Use cases**

Following are examples of related items that you may want to associate with a case:

  • Related contacts, such as calls, chats, emails tasks

  • Comments, for agent notes

  • SLAs, to capture target resolution goals

  • Cases, to capture related Amazon Connect Cases

  • Files, such as policy documentation or customer-provided attachments

  • Custom related items, which provide flexibility for you to define related items that such as bookings, orders, products, notices, and more

**Important things to know**

  • If you are associating a contact to a case by passing in ‘Contact` for a `type`, you must have [DescribeContact] permission on the ARN of the contact that you provide in `content.contact.contactArn`.

  • A Related Item is a resource that is associated with a case. It may or may not have an external identifier linking it to an external resource (for example, a ‘contactArn`). All Related Items have their own internal identifier, the `relatedItemArn`. Examples of related items include `comments` and `contacts`.

  • If you provide a value for ‘performedBy.userArn` you must also have

    DescribeUser][3

    permission on the ARN of the user that you

    provide.

  • The ‘type` field is reserved for internal use only.

Endpoints: See [Amazon Connect endpoints and quotas].

[1]: docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#cases-quotas [2]: docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContact.html [3]: docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html [4]: docs.aws.amazon.com/general/latest/gr/connect_region.html

Examples:

Request syntax with placeholder values


resp = client.create_related_item({
  domain_id: "DomainId", # required
  case_id: "CaseId", # required
  type: "Contact", # required, accepts Contact, Comment, File, Sla, ConnectCase, Custom
  content: { # required
    contact: {
      contact_arn: "ContactArn", # required
    },
    comment: {
      body: "CommentBody", # required
      content_type: "Text/Plain", # required, accepts Text/Plain
    },
    file: {
      file_arn: "FileArn", # required
    },
    sla: {
      sla_input_configuration: {
        name: "SlaName", # required
        type: "CaseField", # required, accepts CaseField
        field_id: "FieldId",
        target_field_values: [
          {
            string_value: "FieldValueUnionStringValueString",
            double_value: 1.0,
            boolean_value: false,
            empty_value: {
            },
            user_arn_value: "String",
          },
        ],
        target_sla_minutes: 1, # required
      },
    },
    connect_case: {
      case_id: "CaseId", # required
    },
    custom: {
      fields: [ # required
        {
          id: "FieldId", # required
          value: { # required
            string_value: "FieldValueUnionStringValueString",
            double_value: 1.0,
            boolean_value: false,
            empty_value: {
            },
            user_arn_value: "String",
          },
        },
      ],
    },
  },
  performed_by: {
    user_arn: "UserArn",
    custom_entity: "CustomEntity",
  },
})

Response structure


resp.related_item_id #=> String
resp.related_item_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :case_id (required, String)

    A unique identifier of the case.

  • :type (required, String)

    The type of a related item.

  • :content (required, Types::RelatedItemInputContent)

    The content of a related item to be created.

  • :performed_by (Types::UserUnion)

    Represents the creator of the related item.

Returns:

See Also:



1199
1200
1201
1202
# File 'lib/aws-sdk-connectcases/client.rb', line 1199

def create_related_item(params = {}, options = {})
  req = build_request(:create_related_item, params)
  req.send_request(options)
end

#create_template(params = {}) ⇒ Types::CreateTemplateResponse

Creates a template in the Cases domain. This template is used to define the case object model (that is, to define what data can be captured on cases) in a Cases domain. A template must have a unique name within a domain, and it must reference existing field IDs and layout IDs. Additionally, multiple fields with same IDs are not allowed within the same Template. A template can be either Active or Inactive, as indicated by its status. Inactive templates cannot be used to create cases.

Other template APIs are:

  • DeleteTemplate][1
  • GetTemplate][2
  • ListTemplates][3
  • UpdateTemplate][4

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_DeleteTemplate.html [2]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetTemplate.html [3]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_ListTemplates.html [4]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_UpdateTemplate.html

Examples:

Request syntax with placeholder values


resp = client.create_template({
  domain_id: "DomainId", # required
  name: "TemplateName", # required
  description: "TemplateDescription",
  layout_configuration: {
    default_layout: "LayoutId",
  },
  required_fields: [
    {
      field_id: "FieldId", # required
    },
  ],
  status: "Active", # accepts Active, Inactive
  rules: [
    {
      case_rule_id: "CaseRuleId", # required
      field_id: "FieldId",
    },
  ],
})

Response structure


resp.template_id #=> String
resp.template_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



1294
1295
1296
1297
# File 'lib/aws-sdk-connectcases/client.rb', line 1294

def create_template(params = {}, options = {})
  req = build_request(:create_template, params)
  req.send_request(options)
end

#delete_case(params = {}) ⇒ Struct

The DeleteCase API permanently deletes a case and all its associated resources from the cases data store. After a successful deletion, you cannot:

  • Retrieve related items

  • Access audit history

  • Perform any operations that require the CaseID

This action is irreversible. After you delete a case, you cannot recover its data.

Examples:

Request syntax with placeholder values


resp = client.delete_case({
  domain_id: "DomainId", # required
  case_id: "CaseId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    A unique identifier of the Cases domain.

  • :case_id (required, String)

    A unique identifier of the case.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1331
1332
1333
1334
# File 'lib/aws-sdk-connectcases/client.rb', line 1331

def delete_case(params = {}, options = {})
  req = build_request(:delete_case, params)
  req.send_request(options)
end

#delete_case_rule(params = {}) ⇒ Struct

Deletes a case rule. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template].

[1]: docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html

Examples:

Request syntax with placeholder values


resp = client.delete_case_rule({
  domain_id: "DomainId", # required
  case_rule_id: "CaseRuleId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    Unique identifier of a Cases domain.

  • :case_rule_id (required, String)

    Unique identifier of a case rule.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1364
1365
1366
1367
# File 'lib/aws-sdk-connectcases/client.rb', line 1364

def delete_case_rule(params = {}, options = {})
  req = build_request(:delete_case_rule, params)
  req.send_request(options)
end

#delete_domain(params = {}) ⇒ Struct

Deletes a Cases domain.

<note markdown=“1”> After deleting your domain you must disassociate the deleted domain from your Amazon Connect instance with another API call before being able to use Cases again with this Amazon Connect instance. See [DeleteIntegrationAssociation].

</note>

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html

Examples:

Request syntax with placeholder values


resp = client.delete_domain({
  domain_id: "DomainId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1397
1398
1399
1400
# File 'lib/aws-sdk-connectcases/client.rb', line 1397

def delete_domain(params = {}, options = {})
  req = build_request(:delete_domain, params)
  req.send_request(options)
end

#delete_field(params = {}) ⇒ Struct

Deletes a field from a cases template. You can delete up to 100 fields per domain.

After a field is deleted:

  • You can still retrieve the field by calling ‘BatchGetField`.

  • You cannot update a deleted field by calling ‘UpdateField`; it throws a `ValidationException`.

  • Deleted fields are not included in the ‘ListFields` response.

  • Calling ‘CreateCase` with a deleted field throws a `ValidationException` denoting which field identifiers in the request have been deleted.

  • Calling ‘GetCase` with a deleted field identifier returns the deleted field’s value if one exists.

  • Calling ‘UpdateCase` with a deleted field ID throws a `ValidationException` if the case does not already contain a value for the deleted field. Otherwise it succeeds, allowing you to update or remove (using `emptyValue: {}`) the field’s value from the case.

  • ‘GetTemplate` does not return field IDs for deleted fields.

  • ‘GetLayout` does not return field IDs for deleted fields.

  • Calling ‘SearchCases` with the deleted field ID as a filter returns any cases that have a value for the deleted field that matches the filter criteria.

  • Calling ‘SearchCases` with a `searchTerm` value that matches a deleted field’s value on a case returns the case in the response.

  • Calling ‘BatchPutFieldOptions` with a deleted field ID throw a `ValidationException`.

  • Calling ‘GetCaseEventConfiguration` does not return field IDs for deleted fields.

Examples:

Request syntax with placeholder values


resp = client.delete_field({
  domain_id: "DomainId", # required
  field_id: "FieldId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :field_id (required, String)

    Unique identifier of the field.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1462
1463
1464
1465
# File 'lib/aws-sdk-connectcases/client.rb', line 1462

def delete_field(params = {}, options = {})
  req = build_request(:delete_field, params)
  req.send_request(options)
end

#delete_layout(params = {}) ⇒ Struct

Deletes a layout from a cases template. You can delete up to 100 layouts per domain.

After a layout is deleted:

  • You can still retrieve the layout by calling ‘GetLayout`.

  • You cannot update a deleted layout by calling ‘UpdateLayout`; it throws a `ValidationException`.

  • Deleted layouts are not included in the ‘ListLayouts` response.

Examples:

Request syntax with placeholder values


resp = client.delete_layout({
  domain_id: "DomainId", # required
  layout_id: "LayoutId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :layout_id (required, String)

    The unique identifier of the layout.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1498
1499
1500
1501
# File 'lib/aws-sdk-connectcases/client.rb', line 1498

def delete_layout(params = {}, options = {})
  req = build_request(:delete_layout, params)
  req.send_request(options)
end

Deletes the related item resource under a case.

<note markdown=“1”> This API cannot be used on a FILE type related attachment. To delete this type of file, use the [DeleteAttachedFile] API

</note>

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_DeleteAttachedFile.html

Examples:

Request syntax with placeholder values


resp = client.delete_related_item({
  domain_id: "DomainId", # required
  case_id: "CaseId", # required
  related_item_id: "RelatedItemId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    A unique identifier of the Cases domain.

  • :case_id (required, String)

    A unique identifier of the case.

  • :related_item_id (required, String)

    A unique identifier of a related item.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1537
1538
1539
1540
# File 'lib/aws-sdk-connectcases/client.rb', line 1537

def delete_related_item(params = {}, options = {})
  req = build_request(:delete_related_item, params)
  req.send_request(options)
end

#delete_template(params = {}) ⇒ Struct

Deletes a cases template. You can delete up to 100 templates per domain.

After a cases template is deleted:

  • You can still retrieve the template by calling ‘GetTemplate`.

  • You cannot update the template.

  • You cannot create a case by using the deleted template.

  • Deleted templates are not included in the ‘ListTemplates` response.

Examples:

Request syntax with placeholder values


resp = client.delete_template({
  domain_id: "DomainId", # required
  template_id: "TemplateId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :template_id (required, String)

    A unique identifier of a template.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1574
1575
1576
1577
# File 'lib/aws-sdk-connectcases/client.rb', line 1574

def delete_template(params = {}, options = {})
  req = build_request(:delete_template, params)
  req.send_request(options)
end

#get_case(params = {}) ⇒ Types::GetCaseResponse

Returns information about a specific case if it exists.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_case({
  case_id: "CaseId", # required
  domain_id: "DomainId", # required
  fields: [ # required
    {
      id: "FieldId", # required
    },
  ],
  next_token: "NextToken",
})

Response structure


resp.fields #=> Array
resp.fields[0].id #=> String
resp.fields[0].value.string_value #=> String
resp.fields[0].value.double_value #=> Float
resp.fields[0].value.boolean_value #=> Boolean
resp.fields[0].value.user_arn_value #=> String
resp.template_id #=> String
resp.next_token #=> String
resp.tags #=> Hash
resp.tags["String"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :case_id (required, String)

    A unique identifier of the case.

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :fields (required, Array<Types::FieldIdentifier>)

    A list of unique field identifiers.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Returns:

See Also:



1634
1635
1636
1637
# File 'lib/aws-sdk-connectcases/client.rb', line 1634

def get_case(params = {}, options = {})
  req = build_request(:get_case, params)
  req.send_request(options)
end

#get_case_audit_events(params = {}) ⇒ Types::GetCaseAuditEventsResponse

Returns the audit history about a specific case if it exists.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_case_audit_events({
  case_id: "CaseId", # required
  domain_id: "DomainId", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.next_token #=> String
resp.audit_events #=> Array
resp.audit_events[0].event_id #=> String
resp.audit_events[0].type #=> String, one of "Case.Created", "Case.Updated", "RelatedItem.Created"
resp.audit_events[0].related_item_type #=> String, one of "Contact", "Comment", "File", "Sla", "ConnectCase", "Custom"
resp.audit_events[0].performed_time #=> Time
resp.audit_events[0].fields #=> Array
resp.audit_events[0].fields[0].event_field_id #=> String
resp.audit_events[0].fields[0].old_value.string_value #=> String
resp.audit_events[0].fields[0].old_value.double_value #=> Float
resp.audit_events[0].fields[0].old_value.boolean_value #=> Boolean
resp.audit_events[0].fields[0].old_value.user_arn_value #=> String
resp.audit_events[0].fields[0].new_value.string_value #=> String
resp.audit_events[0].fields[0].new_value.double_value #=> Float
resp.audit_events[0].fields[0].new_value.boolean_value #=> Boolean
resp.audit_events[0].fields[0].new_value.user_arn_value #=> String
resp.audit_events[0].performed_by.user.user_arn #=> String
resp.audit_events[0].performed_by.user.custom_entity #=> String
resp.audit_events[0].performed_by.iam_principal_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :case_id (required, String)

    A unique identifier of the case.

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :max_results (Integer)

    The maximum number of audit events to return. When no value is provided, 25 is the default.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Returns:

See Also:



1698
1699
1700
1701
# File 'lib/aws-sdk-connectcases/client.rb', line 1698

def get_case_audit_events(params = {}, options = {})
  req = build_request(:get_case_audit_events, params)
  req.send_request(options)
end

#get_case_event_configuration(params = {}) ⇒ Types::GetCaseEventConfigurationResponse

Returns the case event publishing configuration.

Examples:

Request syntax with placeholder values


resp = client.get_case_event_configuration({
  domain_id: "DomainId", # required
})

Response structure


resp.event_bridge.enabled #=> Boolean
resp.event_bridge.included_data.case_data.fields #=> Array
resp.event_bridge.included_data.case_data.fields[0].id #=> String
resp.event_bridge.included_data.related_item_data.include_content #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

Returns:

See Also:



1729
1730
1731
1732
# File 'lib/aws-sdk-connectcases/client.rb', line 1729

def get_case_event_configuration(params = {}, options = {})
  req = build_request(:get_case_event_configuration, params)
  req.send_request(options)
end

#get_domain(params = {}) ⇒ Types::GetDomainResponse

Returns information about a specific domain if it exists.

Examples:

Request syntax with placeholder values


resp = client.get_domain({
  domain_id: "DomainId", # required
})

Response structure


resp.domain_id #=> String
resp.domain_arn #=> String
resp.name #=> String
resp.created_time #=> Time
resp.domain_status #=> String, one of "Active", "CreationInProgress", "CreationFailed"
resp.tags #=> Hash
resp.tags["String"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

Returns:

See Also:



1768
1769
1770
1771
# File 'lib/aws-sdk-connectcases/client.rb', line 1768

def get_domain(params = {}, options = {})
  req = build_request(:get_domain, params)
  req.send_request(options)
end

#get_layout(params = {}) ⇒ Types::GetLayoutResponse

Returns the details for the requested layout.

Examples:

Request syntax with placeholder values


resp = client.get_layout({
  domain_id: "DomainId", # required
  layout_id: "LayoutId", # required
})

Response structure


resp.layout_id #=> String
resp.layout_arn #=> String
resp.name #=> String
resp.content.basic.top_panel.sections #=> Array
resp.content.basic.top_panel.sections[0].field_group.name #=> String
resp.content.basic.top_panel.sections[0].field_group.fields #=> Array
resp.content.basic.top_panel.sections[0].field_group.fields[0].id #=> String
resp.content.basic.more_info.sections #=> Array
resp.content.basic.more_info.sections[0].field_group.name #=> String
resp.content.basic.more_info.sections[0].field_group.fields #=> Array
resp.content.basic.more_info.sections[0].field_group.fields[0].id #=> String
resp.tags #=> Hash
resp.tags["String"] #=> String
resp.deleted #=> Boolean
resp.created_time #=> Time
resp.last_modified_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :layout_id (required, String)

    The unique identifier of the layout.

Returns:

See Also:



1822
1823
1824
1825
# File 'lib/aws-sdk-connectcases/client.rb', line 1822

def get_layout(params = {}, options = {})
  req = build_request(:get_layout, params)
  req.send_request(options)
end

#get_template(params = {}) ⇒ Types::GetTemplateResponse

Examples:

Request syntax with placeholder values


resp = client.get_template({
  domain_id: "DomainId", # required
  template_id: "TemplateId", # required
})

Response structure


resp.template_id #=> String
resp.template_arn #=> String
resp.name #=> String
resp.description #=> String
resp.layout_configuration.default_layout #=> String
resp.required_fields #=> Array
resp.required_fields[0].field_id #=> String
resp.tags #=> Hash
resp.tags["String"] #=> String
resp.status #=> String, one of "Active", "Inactive"
resp.deleted #=> Boolean
resp.created_time #=> Time
resp.last_modified_time #=> Time
resp.rules #=> Array
resp.rules[0].case_rule_id #=> String
resp.rules[0].field_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :template_id (required, String)

    A unique identifier of a template.

Returns:

See Also:



1896
1897
1898
1899
# File 'lib/aws-sdk-connectcases/client.rb', line 1896

def get_template(params = {}, options = {})
  req = build_request(:get_template, params)
  req.send_request(options)
end

#list_case_rules(params = {}) ⇒ Types::ListCaseRulesResponse

Lists all case rules in a Cases domain. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template].

[1]: docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_case_rules({
  domain_id: "DomainId", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.case_rules #=> Array
resp.case_rules[0].case_rule_id #=> String
resp.case_rules[0].name #=> String
resp.case_rules[0].case_rule_arn #=> String
resp.case_rules[0].rule_type #=> String, one of "Required", "Hidden", "FieldOptions"
resp.case_rules[0].description #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    Unique identifier of a Cases domain.

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Returns:

See Also:



1950
1951
1952
1953
# File 'lib/aws-sdk-connectcases/client.rb', line 1950

def list_case_rules(params = {}, options = {})
  req = build_request(:list_case_rules, params)
  req.send_request(options)
end

#list_cases_for_contact(params = {}) ⇒ Types::ListCasesForContactResponse

Lists cases for a given contact.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_cases_for_contact({
  domain_id: "DomainId", # required
  contact_arn: "ContactArn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.cases #=> Array
resp.cases[0].case_id #=> String
resp.cases[0].template_id #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :contact_arn (required, String)

    A unique identifier of a contact in Amazon Connect.

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Returns:

See Also:



1998
1999
2000
2001
# File 'lib/aws-sdk-connectcases/client.rb', line 1998

def list_cases_for_contact(params = {}, options = {})
  req = build_request(:list_cases_for_contact, params)
  req.send_request(options)
end

#list_domains(params = {}) ⇒ Types::ListDomainsResponse

Lists all cases domains in the Amazon Web Services account. Each list item is a condensed summary object of the domain.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_domains({
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.domains #=> Array
resp.domains[0].domain_id #=> String
resp.domains[0].domain_arn #=> String
resp.domains[0].name #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Returns:

See Also:



2040
2041
2042
2043
# File 'lib/aws-sdk-connectcases/client.rb', line 2040

def list_domains(params = {}, options = {})
  req = build_request(:list_domains, params)
  req.send_request(options)
end

#list_field_options(params = {}) ⇒ Types::ListFieldOptionsResponse

Lists all of the field options for a field identifier in the domain.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_field_options({
  domain_id: "DomainId", # required
  field_id: "FieldId", # required
  max_results: 1,
  next_token: "NextToken",
  values: ["Value"],
})

Response structure


resp.options #=> Array
resp.options[0].name #=> String
resp.options[0].value #=> String
resp.options[0].active #=> Boolean
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :field_id (required, String)

    The unique identifier of a field.

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

  • :values (Array<String>)

    A list of ‘FieldOption` values to filter on for `ListFieldOptions`.

Returns:

See Also:



2093
2094
2095
2096
# File 'lib/aws-sdk-connectcases/client.rb', line 2093

def list_field_options(params = {}, options = {})
  req = build_request(:list_field_options, params)
  req.send_request(options)
end

#list_fields(params = {}) ⇒ Types::ListFieldsResponse

Lists all fields in a Cases domain.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_fields({
  domain_id: "DomainId", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.fields #=> Array
resp.fields[0].field_id #=> String
resp.fields[0].field_arn #=> String
resp.fields[0].name #=> String
resp.fields[0].type #=> String, one of "Text", "Number", "Boolean", "DateTime", "SingleSelect", "Url", "User"
resp.fields[0].namespace #=> String, one of "System", "Custom"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Returns:

See Also:



2140
2141
2142
2143
# File 'lib/aws-sdk-connectcases/client.rb', line 2140

def list_fields(params = {}, options = {})
  req = build_request(:list_fields, params)
  req.send_request(options)
end

#list_layouts(params = {}) ⇒ Types::ListLayoutsResponse

Lists all layouts in the given cases domain. Each list item is a condensed summary object of the layout.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_layouts({
  domain_id: "DomainId", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.layouts #=> Array
resp.layouts[0].layout_id #=> String
resp.layouts[0].layout_arn #=> String
resp.layouts[0].name #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Returns:

See Also:



2186
2187
2188
2189
# File 'lib/aws-sdk-connectcases/client.rb', line 2186

def list_layouts(params = {}, options = {})
  req = build_request(:list_layouts, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Lists tags for a resource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  arn: "Arn", # required
})

Response structure


resp.tags #=> Hash
resp.tags["String"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :arn (required, String)

    The Amazon Resource Name (ARN)

Returns:

See Also:



2215
2216
2217
2218
# File 'lib/aws-sdk-connectcases/client.rb', line 2215

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#list_templates(params = {}) ⇒ Types::ListTemplatesResponse

Lists all of the templates in a Cases domain. Each list item is a condensed summary object of the template.

Other template APIs are:

  • CreateTemplate][1
  • DeleteTemplate][2
  • GetTemplate][3
  • UpdateTemplate][4

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_CreateTemplate.html [2]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_DeleteTemplate.html [3]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetTemplate.html [4]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_UpdateTemplate.html

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_templates({
  domain_id: "DomainId", # required
  max_results: 1,
  next_token: "NextToken",
  status: ["Active"], # accepts Active, Inactive
})

Response structure


resp.templates #=> Array
resp.templates[0].template_id #=> String
resp.templates[0].template_arn #=> String
resp.templates[0].name #=> String
resp.templates[0].status #=> String, one of "Active", "Inactive"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

  • :status (Array<String>)

    A list of status values to filter on.

Returns:

See Also:



2283
2284
2285
2286
# File 'lib/aws-sdk-connectcases/client.rb', line 2283

def list_templates(params = {}, options = {})
  req = build_request(:list_templates, params)
  req.send_request(options)
end

#put_case_event_configuration(params = {}) ⇒ Struct

Adds case event publishing configuration. For a complete list of fields you can add to the event message, see [Create case fields] in the *Amazon Connect Administrator Guide*

[1]: docs.aws.amazon.com/connect/latest/adminguide/case-fields.html

Examples:

Request syntax with placeholder values


resp = client.put_case_event_configuration({
  domain_id: "DomainId", # required
  event_bridge: { # required
    enabled: false, # required
    included_data: {
      case_data: {
        fields: [ # required
          {
            id: "FieldId", # required
          },
        ],
      },
      related_item_data: {
        include_content: false, # required
      },
    },
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :event_bridge (required, Types::EventBridgeConfiguration)

    Configuration to enable EventBridge case event delivery and determine what data is delivered.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2330
2331
2332
2333
# File 'lib/aws-sdk-connectcases/client.rb', line 2330

def put_case_event_configuration(params = {}, options = {})
  req = build_request(:put_case_event_configuration, params)
  req.send_request(options)
end

Searches for related items across all cases within a domain. This is a global search operation that returns related items from multiple cases, unlike the case-specific [SearchRelatedItems] API.

**Use cases**

Following are common uses cases for this API:

  • Find cases with similar issues across the domain. For example, search for all cases containing comments about “product defect” to identify patterns and existing solutions.

  • Locate all cases associated with specific contacts or orders. For example, find all cases linked to a contactArn to understand the complete customer journey.

  • Monitor SLA compliance across cases. For example, search for all cases with “Active” SLA status to prioritize remediation efforts.

**Important things to know**

  • This API returns case identifiers, not complete case objects. To retrieve full case details, you must make additional calls to the

    GetCase][2

    API for each returned case ID.

  • This API searches across related items content, not case fields. Use the [SearchCases] API to search within case field values.

Endpoints: See [Amazon Connect endpoints and quotas].

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_SearchRelatedItems.html [2]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetCase.html [3]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_SearchCases.html [4]: docs.aws.amazon.com/general/latest/gr/connect_region.html

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.search_all_related_items({
  domain_id: "DomainId", # required
  max_results: 1,
  next_token: "NextToken",
  filters: [
    {
      contact: {
        channel: ["Channel"],
        contact_arn: "ContactArn",
      },
      comment: {
      },
      file: {
        file_arn: "FileArn",
      },
      sla: {
        name: "SlaName",
        status: "Active", # accepts Active, Overdue, Met, NotMet
      },
      connect_case: {
        case_id: "CaseId",
      },
      custom: {
        fields: {
          field: {
            equal_to: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            contains: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            greater_than: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            greater_than_or_equal_to: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            less_than: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            less_than_or_equal_to: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
          },
          not: {
            # recursive CustomFieldsFilter
          },
          and_all: [
            {
              # recursive CustomFieldsFilter
            },
          ],
          or_all: [
            {
              # recursive CustomFieldsFilter
            },
          ],
        },
      },
    },
  ],
  sorts: [
    {
      sort_property: "AssociationTime", # required, accepts AssociationTime, CaseId
      sort_order: "Asc", # required, accepts Asc, Desc
    },
  ],
})

Response structure


resp.next_token #=> String
resp.related_items #=> Array
resp.related_items[0].related_item_id #=> String
resp.related_items[0].case_id #=> String
resp.related_items[0].type #=> String, one of "Contact", "Comment", "File", "Sla", "ConnectCase", "Custom"
resp.related_items[0].association_time #=> Time
resp.related_items[0].content.contact.contact_arn #=> String
resp.related_items[0].content.contact.channel #=> String
resp.related_items[0].content.contact.connected_to_system_time #=> Time
resp.related_items[0].content.comment.body #=> String
resp.related_items[0].content.comment.content_type #=> String, one of "Text/Plain"
resp.related_items[0].content.file.file_arn #=> String
resp.related_items[0].content.sla.sla_configuration.name #=> String
resp.related_items[0].content.sla.sla_configuration.type #=> String, one of "CaseField"
resp.related_items[0].content.sla.sla_configuration.status #=> String, one of "Active", "Overdue", "Met", "NotMet"
resp.related_items[0].content.sla.sla_configuration.field_id #=> String
resp.related_items[0].content.sla.sla_configuration.target_field_values #=> Array
resp.related_items[0].content.sla.sla_configuration.target_field_values[0].string_value #=> String
resp.related_items[0].content.sla.sla_configuration.target_field_values[0].double_value #=> Float
resp.related_items[0].content.sla.sla_configuration.target_field_values[0].boolean_value #=> Boolean
resp.related_items[0].content.sla.sla_configuration.target_field_values[0].user_arn_value #=> String
resp.related_items[0].content.sla.sla_configuration.target_time #=> Time
resp.related_items[0].content.sla.sla_configuration.completion_time #=> Time
resp.related_items[0].content.connect_case.case_id #=> String
resp.related_items[0].content.custom.fields #=> Array
resp.related_items[0].content.custom.fields[0].id #=> String
resp.related_items[0].content.custom.fields[0].value.string_value #=> String
resp.related_items[0].content.custom.fields[0].value.double_value #=> Float
resp.related_items[0].content.custom.fields[0].value.boolean_value #=> Boolean
resp.related_items[0].content.custom.fields[0].value.user_arn_value #=> String
resp.related_items[0].performed_by.user_arn #=> String
resp.related_items[0].performed_by.custom_entity #=> String
resp.related_items[0].tags #=> Hash
resp.related_items[0].tags["String"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

  • :filters (Array<Types::RelatedItemTypeFilter>)

    The list of types of related items and their parameters to use for filtering. The filters work as an OR condition: caller gets back related items that match any of the specified filter types.

  • :sorts (Array<Types::SearchAllRelatedItemsSort>)

    A structured set of sort terms to specify the order in which related items should be returned. Supports sorting by association time or case ID. The sorts work in the order specified: first sort term takes precedence over subsequent terms.

Returns:

See Also:



2561
2562
2563
2564
# File 'lib/aws-sdk-connectcases/client.rb', line 2561

def search_all_related_items(params = {}, options = {})
  req = build_request(:search_all_related_items, params)
  req.send_request(options)
end

#search_cases(params = {}) ⇒ Types::SearchCasesResponse

Searches for cases within their associated Cases domain. Search results are returned as a paginated list of abridged case documents.

<note markdown=“1”> For ‘customer_id` you must provide the full customer profile ARN in this format: ` arn:aws:profile:your AWS Region:your AWS account ID:domains/profiles domain name/profiles/profile ID`.

</note>

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.search_cases({
  domain_id: "DomainId", # required
  max_results: 1,
  next_token: "NextToken",
  search_term: "SearchCasesRequestSearchTermString",
  filter: {
    field: {
      equal_to: {
        id: "FieldId", # required
        value: { # required
          string_value: "FieldValueUnionStringValueString",
          double_value: 1.0,
          boolean_value: false,
          empty_value: {
          },
          user_arn_value: "String",
        },
      },
      contains: {
        id: "FieldId", # required
        value: { # required
          string_value: "FieldValueUnionStringValueString",
          double_value: 1.0,
          boolean_value: false,
          empty_value: {
          },
          user_arn_value: "String",
        },
      },
      greater_than: {
        id: "FieldId", # required
        value: { # required
          string_value: "FieldValueUnionStringValueString",
          double_value: 1.0,
          boolean_value: false,
          empty_value: {
          },
          user_arn_value: "String",
        },
      },
      greater_than_or_equal_to: {
        id: "FieldId", # required
        value: { # required
          string_value: "FieldValueUnionStringValueString",
          double_value: 1.0,
          boolean_value: false,
          empty_value: {
          },
          user_arn_value: "String",
        },
      },
      less_than: {
        id: "FieldId", # required
        value: { # required
          string_value: "FieldValueUnionStringValueString",
          double_value: 1.0,
          boolean_value: false,
          empty_value: {
          },
          user_arn_value: "String",
        },
      },
      less_than_or_equal_to: {
        id: "FieldId", # required
        value: { # required
          string_value: "FieldValueUnionStringValueString",
          double_value: 1.0,
          boolean_value: false,
          empty_value: {
          },
          user_arn_value: "String",
        },
      },
    },
    not: {
      # recursive CaseFilter
    },
    and_all: [
      {
        # recursive CaseFilter
      },
    ],
    or_all: [
      {
        # recursive CaseFilter
      },
    ],
  },
  sorts: [
    {
      field_id: "FieldId", # required
      sort_order: "Asc", # required, accepts Asc, Desc
    },
  ],
  fields: [
    {
      id: "FieldId", # required
    },
  ],
})

Response structure


resp.next_token #=> String
resp.cases #=> Array
resp.cases[0].case_id #=> String
resp.cases[0].template_id #=> String
resp.cases[0].fields #=> Array
resp.cases[0].fields[0].id #=> String
resp.cases[0].fields[0].value.string_value #=> String
resp.cases[0].fields[0].value.double_value #=> Float
resp.cases[0].fields[0].value.boolean_value #=> Boolean
resp.cases[0].fields[0].value.user_arn_value #=> String
resp.cases[0].tags #=> Hash
resp.cases[0].tags["String"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :max_results (Integer)

    The maximum number of cases to return. When no value is provided, 25 is the default.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

  • :search_term (String)

    A word or phrase used to perform a quick search.

  • :filter (Types::CaseFilter)

    A list of filter objects.

  • :sorts (Array<Types::Sort>)

    A list of sorts where each sort specifies a field and their sort order to be applied to the results.

  • :fields (Array<Types::FieldIdentifier>)

    The list of field identifiers to be returned as part of the response.

Returns:

See Also:



2729
2730
2731
2732
# File 'lib/aws-sdk-connectcases/client.rb', line 2729

def search_cases(params = {}, options = {})
  req = build_request(:search_cases, params)
  req.send_request(options)
end

Searches for related items that are associated with a case.

<note markdown=“1”> If no filters are provided, this returns all related items associated with a case.

</note>

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.search_related_items({
  domain_id: "DomainId", # required
  case_id: "CaseId", # required
  max_results: 1,
  next_token: "NextToken",
  filters: [
    {
      contact: {
        channel: ["Channel"],
        contact_arn: "ContactArn",
      },
      comment: {
      },
      file: {
        file_arn: "FileArn",
      },
      sla: {
        name: "SlaName",
        status: "Active", # accepts Active, Overdue, Met, NotMet
      },
      connect_case: {
        case_id: "CaseId",
      },
      custom: {
        fields: {
          field: {
            equal_to: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            contains: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            greater_than: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            greater_than_or_equal_to: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            less_than: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
            less_than_or_equal_to: {
              id: "FieldId", # required
              value: { # required
                string_value: "FieldValueUnionStringValueString",
                double_value: 1.0,
                boolean_value: false,
                empty_value: {
                },
                user_arn_value: "String",
              },
            },
          },
          not: {
            # recursive CustomFieldsFilter
          },
          and_all: [
            {
              # recursive CustomFieldsFilter
            },
          ],
          or_all: [
            {
              # recursive CustomFieldsFilter
            },
          ],
        },
      },
    },
  ],
})

Response structure


resp.next_token #=> String
resp.related_items #=> Array
resp.related_items[0].related_item_id #=> String
resp.related_items[0].type #=> String, one of "Contact", "Comment", "File", "Sla", "ConnectCase", "Custom"
resp.related_items[0].association_time #=> Time
resp.related_items[0].content.contact.contact_arn #=> String
resp.related_items[0].content.contact.channel #=> String
resp.related_items[0].content.contact.connected_to_system_time #=> Time
resp.related_items[0].content.comment.body #=> String
resp.related_items[0].content.comment.content_type #=> String, one of "Text/Plain"
resp.related_items[0].content.file.file_arn #=> String
resp.related_items[0].content.sla.sla_configuration.name #=> String
resp.related_items[0].content.sla.sla_configuration.type #=> String, one of "CaseField"
resp.related_items[0].content.sla.sla_configuration.status #=> String, one of "Active", "Overdue", "Met", "NotMet"
resp.related_items[0].content.sla.sla_configuration.field_id #=> String
resp.related_items[0].content.sla.sla_configuration.target_field_values #=> Array
resp.related_items[0].content.sla.sla_configuration.target_field_values[0].string_value #=> String
resp.related_items[0].content.sla.sla_configuration.target_field_values[0].double_value #=> Float
resp.related_items[0].content.sla.sla_configuration.target_field_values[0].boolean_value #=> Boolean
resp.related_items[0].content.sla.sla_configuration.target_field_values[0].user_arn_value #=> String
resp.related_items[0].content.sla.sla_configuration.target_time #=> Time
resp.related_items[0].content.sla.sla_configuration.completion_time #=> Time
resp.related_items[0].content.connect_case.case_id #=> String
resp.related_items[0].content.custom.fields #=> Array
resp.related_items[0].content.custom.fields[0].id #=> String
resp.related_items[0].content.custom.fields[0].value.string_value #=> String
resp.related_items[0].content.custom.fields[0].value.double_value #=> Float
resp.related_items[0].content.custom.fields[0].value.boolean_value #=> Boolean
resp.related_items[0].content.custom.fields[0].value.user_arn_value #=> String
resp.related_items[0].tags #=> Hash
resp.related_items[0].tags["String"] #=> String
resp.related_items[0].performed_by.user_arn #=> String
resp.related_items[0].performed_by.custom_entity #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :case_id (required, String)

    A unique identifier of the case.

  • :max_results (Integer)

    The maximum number of results to return per page.

  • :next_token (String)

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

  • :filters (Array<Types::RelatedItemTypeFilter>)

    The list of types of related items and their parameters to use for filtering.

Returns:

See Also:



2920
2921
2922
2923
# File 'lib/aws-sdk-connectcases/client.rb', line 2920

def search_related_items(params = {}, options = {})
  req = build_request(:search_related_items, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Adds tags to a resource.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  arn: "Arn", # required
  tags: { # required
    "String" => "String",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :arn (required, String)

    The Amazon Resource Name (ARN)

  • :tags (required, Hash<String,String>)

    A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2949
2950
2951
2952
# File 'lib/aws-sdk-connectcases/client.rb', line 2949

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Untags a resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  arn: "Arn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :arn (required, String)

    The Amazon Resource Name (ARN)

  • :tag_keys (required, Array<String>)

    List of tag keys.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2975
2976
2977
2978
# File 'lib/aws-sdk-connectcases/client.rb', line 2975

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_case(params = {}) ⇒ Struct

<note markdown=“1”> If you provide a value for ‘PerformedBy.UserArn` you must also have

connect:DescribeUser][1

permission on the User ARN resource that you

provide

</note>

Updates the values of fields on a case. Fields to be updated are

received as an array of id/value pairs identical to the ‘CreateCase` input .

If the action is successful, the service sends back an HTTP 200

response with an empty HTTP body.

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html

Examples:

Request syntax with placeholder values


resp = client.update_case({
  domain_id: "DomainId", # required
  case_id: "CaseId", # required
  fields: [ # required
    {
      id: "FieldId", # required
      value: { # required
        string_value: "FieldValueUnionStringValueString",
        double_value: 1.0,
        boolean_value: false,
        empty_value: {
        },
        user_arn_value: "String",
      },
    },
  ],
  performed_by: {
    user_arn: "UserArn",
    custom_entity: "CustomEntity",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :case_id (required, String)

    A unique identifier of the case.

  • :fields (required, Array<Types::FieldValue>)

    An array of objects with ‘fieldId` (matching ListFields/DescribeField) and value union data, structured identical to `CreateCase`.

  • :performed_by (Types::UserUnion)

    Represents the entity that performed the action.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3041
3042
3043
3044
# File 'lib/aws-sdk-connectcases/client.rb', line 3041

def update_case(params = {}, options = {})
  req = build_request(:update_case, params)
  req.send_request(options)
end

#update_case_rule(params = {}) ⇒ Struct

Updates a case rule. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see [Add case field conditions to a case template].

[1]: docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html

Examples:

Request syntax with placeholder values


resp = client.update_case_rule({
  domain_id: "DomainId", # required
  case_rule_id: "CaseRuleId", # required
  name: "CaseRuleName",
  description: "CaseRuleDescription",
  rule: {
    required: {
      default_value: false, # required
      conditions: [ # required
        {
          equal_to: {
            operand_one: { # required
              field_id: "FieldId",
            },
            operand_two: { # required
              string_value: "OperandTwoStringValueString",
              boolean_value: false,
              double_value: 1.0,
              empty_value: {
              },
            },
            result: false, # required
          },
          not_equal_to: {
            operand_one: { # required
              field_id: "FieldId",
            },
            operand_two: { # required
              string_value: "OperandTwoStringValueString",
              boolean_value: false,
              double_value: 1.0,
              empty_value: {
              },
            },
            result: false, # required
          },
        },
      ],
    },
    field_options: {
      parent_field_id: "FieldId",
      child_field_id: "FieldId",
      parent_child_field_options_mappings: [ # required
        {
          parent_field_option_value: "ParentChildFieldOptionValue", # required
          child_field_option_values: ["ParentChildFieldOptionValue"], # required
        },
      ],
    },
    hidden: {
      default_value: false, # required
      conditions: [ # required
        {
          equal_to: {
            operand_one: { # required
              field_id: "FieldId",
            },
            operand_two: { # required
              string_value: "OperandTwoStringValueString",
              boolean_value: false,
              double_value: 1.0,
              empty_value: {
              },
            },
            result: false, # required
          },
          not_equal_to: {
            operand_one: { # required
              field_id: "FieldId",
            },
            operand_two: { # required
              string_value: "OperandTwoStringValueString",
              boolean_value: false,
              double_value: 1.0,
              empty_value: {
              },
            },
            result: false, # required
          },
        },
      ],
    },
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    Unique identifier of a Cases domain.

  • :case_rule_id (required, String)

    Unique identifier of a case rule.

  • :name (String)

    Name of the case rule.

  • :description (String)

    Description of a case rule.

  • :rule (Types::CaseRuleDetails)

    Represents what rule type should take place, under what conditions.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3163
3164
3165
3166
# File 'lib/aws-sdk-connectcases/client.rb', line 3163

def update_case_rule(params = {}, options = {})
  req = build_request(:update_case_rule, params)
  req.send_request(options)
end

#update_field(params = {}) ⇒ Struct

Updates the properties of an existing field.

Examples:

Request syntax with placeholder values


resp = client.update_field({
  domain_id: "DomainId", # required
  field_id: "FieldId", # required
  name: "FieldName",
  description: "FieldDescription",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :field_id (required, String)

    The unique identifier of a field.

  • :name (String)

    The name of the field.

  • :description (String)

    The description of a field.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3197
3198
3199
3200
# File 'lib/aws-sdk-connectcases/client.rb', line 3197

def update_field(params = {}, options = {})
  req = build_request(:update_field, params)
  req.send_request(options)
end

#update_layout(params = {}) ⇒ Struct

Updates the attributes of an existing layout.

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

A ‘ValidationException` is returned when you add non-existent `fieldIds` to a layout.

<note markdown=“1”> Title and Status fields cannot be part of layouts because they are not configurable.

</note>

Examples:

Request syntax with placeholder values


resp = client.update_layout({
  domain_id: "DomainId", # required
  layout_id: "LayoutId", # required
  name: "LayoutName",
  content: {
    basic: {
      top_panel: {
        sections: [
          {
            field_group: {
              name: "FieldGroupNameString",
              fields: [ # required
                {
                  id: "FieldId", # required
                },
              ],
            },
          },
        ],
      },
      more_info: {
        sections: [
          {
            field_group: {
              name: "FieldGroupNameString",
              fields: [ # required
                {
                  id: "FieldId", # required
                },
              ],
            },
          },
        ],
      },
    },
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :layout_id (required, String)

    The unique identifier of the layout.

  • :name (String)

    The name of the layout. It must be unique per domain.

  • :content (Types::LayoutContent)

    Information about which fields will be present in the layout, the order of the fields.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3274
3275
3276
3277
# File 'lib/aws-sdk-connectcases/client.rb', line 3274

def update_layout(params = {}, options = {})
  req = build_request(:update_layout, params)
  req.send_request(options)
end

#update_template(params = {}) ⇒ Struct

Updates the attributes of an existing template. The template attributes that can be modified include ‘name`, `description`, `layoutConfiguration`, `requiredFields`, and `status`. At least one of these attributes must not be null. If a null value is provided for a given attribute, that attribute is ignored and its current value is preserved.

Other template APIs are:

  • CreateTemplate][1
  • DeleteTemplate][2
  • GetTemplate][3
  • ListTemplates][4

[1]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_CreateTemplate.html [2]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_DeleteTemplate.html [3]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetTemplate.html [4]: docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_ListTemplates.html

Examples:

Request syntax with placeholder values


resp = client.update_template({
  domain_id: "DomainId", # required
  template_id: "TemplateId", # required
  name: "TemplateName",
  description: "TemplateDescription",
  layout_configuration: {
    default_layout: "LayoutId",
  },
  required_fields: [
    {
      field_id: "FieldId", # required
    },
  ],
  status: "Active", # accepts Active, Inactive
  rules: [
    {
      case_rule_id: "CaseRuleId", # required
      field_id: "FieldId",
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_id (required, String)

    The unique identifier of the Cases domain.

  • :template_id (required, String)

    A unique identifier for the template.

  • :name (String)

    The name of the template. It must be unique per domain.

  • :description (String)

    A brief description of the template.

  • :layout_configuration (Types::LayoutConfiguration)

    Configuration of layouts associated to the template.

  • :required_fields (Array<Types::RequiredField>)

    A list of fields that must contain a value for a case to be successfully created with this template.

  • :status (String)

    The status of the template.

  • :rules (Array<Types::TemplateRule>)

    A list of case rules (also known as [case field conditions]) on a template.

    [1]: docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3363
3364
3365
3366
# File 'lib/aws-sdk-connectcases/client.rb', line 3363

def update_template(params = {}, options = {})
  req = build_request(:update_template, params)
  req.send_request(options)
end

#waiter_namesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


3392
3393
3394
# File 'lib/aws-sdk-connectcases/client.rb', line 3392

def waiter_names
  []
end