Constant Contact Landing Pages Reporting API

Use landing pages reporting endpoints and methods to get reporting data about how a contact interacted with a campaign activity.

OpenAPI Specification

constant-contact-landing-pages-reporting-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: The Constant Contact, Inc. V3 public API, for building integrations with Constant Contact, the leading small-business email marketing platform.
  version: 3.0.149
  title: AppConnect V3 Account Services Landing Pages Reporting API
  contact:
    name: webservices@constantcontact.com
  license:
    name: Private
    url: https://www.constantcontact.com/legal/terms-of-use
host: api.cc.email
basePath: /v3
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Landing Pages Reporting
  description: Use landing pages reporting endpoints and methods to get reporting data about how a contact interacted with a campaign activity.
paths:
  /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_clicks:
    get:
      tags:
      - Landing Pages Reporting
      summary: GET a Unique Contacts Clicks Landing Page Report
      description: Use this method get details about each contact that clicked a link on a landing page campaign activity. Unique contact clicks are identified by both the `contact_id` and `url_id`. The same contact may appear more than once in the results, if they clicked more than one link on the landing page. The resulting contact data is listed with most recent activity first.
      operationId: getUniqueContactClicks
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact click results.
        required: true
        type: string
        format: uuid
        x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
      - name: limit
        in: query
        description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
        required: false
        type: string
        default: '50'
        x-example: '100'
      - name: contacts_filter
        in: query
        description: 'Use to filter the results to return only contacts that match a contacts full or partial first or last name, or email. For example: Josie or Jo.'
        required: false
        type: string
        x-example: Jo
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/PContactClickTrackingActivitiesPage'
        '400':
          description: Bad request. Either the JSON was malformed or there was a data validation error.
        '401':
          description: The Access Token used is invalid.
        '403':
          description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
        '404':
          description: The requested resource was not found.
        '415':
          description: Unsupported Media Type.
        '500':
          description: There was a problem with our internal service.
      security:
      - oauth2_implicit:
        - campaign_data
      - oauth2_access_code:
        - campaign_data
      x-authorization-privileges:
      - ui:campaign:metrics
  /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_opens:
    get:
      tags:
      - Landing Pages Reporting
      summary: GET a Unique Contacts Opens Landing Page Report
      description: Use this method get details about each contact that opens a link on a landing page. Contacts are uniquely identified by `contact_id`.  The resulting contact data is listed with most recent activity first.
      operationId: getUniqueContactOpens
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact open results.
        required: true
        type: string
        format: uuid
        x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
      - name: limit
        in: query
        description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
        required: false
        type: string
        default: '50'
        x-example: '100'
      - name: contacts_filter
        in: query
        description: 'Use to filter the results to only include contacts that contain a certain value. This parameter does full and partial matches and applies to the contact first name, last name, and email fields. For example: Josie or Jo.'
        required: false
        type: string
        x-example: Jo
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/PContactOpensTrackingActivitiesPage'
        '400':
          description: Bad request. Either the JSON was malformed or there was a data validation error.
        '401':
          description: The Access Token used is invalid.
        '403':
          description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
        '404':
          description: The requested resource was not found.
        '415':
          description: Unsupported Media Type.
        '500':
          description: There was a problem with our internal service.
      security:
      - oauth2_implicit:
        - campaign_data
      - oauth2_access_code:
        - campaign_data
      x-authorization-privileges:
      - ui:campaign:metrics
  /reports/landing_pages/campaign_details/{campaign_activity_id}/p_contact_opens:
    get:
      tags:
      - Landing Pages Reporting
      summary: GET a Contacts Opens Landing Page Report
      description: Use this method get contact details for each time a contact opens a link on a landing page.  The resulting contact data is listed with most recent activity first.
      operationId: getContactOpens
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact open results.
        required: true
        type: string
        format: uuid
        x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
      - name: limit
        in: query
        description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
        required: false
        type: string
        default: '50'
        x-example: '100'
      - name: contacts_filter
        in: query
        description: 'Use to filter the results to only include contacts that contain a certain value. This parameter does full and partial matches and applies to the contact first name, last name, and email fields. For example: Josie or Jo.'
        required: false
        type: string
        x-example: Jo
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/PContactOpensTrackingActivitiesPage'
        '400':
          description: Bad request. Either the JSON was malformed or there was a data validation error.
        '401':
          description: The Access Token used is invalid.
        '403':
          description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
        '404':
          description: The requested resource was not found.
        '415':
          description: Unsupported Media Type.
        '500':
          description: There was a problem with our internal service.
      security:
      - oauth2_implicit:
        - campaign_data
      - oauth2_access_code:
        - campaign_data
      x-authorization-privileges:
      - ui:campaign:metrics
  /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_updates:
    get:
      tags:
      - Landing Pages Reporting
      summary: GET a Unique Contacts Updates Landing Page Report
      description: Use this method to get contact details for each contact that updated their contact data from a landing page. Contacts are uniquely identified by `contact_id`.  The resulting contact data is listed with most recent activity first.
      operationId: getUniqueContactUpdates
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact open results.
        required: true
        type: string
        format: uuid
        x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
      - name: limit
        in: query
        description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
        required: false
        type: string
        default: '50'
        x-example: '100'
      - name: contacts_filter
        in: query
        description: 'Use to filter the results to only include contacts that contain a certain value. This parameter does full and partial matches and applies to the contact first name, last name, and email fields. For example: Josie or Jo.'
        required: false
        type: string
        x-example: Jo
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/PContactUpdateTrackingActivitiesPage'
        '400':
          description: Bad request. Either the JSON was malformed or there was a data validation error.
        '401':
          description: The Access Token used is invalid.
        '403':
          description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
        '404':
          description: The requested resource was not found.
        '415':
          description: Unsupported Media Type.
        '500':
          description: There was a problem with our internal service.
      security:
      - oauth2_implicit:
        - campaign_data
      - oauth2_access_code:
        - campaign_data
      x-authorization-privileges:
      - ui:campaign:metrics
  /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_adds:
    get:
      tags:
      - Landing Pages Reporting
      summary: GET a Unique Contacts Adds Landing Page Report
      description: Use this method to get details about each contact added to the account from a specified landing page. Contacts are identified by `contact_id`. The resulting contact data is listed with most recent activity first.
      operationId: getContactAdds
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact results.
        required: true
        type: string
        format: uuid
        x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
      - name: limit
        in: query
        description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
        required: false
        type: string
        default: '50'
        x-example: '100'
      - name: contacts_filter
        in: query
        description: 'Use to filter the results to only include contacts that contain a certain value. This parameter does full and partial matches and applies to the contact first name, last name, and email fields. For example: Josie or Jo.'
        required: false
        type: string
        x-example: Jo
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/PContactAddTrackingActivitiesPage'
        '400':
          description: Bad request. Either the JSON was malformed or there was a data validation error.
        '401':
          description: The Access Token used is invalid.
        '403':
          description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
        '404':
          description: The requested resource was not found.
        '415':
          description: Unsupported Media Type.
        '500':
          description: There was a problem with our internal service.
      security:
      - oauth2_implicit:
        - campaign_data
      - oauth2_access_code:
        - campaign_data
      x-authorization-privileges:
      - ui:campaign:metrics
  /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_sms_optins:
    get:
      tags:
      - Landing Pages Reporting
      summary: GET a Unique Contacts SMS Opt-In Landing Page Report
      description: Use this method get details about unique contacts that click a link on a landing page to opt in to receiving SMS text messages. Contacts are uniquely identified by `contact_id``.  The resulting contact data is listed with most recent activity first.
      operationId: getUniqueContactSMSOptIns
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact click results.
        required: true
        type: string
        format: uuid
        x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
      - name: limit
        in: query
        description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
        required: false
        type: string
        default: '50'
        x-example: '100'
      - name: contacts_filter
        in: query
        description: 'Use to filter the results to return only contacts that match a contacts full or partial first or last name, or email. For example: Josie or Jo.'
        required: false
        type: string
        x-example: Jo
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/PContactSMSOptInTrackingActivitiesPage'
        '400':
          description: Bad request. Either the JSON was malformed or there was a data validation error.
        '401':
          description: The Access Token used is invalid.
        '403':
          description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
        '404':
          description: The requested resource was not found.
        '415':
          description: Unsupported Media Type.
        '500':
          description: There was a problem with our internal service.
      security:
      - oauth2_implicit:
        - campaign_data
      - oauth2_access_code:
        - campaign_data
      x-authorization-privileges:
      - ui:campaign:metrics
definitions:
  PContactSMSOptInTrackingActivitiesPage:
    type: object
    required:
    - _links
    - tracking_activities
    properties:
      tracking_activities:
        type: array
        description: The list of landing page contact opt in tracking activities.
        items:
          $ref: '#/definitions/PContactSMSOptInTrackingActivity'
      _links:
        description: HAL property that contains next link if applicable
        $ref: '#/definitions/Links-6'
  PContactAddTrackingActivity:
    type: object
    required:
    - campaign_activity_id
    - contact_id
    - created_time
    - email_address
    - tracking_activity_type
    properties:
      contact_id:
        type: string
        format: uuid
        example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
        description: The unique ID that identifies the contact.
      campaign_activity_id:
        type: string
        format: uuid
        example: 98edac88-f4bc-408c-9e64-acd890384231
        description: The unique ID that identifies of the campaign activity to use.
      tracking_activity_type:
        type: string
        example: p_contact_adds
        description: The tracked activity event type.
      email_address:
        type: string
        example: maddieb@gmail.com
        description: The email address for the contact and tracking activity.
      first_name:
        type: string
        example: Maddie
        description: The first name of the contact.
      last_name:
        type: string
        example: Brown
        description: The last name of the contact.
      created_time:
        type: string
        format: date-time
        example: '2019-04-25T11:08:00.000Z'
        description: The time the tracking activity occurred.
      deleted_at:
        type: string
        format: date
        example: '2015-08-10'
        description: The time the Contact was deleted
      sms_channel:
        description: Sms channel info for this contact
        $ref: '#/definitions/TrackingActivitySmsChannelDTO'
  PContactSMSOptInTrackingActivity:
    type: object
    required:
    - campaign_activity_id
    - contact_id
    - created_time
    - email_address
    - tracking_activity_type
    properties:
      contact_id:
        type: string
        format: uuid
        example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
        description: The unique ID that identifies the contact.
      campaign_activity_id:
        type: string
        format: uuid
        example: 98edac88-f4bc-408c-9e64-acd890384231
        description: The unique ID that identifies of the campaign activity to use.
      tracking_activity_type:
        type: string
        example: p_contact_sms_optins
        description: The tracked activity event type.
      email_address:
        type: string
        example: maddieb@gmail.com
        description: The email address for the contact and tracking activity.
      first_name:
        type: string
        example: Maddie
        description: The first name of the contact.
      last_name:
        type: string
        example: Brown
        description: The last name of the contact.
      created_time:
        type: string
        format: date-time
        example: '2019-04-25T11:08:00.000Z'
        description: The time the tracking activity occurred.
      deleted_at:
        type: string
        format: date
        example: '2015-08-10'
        description: The time the Contact was deleted
      sms_channel:
        description: Sms channel info for this contact
        $ref: '#/definitions/TrackingActivitySmsChannelDTO'
  PContactUpdateTrackingActivity:
    type: object
    required:
    - campaign_activity_id
    - contact_id
    - created_time
    - email_address
    - tracking_activity_type
    properties:
      contact_id:
        type: string
        format: uuid
        example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
        description: The unique ID that identifies the contact.
      campaign_activity_id:
        type: string
        format: uuid
        example: 98edac88-f4bc-408c-9e64-acd890384231
        description: The unique ID that identifies of the campaign activity to use.
      tracking_activity_type:
        type: string
        example: p_contact_updates
        description: The tracked activity event type.
      email_address:
        type: string
        example: maddieb@gmail.com
        description: The email address for the contact and tracking activity.
      first_name:
        type: string
        example: Maddie
        description: The first name of the contact.
      last_name:
        type: string
        example: Brown
        description: The last name of the contact.
      created_time:
        type: string
        format: date-time
        example: '2019-04-25T11:08:00.000Z'
        description: The time the tracking activity occurred.
      deleted_at:
        type: string
        format: date
        example: '2015-08-10'
        description: The time the Contact was deleted
      sms_channel:
        description: Sms channel info for this contact
        $ref: '#/definitions/TrackingActivitySmsChannelDTO'
  PContactOpensTrackingActivitiesPage:
    type: object
    required:
    - _links
    - tracking_activities
    properties:
      tracking_activities:
        type: array
        description: The list of landing page contact opens tracking activities.
        items:
          $ref: '#/definitions/PContactOpenTrackingActivity'
      _links:
        description: HAL property that contains next link if applicable
        $ref: '#/definitions/Links-6'
  PContactAddTrackingActivitiesPage:
    type: object
    required:
    - _links
    - tracking_activities
    properties:
      tracking_activities:
        type: array
        description: The list of landing page contact adds tracking activities.
        items:
          $ref: '#/definitions/PContactAddTrackingActivity'
      _links:
        description: HAL property that contains next link if applicable
        $ref: '#/definitions/Links-6'
  PContactOpenTrackingActivity:
    type: object
    required:
    - campaign_activity_id
    - contact_id
    - created_time
    - email_address
    - tracking_activity_type
    properties:
      contact_id:
        type: string
        format: uuid
        example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
        description: The unique ID that identifies the contact.
      campaign_activity_id:
        type: string
        format: uuid
        example: 98edac88-f4bc-408c-9e64-acd890384231
        description: The unique ID that identifies of the campaign activity to use.
      tracking_activity_type:
        type: string
        example: p_contact_opens
        description: The tracked activity event type.
      email_address:
        type: string
        example: maddieb@gmail.com
        description: The email address for the contact and tracking activity.
      first_name:
        type: string
        example: Maddie
        description: The first name of the contact.
      last_name:
        type: string
        example: Brown
        description: The last name of the contact.
      device_type:
        type: string
        example: tablet
        description: The type of device that was used to open the link.
      created_time:
        type: string
        format: date-time
        example: '2019-04-25T11:08:00.000Z'
        description: The time the tracking activity occurred.
      deleted_at:
        type: string
        format: date
        example: '2015-08-10'
        description: The time the Contact was deleted
      sms_channel:
        description: Sms channel info for this contact
        $ref: '#/definitions/TrackingActivitySmsChannelDTO'
  PContactClickTrackingActivity:
    type: object
    required:
    - campaign_activity_id
    - contact_id
    - created_time
    - email_address
    - link_url
    - tracking_activity_type
    properties:
      contact_id:
        type: string
        format: uuid
        example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
        description: The unique ID that identifies the contact.
      campaign_activity_id:
        type: string
        format: uuid
        example: 98edac88-f4bc-408c-9e64-acd890384231
        description: The unique ID that identifies of the campaign activity to use.
      tracking_activity_type:
        type: string
        example: p_contact_click
        description: The tracked activity event type.
      email_address:
        type: string
        example: maddieb@gmail.com
        description: The email address for the contact and tracking activity.
      first_name:
        type: string
        example: Maddie
        description: The first name of the contact.
      last_name:
        type: string
        example: Brown
        description: The last name of the contact.
      device_type:
        type: string
        example: tablet
        description: The type of device that was used to click the link.
      url_id:
        type: string
        example: '1100407204171'
        description: The ID used to uniquely identify the link.
      link_url:
        type: string
        example: http://www.amazon.com
        description: The URL link text.
      created_time:
        type: string
        format: date-time
        example: '2019-04-25T11:08:00.000Z'
        description: The time the tracking activity occurred.
      deleted_at:
        type: string
        format: date
        example: '2015-08-10'
        description: The time the Contact was deleted
      sms_channel:
        description: Sms channel info for this contact
        $ref: '#/definitions/TrackingActivitySmsChannelDTO'
  PContactUpdateTrackingActivitiesPage:
    type: object
    required:
    - _links
    - tracking_activities
    properties:
      tracking_activities:
        type: array
        description: The list of landing page contact update tracking activities.
        items:
          $ref: '#/definitions/PContactUpdateTrackingActivity'
      _links:
        description: HAL property that contains next link if applicable
        $ref: '#/definitions/Links-6'
  Links-6:
    type: object
    required:
    - next
    properties:
      next:
        description: Contains the next link if it is available.
        $ref: '#/definitions/Next-3'
  Next-3:
    type: object
    required:
    - href
    properties:
      href:
        type: string
        description: The next link in the page or null if there are no additional pages
  TrackingActivitySmsChannelDTO:
    type: object
    properties:
      country_code:
        type: string
        example: US
        description: The ISO country code that is associated with SMS address.
      state:
        type: string
        description: "The SMS channel status:\n  <ul><li><code>N</code>: not_set<li>\n     <li><code>T</code>: temp_hold<li>\n     <li><code>P</code>: pending_confirmation<li>\n     <li><code>I</code>: implicit<li>\n     <li><code>E</code>: explicit<li>\n     <li><code>O</code>: unsubscribed<li>\n     <li><code>D</code>:deprecated<li></ul>"
      formatted_international:
        type: string
        example: +1 234-555-6789
        description: 'The formatted SMS number returned if the SMS <code>country_code</code> does not match the contacts <code>country_code</code>. '
      formatted_national:
        type: string
        example: (234) 555-6789
        description: 'The formatted SMS number returned if the SMS <code>country_code</code> matches the contacts <code>country_code</code>. '
  PContactClickTrackingActivitiesPage:
    type: object
    required:
    - _links
    - tracking_activities
    properties:
      tracking_activities:
        type: array
        description: The list of landing page contact click tracking activities.
        items:
          $ref: '#/definitions/PContactClickTrackingActivity'
      _links:
        description: HAL property that contains next link if applicable
        $ref: '#/definitions/Links-6'
securityDefinitions:
  oauth2_implicit:
    type: oauth2
    authorizationUrl: https://authz.constantcontact.com/oauth2/default/v1/authorize
    flow: implicit
    scopes:
      contact_data: Read or modify contact data.
      campaign_data: Read or modify email campaign data.
      account_read: Read account data.
      account_update: Modify account data.
  oauth2_access_code:
    type: oauth2
    authorizationUrl: https://authz.constantcontact.com/oauth2/default/v1/authorize
    tokenUrl: https://authz.constantcontact.com/oauth2/default/v1/token
    flow: accessCode
    scopes:
      contact_data: Read or modify contact data.
      campaign_data: Read or modify email campaign data.
      account_read: Read account data.
      account_update: Modify account data.
  ctctPartnerAuthorizer:
    description: Partner Authentication
    type: oauth2
    authorizationUrl: https://v3api-partner.auth.us-east-1.amazoncognito.com/oauth2/token
    flow: implicit
    scopes:
      v3api/general.partner: Access to general partner API methods
  api_key:
    type: apiKey
    name: x-api-key
    in: header