:doc:`ConnectCampaignServiceV2 <../../connectcampaignsv2>` / Client / describe_campaign

*****************
describe_campaign
*****************



.. py:method:: ConnectCampaignServiceV2.Client.describe_campaign(**kwargs)

  

  Describes the specific campaign.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connectcampaignsv2-2024-04-23/DescribeCampaign>`_  


  **Request Syntax**
  ::

    response = client.describe_campaign(
        id='string'
    )
    
  :type id: string
  :param id: **[REQUIRED]** 

    Identifier representing a Campaign

    

  
  
  :rtype: dict
  :returns: 
    
    **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': {},
                          'preview': {
                              'bandwidthAllocation': 123.0,
                              'timeoutConfig': {
                                  'durationInSeconds': 123
                              },
                              'agentActions': [
                                  'DISCARD',
                              ]
                          }
                      },
                      'defaultOutboundConfig': {
                          'connectContactFlowId': 'string',
                          'connectSourcePhoneNumber': 'string',
                          'answerMachineDetectionConfig': {
                              'enableAnswerMachineDetection': True|False,
                              'awaitAnswerMachinePrompt': True|False
                          },
                          'ringTimeout': 123
                      }
                  },
                  'sms': {
                      'capacity': 123.0,
                      'outboundMode': {
                          'agentless': {}
                      },
                      'defaultOutboundConfig': {
                          'connectSourcePhoneNumberArn': 'string',
                          'wisdomTemplateArn': 'string'
                      }
                  },
                  'email': {
                      'capacity': 123.0,
                      'outboundMode': {
                          'agentless': {}
                      },
                      'defaultOutboundConfig': {
                          'connectSourceEmailAddress': 'string',
                          'sourceEmailAddressDisplayName': 'string',
                          'wisdomTemplateArn': 'string'
                      }
                  },
                  'whatsApp': {
                      'capacity': 123.0,
                      'outboundMode': {
                          'agentless': {}
                      },
                      'defaultOutboundConfig': {
                          'connectSourcePhoneNumberArn': 'string',
                          'wisdomTemplateArn': 'string'
                      }
                  }
              },
              'type': 'MANAGED'|'JOURNEY',
              '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'
                              },
                          ]
                      }
                  },
                  'whatsApp': {
                      'openHours': {
                          'dailyHours': {
                              'string': [
                                  {
                                      'startTime': 'string',
                                      'endTime': 'string'
                                  },
                              ]
                          }
                      },
                      'restrictedPeriods': {
                          'restrictedPeriodList': [
                              {
                                  'name': 'string',
                                  'startDate': 'string',
                                  'endDate': 'string'
                              },
                          ]
                      }
                  }
              },
              'communicationLimitsOverride': {
                  'allChannelSubtypes': {
                      'communicationLimitsList': [
                          {
                              'maxCountPerRecipient': 123,
                              'frequency': 123,
                              'unit': 'DAY'
                          },
                      ]
                  },
                  'instanceLimitsHandling': 'OPT_IN'|'OPT_OUT'
              },
              '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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``progressive``, ``predictive``, ``agentless``, ``preview``.     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'}


            
              

              - **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

                
            
              

              - **preview** *(dict) --* 

                Preview config

                
                

                - **bandwidthAllocation** *(float) --* 

                  The bandwidth allocation of a queue resource.

                  
                

                - **timeoutConfig** *(dict) --* 

                  Timeout Config for preview contacts.

                  
                  

                  - **durationInSeconds** *(integer) --* 

                    Timeout duration for a preview contact in seconds.

                    
              
                

                - **agentActions** *(list) --* 

                  Actions that can be performed by agent during preview phase.

                  
                  

                  - *(string) --* 

                    Actions that can performed on a contact by an agent

                    
              
            
          
            

            - **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

                  
            
              

              - **ringTimeout** *(integer) --* 

                Ring timeout for outbound calls

                
          
        
          

          - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``agentless``.     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'}


            
              

              - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``agentless``.     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'}


            
              

              - **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)

                
          
        
          

          - **whatsApp** *(dict) --* 

            WhatsApp Channel Subtype config

            
            

            - **capacity** *(float) --* 

              Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns

              
            

            - **outboundMode** *(dict) --* 

              WhatsApp Outbound Mode

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``agentless``.     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'}


            
              

              - **agentless** *(dict) --* 

                Agentless config

                
            
          
            

            - **defaultOutboundConfig** *(dict) --* 

              Default WhatsApp Outbound config

              
              

              - **connectSourcePhoneNumberArn** *(string) --* 

                Amazon Resource Names(ARN)

                
              

              - **wisdomTemplateArn** *(string) --* 

                Amazon Resource Names(ARN)

                
          
        
      
        

        - **type** *(string) --* 

          The type of campaign externally exposed in APIs.

          
        

        - **source** *(dict) --* 

          Source of the campaign

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``customerProfilesSegmentArn``, ``eventTrigger``.     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'}


        
          

          - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``dailyHours``.     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'}


            
              

              - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``restrictedPeriodList``.     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'}


            
              

              - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``dailyHours``.     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'}


            
              

              - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``restrictedPeriodList``.     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'}


            
              

              - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``dailyHours``.     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'}


            
              

              - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``restrictedPeriodList``.     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'}


            
              

              - **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

                    
              
            
          
        
          

          - **whatsApp** *(dict) --* 

            Time window config

            
            

            - **openHours** *(dict) --* 

              Open Hours config

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``dailyHours``.     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'}


            
              

              - **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

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``restrictedPeriodList``.     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'}


            
              

              - **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

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``communicationLimitsList``.     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'}


          
            

            - **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.

                  
            
          
        
          

          - **instanceLimitsHandling** *(string) --* 

            Instance limits handling

            
      
        

        - **tags** *(dict) --* 

          Tag map with key and value.

          
          

          - *(string) --* 

            The key of tag.

            
            

            - *(string) --* 

              The value of tag.

              
      
    
    
  
  **Exceptions**
  
  *   :py:class:`ConnectCampaignServiceV2.Client.exceptions.InternalServerException`

  
  *   :py:class:`ConnectCampaignServiceV2.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`ConnectCampaignServiceV2.Client.exceptions.ValidationException`

  
  *   :py:class:`ConnectCampaignServiceV2.Client.exceptions.AccessDeniedException`

  