Amazon Connect Service

2024/05/03 - Amazon Connect Service - 5 new api methods

Changes  This release adds 5 new APIs for managing attachments: StartAttachedFileUpload, CompleteAttachedFileUpload, GetAttachedFile, BatchGetAttachedFileMetadata, DeleteAttachedFile. These APIs can be used to programmatically upload and download attachments to Connect resources, like cases.

StartAttachedFileUpload (new) Link ¶

Provides a pre-signed Amazon S3 URL in response for uploading your content.

Warning

You may only use this API to upload attachments to a Connect Case.

See also: AWS API Documentation

Request Syntax

client.start_attached_file_upload(
    ClientToken='string',
    InstanceId='string',
    FileName='string',
    FileSizeInBytes=123,
    UrlExpiryInSeconds=123,
    FileUseCaseType='ATTACHMENT',
    AssociatedResourceArn='string',
    CreatedBy={
        'ConnectUserArn': 'string',
        'AWSIdentityArn': 'string'
    },
    Tags={
        'string': 'string'
    }
)
type ClientToken

string

param ClientToken

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.

This field is autopopulated if not provided.

type InstanceId

string

param InstanceId

[REQUIRED]

The unique identifier of the Connect instance.

type FileName

string

param FileName

[REQUIRED]

A case-sensitive name of the attached file being uploaded.

type FileSizeInBytes

integer

param FileSizeInBytes

[REQUIRED]

The size of the attached file in bytes.

type UrlExpiryInSeconds

integer

param UrlExpiryInSeconds

Optional override for the expiry of the pre-signed S3 URL in seconds.

type FileUseCaseType

string

param FileUseCaseType

[REQUIRED]

The use case for the file.

type AssociatedResourceArn

string

param AssociatedResourceArn

[REQUIRED]

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

Note

This value must be a valid ARN.

type CreatedBy

dict

param CreatedBy

Represents the identity that created the file.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: ConnectUserArn, AWSIdentityArn.

  • ConnectUserArn (string) --

    An agent ARN representing a connect user.

  • AWSIdentityArn (string) --

    STS or IAM ARN representing the identity of API Caller. SDK users cannot populate this and this value is calculated automatically if ConnectUserArn is not provided.

type Tags

dict

param Tags

The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} } .

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'FileArn': 'string',
    'FileId': 'string',
    'CreationTime': 'string',
    'FileStatus': 'APPROVED'|'REJECTED'|'PROCESSING'|'FAILED',
    'CreatedBy': {
        'ConnectUserArn': 'string',
        'AWSIdentityArn': 'string'
    },
    'UploadUrlMetadata': {
        'Url': 'string',
        'UrlExpiry': 'string',
        'HeadersToInclude': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) -- Response from StartAttachedFileUpload API.

    • FileArn (string) --

      The unique identifier of the attached file resource (ARN).

    • FileId (string) --

      The unique identifier of the attached file resource.

    • CreationTime (string) --

      The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ . For example, 2024-05-03T02:41:28.172Z .

    • FileStatus (string) --

      The current status of the attached file.

    • CreatedBy (dict) --

      Represents the identity that created the file.

      Note

      This is a Tagged Union structure. Only one of the following top level keys will be set: ConnectUserArn, AWSIdentityArn. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

      'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
      • ConnectUserArn (string) --

        An agent ARN representing a connect user.

      • AWSIdentityArn (string) --

        STS or IAM ARN representing the identity of API Caller. SDK users cannot populate this and this value is calculated automatically if ConnectUserArn is not provided.

    • UploadUrlMetadata (dict) --

      Information to be used while uploading the attached file.

      • Url (string) --

        A pre-signed S3 URL that should be used for uploading the attached file.

      • UrlExpiry (string) --

        The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ . For example, 2019-11-08T02:41:28.172Z .

      • HeadersToInclude (dict) --

        A map of headers that should be provided when uploading the attached file.

        • (string) --

          • (string) --

GetAttachedFile (new) Link ¶

Provides a pre-signed URL for download of an approved attached file. This API also returns metadata about the attached file. It will only return a downloadURL if the status of the attached file is APPROVED .

See also: AWS API Documentation

Request Syntax

client.get_attached_file(
    InstanceId='string',
    FileId='string',
    UrlExpiryInSeconds=123,
    AssociatedResourceArn='string'
)
type InstanceId

string

param InstanceId

[REQUIRED]

The unique identifier of the Connect instance.

type FileId

string

param FileId

[REQUIRED]

The unique identifier of the attached file resource.

type UrlExpiryInSeconds

integer

param UrlExpiryInSeconds

Optional override for the expiry of the pre-signed S3 URL in seconds.

type AssociatedResourceArn

string

param AssociatedResourceArn

[REQUIRED]

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

Note

This value must be a valid ARN.

rtype

dict

returns

Response Syntax

{
    'FileArn': 'string',
    'FileId': 'string',
    'CreationTime': 'string',
    'FileStatus': 'APPROVED'|'REJECTED'|'PROCESSING'|'FAILED',
    'FileName': 'string',
    'FileSizeInBytes': 123,
    'AssociatedResourceArn': 'string',
    'FileUseCaseType': 'ATTACHMENT',
    'CreatedBy': {
        'ConnectUserArn': 'string',
        'AWSIdentityArn': 'string'
    },
    'DownloadUrlMetadata': {
        'Url': 'string',
        'UrlExpiry': 'string'
    },
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) -- Response from GetAttachedFile API.

    • FileArn (string) --

      The unique identifier of the attached file resource (ARN).

    • FileId (string) --

      The unique identifier of the attached file resource.

    • CreationTime (string) --

      The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ . For example, 2024-05-03T02:41:28.172Z .

    • FileStatus (string) --

      The current status of the attached file.

    • FileName (string) --

      A case-sensitive name of the attached file being uploaded.

    • FileSizeInBytes (integer) --

      The size of the attached file in bytes.

    • AssociatedResourceArn (string) --

      The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

      Note

      This value must be a valid ARN.

    • FileUseCaseType (string) --

      The use case for the file.

    • CreatedBy (dict) --

      Represents the identity that created the file.

      Note

      This is a Tagged Union structure. Only one of the following top level keys will be set: ConnectUserArn, AWSIdentityArn. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

      'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
      • ConnectUserArn (string) --

        An agent ARN representing a connect user.

      • AWSIdentityArn (string) --

        STS or IAM ARN representing the identity of API Caller. SDK users cannot populate this and this value is calculated automatically if ConnectUserArn is not provided.

    • DownloadUrlMetadata (dict) --

      URL and expiry to be used when downloading the attached file.

      • Url (string) --

        A pre-signed URL that should be used to download the attached file.

      • UrlExpiry (string) --

        The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

    • Tags (dict) --

      The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} } .

      • (string) --

        • (string) --

DeleteAttachedFile (new) Link ¶

Deletes an attached file along with the underlying S3 Object.

Warning

The attached file is permanently deleted if S3 bucket versioning is not enabled.

See also: AWS API Documentation

Request Syntax

client.delete_attached_file(
    InstanceId='string',
    FileId='string',
    AssociatedResourceArn='string'
)
type InstanceId

string

param InstanceId

[REQUIRED]

The unique identifier of the Connect instance.

type FileId

string

param FileId

[REQUIRED]

The unique identifier of the attached file resource.

type AssociatedResourceArn

string

param AssociatedResourceArn

[REQUIRED]

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

Note

This value must be a valid ARN.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) -- Response from DeleteAttachedFile API

CompleteAttachedFileUpload (new) Link ¶

Allows you to confirm that the attached file has been uploaded using the pre-signed URL provided in the StartAttachedFileUpload API.

See also: AWS API Documentation

Request Syntax

client.complete_attached_file_upload(
    InstanceId='string',
    FileId='string',
    AssociatedResourceArn='string'
)
type InstanceId

string

param InstanceId

[REQUIRED]

The unique identifier of the Connect instance.

type FileId

string

param FileId

[REQUIRED]

The unique identifier of the attached file resource.

type AssociatedResourceArn

string

param AssociatedResourceArn

[REQUIRED]

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

Note

This value must be a valid ARN.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) -- Response from CompleteAttachedFileUpload API

BatchGetAttachedFileMetadata (new) Link ¶

Allows you to retrieve metadata about multiple attached files on an associated resource. Each attached file provided in the input list must be associated with the input AssociatedResourceArn.

See also: AWS API Documentation

Request Syntax

client.batch_get_attached_file_metadata(
    FileIds=[
        'string',
    ],
    InstanceId='string',
    AssociatedResourceArn='string'
)
type FileIds

list

param FileIds

[REQUIRED]

The unique identifiers of the attached file resource.

  • (string) --

type InstanceId

string

param InstanceId

[REQUIRED]

The unique identifier of the Connect instance.

type AssociatedResourceArn

string

param AssociatedResourceArn

[REQUIRED]

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

Note

This value must be a valid ARN.

rtype

dict

returns

Response Syntax

{
    'Files': [
        {
            'CreationTime': 'string',
            'FileArn': 'string',
            'FileId': 'string',
            'FileName': 'string',
            'FileSizeInBytes': 123,
            'FileStatus': 'APPROVED'|'REJECTED'|'PROCESSING'|'FAILED',
            'CreatedBy': {
                'ConnectUserArn': 'string',
                'AWSIdentityArn': 'string'
            },
            'FileUseCaseType': 'ATTACHMENT',
            'AssociatedResourceArn': 'string',
            'Tags': {
                'string': 'string'
            }
        },
    ],
    'Errors': [
        {
            'ErrorCode': 'string',
            'ErrorMessage': 'string',
            'FileId': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Files (list) --

      List of attached files that were successfully retrieved.

      • (dict) --

        Information about the attached file.

        • CreationTime (string) --

          The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ . For example, 2024-05-03T02:41:28.172Z .

        • FileArn (string) --

          The unique identifier of the attached file resource (ARN).

        • FileId (string) --

          The unique identifier of the attached file resource.

        • FileName (string) --

          A case-sensitive name of the attached file being uploaded.

        • FileSizeInBytes (integer) --

          The size of the attached file in bytes.

        • FileStatus (string) --

          The current status of the attached file.

        • CreatedBy (dict) --

          Represents the identity that created the file.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: ConnectUserArn, AWSIdentityArn. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • ConnectUserArn (string) --

            An agent ARN representing a connect user.

          • AWSIdentityArn (string) --

            STS or IAM ARN representing the identity of API Caller. SDK users cannot populate this and this value is calculated automatically if ConnectUserArn is not provided.

        • FileUseCaseType (string) --

          The use case for the file.

        • AssociatedResourceArn (string) --

          The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

          Note

          This value must be a valid ARN.

        • Tags (dict) --

          The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} } .

          • (string) --

            • (string) --

    • Errors (list) --

      List of errors of attached files that could not be retrieved.

      • (dict) --

        Error describing a failure to retrieve attached file metadata through BatchGetAttachedFileMetadata action.

        • ErrorCode (string) --

          Status code describing the failure.

        • ErrorMessage (string) --

          Why the attached file couldn't be retrieved.

        • FileId (string) --

          The unique identifier of the attached file resource.