2024/12/02 - AmazonConnectCampaignServiceV2 - 1 new3 updated api methods
Changes Amazon Connect Outbound Campaigns V2 / Features : Adds support for Event-Triggered Campaigns.
Takes in a list of profile outbound requests to be placed as part of an outbound campaign. This API is idempotent.
See also: AWS API Documentation
Request Syntax
client.put_profile_outbound_request_batch( id='string', profileOutboundRequests=[ { 'clientToken': 'string', 'profileId': 'string', 'expirationTime': datetime(2015, 1, 1) }, ] )
string
[REQUIRED]
Identifier representing a Campaign
list
[REQUIRED]
List of profile outbound requests
(dict) --
Information about a profile outbound request
clientToken (string) -- [REQUIRED]
Client provided parameter used for idempotency. Its value must be unique for each request.
profileId (string) -- [REQUIRED]
Identifier of the customer profile
expirationTime (datetime) --
Timestamp with no UTC offset or timezone
dict
Response Syntax
{ 'successfulRequests': [ { 'clientToken': 'string', 'id': 'string' }, ], 'failedRequests': [ { 'clientToken': 'string', 'id': 'string', 'failureCode': 'UnknownError'|'ResourceNotFound'|'Conflict'|'RequestThrottled'|'InvalidInput' }, ] }
Response Structure
(dict) --
The response for PutProfileOutboundRequestBatch API
successfulRequests (list) --
List of successful profile outbound requests
(dict) --
Success details for a profile outbound request
clientToken (string) --
Client provided parameter used for idempotency. Its value must be unique for each request.
id (string) --
Identifier of the profile outbound request
failedRequests (list) --
List of failed profile outbound requests
(dict) --
Failure details for a profile outbound request
clientToken (string) --
Client provided parameter used for idempotency. Its value must be unique for each request.
id (string) --
Identifier of the profile outbound request
failureCode (string) --
Predefined code indicating the error that caused the failure
{'source': {'eventTrigger': {'customerProfilesDomainArn': 'string'}}}
Creates a campaign for the specified Amazon Connect account. This API is idempotent.
See also: AWS API Documentation
Request Syntax
client.create_campaign( name='string', connectInstanceId='string', channelSubtypeConfig={ 'telephony': { 'capacity': 123.0, 'connectQueueId': 'string', 'outboundMode': { 'progressive': { 'bandwidthAllocation': 123.0 }, 'predictive': { 'bandwidthAllocation': 123.0 }, 'agentless': {} }, 'defaultOutboundConfig': { 'connectContactFlowId': 'string', 'connectSourcePhoneNumber': 'string', 'answerMachineDetectionConfig': { 'enableAnswerMachineDetection': True|False, 'awaitAnswerMachinePrompt': True|False } } }, 'sms': { 'capacity': 123.0, 'outboundMode': { 'agentless': {} }, 'defaultOutboundConfig': { 'connectSourcePhoneNumberArn': 'string', 'wisdomTemplateArn': 'string' } }, 'email': { 'capacity': 123.0, 'outboundMode': { 'agentless': {} }, 'defaultOutboundConfig': { 'connectSourceEmailAddress': 'string', 'sourceEmailAddressDisplayName': 'string', 'wisdomTemplateArn': 'string' } } }, source={ 'customerProfilesSegmentArn': 'string', 'eventTrigger': { 'customerProfilesDomainArn': 'string' } }, connectCampaignFlowArn='string', schedule={ 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'refreshFrequency': 'string' }, communicationTimeConfig={ 'localTimeZoneConfig': { 'defaultTimeZone': 'string', 'localTimeZoneDetection': [ 'ZIP_CODE'|'AREA_CODE', ] }, 'telephony': { 'openHours': { 'dailyHours': { 'string': [ { 'startTime': 'string', 'endTime': 'string' }, ] } }, 'restrictedPeriods': { 'restrictedPeriodList': [ { 'name': 'string', 'startDate': 'string', 'endDate': 'string' }, ] } }, 'sms': { 'openHours': { 'dailyHours': { 'string': [ { 'startTime': 'string', 'endTime': 'string' }, ] } }, 'restrictedPeriods': { 'restrictedPeriodList': [ { 'name': 'string', 'startDate': 'string', 'endDate': 'string' }, ] } }, 'email': { 'openHours': { 'dailyHours': { 'string': [ { 'startTime': 'string', 'endTime': 'string' }, ] } }, 'restrictedPeriods': { 'restrictedPeriodList': [ { 'name': 'string', 'startDate': 'string', 'endDate': 'string' }, ] } } }, communicationLimitsOverride={ 'allChannelSubtypes': { 'communicationLimitsList': [ { 'maxCountPerRecipient': 123, 'frequency': 123, 'unit': 'DAY' }, ] } }, tags={ 'string': 'string' } )
string
[REQUIRED]
The name of an Amazon Connect Campaign name.
string
[REQUIRED]
Amazon Connect Instance Id
dict
[REQUIRED]
Campaign Channel Subtype config
telephony (dict) --
Telephony Channel Subtype config
capacity (float) --
Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
connectQueueId (string) --
The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.
outboundMode (dict) -- [REQUIRED]
Telephony Outbound Mode
progressive (dict) --
Progressive config
bandwidthAllocation (float) -- [REQUIRED]
The bandwidth allocation of a queue resource.
predictive (dict) --
Predictive config
bandwidthAllocation (float) -- [REQUIRED]
The bandwidth allocation of a queue resource.
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) -- [REQUIRED]
Default Telephony Outbound config
connectContactFlowId (string) -- [REQUIRED]
The identifier of the contact flow for the outbound call.
connectSourcePhoneNumber (string) --
The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
answerMachineDetectionConfig (dict) --
Answering Machine Detection config
enableAnswerMachineDetection (boolean) -- [REQUIRED]
Enable or disable answering machine detection
awaitAnswerMachinePrompt (boolean) --
Enable or disable await answer machine prompt
sms (dict) --
SMS Channel Subtype config
capacity (float) --
Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
outboundMode (dict) -- [REQUIRED]
SMS Outbound Mode
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) -- [REQUIRED]
Default SMS Outbound config
connectSourcePhoneNumberArn (string) -- [REQUIRED]
Amazon Resource Names(ARN)
wisdomTemplateArn (string) -- [REQUIRED]
Amazon Resource Names(ARN)
email (dict) --
Email Channel Subtype config
capacity (float) --
Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
outboundMode (dict) -- [REQUIRED]
Email Outbound Mode
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) -- [REQUIRED]
Default Email Outbound config
connectSourceEmailAddress (string) -- [REQUIRED]
Source/Destination Email address used for Email messages
sourceEmailAddressDisplayName (string) --
Display name for Email Address
wisdomTemplateArn (string) -- [REQUIRED]
Amazon Resource Names(ARN)
dict
Source of the campaign
customerProfilesSegmentArn (string) --
Amazon Resource Names(ARN)
eventTrigger (dict) --
Event trigger of the campaign
customerProfilesDomainArn (string) --
Amazon Resource Names(ARN)
string
Amazon Resource Names(ARN)
dict
Campaign schedule
startTime (datetime) -- [REQUIRED]
Timestamp with no UTC offset or timezone
endTime (datetime) -- [REQUIRED]
Timestamp with no UTC offset or timezone
refreshFrequency (string) --
Time duration in ISO 8601 format
dict
Campaign communication time config
localTimeZoneConfig (dict) -- [REQUIRED]
Local time zone config
defaultTimeZone (string) --
Time Zone Id in the IANA format
localTimeZoneDetection (list) --
Local TimeZone Detection method list
(string) --
Local TimeZone Detection method.
telephony (dict) --
Time window config
openHours (dict) -- [REQUIRED]
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
endTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
sms (dict) --
Time window config
openHours (dict) -- [REQUIRED]
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
endTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
email (dict) --
Time window config
openHours (dict) -- [REQUIRED]
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
endTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
dict
Communication limits config
allChannelSubtypes (dict) --
Communication limits
communicationLimitsList (list) --
List of communication limit
(dict) --
Communication Limit
maxCountPerRecipient (integer) -- [REQUIRED]
Maximum number of contacts allowed for a given target within the given frequency.
frequency (integer) -- [REQUIRED]
The number of days to consider with regards to this limit.
unit (string) -- [REQUIRED]
The communication limit time unit.
dict
Tag map with key and value.
(string) --
The key of tag.
(string) --
The value of tag.
dict
Response Syntax
{ 'id': 'string', 'arn': 'string', 'tags': { 'string': 'string' } }
Response Structure
(dict) --
The response for Create Campaign API
id (string) --
Identifier representing a Campaign
arn (string) --
The resource name of an Amazon Connect campaign.
tags (dict) --
Tag map with key and value.
(string) --
The key of tag.
(string) --
The value of tag.
{'campaign': {'source': {'eventTrigger': {'customerProfilesDomainArn': 'string'}}}}
Describes the specific campaign.
See also: AWS API Documentation
Request Syntax
client.describe_campaign( id='string' )
string
[REQUIRED]
Identifier representing a Campaign
dict
Response Syntax
{ 'campaign': { 'id': 'string', 'arn': 'string', 'name': 'string', 'connectInstanceId': 'string', 'channelSubtypeConfig': { 'telephony': { 'capacity': 123.0, 'connectQueueId': 'string', 'outboundMode': { 'progressive': { 'bandwidthAllocation': 123.0 }, 'predictive': { 'bandwidthAllocation': 123.0 }, 'agentless': {} }, 'defaultOutboundConfig': { 'connectContactFlowId': 'string', 'connectSourcePhoneNumber': 'string', 'answerMachineDetectionConfig': { 'enableAnswerMachineDetection': True|False, 'awaitAnswerMachinePrompt': True|False } } }, 'sms': { 'capacity': 123.0, 'outboundMode': { 'agentless': {} }, 'defaultOutboundConfig': { 'connectSourcePhoneNumberArn': 'string', 'wisdomTemplateArn': 'string' } }, 'email': { 'capacity': 123.0, 'outboundMode': { 'agentless': {} }, 'defaultOutboundConfig': { 'connectSourceEmailAddress': 'string', 'sourceEmailAddressDisplayName': 'string', 'wisdomTemplateArn': 'string' } } }, 'source': { 'customerProfilesSegmentArn': 'string', 'eventTrigger': { 'customerProfilesDomainArn': 'string' } }, 'connectCampaignFlowArn': 'string', 'schedule': { 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'refreshFrequency': 'string' }, 'communicationTimeConfig': { 'localTimeZoneConfig': { 'defaultTimeZone': 'string', 'localTimeZoneDetection': [ 'ZIP_CODE'|'AREA_CODE', ] }, 'telephony': { 'openHours': { 'dailyHours': { 'string': [ { 'startTime': 'string', 'endTime': 'string' }, ] } }, 'restrictedPeriods': { 'restrictedPeriodList': [ { 'name': 'string', 'startDate': 'string', 'endDate': 'string' }, ] } }, 'sms': { 'openHours': { 'dailyHours': { 'string': [ { 'startTime': 'string', 'endTime': 'string' }, ] } }, 'restrictedPeriods': { 'restrictedPeriodList': [ { 'name': 'string', 'startDate': 'string', 'endDate': 'string' }, ] } }, 'email': { 'openHours': { 'dailyHours': { 'string': [ { 'startTime': 'string', 'endTime': 'string' }, ] } }, 'restrictedPeriods': { 'restrictedPeriodList': [ { 'name': 'string', 'startDate': 'string', 'endDate': 'string' }, ] } } }, 'communicationLimitsOverride': { 'allChannelSubtypes': { 'communicationLimitsList': [ { 'maxCountPerRecipient': 123, 'frequency': 123, 'unit': 'DAY' }, ] } }, 'tags': { 'string': 'string' } } }
Response Structure
(dict) --
The response for DescribeCampaign API.
campaign (dict) --
An Amazon Connect campaign.
id (string) --
Identifier representing a Campaign
arn (string) --
The resource name of an Amazon Connect campaign.
name (string) --
The name of an Amazon Connect Campaign name.
connectInstanceId (string) --
Amazon Connect Instance Id
channelSubtypeConfig (dict) --
Campaign Channel Subtype config
telephony (dict) --
Telephony Channel Subtype config
capacity (float) --
Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
connectQueueId (string) --
The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.
outboundMode (dict) --
Telephony Outbound Mode
progressive (dict) --
Progressive config
bandwidthAllocation (float) --
The bandwidth allocation of a queue resource.
predictive (dict) --
Predictive config
bandwidthAllocation (float) --
The bandwidth allocation of a queue resource.
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) --
Default Telephony Outbound config
connectContactFlowId (string) --
The identifier of the contact flow for the outbound call.
connectSourcePhoneNumber (string) --
The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
answerMachineDetectionConfig (dict) --
Answering Machine Detection config
enableAnswerMachineDetection (boolean) --
Enable or disable answering machine detection
awaitAnswerMachinePrompt (boolean) --
Enable or disable await answer machine prompt
sms (dict) --
SMS Channel Subtype config
capacity (float) --
Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
outboundMode (dict) --
SMS Outbound Mode
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) --
Default SMS Outbound config
connectSourcePhoneNumberArn (string) --
Amazon Resource Names(ARN)
wisdomTemplateArn (string) --
Amazon Resource Names(ARN)
email (dict) --
Email Channel Subtype config
capacity (float) --
Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
outboundMode (dict) --
Email Outbound Mode
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) --
Default Email Outbound config
connectSourceEmailAddress (string) --
Source/Destination Email address used for Email messages
sourceEmailAddressDisplayName (string) --
Display name for Email Address
wisdomTemplateArn (string) --
Amazon Resource Names(ARN)
source (dict) --
Source of the campaign
customerProfilesSegmentArn (string) --
Amazon Resource Names(ARN)
eventTrigger (dict) --
Event trigger of the campaign
customerProfilesDomainArn (string) --
Amazon Resource Names(ARN)
connectCampaignFlowArn (string) --
Amazon Resource Names(ARN)
schedule (dict) --
Campaign schedule
startTime (datetime) --
Timestamp with no UTC offset or timezone
endTime (datetime) --
Timestamp with no UTC offset or timezone
refreshFrequency (string) --
Time duration in ISO 8601 format
communicationTimeConfig (dict) --
Campaign communication time config
localTimeZoneConfig (dict) --
Local time zone config
defaultTimeZone (string) --
Time Zone Id in the IANA format
localTimeZoneDetection (list) --
Local TimeZone Detection method list
(string) --
Local TimeZone Detection method.
telephony (dict) --
Time window config
openHours (dict) --
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) --
Time in ISO 8601 format, e.g. T23:11
endTime (string) --
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
sms (dict) --
Time window config
openHours (dict) --
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) --
Time in ISO 8601 format, e.g. T23:11
endTime (string) --
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
email (dict) --
Time window config
openHours (dict) --
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) --
Time in ISO 8601 format, e.g. T23:11
endTime (string) --
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
communicationLimitsOverride (dict) --
Communication limits config
allChannelSubtypes (dict) --
Communication limits
communicationLimitsList (list) --
List of communication limit
(dict) --
Communication Limit
maxCountPerRecipient (integer) --
Maximum number of contacts allowed for a given target within the given frequency.
frequency (integer) --
The number of days to consider with regards to this limit.
unit (string) --
The communication limit time unit.
tags (dict) --
Tag map with key and value.
(string) --
The key of tag.
(string) --
The value of tag.
{'source': {'eventTrigger': {'customerProfilesDomainArn': 'string'}}}
Updates the campaign source with a campaign. This API is idempotent.
See also: AWS API Documentation
Request Syntax
client.update_campaign_source( id='string', source={ 'customerProfilesSegmentArn': 'string', 'eventTrigger': { 'customerProfilesDomainArn': 'string' } } )
string
[REQUIRED]
Identifier representing a Campaign
dict
[REQUIRED]
Source of the campaign
customerProfilesSegmentArn (string) --
Amazon Resource Names(ARN)
eventTrigger (dict) --
Event trigger of the campaign
customerProfilesDomainArn (string) --
Amazon Resource Names(ARN)
None