createRoutingProfile method
Creates a new routing profile.
May throw InvalidRequestException. May throw InvalidParameterException. May throw DuplicateResourceException. May throw ResourceNotFoundException. May throw LimitExceededException. May throw ThrottlingException. May throw InternalServiceException.
Parameter defaultOutboundQueueId
:
The default outbound queue for the routing profile.
Parameter description
:
Description of the routing profile. Must not be more than 250 characters.
Parameter instanceId
:
The identifier of the Amazon Connect instance.
Parameter mediaConcurrencies
:
The channels agents can handle in the Contact Control Panel (CCP) for this
routing profile.
Parameter name
:
The name of the routing profile. Must not be more than 127 characters.
Parameter queueConfigs
:
The inbound queues associated with the routing profile. If no queue is
added, the agent can only make outbound calls.
Parameter tags
:
One or more tags.
Implementation
Future<CreateRoutingProfileResponse> createRoutingProfile({
required String defaultOutboundQueueId,
required String description,
required String instanceId,
required List<MediaConcurrency> mediaConcurrencies,
required String name,
List<RoutingProfileQueueConfig>? queueConfigs,
Map<String, String>? tags,
}) async {
ArgumentError.checkNotNull(
defaultOutboundQueueId, 'defaultOutboundQueueId');
ArgumentError.checkNotNull(description, 'description');
_s.validateStringLength(
'description',
description,
1,
250,
isRequired: true,
);
ArgumentError.checkNotNull(instanceId, 'instanceId');
_s.validateStringLength(
'instanceId',
instanceId,
1,
100,
isRequired: true,
);
ArgumentError.checkNotNull(mediaConcurrencies, 'mediaConcurrencies');
ArgumentError.checkNotNull(name, 'name');
_s.validateStringLength(
'name',
name,
1,
127,
isRequired: true,
);
final $payload = <String, dynamic>{
'DefaultOutboundQueueId': defaultOutboundQueueId,
'Description': description,
'MediaConcurrencies': mediaConcurrencies,
'Name': name,
if (queueConfigs != null) 'QueueConfigs': queueConfigs,
if (tags != null) 'Tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'PUT',
requestUri: '/routing-profiles/${Uri.encodeComponent(instanceId)}',
exceptionFnMap: _exceptionFns,
);
return CreateRoutingProfileResponse.fromJson(response);
}