Connect

public struct Connect

Client object for interacting with AWS Connect service.

Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage a customer contact center and provide reliable customer engagement at any scale. Amazon Connect provides rich metrics and real-time reporting that allow you to optimize contact routing. You can also resolve customer issues more efficiently by putting customers in touch with the right agents. There are limits to the number of Amazon Connect resources that you can create and limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Limits in the Amazon Connect Administrator Guide.

  • Initialize the Connect client

    Declaration

    Swift

    public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, sessionToken: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil, middlewares: [AWSServiceMiddleware] = [], eventLoopGroupProvider: AWSClient.EventLoopGroupProvider = .useAWSClientShared)

    Parameters

    accessKeyId

    Public access key provided by AWS

    secretAccessKey

    Private access key provided by AWS

    sessionToken

    Token provided by STS.AssumeRole() which allows access to another AWS account

    region

    Region of server you want to communicate with

    endpoint

    Custom endpoint URL to use instead of standard AWS servers

    middlewares

    Array of middlewares to apply to requests and responses

    eventLoopGroupProvider

    EventLoopGroup to use. Use useAWSClientShared if the client shall manage its own EventLoopGroup.

  • Creates a user account for the specified Amazon Connect instance.

    Declaration

    Swift

    public func createUser(_ input: CreateUserRequest) -> EventLoopFuture<CreateUserResponse>
  • Deletes a user account from the specified Amazon Connect instance.

    Declaration

    Swift

    @discardableResult
    public func deleteUser(_ input: DeleteUserRequest) -> EventLoopFuture<Void>
  • Describes the specified user account. You can find the instance ID in the console (it’s the final part of the ARN). The console does not display the user IDs. Instead, list the users and note the IDs provided in the output.

    Declaration

    Swift

    public func describeUser(_ input: DescribeUserRequest) -> EventLoopFuture<DescribeUserResponse>
  • Describes the specified hierarchy group.

    Declaration

    Swift

    public func describeUserHierarchyGroup(_ input: DescribeUserHierarchyGroupRequest) -> EventLoopFuture<DescribeUserHierarchyGroupResponse>
  • Describes the hierarchy structure of the specified Amazon Connect instance.

    Declaration

    Swift

    public func describeUserHierarchyStructure(_ input: DescribeUserHierarchyStructureRequest) -> EventLoopFuture<DescribeUserHierarchyStructureResponse>
  • Retrieves the contact attributes for the specified contact.

    Declaration

    Swift

    public func getContactAttributes(_ input: GetContactAttributesRequest) -> EventLoopFuture<GetContactAttributesResponse>
  • Gets the real-time metric data from the specified Amazon Connect instance. For more information, see Real-time Metrics Reports in the Amazon Connect Administrator Guide.

    Declaration

    Swift

    public func getCurrentMetricData(_ input: GetCurrentMetricDataRequest) -> EventLoopFuture<GetCurrentMetricDataResponse>
  • Retrieves a token for federation.

    Declaration

    Swift

    public func getFederationToken(_ input: GetFederationTokenRequest) -> EventLoopFuture<GetFederationTokenResponse>
  • Gets historical metric data from the specified Amazon Connect instance. For more information, see Historical Metrics Reports in the Amazon Connect Administrator Guide.

    Declaration

    Swift

    public func getMetricData(_ input: GetMetricDataRequest) -> EventLoopFuture<GetMetricDataResponse>
  • Provides information about the contact flows for the specified Amazon Connect instance.

    Declaration

    Swift

    public func listContactFlows(_ input: ListContactFlowsRequest) -> EventLoopFuture<ListContactFlowsResponse>
  • Provides information about the hours of operation for the specified Amazon Connect instance.

    Declaration

    Swift

    public func listHoursOfOperations(_ input: ListHoursOfOperationsRequest) -> EventLoopFuture<ListHoursOfOperationsResponse>
  • Provides information about the phone numbers for the specified Amazon Connect instance.

    Declaration

    Swift

    public func listPhoneNumbers(_ input: ListPhoneNumbersRequest) -> EventLoopFuture<ListPhoneNumbersResponse>
  • Provides information about the queues for the specified Amazon Connect instance.

    Declaration

    Swift

    public func listQueues(_ input: ListQueuesRequest) -> EventLoopFuture<ListQueuesResponse>
  • Provides summary information about the routing profiles for the specified Amazon Connect instance.

    Declaration

    Swift

    public func listRoutingProfiles(_ input: ListRoutingProfilesRequest) -> EventLoopFuture<ListRoutingProfilesResponse>
  • Provides summary information about the security profiles for the specified Amazon Connect instance.

    Declaration

    Swift

    public func listSecurityProfiles(_ input: ListSecurityProfilesRequest) -> EventLoopFuture<ListSecurityProfilesResponse>
  • Lists the tags for the specified resource.

    Declaration

    Swift

    public func listTagsForResource(_ input: ListTagsForResourceRequest) -> EventLoopFuture<ListTagsForResourceResponse>
  • Provides summary information about the hierarchy groups for the specified Amazon Connect instance.

    Declaration

    Swift

    public func listUserHierarchyGroups(_ input: ListUserHierarchyGroupsRequest) -> EventLoopFuture<ListUserHierarchyGroupsResponse>
  • Provides summary information about the users for the specified Amazon Connect instance.

    Declaration

    Swift

    public func listUsers(_ input: ListUsersRequest) -> EventLoopFuture<ListUsersResponse>
  • When a contact is being recorded, and the recording has been suspended using SuspendContactRecording, this API resumes recording the call. Only voice recordings are supported at this time.

    Declaration

    Swift

    public func resumeContactRecording(_ input: ResumeContactRecordingRequest) -> EventLoopFuture<ResumeContactRecordingResponse>
  • Initiates a contact flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service. When a new chat contact is successfully created, clients need to subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

    Declaration

    Swift

    public func startChatContact(_ input: StartChatContactRequest) -> EventLoopFuture<StartChatContactResponse>
  • This API starts recording the contact when the agent joins the call. StartContactRecording is a one-time action. For example, if you use StopContactRecording to stop recording an ongoing call, you can’t use StartContactRecording to restart it. For scenarios where the recording has started and you want to suspend and resume it, such as when collecting sensitive information (for example, a credit card number), use SuspendContactRecording and ResumeContactRecording. You can use this API to override the recording behavior configured in the Set recording behavior block. Only voice recordings are supported at this time.

    Declaration

    Swift

    public func startContactRecording(_ input: StartContactRecordingRequest) -> EventLoopFuture<StartContactRecordingResponse>
  • This API places an outbound call to a contact, and then initiates the contact flow. It performs the actions in the contact flow that’s specified (in ContactFlowId). Agents are not involved in initiating the outbound API (that is, dialing the contact). If the contact flow places an outbound call to a contact, and then puts the contact in queue, that’s when the call is routed to the agent, like any other inbound case. There is a 60 second dialing timeout for this operation. If the call is not connected after 60 seconds, it fails.

    Declaration

    Swift

    public func startOutboundVoiceContact(_ input: StartOutboundVoiceContactRequest) -> EventLoopFuture<StartOutboundVoiceContactResponse>
  • Ends the specified contact.

    Declaration

    Swift

    public func stopContact(_ input: StopContactRequest) -> EventLoopFuture<StopContactResponse>
  • When a contact is being recorded, this API stops recording the call. StopContactRecording is a one-time action. If you use StopContactRecording to stop recording an ongoing call, you can’t use StartContactRecording to restart it. For scenarios where the recording has started and you want to suspend it for sensitive information (for example, to collect a credit card number), and then restart it, use SuspendContactRecording and ResumeContactRecording. Only voice recordings are supported at this time.

    Declaration

    Swift

    public func stopContactRecording(_ input: StopContactRecordingRequest) -> EventLoopFuture<StopContactRecordingResponse>
  • When a contact is being recorded, this API suspends recording the call. For example, you might suspend the call recording while collecting sensitive information, such as a credit card number. Then use ResumeContactRecording to restart recording. The period of time that the recording is suspended is filled with silence in the final recording. Only voice recordings are supported at this time.

    Declaration

    Swift

    public func suspendContactRecording(_ input: SuspendContactRecordingRequest) -> EventLoopFuture<SuspendContactRecordingResponse>
  • Adds the specified tags to the specified resource. The supported resource type is users.

    Declaration

    Swift

    @discardableResult
    public func tagResource(_ input: TagResourceRequest) -> EventLoopFuture<Void>
  • Removes the specified tags from the specified resource.

    Declaration

    Swift

    @discardableResult
    public func untagResource(_ input: UntagResourceRequest) -> EventLoopFuture<Void>
  • Creates or updates the contact attributes associated with the specified contact. You can add or update attributes for both ongoing and completed contacts. For example, you can update the customer’s name or the reason the customer called while the call is active, or add notes about steps that the agent took during the call that are displayed to the next agent that takes the call. You can also update attributes for a contact using data from your CRM application and save the data with the contact in Amazon Connect. You could also flag calls for additional analysis, such as legal review or identifying abusive callers. Contact attributes are available in Amazon Connect for 24 months, and are then deleted. Important: You cannot use the operation to update attributes for contacts that occurred prior to the release of the API, September 12, 2018. You can update attributes only for contacts that started after the release of the API. If you attempt to update attributes for a contact that occurred prior to the release of the API, a 400 error is returned. This applies also to queued callbacks that were initiated prior to the release of the API but are still active in your instance.

    Declaration

    Swift

    public func updateContactAttributes(_ input: UpdateContactAttributesRequest) -> EventLoopFuture<UpdateContactAttributesResponse>
  • Assigns the specified hierarchy group to the specified user.

    Declaration

    Swift

    @discardableResult
    public func updateUserHierarchy(_ input: UpdateUserHierarchyRequest) -> EventLoopFuture<Void>
  • Updates the identity information for the specified user.

    Declaration

    Swift

    @discardableResult
    public func updateUserIdentityInfo(_ input: UpdateUserIdentityInfoRequest) -> EventLoopFuture<Void>
  • Updates the phone configuration settings for the specified user.

    Declaration

    Swift

    @discardableResult
    public func updateUserPhoneConfig(_ input: UpdateUserPhoneConfigRequest) -> EventLoopFuture<Void>
  • Assigns the specified routing profile to the specified user.

    Declaration

    Swift

    @discardableResult
    public func updateUserRoutingProfile(_ input: UpdateUserRoutingProfileRequest) -> EventLoopFuture<Void>
  • Assigns the specified security profiles to the specified user.

    Declaration

    Swift

    @discardableResult
    public func updateUserSecurityProfiles(_ input: UpdateUserSecurityProfilesRequest) -> EventLoopFuture<Void>
  • Undocumented

    See more

    Declaration

    Swift

    public enum Channel : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum Comparison : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum ContactFlowType : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum CurrentMetricName : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum Grouping : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum HistoricalMetricName : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum PhoneNumberCountryCode : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum PhoneNumberType : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum PhoneType : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum QueueType : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum Statistic : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum Unit : String, CustomStringConvertible, Codable
  • Undocumented

    See more

    Declaration

    Swift

    public enum VoiceRecordingTrack : String, CustomStringConvertible, Codable