import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import type { UpdateContactRoutingDataRequest, UpdateContactRoutingDataResponse } from "../models/models_3"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link UpdateContactRoutingDataCommand}. */ export interface UpdateContactRoutingDataCommandInput extends UpdateContactRoutingDataRequest { } /** * @public * * The output of {@link UpdateContactRoutingDataCommand}. */ export interface UpdateContactRoutingDataCommandOutput extends UpdateContactRoutingDataResponse, __MetadataBearer { } declare const UpdateContactRoutingDataCommand_base: { new (input: UpdateContactRoutingDataCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: UpdateContactRoutingDataCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). These properties can be used to change a customer's position * in the queue. For example, you can move a contact to the back of the queue by setting a lower routing priority * relative to other contacts in queue; or you can move a contact to the front of the queue by increasing the routing * age which will make the contact look artificially older and therefore higher up in the first-in-first-out routing * order. Note that adjusting the routing age of a contact affects only its position in queue, and not its actual queue * wait time as reported through metrics. These properties can also be updated by using the Set routing priority / age flow * block.

* *

Either QueuePriority or QueueTimeAdjustmentInSeconds should be provided within the request body, but not both.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ConnectClient, UpdateContactRoutingDataCommand } from "@aws-sdk/client-connect"; // ES Modules import * // const { ConnectClient, UpdateContactRoutingDataCommand } = require("@aws-sdk/client-connect"); // CommonJS import * // import type { ConnectClientConfig } from "@aws-sdk/client-connect"; * const config = {}; // type is ConnectClientConfig * const client = new ConnectClient(config); * const input = { // UpdateContactRoutingDataRequest * InstanceId: "STRING_VALUE", // required * ContactId: "STRING_VALUE", // required * QueueTimeAdjustmentSeconds: Number("int"), * QueuePriority: Number("long"), * RoutingCriteria: { // RoutingCriteriaInput * Steps: [ // RoutingCriteriaInputSteps * { // RoutingCriteriaInputStep * Expiry: { // RoutingCriteriaInputStepExpiry * DurationInSeconds: Number("int"), * }, * Expression: { // Expression * AttributeCondition: { // AttributeCondition * Name: "STRING_VALUE", * Value: "STRING_VALUE", * ProficiencyLevel: Number("float"), * Range: { // Range * MinProficiencyLevel: Number("float"), * MaxProficiencyLevel: Number("float"), * }, * MatchCriteria: { // MatchCriteria * AgentsCriteria: { // AgentsCriteria * AgentIds: [ // AgentIds * "STRING_VALUE", * ], * }, * }, * ComparisonOperator: "STRING_VALUE", * }, * AndExpression: [ // Expressions * { * AttributeCondition: { * Name: "STRING_VALUE", * Value: "STRING_VALUE", * ProficiencyLevel: Number("float"), * Range: { * MinProficiencyLevel: Number("float"), * MaxProficiencyLevel: Number("float"), * }, * MatchCriteria: { * AgentsCriteria: { * AgentIds: [ * "STRING_VALUE", * ], * }, * }, * ComparisonOperator: "STRING_VALUE", * }, * AndExpression: [ * "", * ], * OrExpression: [ * "", * ], * NotAttributeCondition: { * Name: "STRING_VALUE", * Value: "STRING_VALUE", * ProficiencyLevel: Number("float"), * Range: { * MinProficiencyLevel: Number("float"), * MaxProficiencyLevel: Number("float"), * }, * MatchCriteria: { * AgentsCriteria: { * AgentIds: [ * "STRING_VALUE", * ], * }, * }, * ComparisonOperator: "STRING_VALUE", * }, * }, * ], * OrExpression: [ * "", * ], * NotAttributeCondition: { * Name: "STRING_VALUE", * Value: "STRING_VALUE", * ProficiencyLevel: Number("float"), * Range: { * MinProficiencyLevel: Number("float"), * MaxProficiencyLevel: Number("float"), * }, * MatchCriteria: { * AgentsCriteria: { * AgentIds: [ * "STRING_VALUE", * ], * }, * }, * ComparisonOperator: "STRING_VALUE", * }, * }, * }, * ], * }, * }; * const command = new UpdateContactRoutingDataCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param UpdateContactRoutingDataCommandInput - {@link UpdateContactRoutingDataCommandInput} * @returns {@link UpdateContactRoutingDataCommandOutput} * @see {@link UpdateContactRoutingDataCommandInput} for command's `input` shape. * @see {@link UpdateContactRoutingDataCommandOutput} for command's `response` shape. * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient permissions to perform this action.

* * @throws {@link InternalServiceException} (server fault) *

Request processing failed because of an error or failure with the service.

* * @throws {@link InvalidActiveRegionException} (client fault) *

This exception occurs when an API request is made to a non-active region in an Amazon Connect instance configured with Amazon Connect Global Resiliency. For example, if the active region is US West (Oregon) and a request is made to US East (N. Virginia), the exception will be returned.

* * @throws {@link InvalidParameterException} (client fault) *

One or more of the specified parameters are not valid.

* * @throws {@link ResourceConflictException} (client fault) *

A resource already has that name.

* * @throws {@link ResourceNotFoundException} (client fault) *

The specified resource was not found.

* * @throws {@link ThrottlingException} (client fault) *

The throttling limit has been exceeded.

* * @throws {@link ConnectServiceException} *

Base exception class for all service exceptions from Connect service.

* * * @public */ export declare class UpdateContactRoutingDataCommand extends UpdateContactRoutingDataCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateContactRoutingDataRequest; output: {}; }; sdk: { input: UpdateContactRoutingDataCommandInput; output: UpdateContactRoutingDataCommandOutput; }; }; }