CData Python Connector for Mailchimp

Build 26.0.9655

CData Python Connector for Mailchimp

Overview

The CData Python Connector for Mailchimp allows developers to write Python scripts with connectivity to Mailchimp. The connector wraps the complexity of accessing Mailchimp data in an interface commonly used by Python connectors to common database systems.

Key Features

  • WHL installation packages that enable installation with "pip install".
  • Supported for Python 3.10 or newer on Windows, Linux, and macOS.
  • Write and execute SQL queries to fetch and update data in Mailchimp.
  • Custom dialect class that enables SQLAlchemy 1.3 and 1.4 to use this connector.

Getting Started

See Getting Started to install the connector to your Python distribution and to create a basic connection to Mailchimp.

Using the Python Connector/Using from Tools

See Using the Connector for examples of executing basic SELECT, INSERT, UPDATE, DELETE, and EXECUTE queries with the module's provided classes.

See Using from Tools to connect Mailchimp data to tools such as Pandas or Petl.

SQLAlchemy ORM

SQLAlchemy can be leveraged to model the tables in Mailchimp with mapped classes. See From SQLAlchemy for instructions for configuring the Python connector with SQLAlchemy.

Pandas

Pandas' DataFrames can be used alongside the connector to generate analytical graphics. See From Pandas for a guide.

Schema Discovery

See Schema Discovery to query the provided system tables, which allows users to discover the available tables, views, and stored procedure, alongside additional information about their columns or parameters.

Advanced Features

Advanced Features details additional features supported by the connector, such as defining user defined views, ssl configuration, remoting, caching, firewall/proxy settings, and advanced logging.

SQL Compliance

See SQL Compliance for a syntax reference and code examples outlining the supported SQL.

Data Model

See Data Model for the available database objects. This section also provides more detailed information on querying specific Mailchimp entities.

Connection String Options

The Connection properties describe the various options that can be used to establish a connection.

CData Python Connector for Mailchimp

Getting Started

Connecting to Mailchimp

For information on the available WHL files for supported environments, and how to install the appropriate file for your Python distribution, see Package Installation.

For information on the module to import, and how to configure the necessary connection properties in a connection string, see Establishing a Connection.

Other available connection properties can be used to configure other aspects of the connector capabilities.

Python Version Support

The CData Python Connector for Mailchimp can be installed and used in Python 3.10 or newer.

Mailchimp Version Support

The connector defaults to version 3 of the Core Mailchimp API.

See Also

  • Using the Connector: Establish connections and query Mailchimp through Python code.
  • From SQLAlchemy: Use SQLAlchemy to establish a connection with dialect URL, and interact with Mailchimp data using mapped classes and Sessions.

CData Python Connector for Mailchimp

Package Installation

Dependencies

The Python connectors require that Python 3.10 or newer be installed.

Installation

The CData Python Connector for Mailchimp is available as a WHL file for Windows, Linux, and Mac. Each connector is built using the Python 3.10 Stable ABI (indicated by the abi3 tag in the filename), so a single wheel supports any Python 3.10 or newer installation — there is no need to match your exact Python minor version. Use the "pip install" command with the appropriate WHL file for your platform.

Windows:

pip install cdata_mailchimp_connector-26.0.9655-cp310-abi3-win_amd64.whl

Linux:

pip install cdata_mailchimp_connector-26.0.9655-cp310-abi3-linux_x86_64.whl

macOS:

pip install cdata_mailchimp_connector-26.0.9655-cp310-abi3-macosx_12_0_arm64.whl

The macOS wheel supports arm64 (Apple Silicon) architectures only on macOS 12 and newer.

Regardless of the environment, certain distributions might require that the "pip3 install" command be used instead, to differentiate from a Python 2 distribution that might exist already. After installation, confirm whether the connector is successfully installed by running the "pip list" command. If "cdata_mailchimp_connector" is present in the list output by the command, then the installation was successful.

Upgrading

When upgrading, "pip install" does not automatically clean up old JRE files. To avoid leftover files that could cause JVM errors, uninstall the previous version before installing the new one.

Licensing

After the installation is complete, a separate step is needed to activate a license for the connector. Among the CData assets in the distribution's site packages, there is an install-license tool that activates this license. From within the distribution's site-packages folder, after navigating to the "cdata/installlic_mailchimp" folder, simply use a command like the below to activate the license. Omitting the <key> argument activates a trial license:

  • Windows:
    ./install-license.exe <key>
  • Linux / Mac:
    ./install-license.sh <key>

Sometimes, file access issues may cause pip to install the connector in a fallback file path that is not the python distribution's main or primary site-packages location. This can make it difficult to find where the connector was installed, and from there, the license activator. In that event, this python script below will print out the full file path of the connector's native file. This file will be stored in the mentioned cdata folder, from which the installlic_mailchimp folder is trivial to find:

import os
import cdata.mailchimp
path = os.path.abspath(cdata.mailchimp.__file__)
print(path)

Uninstallation

If the connector needs to be uninstalled for any reason, do so by running the pip uninstall command, as in the example below:

pip uninstall cdata-mailchimp-connector

CData Python Connector for Mailchimp

Establishing a Connection

The objects available within our connector are accessible from the "cdata.mailchimp" module. To use the module's objects directly:

  1. Import the module as follows:
    import cdata.mailchimp as mod
  2. To establish a connection string, call the connect() method from the connector object using an appropriate connection string, such as:
    mod.connect("APIKey=myAPIKey;")

Connecting to Mailchimp Marketing API

Mailchimp Marketing API supports the following authentication methods:

  • APIKey
  • OAuth

API Key

The easiest way to connect to Mailchimp Marketing API is to use the API Key. The APIKey grants full access to your Mailchimp account. To obtain the APIKey:

  1. Log into Mailchimp.
  2. Navigate to Account > Extras > API Keys.
  3. Note the value of the API Key.

Once you have the value of the API Key:

  1. Set APIKey to the value of the API Key.
  2. Set AuthScheme to APIKey.

OAuth

Desktop Applications

To authenticate with the credentials for a custom OAuth application, you must get and refresh the OAuth access token. After you do that, you are ready to connect.

Get and refresh the OAuth access token:

When you connect, the connector opens Mailchimp's OAuth endpoint in your default browser. Log in and grant permissions to the application.

After you grant permissions to the application, the connector then completes the OAuth process:

  1. The connector obtains an access token from Mailchimp and uses it to request data.
  2. The OAuth values are saved in the path specified in OAuthSettingsLocation. These values persist across connections.

When the access token expires, the connector refreshes the access token automatically.

Web Applications

Authenticating via the Web requires you to create and register a custom OAuth application with Mailchimp, as described in Creating a Custom OAuth Application. You can then use the connector to get and manage the OAuth token values.

This section describes how to get the OAuth access token, and how to have the driver refresh the OAuth access token automatically.

Get the OAuth access token:

  1. Set the following connection properties to obtain the OAuthAccessToken:

  2. Call stored procedures to complete the OAuth exchange:
    • Call the GetOAuthAuthorizationURL stored procedure. Set the AuthMode input to WEB and the CallbackURL to the Redirect URI you specified in your application settings. The stored procedure returns the URL to the OAuth endpoint.
    • Navigate to the URL that the stored procedure returned in Step 1. Log in and authorize the web application. You are redirected back to the callback URL.
    • Call the GetOAuthAccessToken stored procedure. Set the AuthMode input to WEB. Set the Verifier input to the code parameter in the query string of the redirect URI.

After you obtain the access and refresh tokens, you can connect to data and refresh the OAuth access token automatically.

Automatic refresh of the OAuth access token:

To have the connector automatically refresh the OAuth access token, do the following:

  1. The first time you connect to data, set the following connection parameters:
  2. On subsequent data connections, set the following:

Headless Machines

If you need to log in to a resource that resides on a headless machine, you must authenticate on another device that has an internet browser. You can do this in either of the following ways:

  • Option 1: Obtain the OAuthVerifier value.
  • Option 2: Install the connector on a machine with an internet browser and transfer the OAuth authentication values after you authenticate through the usual browser-based flow.

After you execute either Option 1 or Option 2, configure the driver to automatically refresh the access token on the headless machine.

Option 1: Obtaining and Exchanging a Verifier Code

To obtain a verifier code, you must authenticate at the OAuth authorization URL. Do the following:

  1. Authenticate from the machine with an internet browser, and obtain the OAuthVerifier connection property.

    Set the following properties:

  2. Call the GetOAuthAuthorizationURL stored procedure. The stored procedure returns the CallbackURL established when the custom OAuth application was registered. (See Creating a Custom OAuth Application.)

    Copy this URL and paste it into a new browser tab.

  3. Log in and grant permissions to the connector. The OAuth application redirects you the redirect URI, with a parameter called code appended. Note the value of this parameter; you will need it later, to configure the OAuthVerifier connection property.

  4. Exchange the OAuth verifier code for OAuth refresh and access tokens. On the headless machine, set the following connection properties to obtain the OAuth authentication values:

  5. Test the connection to generate the OAuth settings file.

  6. After you re-set the following properties, you are ready to connect:

    • InitiateOAuth: REFRESH.
    • OAuthSettingsLocation: The file containing the encrypted OAuth authentication values. To enable the automatic refreshing of the access token, be sure that this file gives read and write permissions to the connector.
    • OAuthClientId: The client Id assigned when you registered your application.
    • OAuthClientSecret: The client secret assigned when you registered your application.

Option 2: Transferring OAuth Settings

Prior to connecting on a headless machine, you must install and create a connection with the driver on a device that supports an internet browser. Set the connection properties as described above in "Desktop Applications".

After completing the instructions in "Desktop Applications", the resulting authentication values are encrypted and written to the path specified by OAuthSettingsLocation. The default filename is OAuthSettings.txt.

Test the connection to generate the OAuth settings file, then copy the OAuth settings file to your headless machine.

To connect to data via the headless machine, set the following connection properties:

  • InitiateOAuth: REFRESH.
  • OAuthSettingsLocation: The path to the OAuth settings file you copied from the machine with the browser. To enable automatic refreshing of the access token, ensure that this file gives read and write permissions to the connector.
  • OAuthClientId: The client Id assigned when you registered your custom OAuth application.
  • OAuthClientSecret: The client secret assigned when you registered your custom OAuth application.

Connecting to Mailchimp Transactional API

To connect to the Mailchimp Transactional API, you must authenticate using a Transactional API key. To obtain the Transactional API key, you must have the Transactional Email Plan enabled in your account.

Once you have enabled the Transactional Email Plan, follow the steps below to create a Transactional API key:

  1. Log into Mailchimp.
  2. Navigate to User Menu > Profile > Extras > API keys.
  3. Click Create A Mandrill API Key. You are then redirected to the Mandrill website.
  4. Click Create API Key. A form displays.
  5. You can optionally enter a description, then click Create API Key.
  6. Copy and save the value of the Transactional API key.

Once you have the value of the Transactional API key:

  1. Set TransactionalAPIKey to the value of the Transactional API key.
  2. Set Schema to Transactional.

CData Python Connector for Mailchimp

Configuring JNI

Java Native Interface (JNI) is a standard programming interface for writing Java native methods and embedding the Java virtual machine into native applications.

The connector leverages the JNI for improved performance on Mac and Linux.

Configure the Config INI File

The Linux and Mac editions of the Mailchimp python connector are configured with an ini file. This file is used to set several parameters, including JNI behavior. This file is to be located in:

{path_to_distribution_site-packages}/cdata/config.ini

Ensure that any configuration properties you set in the ini file fall under the following section name (adjust the 311 number if you are using an different python version from 3.11):

  • For Linux:
    [mailchimp.cpython-311-x86_64-linux-gnu.so]
  • For Mac:
    [mailchimp.cpython-311-darwin.so]

Configure the JNI connector's behavior by editing the properties in the connector's config.ini file. The connector can be configured as follows:

  • LOGFILE: Set this the same way as the CDATA_LOGFILE envrionment variable below.
  • JAVA_HOME: Configure the path to the JVM library location used to launch the JVM.
  • CLASS_PATH: Use a colon-separated list to configure the paths to the third-party jar libraries.

Configure Environment Variables

Additionally, set the following environment variables:

  • CDATA_JAVA_HOME: Configure the path to the JVM library location used to launch the JVM.
  • CDATA_JVM_OPTIONS: Place JVM options here.
  • CDATA_LOGFILE: Set this in the following scheme: <SCHEME>://<TAG>[|<LEVEL>]

    • SCHEME: The options are STDOUT, FILE.
      • STDOUT: Both the native wrapper and odbc core log into stdout. The Logfile and Verbosity properties can override the behavior of ODBC core.
      • FILE: The native wrapper logs into <FILENAME> while the odbc core logs into <FILENAME>.driver.log. The Logfile and Verbosity properties can override the behavior of ODBC core.
    • TAG
      • For STDOUT, set this to 1. For FILE, set this to the filename.
    • LEVEL
      • Set to one of: FATAL | ERROR | WARNING | INFO | DEBUG

The following are some examples of this syntax:

  • STDOUT://1|DEBUG
  • FILE:///tmp/my_py.log|DEBUG

Custom Logger

The Python connector supports a custom logging mechanism for redirecting log output to any destination, such as a cloud storage service or logging framework. Use setCustomLoggerFactory() to register a factory function that creates a logger instance for each connection.

The factory function receives the context string from the Logfile connection property (the portion after CUSTOM://) and must return an object with a writeLog(verbosity, message) method.

To enable custom logging:

  1. Call setCustomLoggerFactory() with your factory function before opening connections.
  2. Set Logfile to CUSTOM:// followed by a context string to identify the connection.
  3. Set Verbosity to the desired log level.

The following example demonstrates a custom logger factory that creates a separate logger instance per connection:

import cdata.mailchimp as mod
import time

class MyLogger:
    def __init__(self, loggerId):
        self.loggerId = loggerId
    def writeLog(self, verbosity, message):
        print("[MyLogger " + self.loggerId + "] " + message)

def createLogger(context):
    return MyLogger(context[len("MyLoggerId="):])

mod.setCustomLoggerFactory(createLogger)

conn1 = mod.connect("...;Logfile=CUSTOM://MyLoggerId=1;Verbosity=2;")
# do something with conn1
time.sleep(1)  # Wait for logs to flush from conn1

conn2 = mod.connect("...;Logfile=CUSTOM://MyLoggerId=2;Verbosity=2;")
# do something with conn2
time.sleep(1)  # Wait for logs to flush from conn2

CData Python Connector for Mailchimp

Creating a Custom OAuth Application

Creating a Custom OAuth Application

There are two authentication methods available for connecting to Mailchimp: You can use the APIKey or use OAuth.

OAuth can be used to enable other users to access their own data. It is also useful if you want to:

  • control branding of the authentication dialog;
  • control the redirect URI that the application redirects the user to after the user authenticates; or
  • customize the permissions that you are requesting from the user.

To register a custom OAuth application in Mailchimp and obtain the OAuth client credentials, the OAuthClientId and OAuthClientSecret:

  1. Log into your Mailchimp account.
  2. Navigate to Account > Extras > API Keys > Register and Manage Your Apps.
  3. Enter the information you want to be displayed to users when they are prompted to grant permissions to your application. This information includes your app name, company, and website.
  4. If this is a Desktop application, specify a Redirect URI of http://127.0.0.1.

    If this is a Web application, specify a Redirect URI where you would like users to be redirected after they grant permissions to your application.

After you have created and registered a custom OAuth app, users can connect to Mailchimp as described in "Connecting to Mailchimp".

CData Python Connector for Mailchimp

Changelog

General Changes

DateVersionSourceCategoryTypeDescription
2026-06-0426.0.9651MailchimpData ModelAdded
  • The following columns have been added to the ECommerceOrders table:
    • Customer_EmailAddress (string, customer/email_address)
    • Customer_SmsPhoneNumber (string, customer/sms_phone_number)
    • Customer_OptInStatus (boolean, customer/opt_in_status)
    • Customer_Company (string, customer/company)
    • Customer_FirstName (string, customer/first_name)
    • Customer_LastName (string, customer/last_name)
    • Customer_OrdersCount (integer, customer/orders_count)
    • Customer_TotalSpent (decimal, customer/total_spent)
    • Customer_Address_Address1 (string, customer/address/address1)
    • Customer_Address_Address2 (string, customer/address/address2)
    • Customer_Address_City (string, customer/address/city)
    • Customer_Address_Province (string, customer/address/province)
    • Customer_Address_ProvinceCode (string, customer/address/province_code)
    • Customer_Address_PostalCode (string, customer/address/postal_code)
    • Customer_Address_Country (string, customer/address/country)
    • Customer_Address_CountryCode (string, customer/address/country_code)
    • Customer_CreatedAt (datetime, customer/created_at)
    • Customer_UpdatedAt (datetime, customer/updated_at)
2026-05-2726.0.9643GeneralConnectionRemoved
  • Removed the deprecated ReplaceInvalidTypesWithNull connection property. Use the ReplaceInvalidValuesWithNull property instead.
2026-05-2226.0.9638PythonRemoved
  • Remove support for Intel x64 architecture on macOS
2026-05-0726.0.9623GeneralData ModelAdded
  • Added the ColumnCapabilities column to the sys_tablecolumns system table. This column is a bit mask denoting the column's write capabilities.
2026-05-0726.0.9623PythonChanged
  • Updated embedded JRE to jre-17.0.19+10 (Linux x64 / MacOs x64).
2026-04-3026.0.9616MailchimpData ModelChanged
  • In the MailChimp schema, the following columns have been made read-only:
    • In the Campaigns table: AbSplitOpts_FromNameA, AbSplitOpts_FromNameB, AbSplitOpts_PickWinner, AbSplitOpts_ReplyEmailA, AbSplitOpts_ReplyEmailB, AbSplitOpts_SendTimeA, AbSplitOpts_SendTimeB, AbSplitOpts_SendTimeWinner, AbSplitOpts_SplitSize, AbSplitOpts_SplitTest, AbSplitOpts_SubjectA, AbSplitOpts_SubjectB, AbSplitOpts_WaitTime, AbSplitOpts_WaitUnits, DeliveryStatus, ItemURL, Recipients_SegmentText, and ReportSummary
    • In the EcommerceOrders table: HasOutreach, Outreach_Name, Outreach_PublishedTime, and Outreach_Type
    • In the ListMembers table: InterestCategoryId, InterestIds, InterestMatch, SinceLastCampaign, SmsPhoneNumber, SmsSubscriptionLastUpdated, SmsSubscriptionStatus, StatusIfNew, UnsubscribedSince, and Vip
    • In the Lists table: Visibility
2026-04-2126.0.9607MailchimpData ModelAdded
  • Added the following stored procedures to the MailChimp Data Model: PublishLandingPage, UnpublishLandingPage, and VerifyConnectedSiteScript.
2026-04-1626.0.9602MailchimpConnectionRemoved
  • Removed the IncludeCustomFields connection property.
2026-04-1626.0.9602MailchimpData ModelRemoved
  • Removed from the Mailchimp schema: all Transactional\* tables, views, and stored procedures. These tables, views, and stored procedures are available through the Transactional schema.
2026-04-1626.0.9602MailchimpMetadataChanged
  • MailChimp/ListAbuse.rsd: Date datatype changed from string to date.
  • MailChimp/ReportAbuse.rsd: Date datatype changed from string to date.
  • MailChimp/ReportProductActivity.rsd: TotalPurchased datatype changed from integer to decimal; TotalRevenue datatype changed from integer to decimal.
  • Transactional/MessageContent.rsd: Ts datatype changed from string to datetime; renamed Tags# column to Tags and Attachments# column to Attachments.
  • Transactional/Messages.rsd: Ts datatype changed from string to long.
2026-04-1526.0.9601GeneralQuery ExecChanged
  • String comparisons using GREATER, LESS, and CONTAINS operators are now case-insensitive by default.
2026-04-1526.0.9601MailchimpData ModelChanged
  • The CustomerId pseudocolumn is now a column in the ECommerceOrder table. This column provides the Id of the customer that is associated with the ECommerce Order.
2026-04-1026.0.9596MailchimpData ModelAdded
  • Added flattened sub-fields of the address-type merge field as individual columns in list-specific ListMembers tables. The aggregate address-type field is also returned.
2026-04-0826.0.9594MailchimpSecurityChanged
  • TLS 1.3 is now supported by default for HTTP connections.
2026-03-2025.0.9575MailchimpData ModelAdded
  • Added a new view, SurveyResponsesResults.
2026-02-1225.0.9539MailchimpChanged
  • Changed the data type of the DisplayOrder and Options_Size columns from integer to long in the ListMergeFields table.
2026-02-0525.0.9532MailchimpAdded
  • Added the Transactional schema. This data model reflects the contents of the Transactional API.
  • Added the Schema connection property. This property allows you to toggle between data models based on the Marketing and Transactional APIs.
2026-02-0425.0.9531MailchimpChanged
  • The data type of the Quantity column in the EcommerceCartLines and EcommerceOrderLines tables has been changed from integer to long.
  • The data type of the InventoryQuantity column in the EcommerceProductVariants table has been changed from integer to long.
2026-01-2225.0.9518MailchimpAdded
  • Added ListLocations and ListFacebookEcommerceReport views.
2026-01-1325.0.9509GeneralAdded
  • Added support for the REGEXP_REPLACE() string function.
2025-12-2125.0.9486PythonAdded
  • Added support for custom loggers in Python connectors on Linux and macOS.
2025-12-0525.0.9470GeneralAdded
  • Added support for the INSERT INTO SELECT statement, with driver-side execution for providers that do not support the operation natively.
2025-11-2725.0.9462MailchimpAdded
  • Added a new connection property, TransactionalAPIKey. When set, this property enables the user to retrieve results from transactional views.
2025-10-3025.0.9434PythonChanged
  • Updated embedded JRE to jre-17.0.17+10 (Linux x64 / MacOs x64).
2025-10-1725.0.9421MailchimpAdded
  • Added the Opens_ProxyExcludedOpens, Opens_ProxyExcludedUniqueOpens, Opens_ProxyExcludedOpenRate, and ListStats_ProxyExcludedOpenRate columns to the Reports table.
2025-10-0625.0.9410GeneralAdded
  • Support for parsing datetime formats using ".S" and ",S" for milliseconds and nanoseconds.
2025-10-0325.0.9407MailchimpAdded
  • Added BatchWebhooks, FacebookAds, FileManagerFolderFiles, LandingPageContents, LandingPages, ListMemberActivityFeeds, ListMemberGoals, ListsTagsSearch, ListSurveys, ReportEepUrls, ReportingFacebookAds, ReportingLandingPages, ReportingSurveyQuestionAnswers, ReportingSurveyQuestions, ReportProductActivity, ReportSubReports, and VerifiedDomains views.
  • Added the ViewTemplatesDefaultContent stored procedure.
2025-09-1225.0.9386GeneralAdded
  • Added the IsInsertable, IsUpdateable, and IsDeleteable columns to the sys_tables table.
2025-09-1025.0.9384GeneralChanged
  • All columns in statically defined Views are now reported as read-only.
2025-09-1025.0.9384MailchimpAdded
  • Added the SmsPhoneNumber, SmsSubscriptionStatus and SmsSubscriptionLastUpdated columns to the ListMembers table.
  • Added the TotalSent column to the ReportDomainPerformance view.
  • Added the ProxyExcludedOpens column to the ReportLocations view.
2025-09-0325.0.9377GeneralChanged
  • Corrected the behavior when IN criteria with NULL values are used in the projection part. It now returns NULL instead of 0. For example, "NULL IN (1,2)" returns "NULL".
2025-09-0125.0.9375GeneralAdded
  • Added support for using the CAST function with infinity values. This function can cast "inf" and "-inf" to DOUBLE, FLOAT, or REAL.
2025-08-2525.0.9368MailchimpAdded
  • Added the MergeFields column to the ListMembers table. This column is present whether the IncludeCustomFields property is true or false. Thus, custom fields no longer appear in ListMembers when IncludeCustomFields=true. To query merge fields as custom fields, use the ListMember_*ListName* table instead.
2025-08-2125.0.9364GeneralChanged
  • Report behavior change:
    • Fixed inconsistent string value comparisons in non-table queries.
    • For example, "SELECT 'A' = 'a'" previously returned false, but it now returns true.
2025-08-1325.0.9356GeneralChanged
  • Changed the maximum number of pages held in memory from 15 to 5 for the page providers to decrease heap usage.
2025-08-1225.0.9355MailchimpAdded
  • Added TransactionalCancelScheduledEmail, TransactionalRescheduledEmail, TransactionalSendMessage, and TransactionalSendTemplate stored procedures.
2025-07-2925.0.9341MailchimpAdded
  • Added TransactionalAllowLists, TransactionalTags, and TransactionalTemplates tables.
  • Added TransactionalScheduledEmails, TransactionalSenders, and TransactionalUserInfos views.
2025-07-2225.0.9334MailchimpAdded
  • Added Update and Insert functionality for the Templates table.
  • Added Html pseudo-column in the Templates table. This column is required for Update operations.
2025-07-2225.0.9334MailchimpChanged
  • The Active column in the Templates table has been changed to be read-only.
2025-07-1125.0.9323MailchimpRemoved
  • Removed the Tracking_Highrise column from AutomationEmails, Automations, and Campaigns.
2025-07-0725.0.9319PythonRemoved
  • Removed the 32-bit version of Windows Python.
2025-07-0225.0.9314PythonRemoved
  • Removed support for Python 3.9.
2025-06-2825.0.9310MailchimpAdded
  • Added new views AccountExports, BatchOperations, CampaignsContent, CampaignSendCheckList, CampaignsVariateContents, ChimpChatterActivity, ConnectedSites, EcommerceProductImages, EcommerceStoresPromoCodes, and EcommerceStoresPromoRules.
  • Added DownloadAccountExports stored procedure.
  • Added ListId and MemberId as keys in ListMemberTags view.
  • Added DeleteECommerceCarts and UpdateECommerceCarts Stored Procedures.
2025-06-2825.0.9310MailchimpRemoved
  • Removed keys from EcommerceCarts table, ListMemberActivity view and ListMemberEvents table.
  • Removed Update and Delete support for ECommerceCarts table.
2025-06-2725.0.9309MailchimpAddedAdded Since pseudo column in the CampaignOpenEmailDetails view.Added ItemURL column in the Campaigns table.Added HasUnreadMessages pseudo column in the Conversations view.Added CustomerId and HasOutreach pseudo columns in the EcommerceOrders table.Added InterestCategoryId, InterestMatch, InterestIds, SinceLastCampaign and UnsubscribedSince pseudo columns in the ListMembers table.Added IncludeCleaned, IncludeTransactional and IncludeUnsubscribed pseudo columns in the ListSegmentMembers table.Added IncludeCleaned, IncludeTransactional and IncludeUnsubscribed pseudo columns in the ListSegments table.Added AnsweredQuestion, ChoseAnswer and RespondentFamiliarityIs pseudo columns in the SurveyResponses view.
2025-06-2525.0.9307GeneralRemoved
  • Removed the "ADLS Gen 1" value from the ConnectionType property.
2025-06-2525.0.9307PythonAdded
  • Added support for Python 3.13 in Windows, Linux, and Mac editions.
2025-06-2525.0.9307PythonRemoved
  • Removed support for Python 3.8 as it is no longer supported.
2025-06-2025.0.9302GeneralAdded
  • Created the following functions:
    • TEXT_ENCODE: encodes a string into a different charset (UTF8 → UTF7 and returns a binary array as the result).
    • TEXT_DECODE: takes a binary array and decodes it back into a string when provided the charset.
    • BASE64_ENCODE: takes a binary array and encodes it as a base64 string (varchar).
    • BASE64_DECODE: takes a base 64-encoded string and decodes it into a binary array.
2025-06-1825.0.9300GeneralChanged
  • The internal code for exception handling has been refactored. Exception messages returned during certain error conditions may now have different wording or formatting.
2025-05-2825.0.9279MailchimpAdded
  • Added Recipients_ListIsActive and Recipients_StoreId columns to the Automations view.
  • Added Trigger_Settings_WorkflowType, Trigger_Settings_WorkflowTitle, Trigger_Settings_WorkflowEmailsCount, WebId, Delay_ActionDescription, Delay_FullDescription, NeedsBlockRefresh, HasLogoMergeTag, Recipients_ListIsActive, Recipients_ListName, Recipients_RecipientCount, Recipients_SegmentText, and Settings_PreviewText columns to the AutomationEmails view.
  • Added DateEdited, EditedBy, and ContentType columns to the Templates table.
  • Added WebId, ParentCampaignId, NeedsBlockRefresh, Resendable, Recipients_ListIsActive, and Settings_PreviewText columns to the Campaigns table.
  • Added IsSyncing, ConnectedSite_SiteForeignId, ConnectedSite_SiteScript_Url, ConnectedSite_SiteScript_Fragment, Automations_AbandondedCart_IsSupported, Automations_AbandondedCart_Id, Automations_AbandondedCart_Status, Automations_AbandondedCart_IsSupported, Automations_AbandondedBrowse_Id, Automations_AbandondedBrowse_Status, and ListIsActive columns to the EcommerceStores view.
  • Added ImageUrl and Discount columns to the EcommerceOrderLines table.
  • Added LandingSite, OrderUrl, DiscountTotal, Promos, Outreach_Id, Outreach_Name, Outreach_Type, Outreach_PublishedTime, TrackingNumber, TrackingCarrier, and TrackingUrl columns to the EcommerceOrders table.
  • Added CurrencyCode and Images columns to the EcommerceProducts table.
  • Added ListId, ListIsActive, ListName, SubjectLine, PreviewText, RssLastSend, and Ecommerce columns to the Reports view.
  • Added ListIsActive, MergeFields, and Vip columns to the ReportAbuse view.
  • Added MergeFields, Vip, ListIsActive, and ContactStatus columns to the ReportClickDetailsMembers view.
  • Added ListIsActive column to the ReportEmailActivity view.
  • Added CountryCode and RegionName columns to the ReportLocations view.
  • Added MergeFields, Vip, and ListIsActive columns to the ReportSentTo view.
  • Added MergeFields, Vip, and ListIsActive columns to the ReportUnsubscribes view.
  • Added WebId, DoubleOptin, HasWelcome, MarketingPermissions, and Stats_TotalContacts columns to the Lists table.
  • Added MergeFields and Vip columns to the ListAbuse view.
  • Added EmailId and ContactId columns to the ListMemberNotes table.
  • Added ContactId, WebId, UnsubscribeReason, ConsentsToOneToOneMessaging, Stats_EcommerceData_TotalRevenue, Stats_EcommerceData_NumberOfOrders, Stats_EcommerceData_CurrencyCode, Location_Region, MarketingPermissions, Source, and TagsCount to the ListMembers table.
  • Added MergeFields column to the ListSegmentMembers table.
2025-05-2725.0.9278GeneralRemoved
  • Removed the "Proprietary" enum option from ProxyAuthscheme.
2025-05-2325.0.9274MailchimpAdded
  • Added parallel pagination for various tables and views.
2025-05-1225.0.9263PythonChanged
  • Updated embedded JRE to jre-17.0.15+6 (Linux x64 / MacOS x64) and jre-17.0.15+6 (MacOS aarch64).
2025-02-1524.0.9177GeneralAdded
  • Added support for converting unsigned integer types to the nearest signed data type that has enough precision to hold the unsigned value.This is done for JDBC only because it does not have support for unsigned data types.
2024-11-2724.0.9097GeneralAdded
  • Added ThreadId to LogModule output. Logfile lines now include the Thread ID associated with the action being performed.
2024-07-2424.0.8971MailchimpRemoved
  • The ListId column in the AutomationEmailQueues table is no longer a key column.
  • The ListId column in the AutomationsRemovedSubscribers view is no longer a key column.
  • The ParentId and BlockId columns in the CampaignFeedback table are no longer key columns.
  • The ProductId and ProductVariantId columns in the EcommerceCartLines table are no longer key columns.
  • The CampaignId column in the EcommerceCarts table is no longer a key column.
  • The ProductId and ProductVariantId columns in the EcommerceOrderLines table are no longer key columns.
  • The FolderId column in the FileManagerFiles table is no longer a key column.
  • The CampaignId column in the ReportAdvice view is no longer a key column.
  • The CampaignId column in the ReportDomainPerformance view is no longer a key column.
  • The FolderId column in the Templates table is no longer a key column.
2024-07-2424.0.8971MailchimpAdded
  • Added Region as a key column in the ReportLocations view.
2024-06-0524.0.8922PythonAdded
  • Added support for Python 3.12.
2024-05-1024.0.8896MailchimpChanged
  • Converted ListMemberTags, AutomationEmailQueues and AutomationsRemovedSubscribers to views.
2024-05-1024.0.8896MailchimpAdded
  • Added AddOrRemoveMemberTags, AddSubscriberToWorkflowEmail and RemoveSubscriberFromWorkflow Stored Procedures.
2024-05-0924.0.8895GeneralChanged
  • The ROUND function previously did not accept negative precision values. That feature has now been restored.
2024-03-2123.0.8846MailchimpChanged
  • Converted ConversationMessages from a table to a view since its API endpoint now only supports reads.
2024-03-1523.0.8840GeneralAdded
  • Created a new SQL function called STRING_COMPARE that provides java's String.compare() ability to SQL queries. Returns a number representative of the compared value of two strings
2024-03-0723.0.8832MailchimpAdded
  • Added Timestamp as composite column in ListMemberActivity view.
  • Added ContactId column in ListMemberActivity view.
  • Removed ListsTwitterLeadGenCards view as it is no longer supported as per API.
  • AuthorizedApps is converted to view as only GET endpoint is supported as per API.
2023-11-2923.0.8733GeneralChanged
  • The ROUND function doesn't accept the negative precision values anymore.
2023-11-2923.0.8733GeneralChanged
  • The returning types of the FDMonth, FDQuarter, FDWeek, LDMonth, LDQuarter, LDWeek functions are changed from Timestamp to Date.
  • The return type of the ABS function will be consistent with the parameter value type.
2023-11-2823.0.8732GeneralAdded
  • Added the HMACSHA256 formatter to allow for secrets to be decoded if it is in base64 format
2023-08-2923.0.8641PythonAdded
  • Added support for SQLAlchemy 2.0.
2023-06-2023.0.8571GeneralAdded
  • Added the new sys_lastresultinfo system table.
2023-05-1923.0.8539PythonAdded
  • Added support for Python 3.11 on Windows, Linux and Mac.
2023-05-1623.0.8536PythonRemoved
  • Removed support for Python 3.7 on Windows and Linux
2023-04-2523.0.8515GeneralRemoved
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
2022-12-1422.0.8383GeneralChanged
  • Added the Default column to the sys_procedureparameters table.
2022-11-1522.0.8354PythonChanged
  • Updated embedded JRE to jre8u345-b01(Linux x64 / MacOS x64) and jre-17.0.5+8(MacOS aarch64).
2022-09-3022.0.8308GeneralChanged
  • Added the IsPath column to the sys_procedureparameters table.
2022-05-2622.0.8181MailchimpAdded
  • Added Support for Surveys and SurveyResponses Views
2022-05-2422.0.8179MailchimpChanged
  • Changed provider name to Mailchimp.
2022-05-1822.0.8173PythonAdded
  • Added support for Python 3.10 on Windows, Linux, and Mac
  • Added support for Python 3.9 on Mac
  • Added support for Mac M1
2022-05-1822.0.8173PythonRemoved
  • Removed support for Python 3.6 on Windows and Linux
2022-03-1021.0.8104MailchimpChanged
  • Changed the IncludeCustomFields connection property default value from false to true.
2021-10-2921.0.7972MailchimpChanged
  • Converted ECommerceStores from a table to view.
2021-09-0221.0.7915GeneralAdded
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
2021-08-0721.0.7889GeneralChanged
  • Added the KeySeq column to the sys_foreignkeys table.
2021-08-0621.0.7888GeneralChanged
  • Added the new sys_primarykeys system table.
2021-07-2321.0.7874GeneralChanged
  • Updated the Literal Function Names for relative date/datetime functions. Previously, relative date/datetime functions resolved to a different value when used in the projection as opposed to the predicate. For example: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly, the two LAST_MONTH() methods would resolve to different datetimes. Now, they will match.
  • As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. For example: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that were previously calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
2021-04-2521.0.7785GeneralAdded
  • Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = CONCAT(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
2021-04-2321.0.7783GeneralChanged
  • Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
2021-04-1621.0.7776GeneralAdded
  • Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
2021-04-1621.0.7776GeneralChanged
  • Reduced the length to 255 for varchar primary key and foreign key columns.
2021-04-1621.0.7776GeneralChanged
  • Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you need to generate new metadata caches if you are currently using CacheMetadata.
2021-04-1621.0.7776GeneralChanged
  • Updated index naming convention to avoid duplicates.

CData Python Connector for Mailchimp

Using the Connector

This section provides a walk-through for writing Mailchimp data access code in Python script.

For more information on the available data source entities and how to query them with SQL, see Data Model. For the SQL syntax, see SQL Compliance.

Connecting from Code

For information on how to deploy the connector and configure the connection to Mailchimp, see Package Installation and Establishing a Connection.

For information on how to connect with the mailchimp.connector module and its related classes, see Connecting.

Executing SQL

The connection's cursor object is used to directly execute SQL queries. For information on how to execute SELECT statements and process the returned result sets, see Querying Data. For information on to modify the data in Mailchimp with INSERT, UPDATE, and DELETE statements, see Modifying Data .

Executing Stored Procedures

You can call stored procedures by using the EXECUTE statement. For further information, see Calling Stored Procedures.

CData Python Connector for Mailchimp

Connecting

Connecting with the cdata.mailchimp Module:

The connector's module is used directly to establish a connection with the data source. It does this by using a connection string as its argument. For example:
import cdata.mailchimp as mod
conn = mod.connect("APIKey=myAPIKey;")

Once the connection is created, you can use it to execute subsequent SQL queries.

CData Python Connector for Mailchimp

Querying Data

After connecting as described in Connecting, you can use the open connection to execute SQL statements.

Executing Queries

To execute SQL statements that return data, use the execute() method. Once a query is executed, the result set is fetched from the cursor. This result set can then be iterated over to process the records individually.

For example:

cur = conn.execute("SELECT Name, Contact_Company FROM Lists")
rs = cur.fetchall()
for row in rs:
	print(row)

Parameterized Queries

Various Python collections, such as arrays and tuples, can act as additional arguments for the execute() method. This enables you to parameterize the queries executed and help to prevent SQL Injection.

For example:

cmd = "SELECT Name, Contact_Company FROM Lists WHERE  = ?"
params = [""]
cur = conn.execute(cmd, params)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for Mailchimp

Modifying Data

The connection is also used to issue INSERT, UPDATE, and DELETE commands to the data source. Parameters can be used with these statements if desired.

Note that the connector does not support transactions. As with normal write operations, all SQL statements executed by this connector affect the data source immediately. Call the connection's commit() method following the execution.

Insert

The following example adds a new record to the table:
cmd = "INSERT INTO Lists (Name, Contact_Company) VALUES (?, ?)"
params = ["", ""]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

Update

The following example modifies an existing record in the table:
cmd = "UPDATE Lists SET Contact_Company = ? WHERE Id = ?"
params = ["", "1"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

Delete

The following example removes an existing record from the table:

cmd = "DELETE FROM Lists WHERE Id = ?"
params = ["1"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

CData Python Connector for Mailchimp

Calling Stored Procedures

You can execute stored procedures using either the execute() or callproc() method of the connection.

Calling Stored Procedures Using Execute()

When you call stored procedures by issuing EXECUTE commands, the stored procedure arguments are parameterized. For example:
cmd = "EXECUTE GetOAuthAccessToken CallbackURL = ?"
params = ["http://127.0.0.1"]
conn.execute(cmd, params)

Calling Stored Procedures Using Callproc()

When you call stored procedured by issuing the callproc() method, the stored procedure arguments are a procedure name and a list of parameters. For example:
cur = conn.cursor()
params = ["http://127.0.0.1"]
cur.callproc("GetOAuthAccessToken", params)

CData Python Connector for Mailchimp

Using from Tools

The connector is integrated with other tools and packages within Python.

Python Integration Guides

The following sections show how to create and use connections with the connector in common packages in Python:

Complete List of Mailchimp Integration Quickstarts

For information on connecting from other applications, see Mailchimp integration guides.

CData Python Connector for Mailchimp

From SQLAlchemy

The CData Python Connector for Mailchimp includes a Dialect class that enables integration with SQLAlchemy. Bear in mind that several aspects of connector functionality are not currently supported in SQLAlchemy 2.0 or above. If necessary, downgrade SQLAlchemy to version 1.4 or 1.3 before using this connector.

The following sections detail various aspects of this integration:

Connecting From SQLAlchemy

To construct a URL with which SQLAlchemy loads and uses the appropriate connector automatically, see Connecting

Reflecting Metadata With SQLAlchemy

To learn how to model Mailchimp tables with mapped classes, see Reflecting Metadata.

Querying Data From SQLAlchemy

To learn how to use mapped classes to query the associated tables, see Querying Data.

Modifying Data From SQLAlchemy

The connector provides INSERT/UPDATE/DELETE functionality in SQLAlchemy. To learn how to call the session's execute() method to affect the data in the data source, see Modifying Data.

CData Python Connector for Mailchimp

Connecting

Connecting With a Dialect URL

Establishing a connection using SQLAlchemy requires a specific URL format.
from sqlalchemy import create_engine
engine = create_engine("mailchimp:///?APIKey=myAPIKey;")

For SQLAlchemy 2.0, the dialect name is mailchimp_2. To establish a connection, use the following URL format:

from sqlalchemy import create_engine
engine = create_engine("mailchimp_2:///?APIKey=myAPIKey;")

CData Python Connector for Mailchimp

Reflecting Metadata

SQLAlchemy can act as an Object-relational Map (ORM). This enables you to treat records of a database table as instantiable records. To leverage this functionality, you must reflect the underlying metadata in one of the following ways.

Note: The following examples employ SQLAlchemy 1.4.

Modeling Data Using a Mapping Class

Use "sqlalchemy.ext.declarative.declarative_base" to declare a mapping class for the table you wish to model in the ORM. A known table in the data model is modeled either partially or completely, as shown in the following example:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Lists(Base):
	__tablename__ = "Lists"
	Id = Column(String, primary_key=True)
	Name = Column(String)
	Contact_Company = Column(String)

Automatically Reflecting Metadata

Rather than mapping tables manually, SQLAlchemy can discover the metadata for one or more tables automatically. To accomplish this across the entire data model, use automap_base:
from sqlalchemy import MetaData
from sqlalchemy.ext.automap import automap_base
meta = MetaData()
abase = automap_base(metadata=meta)
abase.prepare(autoload_with=engine)
Lists = abase.classes.Lists

You can also reflect a single table with an inspector. When reflecting this way, providing a list of specific columns to map is optional:

from sqlalchemy import MetaData, Table
from sqlalchemy import inspect
meta = MetaData()
insp = inspect(engine)
Lists_table = Table("Lists", meta)
insp.reflect_table(Lists_table, ["Id","Contact_Company"])

CData Python Connector for Mailchimp

Querying Data

After you use the steps in Connecting to connect, and use one of the methods in Reflecting Metadata to reflect some of the metadata, you can use a session object to query data.

Querying Data Using the Query Method

If the mapping class has been prepared, use it with a session object to query the data source. After binding the engine to the session, provide the mapping class to the session's query method.

For example:

engine = create_engine("mailchimp:///?APIKey=myAPIKey;")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query(Lists).filter_by(=""):
	print("Id: ", instance.Id)
	print("Name: ", instance.Name)
	print("Contact_Company: ", instance.Contact_Company)
	print("---------")

Querying Data Using the Execute Method

The session object can also run the query with the execute() method alongside the appropriate Table object. Assuming you have an active session, the following is just as viable:
Lists_table = Lists.metadata.tables["Lists"]
for instance in session.execute(Lists_table.select().where(Lists_table.c. == "")):
	print("Id: ", instance.Id)
	print("FullName: ", instance.Name)
	print("City: ", instance.BillingCity)
	print("---------")

CData Python Connector for Mailchimp

Executing JOINs

Implicit Joining

If mapped classes of related Mailchimp objects have a singular foreign key relationship, the classes are implicitly joined. After importing the necessary objects, a relationship is established between your two mapped classes, as in the example below:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, String, Integer, DateTime, ForeignKey
from sqlalchemy.orm import sessionmaker, relationship

Base = declarative_base()
class Contact(Base):
	__tablename__ = "Contact"
	Id = Column(Integer, primary_key=True)
	Name = Column(String)
	Email = Column(String)
	BirthDate = Column(DateTime)
	AccountId = Column(String, ForeignKey("Account.Id"))
	Account_Link = relationship("Account", back_populates="Contact_Link")

class Account(Base):
	__tablename__ = "Account"
	Id = Column(String, primary_key=True)
	Name = Column(String)
	BillingCity = Column(String)
	NumberOfEmployees = Column(Integer)
	Contact_Link = relationship("Contact", order_by=Contact.Id, back_populates="Account_Link")

Once the relationship is established, the tables are queried simultaneously using the session's query() method. For example:

rs = session.query(Account, Contact).filter(Account.Id == Contact.AccountId)
for Ac, Ct in rs:
  print("AccountId: ", Ac.Id)
  print("AccountName: ", Ac.Name)
  print("ContactId: ", Ct.Id)
  print("ContactName: ", Ct.Name)

Other Join Forms

In situations where mapped classes have either no foreign keys or multiple foreign keys, you may need different forms of the JOIN query to accommodate them. Using the earlier classes as examples, the following JOIN queries are possible as well:
  • Explicit condition (necessary if there are no foreign keys in your mapped classes):
    rs = session.query(Account, Contact).join(Contact, Account.Id == Contact.AccountId)
    for Ac, Ct in rs:
  • Left-to-right relationship:
    rs = session.query(Account, Contact).join(Account.Contact_Link)
    for Ac, Ct in rs:
  • Left-to-right relationship with explicit target:
    rs = session.query(Account, Contact).join(Contact, Account.Contact_Link)
    for Ac, Ct in rs:
  • String form of a left-to-right relationship:
    rs = session.query(Account, Contact).join("Contact_Link")
    for Ac, Ct in rs:

CData Python Connector for Mailchimp

Other SQL Clauses

SQLAlchemy ORM also exposes support for other clauses in SQL, such as ORDER BY, GROUP BY, LIMIT, and OFFSET. All of these are supported by this connector:

ORDER BY

The following example sorts by a specified column using the session object's query() method:
rs = session.query(Lists).order_by(Lists.AnnualRevenue)
for instance in rs:
	print("Id: ", instance.Id)
	print("Name: ", instance.Name)
	print("Contact_Company: ", instance.Contact_Company)
	print("---------")

You can also use the session object's execute() method perform an ORDER BY. For example:

rs = session.execute(Lists_table.select().order_by(Lists_table.c.AnnualRevenue))
for instance in rs:

GROUP BY

The following example uses the session object's query() method to group records with a specified column:
rs = session.query(func.count(Lists.Id).label("CustomCount"), Lists.Name).group_by(Lists.Name)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("Name: ", instance.Name)
	print("---------")

You can also use the session object's execute() method to perform a GROUP BY:

rs = session.execute(Lists_table.select().with_only_columns([func.count(Lists_table.c.Id).label("CustomCount"), Lists_table.c.Name]).group_by(Lists_table.c.Name))
for instance in rs:

LIMIT and OFFSET

The following example uses the session object's query() method to skip the first 100 records and fetch the following 25:
rs = session.query(Lists).limit(25).offset(100)
for instance in rs:
	print("Id: ", instance.Id)
	print("Name: ", instance.Name)
	print("Contact_Company: ", instance.Contact_Company)
	print("---------")

You can also use the session object's execute() method to set a LIMIT or OFFSET:

rs = session.execute(Lists_table.select().limit(25).offset(100))
for instance in rs:

CData Python Connector for Mailchimp

Aggregate Functions

Certain aggregate functions can also be used within SQLAlchemy by using the func module.

To import this module, execute:

from sqlalchemy.sql import func

Once func is imported, the following aggregate functions are available:

COUNT

The following example counts the number of records in a set of groups using the session object's query() method.
rs = session.query(func.count(Lists.Id).label("CustomCount"), Lists.Name).group_by(Lists.Name)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("Name: ", instance.Name)
	print("---------")

You can also execute COUNT using the session object's execute() method:

rs = session.execute(Lists_table.select().with_only_columns([func.count(Lists_table.c.Id).label("CustomCount"), Lists_table.c.Name])group_by(Lists_table.c.Name))
for instance in rs:

SUM

This example calculates the cumulative amount of a numeric column in a set of groups.

rs = session.query(func.sum(Lists.AnnualRevenue).label("CustomSum"), Lists.Name).group_by(Lists.Name)
for instance in rs:
	print("Sum: ", instance.CustomSum)
	print("Name: ", instance.Name)
	print("---------")

You can also invoke SUM using the session object's execute() method.

rs = session.execute(Lists_table.select().with_only_columns([func.sum(Lists_table.c.AnnualRevenue).label("CustomSum"), Lists_table.c.Name]).group_by(Lists_table.c.Name))
for instance in rs:

AVG

This example uses the session object's query() method to calculate the average amount of a numeric column in a set of groups:
rs = session.query(func.avg(Lists.AnnualRevenue).label("CustomAvg"), Lists.Name).group_by(Lists.Name)
for instance in rs:
	print("Avg: ", instance.CustomAvg)
	print("Name: ", instance.Name)
	print("---------")

You can also use the session object's execute() method to invoke AVG:

rs = session.execute(Lists_table.select().with_only_columns([func.avg(Lists_table.c.AnnualRevenue).label("CustomAvg"), Lists_table.c.Name]).group_by(Lists_table.c.Name))
for instance in rs:

MAX and MIN

This example finds the maximum value and minimum value of a numeric column in a set of groups.
rs = session.query(func.max(Lists.AnnualRevenue).label("CustomMax"), func.min(Lists.AnnualRevenue).label("CustomMin"), Lists.Name).group_by(Lists.Name)
for instance in rs:
	print("Max: ", instance.CustomMax)
	print("Min: ", instance.CustomMin)
	print("Name: ", instance.Name)
	print("---------")

You can also use the session object's execute() method to invoke MAX and MIN:

rs = session.execute(Lists_table.select().with_only_columns([func.max(Lists_table.c.AnnualRevenue).label("CustomMax"), func.min(Lists_table.c.AnnualRevenue).label("CustomMin"), Lists_table.c.Name]).group_by(Lists_table.c.Name))
for instance in rs:

CData Python Connector for Mailchimp

Modifying Data

Commands can be executed individually by the session with a call to "execute()".

Obtaining the Table Object

The query supplied to this method is constructed using the associated Table object of a mapped class. This Table object is obtained from the mapped class's metadata field, as below:

Lists_table = Lists.metadata.tables["Lists"]

Once the table object is obtained, the write operations are executed in the following ways. The queries are executed immediately without the need for a call to "commit()":

Insert

The following example adds a new record to the table:

session.execute(Lists_table.insert(), {"Name": "", "Contact_Company": ""})

Update

The following example modifies an existing record in the table:

session.execute(Lists_table.update().where(Lists_table.c.Id == "1").values(Name="", Contact_Company=""))

Delete

The following example removes an existing record from the table:

session.execute(Lists_table.delete().where(Lists_table.c.Id == "1"))

CData Python Connector for Mailchimp

From Pandas

When combined with the connector, Pandas can be used to generate data frames that contain your Mailchimp data. Once created, a data frame can be passed to various other Python packages.

Connecting

Pandas relies on an SQLAlchemy engine to execute queries. Before you can use Pandas you must import it:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine("mailchimp:///?APIKey=myAPIKey;")

Querying Data

In Pandas, SELECT queries are provided in a call to the read_sql() method, alongside a relevant connection object. Pandas executes the query on that connection, and returns the results in the form of a data frame, which can be used for a variety of purposes.
df = pd.read_sql("""
	SELECT
	   Name,
	   Contact_Company,
     $exNumericCol;
	FROM Lists;""", engine)
print(df)

Modifying Data

To insert new records into a table, create a new data frame, and define its fields accordingly. When that is done, call to_sql() on the data frame to perform the INSERT operation with the connector, as shown in the example below. You must set the "if _exists" argument to "append" to prevent Pandas from attempting building the table from scratch. To prevent Pandas from writing the data frame index as a column, set index=False.
df = pd.DataFrame({"Name": [""], "Contact_Company": [""]})
df.to_sql("Lists", con=engine, if_exists="append", index=False)

CData Python Connector for Mailchimp

From Matplotlib

Matplotlib contains a number of tools that can graphically model Mailchimp data after being fed a data frame From Pandas.

Using PyPlot

Before any Matplotlib tool, such as pyplot, can be used, it must be imported:
from matplotlib import pyplot as plt

Once a Pandas data frame is obtained, it can be used to create a plot visualizing Mailchimp data. For example, the following plot generates and displays a bar graph relating Name and AnnualRevenue values:

df.plot(kind="bar", x="Name", y=["AnnualRevenue"])
plt.show()

CData Python Connector for Mailchimp

From Petl

The connector can be used to create ETL applications and pipelines for CSV data in Python using Petl.

Install Required Modules

Install the Petl modules using the pip utility.
pip install petl

Connecting

After you import the modules, including the CData Python Connector for Mailchimp, you can use the connector's connect function to create a connection using a valid Mailchimp connection string. If you prefer not to use a direct connection, you can use a SQLAlchemy engine.
import petl as etl
import cdata.mailchimp as mod
cnxn = mod.connect("APIKey=myAPIKey;")

Extract, Transform, and Load the Mailchimp Data

Create a SQL query string and store the query results in a DataFrame.
sql = "SELECT	Name, Contact_Company FROM Lists "
table1 = etl.fromdb(cnxn,sql)

Loading Data

With the query results stored in a DataFrame, you can load your data into any supported Petl destination. The following example loads the data into a CSV file.
etl.tocsv(table1,'output.csv')

Modifying Data

Insert new rows into Mailchimp tables using Petl's appenddb function.
table1 = [['Name','Contact_Company'],['','']]
etl.appenddb(table1,cnxn,'Lists')

CData Python Connector for Mailchimp

Schema Discovery

The extension supports schema discovery by using SQL queries to available System Tables.

Using SQL

The following sections describe the discovery of metadata through several System Tables:

CData Python Connector for Mailchimp

Tables and Views

The connector possesses system tables that are used to discover the tables and views available in the data model. Of these system tables, "sys_tables" and "sys_views" are used to fetch information about the available tables and views respectively:

Tables


import cdata.mailchimp as mod
conn = mod.connect("APIKey=myAPIKey;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_tables"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

Views


import cdata.mailchimp as mod
conn = mod.connect("APIKey=myAPIKey;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_views"
cur.execute(cmd, params)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for Mailchimp

Columns

The available columns for any given table are fetched from a system table called "sys_tablecolumns". A specific table name is provided in the WHERE criteria to restrict the table from which the column information is fetched:

import cdata.mailchimp as mod
conn = mod.connect("APIKey=myAPIKey;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_tablecolumns WHERE TableName = 'Lists'"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for Mailchimp

Procedures

Procedures

A system table called "sys_procedures" is queried to obtain the available stored procedures that are executed:
import cdata.mailchimp as mod
conn = mod.connect("APIKey=myAPIKey;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_procedures"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

Parameters

The input parameters of any stored procedure are similarly obtained from the "sys_procedureparameters" system table:
import cdata.mailchimp as mod
conn = mod.connect("APIKey=myAPIKey;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetOAuthAccessToken'"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for Mailchimp

Advanced Features

This section details a selection of advanced features of the Mailchimp connector.

User Defined Views

The connector supports the use of user defined views, virtual tables whose contents are decided by a pre-configured user defined query. These views are useful when you cannot directly control queries being issued to the drivers. For an overview of creating and configuring custom views, see User Defined Views .

SSL Configuration

Use SSL Configuration to adjust how connector handles TLS/SSL certificate negotiations. You can choose from various certificate formats;. For further information, see the SSLServerCert property under "Connection String Options" .

Firewall and Proxy

Configure the connector for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.

Caching Data

Caching Data enables faster access to data and reduces the number of API calls, improving performance. The connector supports a simple caching model where multiple connections can also share the cache over time. When configuring the cache connection, you can specify automatic or explicit data caching.

Query Processing

The connector offloads as much of the SELECT statement processing as possible to Mailchimp and then processes the rest of the query in memory (client-side).

For further information, see Query Processing.

Logging

For an overview of configuration settings that can be used to refine CData logging, see Logging. Only two connection properties are required for basic logging, but there are numerous features that support more refined logging, which enables you to use the LogModules connection property to specify subsets of information to be logged.

Exception Handling

For an overview of how exceptions are reported and the components of an exception, see Exception Handling.

CData Python Connector for Mailchimp

User Defined Views

The CData Python Connector for Mailchimp supports the use of user defined views: user-defined virtual tables whose contents are decided by a preconfigured query. User defined views are useful in situations where you cannot directly control the query being issued to the driver; for example, when using the driver from a tool.

Use a user defined view to define predicates that are always applied. If you specify additional predicates in the query to the view, they are combined with the query already defined as part of the view.

There are two ways to create user defined views:

  • Create a JSON-formatted configuration file defining the views you want.
  • DDL statements.

Defining Views Using a Configuration File

User defined views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The connector automatically detects the views specified in this file.

You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the connector.

This user defined view configuration file is formatted so that each root element defines the name of a view, and includes a child element, called query, which contains the custom SQL query for the view.

For example:

{
	"MyView": {
		"query": "SELECT * FROM Lists WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}
Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"

Defining Views Using DDL Statements

The connector is also capable of creating and altering the schema via DDL Statements such as CREATE LOCAL VIEW, ALTER LOCAL VIEW, and DROP LOCAL VIEW.

Create a View

To create a new view using DDL statements, provide the view name and query as follows:

CREATE LOCAL VIEW [MyViewName] AS SELECT * FROM Customers LIMIT 20;

If no JSON file exists, the above code creates one. The view is then created in the JSON configuration file and is now discoverable. The JSON file location is specified by the UserDefinedViews connection property.

Alter a View

To alter an existing view, provide the name of an existing view alongside the new query you would like to use instead:

ALTER LOCAL VIEW [MyViewName] AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';

The view is then updated in the JSON configuration file.

Drop a View

To drop an existing view, provide the name of an existing schema alongside the new query you would like to use instead.

DROP LOCAL VIEW [MyViewName]

This removes the view from the JSON configuration file. It can no longer be queried.

Schema for User Defined Views

In order to avoid a view's name clashing with an actual entity in the data model, user defined views are exposed in the UserViews schema by default. To change the name of the schema used for UserViews, reset the UserViewsSchemaName property.

Working with User Defined Views

For example, a SQL statement with a user defined view called UserViews.RCustomers only lists customers in Raleigh:
SELECT * FROM Customers WHERE City = 'Raleigh';
An example of a query to the driver:
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
Resulting in the effective query to the source:
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
That is a very simple example of a query to a user defined view that is effectively a combination of the view query and the view definition. It is possible to compose these queries in much more complex patterns. All SQL operations are allowed in both queries and are combined when appropriate.

CData Python Connector for Mailchimp

SSL Configuration

Customizing the SSL Configuration

By default, the connector attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.

To specify another certificate, see the SSLServerCert connection property.

CData Python Connector for Mailchimp

Firewall and Proxy

Connecting Through a Firewall or Proxy

HTTP Proxies

Note: The connector uses the system proxy settings by default, without further configuration needed. If you want to connect to other proxies, set ProxyAutoDetect to False and read further.

To authenticate to an HTTP proxy, set the following:

  • ProxyServer: the hostname or IP address of the proxy server that you want to route HTTP traffic through.
  • ProxyPort: the TCP port that the proxy server is running on.
  • ProxyAuthScheme: the authentication method the connector uses when authenticating to the proxy server.
  • ProxyUser: the username of a user account registered with the proxy server.
  • ProxyPassword: the password associated with the ProxyUser.

Other Proxies

Set the following properties:

CData Python Connector for Mailchimp

Caching Data

Caching Data

Caching data provides several benefits, including faster access to data and reducing the number of API calls, which improve performance. The connector supports a simple caching model where multiple connections can also share the cache over time. You can enable and configure caching features by setting the necessary connection properties.

Contents

The sections in this chapter detail the connector's caching functionality and link to the corresponding connection properties, as well as SQL statements.

Configuring the Cache Connection

Configuring the Cache Connection describes the properties that you can set when configuring the cache database.

Caching Metadata

Caching Metadata describes the CacheMetadata property. This property determines whether or not to cache the table metadata to a file store.

Automatically Caching Data

Automatically Caching Data describes how the connector automatically refreshes the cache when the AutoCache property is set.

Explicitly Caching Data

Explicitly Caching Data describes how you can decide what data is stored in the cache and when it is updated.

Data Type Mapping

Data Type Mapping shows the mappings between the data types configured in the schema and the data types in the database.

CData Python Connector for Mailchimp

Configuring the Cache Connection

Configuring the Caching Database

This section describes the properties for caching data to the persistent store of your choice.

CacheLocation

The CacheLocation property species the path to a file-system-based database. When caching is enabled, a file-system-based database is used by default. If CacheLocation is not specified, this database is stored at the path in Location. If neither of these connection properties are specified, the connector uses a platform-dependent default location.

CacheConnection

The CacheConnection property specifies a database driver and the connection string to the caching database.

CacheDriver and CacheProvider

Both the CacheDriver and CacheProvider properties are supported. Each specifies a database driver and the connection string to the caching database. CacheDriver is designed for Linux and MacOS; CacheProvider is Windows-based.

CData Python Connector for Mailchimp

Caching Metadata

This section describes how to enable caching metadata and how to update the metadata cache.

Before being able to query data, the connector requires relevant metadata to be retrieved. By default, metadata is cached in memory and shared across connections. But if you want to persist across processes, or if metadata requests are expensive, the solution is to cache the metadata to disk.

Enable Caching Metadata

To enable caching of metadata, set CacheMetadata = true and see Configuring the Cache Connection for instructions on how to configure your connection string. The connector caches the metadata the first time it is needed and uses the metadata cache for subsequent requests.

Update the Metadata Cache

Because metadata is cached, changes to metadata on the live source, for example, adding or removing a column or attribute, are not automatically reflected in the metadata cache. To get updates to the live metadata, you need to delete or drop the cached data.

CData Python Connector for Mailchimp

Automatically Caching Data

Automatically caching data is useful when you do not want to rebuild the cache for each query. When you query data for the first time, the connector automatically initializes and builds a cache in the background. When AutoCache = true, the connector uses the cache for subsequent query executions, resulting in faster response times.

Configuring Automatic Caching

Caching the Lists Table

The following example caches the Lists table in the file specified by the CacheLocation property of the connection string.

SELECT Name, Contact_Company FROM Lists WHERE  = ''

Common Use Case

A common use for automatically caching data is to improve driver performance when making repeated requests to a live data source, such as building a report or creating a visualization. With auto caching enabled, repeated requests to the same data may be executed in a short period of time, but within an allowable tolerance (CacheTolerance) of what is considered "live" data.

CData Python Connector for Mailchimp

Explicitly Caching Data

With explicit caching (AutoCache = false), you decide exactly what data is cached and when to query the cache instead of the live data. Explicit caching gives you full control over the cache contents by using CACHE Statements. This section describes some strategies to use the caching features offered by the connector.

Creating the Cache

To load data in the cache, issue the following statement.

CACHE SELECT * FROM tableName WHERE ...

Once the statement is issued, any matching data in tableName is loaded into the corresponding table.

Updating the Cache

This section describes two ways to update the cache.

Updating with the SELECT Statement

The following example shows a statement that can update modified rows and add missing rows in the cached table. However, this statement does not delete extra rows that are already in the cache. This statement only merges the new rows or updates the existing rows.

CACHE SELECT * FROM Lists WHERE  = ''

Updating with the TRUNCATE Statement

The following example shows a statement that can update modified rows and add missing rows in the cached table. This statement can also delete rows in the cache table that are not present in the live data source.

  CACHE WITH TRUNCATE SELECT * FROM Lists WHERE  = ''
  

Query the Data in Online or Offline Mode

This section describes how to query the data in online or offline mode.

Online: Select Cached Tables

You can use the tableName#CACHE syntax to explicitly execute queries to the cache while still online, as shown in the following example.

SELECT * FROM Lists#CACHE

Offline: Select Cached Tables

With Offline = true, SELECT statements always execute against the local cache database, regardless of whether you explicitly specify the cached table or not. Modification of the cache is disabled in Offline mode to prevent accidentally updating only the cached data. Executing a DELETE/UPDATE/INSERT statement while in Offline mode results in an exception.

The following example selects from the local cache but not the live data source because Offline = true.

SELECT * FROM Lists WHERE ='' ORDER BY Contact_Company ASC

Delete Data from the Cache

You can delete data from the cache by building a direct connection to the database. Note that the connector does not support manually deleting data from the cache.

Common Use Case

A common use for caching is to have an application always query the cached data and only update the cache at set intervals, such as once every day or every two hours. There are two ways in which this can be implemented:

  • AutoCache = false and Offline = false. All queries issued by the application explicitly reference the tableName#CACHE table. When the cache needs to be updated, the application executes a tableName#CACHE ... statement to bring the cached data up to date.
  • Offline = true. Caching is transparent to the application. All queries are executed against the table as normal, so most application code does not need to be aware that caching is done. To update the cached data, simply create a separate connection with Offline = false and execute a tableName#CACHE ... statement.

CData Python Connector for Mailchimp

Data Type Mapping

The connector maps types from the data source to the corresponding data type available in the chosen cache database. The following table shows the mappings between the data types configured in the schema and the data types in the database. Some schema types have synonyms which are all listed in the Schema column.

Data Type Mapping

Note: String columns can map to different data types depending on their length.

Schema .NET JDBC SQL Server Derby MySQL Oracle SQLite Access
int, integer, int32 Int32 int int INTEGER INT NUMBER integer LONG
smallint, short, int16 Int16 short smallint SMALLINT SMALLINT NUMBER integer SHORT
double, float, real Double double float DOUBLE DOUBLE NUMBER double DOUBLE
date DateTime java.sql.Date date DATE DATE DATE date DATETIME
datetime, timestamp DateTime java.sql.Date datetime TIMESTAMP DATETIME TIMESTAMP datetime DATETIME
time, timespan TimeSpan java.sql.Time time TIME TIME TIMESTAMP datetime DATETIME
string, varchar String java.lang.String If length > 4000: nvarchar(max), Otherwise: nvarchar(length)If length > 32672: LONG VARCHAR, Otherwise VARCHAR(length)If length > 255: LONGTEXT, Otherwise: VARCHAR(length)If length > 4000: CLOB, Otherwise: VARCHAR2(length)nvarchar(length)If length > 255: LONGTEXT, Otherwise: VARCHAR(length)
long, int64, bigint Int64 long bigint BIGINT BIGINT NUMBER bigint LONG
boolean, bool Boolean boolean tinyint SMALLINT BIT NUMBER tinyint BIT
decimal, numeric Decimal java.math.BigDecimal decimal DECIMAL DECIMAL DECIMAL decimal CURRENCY
uuid Guid java.util.UUID nvarchar(length) VARCHAR(length)VARCHAR(length) VARCHAR2(length)nvarchar(length) VARCHAR(length)
binary, varbinary, longvarbinary byte[] byte[] binary(1000) or varbinary(max) after SQL Server 2000, image otherwise BLOB LONGBLOB BLOB BLOB LONGBINARY

CData Python Connector for Mailchimp

Query Processing

Query Processing

CData has a client-side SQL engine built into the connector library. This enables support for the full capabilities that SQL-92 offers, including filters, aggregations, functions, etc.

For sources that do not support SQL-92, the connector offloads as much of SQL statement processing as possible to Mailchimp and then processes the rest of the query in memory (client-side). This results in optimal performance.

For data sources with limited query capabilities, the connector handles transformations of the SQL query to make it simpler for the connector. The goal is to make smart decisions based on the query capabilities of the data source to push down as much of the computation as possible. The Mailchimp Query Evaluation component examines SQL queries and returns information indicating what parts of the query the connector is not capable of executing natively.

The Mailchimp Query Slicer component is used in more specific cases to separate a single query into multiple independent queries. The client-side Query Engine makes decisions about simplifying queries, breaking queries into multiple queries, and pushing down or computing aggregations on the client-side while minimizing the size of the result set.

There's a significant trade-off in evaluating queries, even partially, client-side. There are always queries that are impossible to execute efficiently in this model, and some can be particularly expensive to compute in this manner. CData always pushes down as much of the query as is feasible for the data source to generate the most efficient query possible and provide the most flexible query capabilities.

More Information

For a full discussion of how CData handles query processing, see CData Architecture: Query Execution.

CData Python Connector for Mailchimp

Logging

Logging

Capturing connector logging can be very helpful when diagnosing error messages or other unexpected behavior.

Basic Logging

To begin capturing connector logging, set these properties:

  • Logfile: A filepath that designates the name and location of the log file.
  • Verbosity: A numerical value (1-5) that determines the amount of detail in the log. See the page in the Connection Properties section for an explanation of the five levels.
  • MaxLogFileSize: When the limit is hit, a new log is created in the same folder with the date and time appended to the end. The default limit is 100 MB. Values lower than 100 kB will use 100 kB as the value instead.
  • MaxLogFileCount: A string specifying the maximum file count of log files. When the limit is hit, a new log is created in the same folder with the date and time appended to the end and the oldest log file will be deleted. Minimum supported value is 2. A value of 0 or a negative value indicates no limit on the count.

Once these properties are set, the connector populates the log file as it carries out various tasks, such as when authentication is performed or queries are executed. If the specified file doesn't already exist, it is created.

Log Verbosity

The verbosity level determines the amount of detail that the connector reports to the Logfile. Supported Verbosity levels range from 1 to 5.

The following list describes each level:

1Setting Verbosity to 1 logs the query, the number of rows returned by it, the start of execution and the time taken, and any errors.
2Setting Verbosity to 2 logs everything included in Verbosity 1, cache queries, and additional information about the request.
3Setting Verbosity to 3 also logs HTTP headers, as well as the body of the request and the response.
4Setting Verbosity to 4 also logs transport-level communication with the data source. This includes SSL negotiation.
5Setting Verbosity to 5 also logs communication with the data source and additional details that may be helpful in troubleshooting problems. This includes interface commands.

For normal operations, Verbosity should not be set to greater than 1. At higher verbosities you can log substantial amounts of data, which can delay execution times.

To refine the logged content further by showing/hiding specific categories of information, see LogModules.

Sensitive Data

Verbosity levels of 3 and higher may capture information that you do not want shared outside of your organization. The following lists information of concern for each level:

  • Verbosity 3: The full body of the request and the response, which includes all the data returned by the connector
  • Verbosity 4: SSL certificates
  • Verbosity 5: Any extra transfer data not included at Verbosity 3, such as non human-readable binary transfer data

Note: Although we mask sensitive values, such as passwords, in the connection string and any request in the log, it is always best practice to review the logs for any sensitive information before sharing outside your organization.

Advanced Logging

You may want to refine the exact information that is recorded to the log file. This can be accomplished using the LogModules property. This property allows you to filter the logging using a semicolon-separated list of logging modules.

Example property value:

LogModules=INFO;EXEC;SSL;SQL;META;

Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.

The available modules and submodules are:

Module Name Module Description Submodules
INFO General Information. Includes the connection string, product version (build number), and initial connection messages.
  • Connec – Information related to creating or destroying connections.
  • Messag – Generic label for messages pertaining to connections, the connection string, and product version. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
EXEC Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well.
  • Messag – Messages pertaining to query execution. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Normlz – Query normalization steps. Query normalization is when the product takes the user-submitted query and rewrites the query to get the same results with optimal performance.
  • Origin – This label applies to any messages recording a user's original query (the exact, unaltered, non-normalized query executed by the user).
  • Page – Messages related to query paging.
  • Parsed – Query parsing steps. Parsing is the process of converting the user-submitted query into a standardized format for easier processing.
HTTP HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages.
  • KERB – HTTP requests related to Kerberos.
  • Messag – Messages pertaining to HTTP protocols. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Unpack – This label applies to messages about zipped data being returned from the service API and unpacked by the product.
  • Res – Messages containing HTTP responses.
  • Req – Messages containing HTTP requests.
WSDL Messages pertaining to the generation of WSDL/XSD files.
SSL SSL certificate messages.
  • Certif – Messages pertaining to SSL certificates.
AUTH Authentication related failure/success messages.
  • Messag – Messages pertaining to authentication. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • OAuth – Messages related to OAuth authentication.
  • Krbros – Kerberos-related authentication messages.
SQL Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages.
  • Bulk – Messages pertaining to bulk query execution.
  • Cache – Messages related to reading row data from and writing row data to the product's cache for better performance.
  • Messag – Messages pertaining to SQL transactions. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • ResSet – Query resultsets.
  • Transc – Messages related to handling transactions, including information about the number of jobs executed and backup table handling.
META Metadata cache and schema messages.
  • Cache – Messages related to reading from and modifying column and table definitions in the product's cache for better performance.
  • Schema – Messages related to retrieving metadata from or modifying the service schema.
  • MemSto – Messages related to writing to or reading from in-memory metadata cache.
  • Storag – Messages relating to storing metadata on disk or in an external data store, rather than in memory.
FUNC Information related to executing SQL functions.
  • Errmsg – Error messages related to executing SQL functions.
TCP Incoming and outgoing raw bytes on TCP transport layer messages.
  • Send – Raw data sent via the TCP protocol.
  • Receiv – Raw data received via the TCP protocol.
FTP Messages pertaining to the File Transfer Protocol.
  • Info – Status messages related to communication in the FTP protocol.
  • Client – Messages related to actions taken by the FTP client (the product) during FTP communication.
  • Server – Messages related to actions taken by the FTP server during FTP communication.
SFTP Messages pertaining to the Secure File Transfer Protocol.
  • Info – Status messages related to communication in the SFTP protocol.
  • To_Server – Messages related to actions taken by the SFTP client (the product) during SFTP communication.
  • From_Server – Messages related to actions taken by the SFTP server during SFTP communication.
POP Messages pertaining to data transferred via the Post Office Protocol.
  • Client – Messages related to actions taken by the POP client (the product) during POP communication.
  • Server – Messages related to actions taken by the POP server during POP communication.
  • Status – Status messages related to communication in the POP protocol.
SMTP Messages pertaining to data transferred via the Simple Mail Transfer Protocol.
  • Client – Messages related to actions taken by the SMTP client (the product) during SMTP communication.
  • Server – Messages related to actions taken by the SMTP server during SMTP communication.
  • Status – Status messages related to communication in the SMTP protocol.
CORE Messages relating to various internal product operations not covered by other modules.
DEMN Messages related to SQL remoting.
CLJB Messages about bulk data uploads (cloud job).
  • Commit – Submissions for bulk data uploads.
SRCE Miscellaneous messages produced by the product that don't belong in any other module.
TRANCE Advanced messages concerning low-level product operations.

CData Python Connector for Mailchimp

Exception Handling

Exception Handling

Exceptions can be surfaced from either the API or the CData Python Connector for Mailchimp. Each exception will have an error code, an error message, and a SQL state.

Error Codes

The error code classifies the type of error.

0 NONE Used for unclassified errors and internally handled errors. This code also covers data source-specific errors that do not fit in any specific category.
65537 TCP_UNKNOWN_HOST Unable to resolve a hostname (DNS failure).
65538 TCP_CONNECTION_REFUSED Could not connect to the remote port.
65539 TCP_AUTH_FAILED Login failed when using a binary authentication protocol. Use this for auth errors when the protocol is not HTTP (LDAP, SASL, Kerberos, ...).
65540 TCP_TIMEOUT Did not receive a response after sending a request to the server.
65541 TCP_PROTOCOL For wire protocol drivers. Either the server sent a bad packet that we are unable to process, or we cannot construct a packet to send.
131073 TLS_SERVER_UNTRUSTED Could not verify SSL server certificate.
131074 TLS_CLIENT_UNTRUSTED Server did not accept the client certificate we sent.
196609 OAUTH_DECRYPT_FAILED OAuthEncryptKey did not decrypt the OAuthSettings file.
196610 OAUTH_MISSING_CLIENT_INFO OAuthClientId / OAuthClientSecret / OAuthJWTCert is missing.
196611 OAUTH_MISSING_PROP General OAuth property missing. OAUTH_MISSING_CLIENT_INFO is used for missing client ID/secret and JWT cert.
196612 OAUTH_NO_ACCESS_TOKEN Unable to retrieve access token. Only use this when getting a token in GetOAuthAccessToken / RefreshOAuthAccessToken.
196613 OAUTH_TOKEN_EXPIRED The access token expired. Normally used with a RefreshOAuth/OAuthException behavior.
196614 OAUTH_INVALID_PROP OAuth property has an invalid value. OAUTH_MISSING_CLIENT_INFO / OAUTH_MISSING_PROP is used if the value is not set.
262145 HTTP_REQUEST_TIMEOUT Did not receive a response from the HTTP server.
262146 HTTP_CLIENT_ERROR Generic HTTP 4xx error. Only use for 4xx errors not covered by other codes.
262147 HTTP_AUTH_FAILED HTTP 401 error.
262148 HTTP_LIMIT_EXCEEDED HTTP 429 error.
262149 HTTP_SERVER_ERROR HTTP 5xx error.
262150 HTTP_NOT_FOUND_ERROR HTTP 404 error.
327681 CORE_TIMEOUT General timeout. Not related to a specific network request.
327682 CORE_OP_NOT_ALLOWED Operation blocked by provider permissions.
327683 CORE_CONNECTION_CONFIG Connection configuration is not valid.
327684 CORE_SERIALIZE Failed to encode data into a specific format (XML, JSON, CSV, ...).
327685 CORE_DESERIALIZE Failed to decode data from a specific format (XML, JSON, CSV, ...).
393217 SQL_SYNTAX_ERROR Unable to parse a SQL query.
393218 SQL_MISSING_COLUMNS Query did not include required columns.
393219 SQL_MISSING_PARAMS Stored procedure call did not include required parameters.
393220 SQL_QUERY_NOT_SUPPORTED A part of the query is not allowed in the current context.
458753 SSH_SERVER_UNTRUSTED Could not verify SSH server.
524289 STORAGE_LIST_EXCEPTION Issue listing storage resources.
524290 STORAGE_RESOURCE_NOT_FOUND Issue finding storage resources.
524291 STORAGE_ROOT_RESOURCE_NOT_FOUND The root resource (bucket/share/drive) was not found; cannot create it in flat file drivers.
524292 STORAGE_RESOURCE_NOT_A_DIRECTORY Storage resource is not a directory.
524293 STORAGE_RESOURCE_NOT_A_FILE Storage resource is not a file.
524294 STORAGE_PERMISSIONS_DENIED Storage permissions denied.

SQL State

The SQL state is used when throwing generic provider errors to the wrapper and indicates the success or failure of a call.

Some of the common SQL states are listed below:

07007 REQUIRED_CLAUSE Class Code 07: Dynamic SQL Error.
08001 OPEN_CONNECTION Class Code 08: Connection Exception. The connection was unable to be established to the application server or other server.
08004 REJECT_CONNECTION The application server rejected establishment of the connection.
42501 PRIVILEGE_IDENTIFIED_OBJECT Class Code 42: Syntax Error or Access Rule Violation. The authorization ID does not have the privilege to perform the specified operation on the identified object.
42506 AUTH_FAILED Owner authorization failure occurred.
42601 SQL_SYNTAX A character, token, or clause is invalid or missing.

Error Message

The error message provides more detailed reasoning about why the error occurred. It provides an explanation of the issue, and may include steps on how to resolve it.

CData Python Connector for Mailchimp

SQL Compliance

The CData Python Connector for Mailchimp supports several operations on data, including querying, deleting, modifying, and inserting.

SELECT Statements

See SELECT Statements for a syntax reference and examples.

See Data Model for information on the capabilities of the Mailchimp API.

INSERT Statements

See INSERT Statements for a syntax reference and examples, as well as retrieving the new records' Ids.

UPDATE Statements

The primary key Id is required to update a record. See UPDATE Statements for a syntax reference and examples.

DELETE Statements

The primary key Id is required to delete a record. See DELETE Statements for a syntax reference and examples.

CACHE Statements

CACHE statements allow granular control over the connector's caching functionality. For a syntax reference and examples, see CACHE Statements.

For more information on the caching feature, see Caching Data.

EXECUTE Statements

Use EXECUTE or EXEC statements to execute stored procedures. See EXECUTE Statements for a syntax reference and examples.

Names and Quoting

  • Table and column names are considered identifier names; as such, they are restricted to the following characters: [A-Z, a-z, 0-9, _:@].
  • To use a table or column name with characters not listed above, the name must be quoted using square brackets ([name]) in any SQL statement.
  • Parameter names can optionally start with the @ symbol (e.g., @p1 or @CustomerName) and cannot be quoted.
  • Strings must be quoted using single quotes (e.g., 'John Doe').

CData Python Connector for Mailchimp

SQL Functions

The connector provides functions that are similar to those that are available with most standard databases. These functions are implemented in the CData provider engine and thus are available across all data sources with the same consistent API. Three categories of functions are available: string, date, and math.

The connector interprets all SQL function inputs as either strings or column identifiers, so you need to escape all literals as strings, with single quotes. For example, contrast the SQL Server syntax and connector syntax for the DATENAME function:

  • SQL Server:
    SELECT DATENAME(yy,GETDATE())
  • connector:
    SELECT DATENAME('yy',GETDATE())

String Functions

These functions perform string manipulations and return a string value. See STRING Functions for more details.

Date Functions

These functions perform date and date time manipulations. See DATE Functions for more details.

Math Functions

These functions provide mathematical operations. See MATH Functions for more details.

CData Python Connector for Mailchimp

STRING Functions

ASCII(character_expression)

Returns the ASCII code value of the left-most character of the character expression.

  • character_expression: The character expression.

                      SELECT ASCII('0');
                      --  Result: 48
                    

BASE64_ENCODE(input_binary)

Returns the Base64-encoded string form of a binary input.

  • input_binary: The binary value to encode.

                        SELECT BASE64_ENCODE(BinaryData);
                    -- Result: 'QmFzZTY0RW5jb2RlZA=='
                    

BASE64_DECODE(input_string)

Returns the binary result of decoding a Base64-encoded string.

  • input_string: The Base64-encoded string.

                        SELECT BASE64_DECODE('QmFzZTY0RW5jb2RlZA==');
                    -- Result: (binary output)
                    

CHAR(integer_expression)

Converts the integer ASCII code to the corresponding character.

  • integer_expression: The integer from 0 through 255.

                      SELECT CHAR(48);
                      -- Result: '0'
                    

CHARINDEX(expressionToFind ,expressionToSearch [,start_location ])

Returns the starting position of the specified expression in the character string.

  • expressionToFind: The character expression to find.
  • expressionToSearch: The character expression, typically a column, to search.
  • start_location: An optional character position to start searching for expressionToFind in expressionToSearch.

                      SELECT CHARINDEX('456', '0123456');
                      -- Result: 4

                      SELECT CHARINDEX('456', '0123456', 5);
                      -- Result: -1
                    

CHAR_LENGTH(character_expression),

Returns the number of UTF-8 characters present in the expression.

  • character_expression: The set of characters to be evaluated for length.

				 SELECT CHAR_LENGTH('sample text') FROM Account LIMIT 1
				 -- Result: 11			
				

CONCAT(string_value1, string_value2, ..., string_valueN)

Returns the string that is the concatenation of two or more string values.

  • string_value1: The first string to be concatenated.
  • string_value2: The second string to be concatenated.
  • string_valueN: (optional) Any additional strings to be concatenated.

                      SELECT CONCAT('Hello, ', 'world!');
                      -- Result: 'Hello, world!'
                    

CONTAINS(expressionToSearch, expressionToFind)

Returns 1 if expressionToFind is found within expressionToSearch; otherwise, 0.

  • expressionToSearch: The character expression, typically a column, to search.
  • expressionToFind: The character expression to find.

                      SELECT CONTAINS('0123456', '456');
                      -- Result: 1

                      SELECT CONTAINS('0123456', 'Not a number');
                      -- Result: 0
                    

ENDSWITH(character_expression, character_suffix)

Returns 1 if character_expression ends with character_suffix; otherwise, 0.

  • character_expression: The character expression.
  • character_suffix: The character suffix to search for.

                      SELECT ENDSWITH('0123456', '456');
                      -- Result: 1

                      SELECT ENDSWITH('0123456', '012');
                      -- Result: 0
                    

FILESIZE(uri)

Returns the number of bytes present in the file at the specified file path.

  • uri: The path of the file from which to read the size.

				SELECT FILESIZE('C:/Users/User1/Desktop/myfile.txt');
				-- Result: 23684
				

FORMAT(value [, parseFormat], format )

Returns the value formatted with the specified format.

  • value: The string to format.
  • format: The string specifying the output syntax of the date or numeric format.
  • parseFormat: The string specifying the input syntax of the date value. Not applicable to numeric types.

                      SELECT FORMAT(12.34, '#');
                      -- Result: 12

                      SELECT FORMAT(12.34, '#.###');
                      -- Result: 12.34

                      SELECT FORMAT(1234, '0.000E0');
                      -- Result: 1.234E3
                      
                      SELECT FORMAT('2019/01/01', 'yyyy-MM-dd');
                      -- Result: 2019-01-01
                      
                      SELECT FORMAT('20190101', 'yyyyMMdd', 'yyyy-MM-dd');
                      -- Result: '2019-01-01'
                    

HASHBYTES(algorithm, value)

Returns the hash of the input value as a byte array using the given algorithm. The supported algorithms are MD5, SHA1, SHA2_256, SHA2_512, SHA3_224, SHA3_256, SHA3_384, and SHA3_512.

  • algorithm: The algorithm to use for hashing. Must be one of MD5, SHA1, SHA2_256, SHA2_512, SHA3_224, SHA3_256, SHA3_384, or SHA3_512.
  • value: The value to hash. Must be either a string or byte array.

                      SELECT HASHBYTES('MD5', 'Test');
                      -- Result (byte array): 0x0CBC6611F5540BD0809A388DC95A615B
                    

INDEXOF(expressionToSearch, expressionToFind [,start_location ])

Returns the starting position of the specified expression in the character string.

  • expressionToSearch: The character expression, typically a column, to search.
  • expressionToFind: The character expression to find.
  • start_location: An optional character position to start searching for expressionToFind in expressionToSearch.

                      SELECT INDEXOF('0123456', '456');
                      -- Result: 4

                      SELECT INDEXOF('0123456', '456', 5);
                      -- Result: -1
                    

ISALPHABETIC(character_expression)

Returns 1 if the character expression consists only of alphabetic characters; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISALPHABETIC('Hello');
                      -- Result: 1

                      SELECT ISALPHABETIC('Hello123');
                      -- Result: 0

                      SELECT ISALPHABETIC('Hello!');
                      -- Result: 0
                    

ISALPHANUMERIC(character_expression)

Returns 1 if the character expression consists only of alphabetic and numeric characters; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISALPHANUMERIC('Hello123');
                      -- Result: 1

                      SELECT ISALPHANUMERIC('123');
                      -- Result: 1

                      SELECT ISALPHANUMERIC('Hello.123');
                      -- Result: 0
                    

ISNUMERIC(character_expression)

Returns 1 if the character expression consists only of numeric digits and up to one decimal point; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISNUMERIC('123');
                      -- Result: 1

                      SELECT ISNUMERIC('123.45');
                      -- Result: 1

                      SELECT ISNUMERIC('123.45.67');
                      -- Result: 0

                      SELECT ISNUMERIC('12a3');
                      -- Result: 0
                    

JSON_EXTRACT(json, jsonpath)

Selects any value in a JSON array or object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to extract.
  • jsonpath: The XPath used to select the nodes. The JSONPath must be a string constant. The values of the nodes selected will be returned in a token-separated list.

                      SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test');
                      -- Result: '{"data":1}'

                      SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test.data');
                      -- Result: 1

                      SELECT JSON_EXTRACT('{"test": {"data": [1, 2, 3]}}', '$.test.data[1]');
                      -- Result: 2
                    

LEFT ( character_expression , integer_expression )

Returns the specified number of characters counting from the left of the specified string.

  • character_expression: The character expression.
  • integer_expression: The positive integer that specifies how many characters will be returned counting from the left of character_expression.

                      SELECT LEFT('1234567890', 3);
                      -- Result: '123'
                    

LEN(string_expression)

Returns the number of characters of the specified string expression.

  • string_expression: The string expression.

                      SELECT LEN('12345');
                      -- Result: 5
                    

LOCATE(substring,string)

Returns an integer representing how many characters into the string the substring appears.

  • substring: The substring to find inside larger string.
  • string: The larger string that is searched for the substring.
  • start locations: An optional integer that sets the character position (offset) from which to start searching.

				SELECT LOCATE('sample','XXXXXsampleXXXXX');
				-- Result: 6

                SELECT LOCATE('sample', 'XXXXXsampleXXXXX', 7)
                -- Result: 0
				

LOWER ( character_expression )

Returns the character expression with the uppercase character data converted to lowercase.

  • character_expression: The character expression.

                      SELECT LOWER('MIXED case');
                      -- Result: 'mixed case'
                    

LTRIM(character_expression)

Returns the character expression with leading blanks removed.

  • character_expression: The character expression.

                      SELECT LTRIM('     trimmed');
                      -- Result: 'trimmed'
                    

MASK(string_expression, mask_character [, start_index [, end_index ]])

Replaces the characters between start_index and end_index with the mask_character within the string.

  • string_expression: The string expression to be searched.
  • mask_character: The character to mask with.
  • start_index: The optional number of characters to leave unmasked at beginning of string. Defaults to 0.
  • end_index: The optional number of characters to leave unmasked at end of string. Defaults to 0.

                        SELECT MASK('1234567890','*',);
                        -- Result: '**********'
                        SELECT MASK('1234567890','*', 4);
                        -- Result: '1234******'
                        SELECT MASK('1234567890','*', 4, 2);
                        -- Result: '1234****90'  
                    

NCHAR(integer_expression)

Returns the Unicode character with the specified integer code as defined by the Unicode standard.

  • integer_expression: The integer from 0 through 65535 (0 through xFFFF).

OCTET_LENGTH(character_expression),

Returns the number of bytes present in the expression.

  • character_expression: The set of characters to be be evaluated.

				 SELECT OCTET_LENGTH('text') FROM Account LIMIT 1
				 -- Result: 4
				

PATINDEX(pattern, expression)

Returns the starting position of the first occurrence of the pattern in the expression. Returns 0 if the pattern is not found.

  • pattern: The character expression that contains the sequence to be found. The wild-card character % can be used only at the start or end of the expression.
  • expression: The expression, typically a column, to search for the pattern.

                      SELECT PATINDEX('123%', '1234567890');
                      -- Result: 1

                      SELECT PATINDEX('%890', '1234567890');
                      -- Result: 8

                      SELECT PATINDEX('%456%', '1234567890');
                      -- Result: 4
                    

POSITION(expressionToFind IN expressionToSearch)

Returns the starting position of the specified expression in the character string.

  • expressionToFind: The character expression to find.
  • expressionToSearch: The character expression, typically a column, to search.

                      SELECT POSITION('456' IN '123456');
                      -- Result: 4

                      SELECT POSITION('x' IN '123456');
                      -- Result: 0
                    

QUOTENAME(character_string [, quote_character])

Returns a valid SQL Server-delimited identifier by adding the necessary delimiters to the specified Unicode string.

  • character_string: The string of Unicode character data. The string is limited to 128 characters. Inputs greater than 128 characters return null.
  • quote_character: An optional single character to be used as the delimiter. These include:
    • a single quotation mark (')
    • a left or right bracket ([])
    • a double quotation mark (")
    • a left or right parenthesis ( () )
    • a greater or less than sign (><)
    • a left or right brace ({})
    • a backtick (`)

    If quote_character is not specified brackets are used. If an unacceptable character is supplied, it returns NULL.


                      SELECT QUOTENAME('table_name');
                      -- Result: '[table_name]'

                      SELECT QUOTENAME('table_name', '"');
                      -- Result: '"table_name"'

                      SELECT QUOTENAME('table_name', '[');
                      -- Result: '[table_name]'
                    

REGEXP_REPLACE(expr, pattern [, replacement [, position [, occurrence [, match_type]]]])

Replaces occurrences of a regular expression pattern in the input string with a specified value and returns the resulting string.

  • expr: The string expression to be searched.
  • pattern: The regular expression pattern to match.
  • replacement: (optional) The string to replace each matched occurrence of pattern with. Supports backreferences \1 through \9 and escape sequences \n, \r, \t, and \\. By default, this argument is an empty string, meaning matched portions are removed from the output string.
  • position: (optional) The 1-based starting position used when searching for regular expression matches in expr. The default is 1. All characters prior to the starting position are included in the output string unaltered. Skipped characters are ignored when calculating regular expression matches, even if they match pattern.
  • occurrence: (optional) Specifies whether all occurrences of pattern,, or only a specific occurrence of pattern are replaced. The default is 0, which means all occurrences of pattern are replaced with replacement. Set to 1 to only replace the first instance of the pattern; 2 to replace the second; etc.
  • match_type: (optional) Modifiers used to customize matching behavior. Supported values are: 'c' (case-sensitive, default), 'i' (case-insensitive), 'm' (multiline), 'n' (dot matches newline), 'x' (extended mode). These can be freely combined by including the letters back to back. For example, 'im' applies the functionality of both 'i' and 'm'. The regular expression syntax used is that of the Extended mode ('x') ignores whitespace and allows inline comments. If the pattern needs to match a literal space, it must be explicitly escaped.

                      SELECT REGEXP_REPLACE('abc123def456', '\d+', 'NUM');
                      -- Result: 'abcNUMdefNUM'

                      SELECT REGEXP_REPLACE('Hello\nHELLO\nhello', '^hello', 'X', 1, 0, 'im');
                      -- Result: 'X\nX\nX'
                    

REPLACE(string_expression, string_pattern, string_replacement)

Replaces all occurrences of a string with another string.

  • string_expression: The string expression to be searched. This can be a character or binary data type.
  • string_pattern: The substring to be found. Cannot be an empty string.
  • string_replacement: The replacement string.

                      SELECT REPLACE('1234567890', '456', '|');
                      -- Result: '123|7890'

                      SELECT REPLACE('123123123', '123', '.');
                      -- Result: '...'

                      SELECT REPLACE('1234567890', 'a', 'b');
                      -- Result: '1234567890'
                    

REPLICATE ( string_expression ,integer_expression )

Repeats the string value the specified number of times.

  • string_expression: The string to replicate.
  • integer_expression: The repeat count.

                      SELECT REPLACE('x', 5);
                      -- Result: 'xxxxx'
                    

REVERSE ( string_expression )

Returns the reverse order of the string expression.

  • string_expression: The string.

                      SELECT REVERSE('1234567890');
                      -- Result: '0987654321'
                    

RIGHT ( character_expression , integer_expression )

Returns the right part of the string with the specified number of characters.

  • character_expression: The character expression.
  • integer_expression: The positive integer that specifies how many characters of the character expression will be returned.

                      SELECT RIGHT('1234567890', 3);
                      -- Result: '890'
                    

RTRIM(character_expression)

Returns the character expression after it removes trailing blanks.

  • character_expression: The character expression.

                      SELECT RTRIM('trimmed     ');
                      -- Result: 'trimmed'
                    

SOUNDEX(character_expression)

Returns the four-character Soundex code, based on how the string sounds when spoken.

  • character_expression: The alphanumeric expression of character data.

                      SELECT SOUNDEX('smith');
                      -- Result: 'S530'
                    

SPACE(repeatcount)

Returns the string that consists of repeated spaces.

  • repeatcount: The number of spaces.

                      SELECT SPACE(5);
                      -- Result: '     '
                    

SPLIT(string, delimiter, offset)

Returns a section of the string between to delimiters.

  • string: The string to split.
  • delimiter: The character to split the string with.
  • offset: The number of the split to return. Positive numbers are treated as offsets from the left, and negative numbers are treated as offsets from the right.

                      SELECT SPLIT('a/b/c/d', '/', 1);
                      -- Result: 'a'
                      SELECT SPLIT('a/b/c/d', '/', -2);
                      -- Result: 'c'
                    

STARTSWITH(character_expression, character_prefix)

Returns 1 if character_expression starts with character_prefix; otherwise, 0.

  • character_expression: The character expression.
  • character_prefix: The character prefix to search for.

                      SELECT STARTSWITH('0123456', '012');
                      -- Result: 1

                      SELECT STARTSWITH('0123456', '456');
                      -- Result: 0
                    

STR ( float_expression [ , integer_length [ , integer_decimal ] ] )

Returns the character data converted from the numeric data. For example, STR(123.45, 6, 1) returns 123.5.

  • float_expression: The float expression.
  • length: The optional total length to return. This includes decimal point, sign, digits, and spaces. The default is 10.
  • decimal: The optional number of places to the right of the decimal point. The decimal must be less than or equal to 16.

                      SELECT STR('123.456');
                      -- Result: '123'

                      SELECT STR('123.456', 2);
                      -- Result: '**'

                      SELECT STR('123.456', 10, 2);
                      -- Result: '123.46'
                    

STUFF(character_expression , integer_start , integer_length , replaceWith_expression)

Inserts a string into another string. It deletes the specified length of characters in the first string at the start position and then inserts the second string into the first string at the start position.

  • character_expression: The string expression.
  • start: The integer value that specifies the location to start deletion and insertion. If start or length is negative, null is returned. If start is longer than the string to be modified, character_expression, null is returned.
  • length: The integer that specifies the number of characters to delete. If length is longer than character_expression, deletion occurs up to the last character in replaceWith_expression.
  • replaceWith_expression: The expression of character data that will replace length characters of character_expression beginning at the start value.

                      SELECT STUFF('1234567890', 3, 2, 'xx');
                      -- Result: '12xx567890'
                    

SUBSTRING(string_value FROM start FOR length)

Returns the part of the string with the specified length; starts at the specified index.

  • string_value: The character string.
  • start: The positive integer that specifies the start index of characters to return.
  • length: Optional. The positive integer that specifies how many characters will be returned.

                      SELECT SUBSTRING('1234567890' FROM 3 FOR 2);
                      -- Result: '34'

                      SELECT SUBSTRING('1234567890' FROM 3);
                      -- Result: '34567890'
                    
You can also drop the FROM and FOR clauses:
                    SELECT SUBSTRING('1234567890', 3, 2)
                    --Result: '34'
                    SELECT SUBSTRING('1234567890', 3)
                    --Result: '34567890'
                    

TEXT_ENCODE(input_string, charset)

Returns binary output by encoding a string using the specified character set.

  • input_string: The plain text string.
  • charset: The character set to use, such as 'UTF-8', 'ISO-8859-1'.

                    SELECT TEXT_ENCODE('Café', 'UTF-8');
                    -- Result: (binary output)
                    

TEXT_DECODE(input_binary, charset)

Returns a string decoded from binary data using the specified character set.

  • input_binary: The binary value to decode.
  • charset: The character set used for decoding.

                    SELECT TEXT_DECODE(BinaryData, 'UTF-8');
                    -- Result: 'Café'
                    

TOSTRING(string_value1)

Converts the value of this instance to its equivalent string representation.

  • string_value1: The string to be converted.

                      SELECT TOSTRING(123);
                      -- Result: '123'

                      SELECT TOSTRING(123.456);
                      -- Result: '123.456'

                      SELECT TOSTRING(null);
                      -- Result: ''
                    

TRIM(trimspec trimchar FROM string_value)

Returns the character expression with leading and/or trailing blanks removed.

  • trimspec: Optional. If included must be one of the keywords BOTH, LEADING or TRAILING.
  • trimchar: Optional. If included should be a one-character string value.
  • string_value: The string value to trim.

                      SELECT TRIM('     trimmed     ');
                      -- Result: 'trimmed'

                      SELECT TRIM(LEADING FROM '     trimmed     ');
                      -- Result: 'trimmed     '

                      SELECT TRIM('-' FROM '-----trimmed-----');
                      -- Result: 'trimmed'

                      SELECT TRIM(BOTH '-' FROM '-----trimmed-----');
                      -- Result: 'trimmed'

                      SELECT TRIM(TRAILING '-' FROM '-----trimmed-----');
                      -- Result: '-----trimmed'
                    

UNICODE(ncharacter_expression)

Returns the integer value defined by the Unicode standard of the first character of the input expression.

  • ncharacter_expression: The Unicode character expression.

UPPER ( character_expression )

Returns the character expression with lowercase character data converted to uppercase.

  • character_expression: The character expression.

                      SELECT UPPER('MIXED case');
                      -- Result: 'MIXED CASE'
                    

XML_EXTRACT(xml, xpath [, separator])

Extracts an XML document using the specified XPath to flatten the XML. A comma is used to separate the outputs by default, but this can be changed by specifying the third parameter.

  • xml: The XML document to extract.
  • xpath: The XPath used to select the nodes. The nodes selected will be returned in a token-separated list.
  • separator: The optional token used to separate the items in the flattened response. If this is not specified, the separator will be a comma.

                      SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch');
                      -- Result: 'a,e,i,o,u'

                      SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch', ';');
                      -- Result: 'a;e;i;o;u'
                    

CData Python Connector for Mailchimp

MATH Functions

ABS ( numeric_expression )

Returns the absolute (positive) value of the specified numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT ABS(15);
                      -- Result: 15

                      SELECT ABS(-15);
                      -- Result: 15
                    

ACOS ( float_expression )

Returns the arc cosine, the angle in radians whose cosine is the specified float expression.

  • float_expression: The float expression that specifies the cosine of the angle to be returned. Values outside the range from -1 to 1 return null.

                      SELECT ACOS(0.5);
                      -- Result: 1.0471975511966
                    

ASIN ( float_expression )

Returns the arc sine, the angle in radians whose sine is the specified float expression.

  • float_expression: The float expression that specifies the sine of the angle to be returned. Values outside the range from -1 to 1 return null.

                      SELECT ASIN(0.5);
                      -- Result: 0.523598775598299
                    

ATAN ( float_expression )

Returns the arc tangent, the angle in radians whose tangent is the specified float expression.

  • float_expression: The float expression that specifies the tangent of the angle to be returned.

                      SELECT ATAN(10);
                      -- Result: 1.47112767430373
                    

ATN2 ( float_expression1 , float_expression2 )

Returns the angle in radians between the positive x-axis and the ray from the origin to the point (y, x) where x and y are the values of the two specified float expressions.

  • float_expression1: The float expression that is the y-coordinate.
  • float_expression2: The float expression that is the x-coordinate.

                      SELECT ATN2(1, 1);
                      -- Result: 0.785398163397448
                    

CEILING ( numeric_expression ) or CEIL( numeric_expression )

Returns the smallest integer greater than or equal to the specified numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT CEILING(1.3);
                      -- Result: 2

                      SELECT CEILING(1.5);
                      -- Result: 2

                      SELECT CEILING(1.7);
                      -- Result: 2
                    

COS ( float_expression )

Returns the trigonometric cosine of the specified angle in radians in the specified expression.

  • float_expression: The float expression of the specified angle in radians.

                      SELECT COS(1);
                      -- Result: 0.54030230586814
                    

COT ( float_expression )

Returns the trigonometric cotangent of the angle in radians specified by float_expression.

  • float_expression: The float expression of the angle in radians.

                      SELECT COT(1);
                      -- Result: 0.642092615934331
                    

DEGREES ( numeric_expression )

Returns the angle in degrees for the angle specified in radians.

  • numeric_expression: The angle in radians, an expression of an indeterminate numeric data type except for the bit data type.

                      SELECT DEGREES(3.1415926);
                      -- Result: 179.999996929531
                    

EXP ( float_expression )

Returns the exponential value of the specified float expression. For example, EXP(LOG(20)) is 20.

  • float_expression: The float expression.

                      SELECT EXP(2);
                      -- Result: 7.38905609893065
                    

EXPR ( expression )

Evaluates the expression.

  • expression: The expression. Operators allowed are +, -, *, /, ==, !=, >, <, >=, and <=.

                      SELECT EXPR('1 + 2 * 3');
                      -- Result: 7

                      SELECT EXPR('1 + 2 * 3 == 7');
                      -- Result: true
                    

FLOOR ( numeric_expression )

Returns the largest integer less than or equal to the numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT FLOOR(1.3);
                      -- Result: 1

                      SELECT FLOOR(1.5);
                      -- Result: 1

                      SELECT FLOOR(1.7);
                      -- Result: 1
                    

GREATEST(int1,int2,....)

Returns the greatest of the supplied integers.

				SELECT GREATEST(3,5,8,10,1)
				-- Result: 10			
				

HEX(value)

Returns a the equivalent hex for the input value.

  • value: A string or numerical value to be converted into hex.

				SELECT HEX(866849198);
				-- Result: 33AB11AE
				
				SELECT HEX('Sample Text');
				-- Result: 53616D706C652054657874
				

JSON_AVG(json, jsonpath)

Computes the average value of a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_AVG('[1,2,3,4,5]', '$[x]');
                      -- Result: 3

                      SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 3

                      SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 4.5
                    

JSON_COUNT(json, jsonpath)

Returns the number of elements in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_COUNT('[1,2,3,4,5]', '$[x]');
                      -- Result: 5

                      SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 5

                      SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 2
                    

JSON_MAX(json, jsonpath)

Gets the maximum value in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_MAX('[1,2,3,4,5]', '$[x]');
                      -- Result: 5

                      SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 5

                      SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[..3]');
                      -- Result: 4
                    

JSON_MIN(json, jsonpath)

Gets the minimum value in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_MIN('[1,2,3,4,5]', '$[x]');
                      -- Result: 1

                      SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 1

                      SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 4
                    

JSON_SUM(json, jsonpath)

Computes the summary value in JSON according to the JSONPath expression. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_SUM('[1,2,3,4,5]', '$[x]');
                      -- Result: 15

                      SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 15

                      SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 9
                    

LEAST(int1,int2,....)

Returns the least of the supplied integers.

				SELECT LEAST(3,5,8,10,1)
				-- Result: 1			
				

LOG ( float_expression [, base ] )

Returns the natural logarithm of the specified float expression.

  • float_expression: The float expression.
  • base: The optional integer argument that sets the base for the logarithm.

                      SELECT LOG(7.3890560);
                      -- Result: 1.99999998661119
                    

LOG10 ( float_expression )

Returns the base-10 logarithm of the specified float expression.

  • float_expression: The expression of type float.

                      SELECT LOG10(10000);
                      -- Result: 4
                    

MOD(dividend,divisor)

Returns the integer value associated with the remainder when dividing the dividend by the divisor.

  • dividend: The number to take the modulus of.
  • divisor: The number to divide the dividend by when determining the modulus.

				SELECT MOD(10,3);
				-- Result: 1
				

NEGATE(real_number)

Returns the opposite to the real number input.

  • real_number: The real number to find the opposite of.

				SELECT NEGATE(10);
				-- Result: -10
				
				SELECT NEGATE(-12.4)
				--Result: 12.4
				

PI ( )

Returns the constant value of pi.

                  SELECT PI()
                  -- Result: 3.14159265358979 
                

POWER ( float_expression , y )

Returns the value of the specified expression raised to the specified power.

  • float_expression: The float expression.
  • y: The power to raise float_expression to.

                      SELECT POWER(2, 10);
                      -- Result: 1024

                      SELECT POWER(2, -2);
                      -- Result: 0.25
                    

RADIANS ( float_expression )

Returns the angle in radians of the angle in degrees.

  • float_expression: The degrees of the angle as a float expression.

                      SELECT RADIANS(180);
                      -- Result: 3.14159265358979
                    

RAND ( [ integer_seed ] )

Returns a pseudorandom float value from 0 through 1, exclusive.

  • seed: The optional integer expression that specifies the seed value. If seed is not specified, a seed value at random will be assigned.

                      SELECT RAND();
                      -- This result may be different, since the seed is randomized
                      -- Result: 0.873159630165044

                      SELECT RAND(1);
                      -- This result will always be the same, since the seed is constant
                      -- Result: 0.248668584157093
                    

ROUND ( numeric_expression [ ,integer_length] [ ,function ] )

Returns the numeric value rounded to the specified length or precision.

  • numeric_expression: The expression of a numeric data type.
  • length: The optional precision to round the numeric expression to. When this is omitted, the default behavior will be to round to the nearest whole number.
  • function: The optional type of operation to perform. When the function parameter is omitted or has a value of 0 (default), numeric_expression is rounded. When a value other than 0 is specified, numeric_expression is truncated.

                      SELECT ROUND(1.3, 0);
                      -- Result: 1

                      SELECT ROUND(1.55, 1);
                      -- Result: 1.6

                      SELECT ROUND(1.7, 0, 0);
                      -- Result: 2

                      SELECT ROUND(1.7, 0, 1);
                      -- Result: 1
                      
                      SELECT ROUND (1.24);
                      -- Result: 1.0
                    

SIGN ( numeric_expression )

Returns the positive sign (1), 0, or negative sign (-1) of the specified expression.

  • numeric_expression: The expression of an indeterminate data type except for the bit data type.

                      SELECT SIGN(0);
                      -- Result: 0

                      SELECT SIGN(10);
                      -- Result: 1

                      SELECT SIGN(-10);
                      -- Result: -1
                    

SIN ( float_expression )

Returns the trigonometric sine of the angle in radians.

  • float_expression: The float expression specifying the angle in radians.

                     SELECT SIN(1);
                     -- Result: 0.841470984807897
                    

SQRT ( float_expression )

Returns the square root of the specified float value.

  • float_expression: The expression of type float.

                      SELECT SQRT(100);
                      -- Result: 10
                    

SQUARE ( float_expression )

Returns the square of the specified float value.

  • float_expression: The expression of type float.

                      SELECT SQUARE(10);
                      -- Result: 100

                      SELECT SQUARE(-10);
                      -- Result: 100
                    

TAN ( float_expression )

Returns the tangent of the input expression.

  • float_expression: The expression of type float.

                      SELECT TAN(1);
                      -- Result: 1.5574077246549
                    

TRUNC(decimal_number,precision)

Returns the supplied decimal number truncated to have the supplied decimal precision.

  • decimal_number: The decimal value to truncate.
  • precision: The number of decimal places to truncate the decimal number to.

				SELECT TRUNC(10.3423,2);
				-- Result: 10.34
				

_ROW_NUMBER_()

Returns a row index as an additional column.

				SELECT ColumnName, _ROW_NUMBER_() FROM TableName
				-- Result: ColumnData, 0
				ColumnData2, 1
				ColumnData3, 2
				

CData Python Connector for Mailchimp

DATE Functions

CURRENT_DATE()

Returns the current date value.

                  SELECT CURRENT_DATE();
                  -- Result: 2018-02-01
                

CURRENT_TIMESTAMP()

Returns the current time stamp of the database system as a datetime value. This value is equal to GETDATE and SYSDATETIME, and is always in the local timezone.

                  SELECT CURRENT_TIMESTAMP();
                  -- Result: 2018-02-01 03:04:05
                

DATEADD (datepart , integer_number , date [, dateformat])

Returns the datetime value that results from adding the specified number (a signed integer) to the specified date part of the date.

  • datepart: The part of the date to add the specified number to. The valid values and abbreviations are
    • year (yy, yyyy)
    • quarter (qq, q)
    • month (mm, m)
    • week (wk, ww)
    • weekday (dw)
    • dayofyear (dy, y)
    • day (dd, d)
    • hour (hh)
    • minute (mi, n)
    • second (ss, s)
    • millisecond (ms)
  • number: The number to be added.
  • date: The expression of the datetime data type.
  • dateformat: The optional output date format.

                  SELECT DATEADD('d', 5, '2018-02-01');
                  -- Result: 2018-02-06

                  SELECT DATEADD('hh', 5, '2018-02-01 00:00:00');
                  -- Result: 2018-02-01 05:00:00
                

DATEDIFF ( datepart , startdate , enddate )

Returns the difference (a signed integer) of the specified time interval between the specified start date and end date.

  • datepart: The part of the date that is the time interval of the difference between the start date and end date. The valid values and abbreviations are:
    • Year (year, yyyy, yy)
    • Quarter (quarter, qq, q)
    • Month (month, mm, m)
    • Week (week, wk, ww)
    • Weekday (weekday, dw)
    • Dayofyear (dayofyear, dy, y)
    • Day (day, dd, d)
    • Hour (hour, hh)
    • Minute (minute, mi, n)
    • Second (second, ss, s)
    • Millisecond (millisecond, ms)
  • startdate: The datetime expression of the start date.
  • enddate: The datetime expression of the end date.

                  SELECT DATEDIFF('d', '2018-02-01', '2018-02-10');
                  -- Result: 9

                  SELECT DATEDIFF('hh', '2018-02-01 00:00:00', '2018-02-01 12:00:00');
                  -- Result: 12
                

DATE_FORMAT(date,format)

Returns the date or timestamp in the format specified. This function mirrors the MySQL DATE_FORMAT function.

  • date: A date or timestamp string.
  • format: The specifier string of the desired output format. The list of supported format specifiers comes from the MySQL DATE_FORMAT function (see link to MySQL documentation above).

					SELECT DATE_FORMAT('9/4/2021 3:11:53 AM','%h')
					-- Result: 03
				  

DATEFROMPARTS(integer_year, integer_month, integer_day)

Returns the datetime value for the specified year, month, and day.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.

                    SELECT DATEFROMPARTS(2018, 2, 1);
                    -- Result: 2018-02-01
                  

DATENAME(datepart , date)

Returns the character string that represents the specified date part of the specified date.

  • datepart: The part of the date to return. The valid values and abbreviations are year (yy, yyyy), quarter (qq, q), month (mm, m), dayofyear (dy, y), day (dd, d), week (wk, ww), weekday (dw), hour (hh), minute (mi, n), second (ss, s), millisecond (ms), microsecond (mcs), and nanosecond (ns).
  • date: The datetime expression.

                     SELECT DATENAME('yy', '2018-02-01');
                     -- Result: '2018'

                     SELECT DATENAME('dw', '2018-02-01');
                     -- Result: 'Thursday'
                   

DATEPART(datepart, date [,integer_datefirst])

Returns a character string that represents the specified date part of the specified date.

  • datepart: The part of the date to return. The valid values and abbreviations are year (yy, yyyy), quarter (qq, q), month (mm, m), dayofyear (dy, y), day (dd, d), week (wk, ww), weekday (dw), hour (hh), minute (mi, n), second (ss, s), millisecond (ms), microsecond (mcs), nanosecond (ns), ISODOW, ISO_WEEK (isoweek, isowk,isoww), and ISOYEAR.
  • date: The datetime string.
  • datefirst: The optional integer representing the first day of the week. The default is 7, Sunday.

                    SELECT DATEPART('yy', '2018-02-01');
                    -- Result: 2018

                    SELECT DATEPART('dw', '2018-02-01');
                    -- Result: 5
                  

DATETIMEFROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute, integer_seconds, integer_milliseconds)

Returns the datetime value for the specified date parts.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • milliseconds: The integer expression specifying the milliseconds.

                    SELECT DATETIMEFROMPARTS(2018, 2, 1, 1, 2, 3, 456);
                    -- Result: 2018-02-01 01:02:03.456
                  

DATETIME2FROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute, integer_seconds, integer_fractions, integer_precision)

Returns the datetime value for the specified date parts.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • fractions: The integer expression specifying the fractions of the second.
  • precision: The integer expression specifying the precision of the fraction.

				    SELECT DATETIME2FROMPARTS(2018, 2, 1, 1, 2, 3, 456, 3);
                    -- Result: 2018-02-01 01:02:03.456
                  

DATE_TRUNC(date, datepart)

Truncates the date to the precision of the given date part. Modeled after the Oracle TRUNC function.

  • date: The datetime string that specifies the date.
  • datepart: Refer to the Oracle documentation for valid datepart syntax.

				    SELECT DATE_TRUNC('05-04-2005', 'YY');
                    -- Result: '1/1/2005'
					
                    SELECT DATE_TRUNC('05-04-2005', 'MM');
                    -- Result: '5/1/2005'                    
                  

DATE_TRUNC2(datepart, date, [weekday])

Truncates the date to the precision of the given date part. Modeled after the PostgreSQL date_trunc function.

  • datepart: One of 'millennium', 'century', 'decade', 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute' or 'second'.
  • date: The datetime string that specifies the date.
  • weekday: The optional day of the week to use as the first day for 'week'. One of 'sunday', 'monday', etc.

                    SELECT DATE_TRUNC2('year', '2020-02-04');
                    -- Result: '2020-01-01'

                    SELECT DATE_TRUNC2('week', '2020-02-04', 'monday');
                    -- Result: '2020-02-02', which is the previous Monday
                  

DAY(date)

Returns the integer that specifies the day component of the specified date.

  • date: The datetime string that specifies the date.

                    SELECT DAY('2018-02-01');
                    -- Result: 1
                  

DAYNAME(date)

Returns the name of the day of the week of the specified date.

  • date: The datetime string that specifies the date.

                    SELECT DAYNAME('8/18/2021');
                    -- Result: Wednesday
                  

DAYOFMONTH(date)

Returns the day of the month of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFMONTH('04/15/2000');
				  -- Result: 15
				  

DAYOFWEEK(date)

Returns the day of the week of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFWEEK('04/15/2000');
				  -- Result: 7
				  

DAYOFYEAR(date)

Returns the day of the year of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFYEAR('04/15/2000');
				  -- Result: 106
				  

EOMONTH(date [, integer_month_to_add ]) or LAST_DAY(date)

Returns the last day of the month that contains the specified date with an optional offset.

  • date: The datetime expression specifying the date for which to return the last day of the month.
  • integer_month_to_add: The optional integer expression specifying the number of months to add to the date before calculating the end of the month.

                  SELECT EOMONTH('2018-02-01');
                  -- Result: 2018-02-28
                  
                  SELECT LAST_DAY('2018-02-01');
                  -- Result: 2018-02-28

                  SELECT EOMONTH('2018-02-01', 2);
                  -- Result: 2018-04-30
                

EXTRACT(date_part FROM date_column_name)

Returns the last day of the month that contains the specified date with an optional offset.

  • date_part: One of the following date components: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND.
  • date_column_name: The name of a date column in a table.

                  SELECT EXTRACT(YEAR FROM DateColumn)
                  -- Result: 2021
                

FDWEEK(date)

Returns the first day of the week of the given date part.
  • date: The datetime string that specifies the date.
  • weeks to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the week.

				  SELECT FDWEEK('02-08-2018');
				  -- Result: 2/4/2018

          SELECT FDWEEK('02-08-2018', 1)
          --Result: 02/11/2018
				  

FDMONTH(date)

Returns the first day of the month of the given date part.
  • date: The datetime string that specifies the date.
  • month to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the month.

				  SELECT FDMONTH('02-08-2018');
				  -- Result: 2/1/2018

          SELECT FDMONTH('02-08-2018', 1) 
          --Result: 03/01/2018
				  

FDQUARTER(date)

Returns the first day of the quarter of the given date part.
  • date: The datetime string that specifies the date.
  • quarters to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the quarter.

				  SELECT FDQUARTER('05-08-2018');
				  -- Result: 4/1/2018

          SELECT FDQUARTER('05-08-2018',1)
          --Result: 07/01/2018
				  

FILEMODIFIEDTIME(uri)

Returns the time stamp associated with the Date Modified of the relevant file.

  • uri: An absolute path pointing to a file on the local file system.

				 SELECT FILEMODIFIEDTIME('C:/Documents/myfile.txt');
				 -- Result: 6/25/2019 10:06:58 AM
				 

FROM_DAYS(datevalue)

Returns a date derived from the number of days after 1582-10-15 (based upon the Gregorian calendar). This will be equivalent to the MYSQL FROM_DAYS function.

  • datevalue: A integer value representing the number of days since 1582-10-15.

				SELECT FROM_DAYS(736000);
				-- Result: 2/6/2015
				

FROM_UNIXTIME(time, issecond)

Returns a representation of the unix_timestamp argument as a value in YYYY-MM-DD HH:MM:SS expressed in the current time zone.

  • time: The time stamp value from epoch time. Milliseconds are accepted.
  • issecond: Indicates the time stamp value is milliseconds to epoch time.

                      SELECT FROM_UNIXTIME(1540495231, 1);
                      -- Result: 2018-10-25 19:20:31

                      SELECT FROM_UNIXTIME(1540495357385, 0);
                      -- Result: 2018-10-25 19:22:37
                    

GETDATE()

Returns the current time stamp of the database system as a datetime value. This value is equal to CURRENT_TIMESTAMP and SYSDATETIME, and is always in the local timezone.

                  SELECT GETDATE();
                  -- Result: 2018-02-01 03:04:05
                

GETUTCDATE()

Returns the current time stamp of the database system formatted as a UTC datetime value. This value is equal to SYSUTCDATETIME.

In addition, GETUTCDATE can take an optional second parameter, a date and time that are converted to UTC.

                  SELECT GETUTCDATE();
                  -- For example, if the local timezone is Eastern European Time (GMT+2)
                  -- Result: 2018-02-01 05:04:05

                  SELECT GETUTCDATE('2020/08/31 13:56:00')
                  --Result: '2020-08-31 17:56:00'
                

HOUR(date)

Returns the hour component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT HOUR('02-02-2020 11:30:00');
				-- Result: 11
				

ISDATE(date, [date_format])

Returns 1 if the value is a valid date, time, or datetime value; otherwise, 0.

  • date: The datetime string.
  • date_format: The optional datetime format.

                      SELECT ISDATE('2018-02-01', 'yyyy-MM-dd');
                      -- Result: 1

                      SELECT ISDATE('Not a date');
                      -- Result: 0
                    

LAST_WEEK()

Returns a time stamp equivalent to exactly one week before the current date.

				SELECT LAST_WEEK();	//Assume the date is 3/17/2020	
			 -- Result: 3/10/2020 00:00:00
				

LAST_MONTH()

Returns a time stamp equivalent to exactly one month before the current date.

	
				SELECT LAST_MONTH(); //Assume the date is 3/17/2020
				-- Result: 2/17/2020 00:00:00
				

LAST_YEAR()

Returns a time stamp equivalent to exactly one year before the current date.

				SELECT LAST_YEAR();	//Assume the date is 3/17/2020	
				-- Result: 3/10/2019 00:00:00
				

LDWEEK(date)

Returns the last day of the provided week.

  • date: The datetime string.
  • weeks to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the week.

				SELECT LDWEEK('02-02-2020');
				-- Result: 2/8/2020
				

LDMONTH(date)

Returns the last day of the provided month.

  • date: The datetime string.
  • months to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the month.

				SELECT LDMONTH('02-02-2020');
				-- Result: 2/29/2020

        SELECT LDMONTH('02-08-2020', 1)
        --Result: 03/31/2020
				

LDQUARTER(date)

Returns the last day of the provided quarter.

  • date: The datetime string.
  • quarters to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the quarter.

				SELECT LDQUARTER('02-02-2020');
				-- Result: 3/31/2020

        SELECT LDQUARTER('02-02-2020',1)
        --Result: 06/30/2020
				

MAKEDATE(year, days)

Returns a date value from a year and a number of days.

  • year: The year
  • days: The number of days into the year. Value must be greater than 0.

          SELECT MAKEDATE(2020, 1);
          -- Result: 2020-01-01
        

MINUTE(date)

Returns the minute component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT MINUTE('02-02-2020 11:15:00');
				-- Result: 15
				

MONTH(date)

Returns the month component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT MONTH('02-02-2020');
				-- Result: 2
				

QUARTER(date)

Returns the quarter associated with the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT QUARTER('02-02-2020');
				-- Result: 1
				

SECOND(date)

Returns the second component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT SECOND('02-02-2020 11:15:23');
				-- Result: 23
				

SMALLDATETIMEFROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute)

Returns the datetime value for the specified date and time.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.

                      SELECT SMALLDATETIMEFROMPARTS(2018, 2, 1, 1, 2);
                      -- Result: 2018-02-01 01:02:00
                    

STRTODATE(string,format)

Parses the provided string value and returns the corresponding datetime.

  • string: The string value to be converted to datetime format.
  • format: A format string which describes how to interpret the first string input. A few special formats are available as well, including UNIX, UNIXMILIS, TICKS, and FILETICKS.

				SELECT STRTODATE('03*04*2020','dd*MM*yyyy');
				-- Result: 4/3/2020
				

SYSDATETIME()

Returns the current time stamp as a datetime value of the database system. It is equal to GETDATE and CURRENT_TIMESTAMP, and is always in the local timezone.

                  SELECT SYSDATETIME();
                  -- Result: 2018-02-01 03:04:05
                

SYSUTCDATETIME()

Returns the current system date and time as a UTC datetime value. It is equal to GETUTCDATE.

                  SELECT SYSUTCDATETIME();
                  -- For example, if the local timezone is Eastern European Time (GMT+2)
                  -- Result: 2018-02-01 05:04:05
                

TIMEFROMPARTS(integer_hour, integer_minute, integer_seconds, integer_fractions, integer_precision)

Returns the time value for the specified time and with the specified precision.

  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • fractions: The integer expression specifying the fractions of the second.
  • precision : The integer expression specifying the precision of the fraction.

                      SELECT TIMEFROMPARTS(1, 2, 3, 456, 3);
                      -- Result: 01:02:03.456
                    

TO_DAYS(date)

Returns the number of days since 0000-00-01. This will only return a value for dates on or after 1582-10-15 (based upon the Gregorian calendar). This will be equivalent to the MYSQL TO_DAYS function.

  • date: The datetime string that specifies the date.

				SELECT TO_DAYS('02-06-2015');
				-- Result: 736000
				

WEEK(date)

Returns the week (of the year) associated with the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT WEEK('02-17-2020 11:15:23');
				-- Result: 8
				

YEAR(date)

Returns the integer that specifies the year of the specified date.

  • date: The datetime string.

                      SELECT YEAR('2018-02-01');
                      -- Result: 2018
                    

CData Python Connector for Mailchimp

Date Literal Functions

The following date literal functions can be used to filter date fields using relative intervals. Note that while the <, >, and = operators are supported for these functions, <= and >= are not.

L_TODAY()

The current day.

  SELECT * FROM MyTable WHERE MyDateField = L_TODAY()

L_YESTERDAY()

The previous day.

  SELECT * FROM MyTable WHERE MyDateField = L_YESTERDAY()

L_TOMORROW()

The following day.

  SELECT * FROM MyTable WHERE MyDateField = L_TOMORROW()

L_LAST_WEEK()

Every day in the preceding week.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_WEEK()

L_THIS_WEEK()

Every day in the current week.

  SELECT * FROM MyTable WHERE MyDateField = L_THIS_WEEK()

L_NEXT_WEEK()

Every day in the following week.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_WEEK()
Also available:
  • L_LAST/L_THIS/L_NEXT MONTH
  • L_LAST/L_THIS/L_NEXT QUARTER
  • L_LAST/L_THIS/L_NEXT YEAR

L_LAST_N_DAYS(n)

The previous n days, excluding the current day.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_DAYS(3)

L_NEXT_N_DAYS(n)

The following n days, including the current day.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_DAYS(3)
Also available:
  • L_LAST/L_NEXT_90_DAYS

L_LAST_N_WEEKS(n)

Every day in every week, starting n weeks before current week, and ending in the previous week.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_WEEKS(3)

L_NEXT_N_WEEKS(n)

Every day in every week, starting the following week, and ending n weeks in the future.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_WEEKS(3)
Also available:
  • L_LAST/L_NEXT_N_MONTHS(n)
  • L_LAST/L_NEXT_N_QUARTERS(n)
  • L_LAST/L_NEXT_N_YEARS(n)

CData Python Connector for Mailchimp

SELECT Statements

A SELECT statement can consist of the following basic clauses.

  • SELECT
  • INTO
  • FROM
  • JOIN
  • WHERE
  • GROUP BY
  • HAVING
  • UNION
  • ORDER BY
  • LIMIT

SELECT Syntax

The following syntax diagram outlines the syntax supported by the SQL engine of the connector:

SELECT {
  [ TOP <numeric_literal> | DISTINCT ]
  { 
    * 
    | { 
        <expression> [ [ AS ] <column_reference> ] 
        | { <table_name> | <correlation_name> } .* 
      } [ , ... ] 
  }
  { 
    FROM <table_reference> [ [ AS ] <identifier> ] 
  } [ , ... ]
  [ [  
      INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } 
    ] JOIN <table_reference> [ ON <search_condition> ] [ [ AS ] <identifier> ] 
  ] [ ... ] 
  [ WHERE <search_condition> ]
  [ GROUP BY <column_reference> [ , ... ]
  [ HAVING <search_condition> ]
  [ UNION [ ALL ] <select_statement> ]
  [ 
    ORDER BY 
    <column_reference> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]
  ]
  [ 
    LIMIT <expression>
    [ 
      { OFFSET | , }
      <expression> 
    ]
  ] 
} | SCOPE_IDENTITY() 

<expression> ::=
  | <column_reference>
  | @ <parameter> 
  | ?
  | COUNT( * | { [ DISTINCT ] <expression> } )
  | { AVG | MAX | MIN | SUM | COUNT } ( <expression> ) 
  | NULLIF ( <expression> , <expression> ) 
  | COALESCE ( <expression> , ... ) 
  | CASE <expression>
      WHEN { <expression> | <search_condition> } THEN { <expression> | NULL } [ ... ]
    [ ELSE { <expression> | NULL } ]
    END 
  | {RANK() | DENSE_RANK()} OVER ([PARTITION BY <column_reference>] {ORDER BY <column_reference>})
  | <literal>
  | <sql_function> 

<search_condition> ::= 
  {
    <expression> { = | > | < | >= | <= | <> | != | LIKE | NOT LIKE | IN | NOT IN | IS NULL | IS NOT NULL | AND | OR | CONTAINS | BETWEEN | IS DISTINCT FROM | IS NOT DISTINCT FROM } [ <expression> ]
  } [ { AND | OR } ... ] 

Examples

  1. Return all columns:
    SELECT * FROM Lists
  2. Rename a column:
    SELECT [Contact_Company] AS MY_Contact_Company FROM Lists
  3. Cast a column's data as a different data type:
    SELECT CAST(AnnualRevenue AS VARCHAR) AS Str_AnnualRevenue FROM Lists
  4. Search data:
    SELECT * FROM Lists WHERE  = ''
  5. Return the number of items matching the query criteria:
    SELECT COUNT(*) AS MyCount FROM Lists 
  6. Return the number of unique items matching the query criteria:
    SELECT COUNT(DISTINCT Contact_Company) FROM Lists 
  7. Return the unique items matching the query criteria:
    SELECT DISTINCT Contact_Company FROM Lists 
  8. Sort a result set in ascending order:
    SELECT Name, Contact_Company FROM Lists  ORDER BY Contact_Company ASC
  9. Restrict a result set to the specified number of rows:
    SELECT Name, Contact_Company FROM Lists LIMIT 10 
  10. Parameterize a query to pass in inputs at execution time. This enables you to create prepared statements and mitigate SQL injection attacks.
    SELECT * FROM Lists WHERE  = @param
See Explicitly Caching Data for information on using the SELECT statement in offline mode.

Pseudo Columns

Some input-only fields are available in SELECT statements. These fields, called pseudo columns, do not appear as regular columns in the results, yet may be specified as part of the WHERE clause. You can use pseudo columns to access additional features from Mailchimp.

    SELECT * FROM Lists WHERE Pseudo = '@Pseudo'
    

Aggregate Functions

For SELECT examples using aggregate functions, see Aggregate Functions.

JOIN Queries

See JOIN Queries for SELECT query examples using JOINs.

Date Literal Functions

Date Literal Functions contains SELECT examples with date literal functions.

Window Functions

See Window Functions for SELECT examples containing window functions.

Table-Valued Functions

See Table-Valued Functions for SELECT examples with table-valued functions.

CData Python Connector for Mailchimp

Aggregate Functions

COUNT

Returns the number of rows matching the query criteria.

SELECT COUNT(*) FROM Lists WHERE  = ''

COUNT(DISTINCT)

Returns the number of distinct, non-null field values matching the query criteria.

SELECT COUNT(DISTINCT Name) AS DistinctValues FROM Lists WHERE  = ''

AVG

Returns the average of the column values.

SELECT Contact_Company, AVG(AnnualRevenue) FROM Lists WHERE  = ''  GROUP BY Contact_Company

MIN

Returns the minimum column value.

SELECT MIN(AnnualRevenue), Contact_Company FROM Lists WHERE  = '' GROUP BY Contact_Company

MAX

Returns the maximum column value.

SELECT Contact_Company, MAX(AnnualRevenue) FROM Lists WHERE  = '' GROUP BY Contact_Company

SUM

Returns the total sum of the column values.

SELECT SUM(AnnualRevenue) FROM Lists WHERE  = ''

CData Python Connector for Mailchimp

JOIN Queries

The CData Python Connector for Mailchimp supports standard SQL joins like the following examples.

Inner Join

An inner join selects only rows from both tables that match the join condition:





Left Join

A left join selects all rows in the FROM table and only matching rows in the JOIN table:


CData Python Connector for Mailchimp

Window Functions

Window functions allow you to create computed fields from a group of rows (a window) that return a result for each row, as opposed to one computed result for a set of rows, as is the case with aggregate functions. The connector supports the following window function syntax.

Note: Window function support is an experimental feature of the connector. This functionality extends beyond the connector's core scope of being SQL-92 compliant. As such, performance with window functions may not be optimal.

Window Function Clauses

OVER

The OVER clause defines the window over which window functions are performed.

SELECT A, B, <window function> OVER (<window frame>) FROM TableName

The <window function> refers to any supported window function clause, and the <window frame> refers to one or more clauses that specify the logic by which the window is defined.

PARTITION BY

The PARTITION BY clause subdivides a window into sub-windows called partitions. For each unique value in the column specified in the PARTITION BY clause, every record with that value collectively forms an individual partition.

SELECT A, B, <window function> OVER (PARTITION BY A ORDER BY B) From Lists

The <window function> refers to any supported window function clause.

Window Functions

The connector supports math, ranking, and analytic window functions.

Math

These window functions perform mathematical operations on the records within the window.

COUNT()

Calculates the number of records in each partition. The calculated column is of the data type "int".

In each partition, every record will display the total number of records in that partition.

SELECT Name, Role, Earnings, COUNT() OVER (PARTITION BY Role) FROM Employees

COUNT_BIG()

Calculates the number of records in each partition. The calculated column is of the data type "bigint".

In each partition, every record will display the total number of records in that partition.

SELECT Name, Role, Earnings, COUNT_BIG() OVER (PARTITION BY Role) FROM Employees

MIN(numeric_column)

Calculates the minimum value of a numerical column per partition.

In each partition, every record will display the minimum value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MIN(Earnings) OVER (PARTITION BY Role) FROM Employees

MAX(numeric_column)

Calculates the maximum value of a numerical column per partition.

In each partition, every record will display the maximum value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MAX(Earnings) OVER (PARTITION BY Role) FROM Employees

SUM(numeric_column)

Calculates the sum of a numerical column per partition.

In each partition, every record will display the sum of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, SUM(Earnings) OVER (PARTITION BY Role) FROM Employees

AVG(numeric_column)

Calculates the average value of a numerical column per partition.

In each partition, every record will display the average value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, AVG(Earnings) OVER (PARTITION BY Role) FROM Employees

MEDIAN(numeric_column)

Calculates the median value of a numerical column per partition.

In each partition, every record will display the median value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MEDIAN(Earnings) OVER (PARTITION BY Role) FROM Employees

STDEV(numeric_column)

Calculates the standard deviation of a numerical column per partition.

In each partition, every record will display the standard deviation of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, STDEV(Earnings) OVER (PARTITION BY Role) FROM Employees

STDEVP(numeric_column)

Calculates the population standard deviation of a numerical column per partition.

In each partition, every record will display the population standard deviation of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, STDEVP(Earnings) OVER (PARTITION BY Role) FROM Employees

VAR(numeric_column)

Calculates the statistical standard variance of a numerical column per partition.

In each partition, every record will display the statistical standard variance of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, VAR(Earnings) OVER (PARTITION BY Role) FROM Employees

VARP(numeric_column)

Calculates the variance population of a numerical column per partition.

In each partition, every record will display the variance population of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, VARP(Earnings) OVER (PARTITION BY Role) FROM Employees

Ranking

These window functions rank records that fall within the window and its partitions.

RANK()

Assigns a rank number to each record in a window based on the value of the column specified in the required ORDER BY clause.

If two or more records have an equal value in the in ranked column, they all receive the same rank number and the rank count increments internally, skipping ahead one rank number for each record with a duplicate value in the ORDER BY column.

SELECT Name, Contact_Company, RANK() OVER (ORDER BY Contact_Company) AS Rank FROM Lists

If you add a PARTITION BY clause, a separate set of ranks is calculated for each partition.

SELECT Name, Contact_Company, RANK() OVER (PARTITION BY Name ORDER BY Contact_Company) AS Rank FROM Lists

DENSE_RANK()

Operates like the RANK() function, but it doesn't increment the internal rank counter for each record with a duplicate value in the ranked column.

This means that, while records with identical values in the ORDER BY column still share a rank number, the function never skips a rank number.

SELECT Name, Contact_Company, DENSE_RANK() OVER (PARTITION BY Name ORDER BY Contact_Company) AS Rank FROM Lists

If you add a PARTITION BY clause, a separate set of ranks is calculated for each partition.

SELECT Name, Contact_Company, DENSE_RANK() OVER (PARTITION BY Name ORDER BY Contact_Company) AS Rank FROM Lists

ROW_NUMBER()

Calculates a row number for each record. An ORDER BY clause in the OVER clause is required.

SELECT Name, Role, Earnings, ROW_NUMBER() OVER (ORDER BY Role) FROM Employees
If you define multiple partitions with PARTITION BY, a new set of row numbers are calculated for each partition.
SELECT Name, Role, Earnings, ROW_NUMBER() OVER (PARTITION BY Role ORDER BY Earnings) FROM Employees

NTILE()

Distributes rows of an ordered partition into a specified number of approximately equal groups, or buckets. It assigns each group a bucket number starting from one. For each row in a group, the NTILE() function assigns a bucket number representing the group to which the row belongs.

The syntax of NTILE() is:

NTILE(buckets) OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)
The following are paramaters that NTILE() supports:

  • buckets: The number of buckets into which the rows are divided. The buckets can be an expression or subquery that evaluates to a positive integer. It cannot be a window function.
  • PARTITION BY: distributes rows of a result set into partitions to which the NTILE() function is applied.
  • ORDER BY is clause that specifies the logical order of rows in each partition to which the NTILE() is applied.

If the number of rows is not divisible by the buckets, the NTILE() function returns groups of two sizes with the difference by one. The larger groups always precede the smaller group in the order set by ORDER BY in the OVER() clause.

If the total of rows is divisible by the number of buckets, the function divides the rows evenly among buckets. The following statement creates a new table named ntile_demo that stores 10 integers:

CREATE TABLE sales.ntile_demo (
	v INT NOT NULL
);
	
INSERT INTO sales.ntile_demo(v) 
VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);	
	
SELECT * FROM sales.ntile_demo;
This statement uses the NTILE() function to divide ten rows into three groups:
SELECT 
	v, 
	NTILE (3) OVER (
		ORDER BY v
	) buckets
FROM 
	sales.ntile_demo;

Analytical

These window functions perform analytical operations on the records within the window.

PERCENT_RANK()

Calculates the relative rank SQL Percentile of each row. It returns values greater than zero, but the maximum value is one. It does not count any NULL values. This function is nondeterministic.

The syntax of PERCENT_RANK() is:

PERCENT_RANK() OVER (
      [PARTITION BY partition_expression, ... ]
      ORDER BY sort_expression [ASC | DESC], ...
  )
  
This syntax uses the following parameters.

  • PARTITION BY: By default, SQL Server treats the whole data set as a single set. You can specify the PARTITION BY clause to divide data into multiple sets. The Percent_Rank function performs the analytical calculations on each set. This parameter is optional.
  • ORDER BY: Sorts the data in either ascending or descending order. This parameter is required.

CData Python Connector for Mailchimp

Table-Valued Functions

Table-valued functions are functions that return a table (rowset).

Note: Table-valued function support is an experimental feature of the connector. This functionality extends beyond the connector's core scope of being SQL-92 compliant. As such, performance with these functions may not be optimal.

Table-Valued Function Clauses

CROSS APPLY

The CROSS APPLY operator is used to perform a subquery on each row of a table or resultset produced by a preceding table expression.

<table_expression_1> CROSS APPLY <table_expression_2>

The second table expression can reference results from the first table expression to create derived columns or an altered recordset via a table-valued function.

Each resulting record is an instance of the record it's splitting, with all the same column values, except for the column(s) containing the value split by the function.

WITH

The WITH clause is used alongside certain table-valued functions to match against constructs within the structure being split (keys, element names, attribute names, etc.) and/or to specify metadata for the columns generated from the function.
SELECT A.ColumnName, X.DerivedColumnName FROM TableName A CROSS APPLY <table-valued function> WITH (DerivedColumnName varchar(255)) AS X

Table-Valued Functions

STRING_SPLIT(input_text,delimiter)

Takes each record in the recordset of the preceding table expression, splits the column containing delimiters (input_text) into substrings separated by the delimiter, and returns one record per substring.

  • input_text: A column whose value you want to parse.
  • delimiter: The character used to split the value of the column specified in input_text.

Suppose there is a column called "SplitColumn" with the following content:

One-Two-Three
To unpack this value across multiple records:
SELECT A.ID, X.Value FROM [TableWithDelimitedStringField] A CROSS APPLY STRING_SPLIT(A.SplitColumn,'-') WITH (Value VARCHAR(255)) AS X

-- Results:
-----------
|ID|Value|
|1|One|
|1|Two|
|1|Three|

JSONTABLE(json_content,[jsonpath])

For each record in the recordset of the preceding table expression, returns one record for each instance of a key in a JSON array (json_content) that matches the key(s) specified in the WITH clause, at the scope specified by the "jsonpath" input.

  • json_content: A JSON "table" (array of objects). The contents can nest, but this must be a single JSON array, not any other JSON structure, at the root level.
    • The values of every instance of the key(s) provided in the WITH clause are retrievable only for substructures which are immediate children of the root-level JSON array.
  • jsonpath: An optional JSONPath query defining the scope, within the json_content array, that you want to pull content from. The JSON key(s) identified in the WITH clause must exist at the scope defined in this parameter. This defaults to the JSON root ($).

Consider a sample table with a single record, including an ID column and column with JSON content called "JSONColumn" with the following content:

[
	{
		"name": "Samuel",
		"email": "sam@gmail.com",
		"extrainfo": {
			"city": "Seattle"
		}
	},
	{
		"name": "Katherine",
		"email": "kat@gmail.com",
	},
	{
		"name": "George",
		"email": "george23@gmail.com",
	},
	{
		"name": "Carlos",
		"email": "carlos32@gmail.com",
	}
]

To extract all values for a certain key, specify the scope in the JSONTABLE function and provide the desired key(s) in the WITH clause.

SELECT A.ID, X.name FROM [TableWithJSONField] A CROSS APPLY JSONTABLE(A.JSONColumn) WITH (name VARCHAR(255)) AS X

-- Results: 
|ID|name|
---------
|1 |Samuel|
|1 |Katherine|
|1 |George|
|1 |Carlos|

XMLTABLE(xml_content,[xpath,child_type])

For each record in the resultset of the preceding table expression, returns one record for each of the elements and/or attributes in an XML structure (xml_content) that match the tag name(s) and/or attribute name(s) specified in the WITH clause, at the scope specified in the "xpath" input.

  • xml_content: A column containing an XML structure.
  • xpath: An optional XPath that specifies the scope within the XML structure at which the connector extracts content matching the tag/attribute name(s) specified in the WITH clause.
    • When extracting the content of sub-elements, the connector can retrieve all content from tags at the root level, (depth 0) immediate children of the root (depth 1), and children of those children (depth 2).
    • When extracting element attribute content, the connector can retrieve all content from tags containing the specified attribute at the root level (depth 0) and from immediate children of root-level elements (depth 1).
  • child_type: An optional parameter that specifies the part(s) of the parent element (specified in the xpath input) that the column(s) provided in the WITH clause are checked against to identify content.
    • You can supply the following values:
      • 0: The column(s) in the WITH clause are checked for matches against the parent element's attribute names and sub-element tag names.
      • 1: The column(s) in the WITH clause are checked for matches against the parent element's attribute names.
      • 2: The column(s) in the WITH clause are checked for matches against the parent element's sub-element tag names.
    • When not supplied, this defaults to 0.

Extracting Sub-Element Values

Consider a sample table with a single record, including an ID column and a column with XML content called "XMLContent" with the following content:
<shoppingList>
    <item>
        <name>Apples</name>
        <quantity>3</quantity>
        <unit>Kg</unit>
    </item>
    <item>
        <name>Bread</name>
        <quantity>2</quantity>
        <unit>Loaf</unit>
		<extrainfo>
			<Type>Whole-Grain</Type>
		</extrainfo>
    </item>
    <item>
        <name>Milk</name>
        <quantity>1</quantity>
        <unit>Carton</unit>
    </item>
    <item>
        <name>Eggs</name>
        <quantity>12</quantity>
        <unit></unit>
    </item>
</shoppingList>

To extract sub-element content, specify the scope in the XMLTABLE function and provide the desired element name(s) in the WITH clause. Note that this will not work if the XMLTABLE function's child_type input is set to 1.

SELECT A.ID, X.name FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/item') WITH (name VARCHAR(255)) AS X

-- Results: 
|ID|name|
---------
|1|Apples|
|1|Bread|
|1|Milk|
|1|Eggs|

Extracting Values Using Element Tag Attributes

Suppose you have this sample table with a single record, including an ID column and a column with XML content called "XMLContent" with the following content:

<restaurant>
  <dish type="appetizer">
    <name lang="en">Caprese Salad</name>
    <chef>Chef Giovanni</chef>
    <price currency="USD">9.99</price>
  </dish>
  <dish type="main-course">
    <name lang="fr">Boeuf Bourguignon</name>
    <chef>Chef Marie</chef>
    <price currency="EUR">19.99</price>
  </dish>
  <dish type="dessert">
    <name lang="es">Tres Leches Cake</name>
    <chef>Chef Alejandro</chef>
    <price currency="MXN">89.99</price>
  </dish>
</restaurant>

To extract attribute content, specify the scope in the XMLTABLE function and provide the desired attribute name(s) in the WITH clause. Note that this will not work if the XMLTABLE function's child_type input is set to 2.

SELECT A.ID, X.type FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/dish') WITH (type VARCHAR(255)) AS X

-- Results: 
|ID|type|
---------
|1|appetizer|
|1|main-course|
|1|dessert|

CSVTABLE(csv_content,[delimiter])

For each record in the resultset of the preceding table expression, reads from a column that contains a CSV table (csv_content) and for each record in that CSV table, returns one record containing the value of the CSV column(s) specified in the WITH clause.

  • csv_content: A column containing a CSV table.
  • delimiter: An optional custom delimiter (instead of a comma) which splits the CSV content contained in the csv_content input.

Consider a sample table with a single record, including an ID column and a column containing CSV table called "CSVContent" with the following content:

Name;Category;Price
Apple;Fruit;0.99
Spaghetti;Pasta;5.49
Chicken Breast;Meat;8.99
Broccoli;Vegetable;2.49

To select every value in the "Name" column and account for the custom delimiter (;):

SELECT A.ID, X.Name FROM [TableWithCSVField] A CROSS APPLY CSVTABLE(A.CSVContent,';') WITH (Name VARCHAR(255)) AS X

-- Results:
|ID|Name|
-----------
|1|Apple|
|1|Spaghetti|
|1|Chicken Breast|
|1|Broccoli|

CData Python Connector for Mailchimp

INSERT Statements

To create new records, use INSERT statements.

INSERT Syntax

The INSERT statement specifies the columns to be inserted and the new column values. You can specify the column values in a comma-separated list in the VALUES clause, as shown in the following example:

INSERT INTO <table_name> 
( <column_reference> [ , ... ] )
VALUES 
( { <expression> | NULL } [ , ... ] ) 
  

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>
The following is an example query:
INSERT INTO Lists (Contact_Company) VALUES ('')

CData Python Connector for Mailchimp

UPDATE Statements

To modify existing records, use UPDATE statements.

Update Syntax

The UPDATE statement takes as input a comma-separated list of columns and new column values as name-value pairs in the SET clause, as shown in the following example:

UPDATE <table_name> SET <select_statement> | {<column_reference> = <expression> [ , ... ]} WHERE { Id = <expression>  } [ { AND | OR } ... ] 

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

The following is an example query:

UPDATE Lists SET Contact_Company='' WHERE Id = @myId

CData Python Connector for Mailchimp

DELETE Statements

To delete information from a table, use DELETE statements.

DELETE Syntax

The DELETE statement requires the table name in the FROM clause and the row's primary key in the WHERE clause, as shown in the following example:

<delete_statement> ::= DELETE FROM <table_name> WHERE { Id = <expression> } [ { AND | OR } ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

The following is an example query:

DELETE FROM Lists WHERE Id = @myId

CData Python Connector for Mailchimp

CACHE Statements

When caching is enabled, CACHE statements provide complete control over the data that is cached and the table to which it is cached. The CACHE statement executes the SELECT statement specified and caches its results to a table with the same name in the cache database or to table specified in <cached_table_name>. The connector updates or inserts rows to the cache depending on whether or not they already exist in the cache, so the primary key, which is used to identify existing rows, must be included in the selected columns.

See Caching Data for more information on different caching strategies.

CACHE Statement Syntax

The cache statement may include the following options that alter its behavior:

CACHE [ <cached_table_name> ] [ WITH TRUNCATE | AUTOCOMMIT | SCHEMA ONLY | DROP EXISTING | ALTER SCHEMA ] <select_statement> 

WITH TRUNCATE

If this option is set, the connector removes existing rows in the cache table before adding the selected rows. Use this option if you want to refresh the entire cache table but keep its existing schema.

AUTOCOMMIT

If this option is set, the connector commits each row individually. Use this option if you want to ignore the rows that could not be cached due to some reason. By default, the entire result set is cached as a single transaction.

DROP EXISTING

If this option is set, the connector drops the existing cache table before caching the new results. Use this option if you want to refresh the entire cache table, including its schema.

SCHEMA ONLY

If this option is set, the connector creates the cache table based on the SELECT statement without executing the query.

ALTER SCHEMA

If this option is set, the connector alters the schema of the existing table in the cache if it does not match the schema of the SELECT statement. This option results in new columns or dropped columns, if the schema of the SELECT statement does not match the cached table.

Common Queries

Use the following cache statement to cache all rows of a table:

CACHE SELECT * FROM Lists

Use the following cache statement to cache all rows of a table into the cache table CachedLists:

CACHE CachedLists SELECT * FROM Lists

Use the following cache statement for incremental caching. The DateModified column may not exist in all tables. The cache statement shows how incremental caching would work if there were such a column. Also, notice that, in this case, the WITH TRUNCATE and DROP EXISTING options are specifically omitted, which would have deleted all existing rows.

CACHE CachedLists SELECT * FROM Lists WHERE DateModified > '2013-04-04'

Use the following cache statements to create a table with all available columns that will then cache only a few of them. The sequence of statements cache only Name and Contact_Company even though the cache table CachedLists has all the columns in Lists.

CACHE CachedLists SCHEMA ONLY SELECT * FROM Lists
CACHE CachedLists SELECT Name, Contact_Company FROM Lists

CData Python Connector for Mailchimp

EXECUTE Statements

To execute stored procedures, you can use EXECUTE or EXEC statements.

EXEC and EXECUTE assign stored procedure inputs, referenced by name, to values or parameter names.

Stored Procedure Syntax

To execute a stored procedure as an SQL statement, use the following syntax:

 
{ EXECUTE | EXEC } <stored_proc_name> 
{
  [ @ ] <input_name> = <expression>
} [ , ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

Example Statements

Reference stored procedure inputs by name:

EXECUTE my_proc @second = 2, @first = 1, @third = 3;

Execute a parameterized stored procedure statement:

EXECUTE my_proc second = @p1, first = @p2, third = @p3; 

CData Python Connector for Mailchimp

PIVOT and UNPIVOT

PIVOT and UNPIVOT can be used to change a table-valued expression into another table.

PIVOT

PIVOT rotates a table-value expression by turning unique values from one column into multiple columns in the output. PIVOT can run aggregations where required on any column value.
PIVOT Synax

 
"SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, [0], [1], [2], [3], [4]
FROM
(
SELECT DaysToManufacture, StandardCost
FROM Production.Product
) AS SourceTable
PIVOT
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable;"

UNPIVOT

UNPIVOT carries out nearly the opposite to PIVOT by rotating columns of a table-valued expressions into column values.
UNPIVOT Sytax

 
"SELECT VendorID, Employee, Orders
FROM
(SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
FROM pvt) p
UNPIVOT
(Orders FOR Employee IN
(Emp1, Emp2, Emp3, Emp4, Emp5)
)AS unpvt;"

For further information on PIVOT and UNPIVOT, see FROM clause plus JOIN, APPLY, PIVOT (Transact-SQL)

CData Python Connector for Mailchimp

Data Model

The CData Python Connector for Mailchimp models Mailchimp data as an easy-to-use SQL database with tables, views, and stored procedures.

The connector exposes two schemas:

CData Python Connector for Mailchimp

MailChimp Data Model

Tables

The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Mailchimp account. The connector uses the Mailchimp API to process supported filters. The connector processes other filters client-side within the connector.

Commonly used tables include:

Table Description
Automations A summary of the automations within an account.
AutomationEmails A summary of the emails in an automation workflow.
CampaignContents Retrieves the HTML and plain-text content associated with a specific campaign.
CampaignFeedback Contains feedback comments submitted by recipients regarding a campaign's content or performance.
Campaigns Provides detailed information on campaigns created within the account, including type, status, and send statistics.
EcommerceCustomers Stores records of e-commerce customers linked to Mailchimp, used for purchase tracking and segmentation.
EcommerceOrders Contains details of e-commerce orders tracked through connected stores, including order totals and customer details.
EcommerceProducts Lists products available through connected e-commerce integrations, including titles, variants, and pricing.
EcommerceStores A list of an account's ecommerce stores.
ListActivity Displays up to 180 days of daily aggregated activity statistics for a given audience list, excluding automation events.
ListMembers Individuals who are currently or have been previously subscribed to this list, including members who have bounced or unsubscribed.
ListMemberTags Tags assigned to a certain member/members.
Lists Contains all audience lists in the account, including configuration details, subscriber counts, and opt-in settings.
ListSegmentMembers Lists subscribers that belong to a specific segment, including historical membership data.
ListSegments Provides information on available audience segments, including criteria and segment type.
ReportClickDetails A list of URLs and unique IDs included in HTML and plain-text versions of a campaign.
ReportEmailActivity A list of member's subscriber activity in a specific campaign.
Reports A list of reports containing campaigns marked as Sent.
Templates A list an account's available templates.

Stored Procedures

Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard CRUD operations, including managing campaigns and transactions, and managing OAuth tokens.

CData Python Connector for Mailchimp

Tables

The CData Python Connector for Mailchimp models Mailchimp data as an easy-to-use SQL database. There are three parts to the data model: tables, views, and stored procedures.

The connector dynamically retrieves custom fields for the ListMembers tables when you connect. Any changes you make to the custom fields, such as adding a new field or changing a custom field's data type, are reflected when you reconnect.

Dynamic Tables

Along with the default static tables, the connector also allows querying on dynamic tables. These are tables that are created based on the "audiences" (also called "lists") in your Mailchimp account.

For example, suppose you have three audiences in your account: Old Audience, New Audience, and VIP Audience. The connector creates two new tables for each audience: one is prefixed with ListMembers_ and the other with ListMergeFields_. In this example, the following six tables are created:

  • ListMembers_OldAudience
  • ListMembers_NewAudience
  • ListMembers_VIPAudience
  • ListMergeFields_OldAudience
  • ListMergeFields_NewAudience
  • ListMergeFields_VIPAudience

The tables are created by removing spaces from the audience name, then appending the result to ListMembers_ and ListMergeFields_.
  • Tables prefixed with ListMembers_ display all members for a specific audience along with custom field values.
  • Those starting with ListMergeFields_ display all custom fields names for members in that audience.

CData Python Connector for Mailchimp Tables

Name Description
CampaignFeedback Contains feedback comments submitted by recipients regarding a campaign's content or performance.
CampaignFolders Lists folders used to organize campaigns within the account.
Campaigns Provides detailed information on campaigns created within the account, including type, status, and send statistics.
EcommerceCartLines Lists individual items included in an e-commerce cart, including product details and quantities.
EcommerceCarts Contains data on e-commerce carts associated with the account, including customer and total value information.
EcommerceCustomers Stores records of e-commerce customers linked to Mailchimp, used for purchase tracking and segmentation.
EcommerceOrderLines Lists line items included in e-commerce orders, such as product identifiers, quantities, and prices.
EcommerceOrders Contains details of e-commerce orders tracked through connected stores, including order totals and customer details.
EcommerceProducts Lists products available through connected e-commerce integrations, including titles, variants, and pricing.
EcommerceProductVariants Contains information about product variants, such as size or color, linked to e-commerce items.
FileManagerFiles Provides a catalog of all files and images stored in the account's File Manager, including metadata and size.
FileManagerFolders Lists folders available in the File Manager for organizing images and files.
ListInterestCategories Returns the interest categories for a Mailchimp audience list.
ListInterests Lists individual interests belonging to a specific interest category within a list.
ListMemberEvents Contains event information related to individual list members, such as sign-ups or profile updates.
ListMemberNotes Contains notes created for specific list members, showing the most recent entries by date.
ListMembers Lists individuals who are currently or have been previously subscribed to this list, including members who have bounced or unsubscribed.
ListMergeFields Returns merge fields for a Mailchimp list. Merge fields map to subscriber profile data, such as first name or address, and were previously referred to as merge vars.
Lists Returns a collection of subscriber lists associated with this account. Lists contain subscribers who have opted in to receive correspondence from the account holder or their organization.
ListSegmentMembers Returns the members of a specific list segment, including those who have bounced or unsubscribed.
ListSegments Returns a list of available segments for a list.
ListsWebhooks Lists webhooks configured for an audience list, used to trigger updates based on subscriber activity.
TemplateFolders Lists folders used to organize design templates within the account.
Templates Returns an account's available templates.

CData Python Connector for Mailchimp

CampaignFeedback

Contains feedback comments submitted by recipients regarding a campaign's content or performance.

Table-Specific Information

SELECT, INSERT, UPDATE, and DELETE are supported for CampaignFeedback.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
FeedbackId=
CampaignId=

For example, the following queries are processed server-side:

SELECT * FROM CampaignFeedback WHERE FeedbackId = '1245'
SELECT * FROM CampaignFeedback WHERE CampaignId = '1245'

Insert

The CampaignId and Message columns are required for INSERT operations.

INSERT INTO CampaignFeedback (CampaignId, Message) VALUES ('myCampaignId', 'myMessage')

Columns

Name Type ReadOnly References Description
FeedbackId [KEY] Integer True

The unique identifier of the feedback entry associated with a campaign.

ParentId Integer True

If the feedback is a reply, this field stores the identifier of the parent feedback item.

BlockId Integer False

The identifier of the editable content block within the campaign that the feedback refers to.

Message String False

The text content of the feedback message provided by the user.

IsComplete Boolean False

If the value is 'true', the feedback item has been marked as resolved or completed. If the value is 'false', it remains open.

CreatedBy String True

The username of the Mailchimp user who submitted the feedback.

CreatedAt Datetime True

The date and time when the feedback entry was created.

UpdatedAt Datetime True

The date and time when the feedback entry was last modified.

Source String True

Indicates the platform or method through which the feedback was submitted, such as email, web, SMS, iOS, Android, or API.

CampaignId [KEY] String False

Campaigns.Id

The unique identifier of the campaign to which the feedback relates.

CData Python Connector for Mailchimp

CampaignFolders

Lists folders used to organize campaigns within the account.

Table-Specific Information

SELECT, INSERT, UPDATE, and DELTE are supported for CampaignFolders.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM CampaignFolders WHERE Id = '1245'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier of the campaign folder within the Mailchimp account.

Name String False

The display name of the campaign folder as shown in the Mailchimp interface.

Count Integer True

The total number of campaigns currently stored in this folder.

CData Python Connector for Mailchimp

Campaigns

Provides detailed information on campaigns created within the account, including type, status, and send statistics.

Table-Specific Information

SELECT, UPDATE, and DELETE are supported for Campaigns.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Type=
CreateTime=, <, >, <=, >=
SendTime=, <, >, <=, >=
Status=
Recipients_ListId=
Settings_FolderId=

For example, the following queries are processed server-side:

SELECT * FROM Campaigns WHERE Id = '1245'
SELECT * FROM Campaigns WHERE Type = '1245'
SELECT * FROM Campaigns WHERE Status = 'save'
SELECT * FROM Campaigns WHERE Recipients_ListId = '12345'
SELECT * FROM Campaigns WHERE Settings_FolderId = '12345'
SELECT * FROM Campaigns WHERE CreateTime = '2024-02-07 00:00:37.0'
SELECT * FROM Campaigns WHERE CreateTime >= '2024-02-07 00:00:37.0'
SELECT * FROM Campaigns WHERE CreateTime <= '2024-02-07 00:00:37.0'
SELECT * FROM Campaigns WHERE CreateTime > '2024-02-07 00:00:37.0'
SELECT * FROM Campaigns WHERE CreateTime < '2024-02-07 00:00:37.0'

Additionally, the CreateTime column can be used in the ORDER BY clause, as follows:

SELECT * FROM Campaigns ORDER BY CreateTime DESC

Update


UPDATE Campaigns SET Settings_Title = 'Test' WHERE Id = '1234'
UPDATE Campaigns SET Recipients_SegmentOpts = '{"match":"any","saved_segment_id":314699}' WHERE Id = 'cfb12c2228'
UPDATE Campaigns SET Settings_Title = 'Test', Recipients_ListId = '1234', RssOpts_FeedUrl = 'exampleUrl', Type = 'rss', RssOpts_Frequency = 'daily' WHERE Id = '1234'

Note: UPDATE operations cannot be performed on already-sent campaigns. Also, the type of a campaign cannot be updated once it is set. Depending on the campaign type, specific options can be updateable only for specific campaign types. For example, if a campaign is of type "rss" then only the RSS Options fields can be updateable for this campaign. Variant and AbSplitOps settings are not updateable in this case.

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier assigned to the campaign within the Mailchimp account.

Type String False

Specifies the type of campaign, such as regular, plaintext, absplit, or rss.

CreateTime Datetime True

The date and time when the campaign was created.

ArchiveUrl String True

The URL of the campaign's archived version, accessible via the campaign archive.

LongArchiveUrl String True

The original full-length URL of the campaign archive version.

Status String True

Indicates the current state of the campaign, such as save, paused, schedule, sending, or sent.

EmailsSent Integer True

The total number of emails successfully sent for this campaign.

SendTime Datetime True

The date and time when the campaign was sent to recipients.

ContentType String False

Defines how the campaign content is structured, such as template, drag_and_drop, HTML, or URL.

Recipients_ListId String False

Lists.Id

The unique identifier of the audience list targeted by the campaign.

Recipients_ListName String True

The display name of the audience list associated with the campaign.

Recipients_SegmentText String True

A formatted HTML string describing the audience segment used for this campaign in plain language.

Recipients_RecipientCount Integer True

The total number of recipients included in the campaign's target audience.

Recipients_SegmentOpts String False

The segmentation parameters that define which subscribers received this campaign.

Settings_SubjectLine String False

The subject line displayed in recipients' inboxes for the campaign email.

Settings_Title String False

The internal title of the campaign as shown within the Mailchimp interface.

Settings_FromName String False

The sender name displayed in recipients' inboxes for the campaign.

Settings_ReplyTo String False

The reply-to email address used for recipient responses to the campaign.

Settings_UseConversation Boolean False

If the value is 'true', Mailchimp's Conversations feature is enabled to manage replies within the platform.

Settings_ToName String False

The personalized 'To' field value used in the campaign, typically populated with a merge tag like the recipient's first name.

Settings_FolderId String False

The identifier of the folder in which this campaign is stored, if applicable.

Settings_Authenticate Boolean False

If the value is 'true', Mailchimp authenticated the campaign to improve deliverability. The default value is 'true'.

Settings_AutoFooter Boolean False

If the value is 'true', Mailchimp automatically appends the default footer to the campaign content.

Settings_InlineCss Boolean False

If the value is 'true', CSS styles are automatically inlined within the campaign's HTML for improved compatibility.

Settings_AutoTweet Boolean False

If the value is 'true', Mailchimp automatically posts a tweet linking to the campaign archive when the campaign is sent.

Settings_AutoFbPost String False

A list of Facebook page IDs where the campaign is automatically shared when sent.

Settings_FbComments Boolean False

If the value is 'true', Facebook comments are enabled on the campaign archive, allowing recipients to leave feedback.

Settings_Timewarp Boolean True

If the value is 'true', the campaign uses Mailchimp's Timewarp feature to send emails based on recipients' local time zones.

Settings_TemplateId Integer False

Templates.Id

The identifier of the email template used to design the campaign.

Settings_DragAndDrop Boolean True

If the value is 'true', the campaign was created using Mailchimp's drag-and-drop editor.

VariateSettings_WinningCombinationId String True

The identifier of the A/B test combination selected as the winning version.

VariateSettings_WinningCampaignId String True

The identifier of the campaign version sent to the remaining recipients after a winner was chosen.

VariateSettings_WinnerCriteria String False

Specifies the metric used to determine the winning campaign version, such as opens, clicks, or manual selection.

VariateSettings_WaitTime Integer False

The number of minutes Mailchimp waits before selecting the winning campaign variation.

VariateSettings_TestSize Integer False

The percentage of the audience used for testing in an A/B split, ranging from 10 to 100.

VariateSettings_SubjectLines String False

Lists the subject lines used in different campaign variations for testing.

VariateSettings_SendTimes String False

Lists the send times tested across A/B campaign variations.

VariateSettings_FromNames String False

Lists the different 'From' names used across the A/B campaign variations.

VariateSettings_ReplyToAddresses String False

Lists the reply-to addresses tested across campaign variations.

VariateSettings_Contents String True

Describes the content variations used in the A/B test campaigns.

VariateSettings_Combinations String True

Lists the specific combinations of variables used to create each campaign variant.

Tracking_Opens Boolean False

If the value is 'true', open tracking is enabled for the campaign. The default value is 'true'.

Tracking_HtmlClicks Boolean False

If the value is 'true', click tracking is enabled for links in the HTML version of the campaign. The default value is 'true'.

Tracking_TextClicks Boolean False

If the value is 'true', click tracking is enabled for links in the plain-text version of the campaign. The default value is 'true'.

Tracking_GoalTracking Boolean False

If the value is 'true', Goal tracking is enabled to measure conversions and subscriber activity on linked websites.

Tracking_Ecomm360 Boolean False

If the value is 'true', eCommerce360 tracking is enabled to associate campaign performance with sales data.

Tracking_GoogleAnalytics String False

The custom slug used for Google Analytics tracking, limited to 50 bytes.

Tracking_Clicktale String False

The custom slug used for ClickTale Analytics tracking, limited to 50 bytes.

Tracking_Salesforce String False

Salesforce tracking options for the campaign, available when using Mailchimp's Salesforce integration.

Tracking_Capsule String False

Capsule CRM tracking options for the campaign, available when using Mailchimp's Capsule integration.

RssOpts_FeedUrl String False

The RSS feed URL used for generating campaign content in an RSS-to-Email campaign.

RssOpts_Frequency String False

The frequency of the RSS campaign, such as daily, weekly, or monthly.

RssOpts_Schedule String False

The defined schedule for sending the RSS-to-Email campaign.

RssOpts_LastSent String True

The date when the RSS campaign was last sent.

RssOpts_ConstrainRssImg Boolean False

If the value is 'true', Mailchimp constrains image widths from RSS feeds within the campaign layout.

AbSplitOpts_SplitTest String True

Specifies the type of A/B split used in the campaign, such as subject, from_name, or schedule.

AbSplitOpts_PickWinner String True

Defines how the winning version of the A/B test is selected, based on opens, clicks, or manual choice.

AbSplitOpts_WaitUnits String True

Specifies the unit of time (hours or days) used to determine when a winner is chosen.

AbSplitOpts_WaitTime Integer True

The duration to wait before selecting a winning version after sending test variants.

AbSplitOpts_SplitSize Integer True

The percentage of subscribers included in the test groups for A/B campaigns, typically between 1 and 50.

AbSplitOpts_FromNameA String True

The 'From' name used for Group A in an A/B test campaign.

AbSplitOpts_FromNameB String True

The 'From' name used for Group B in an A/B test campaign.

AbSplitOpts_ReplyEmailA String True

The reply-to email address used for Group A in an A/B test.

AbSplitOpts_ReplyEmailB String True

The reply-to email address used for Group B in an A/B test.

AbSplitOpts_SubjectA String True

The subject line assigned to Group A in an A/B test campaign.

AbSplitOpts_SubjectB String True

The subject line assigned to Group B in an A/B test campaign.

AbSplitOpts_SendTimeA Datetime True

The date and time when the A/B test campaign for Group A was sent.

AbSplitOpts_SendTimeB Datetime True

The date and time when the A/B test campaign for Group B was sent.

AbSplitOpts_SendTimeWinner Datetime True

The date and time when the winning version of the campaign was sent to the remaining audience.

SocialCard_ImageUrl String False

The URL of the image displayed in social media previews for the campaign.

SocialCard_Description String False

A short description of the campaign content shown in social media previews.

SocialCard_Title String False

The title displayed in the social preview card, typically matching the campaign's subject line.

ReportSummary String True

Summarizes engagement metrics for sent campaigns, including opens, clicks, and unsubscribes.

DeliveryStatus String True

Indicates the current delivery progress or any ongoing sending activity for the campaign.

WebId Integer True

The internal Mailchimp web application identifier used to access the campaign at https://{dc}.admin.mailchimp.com/campaigns/show/?id={web_id}.

ParentCampaignId String True

If this campaign is part of another, identifies the parent campaign, such as for RSS or automation child campaigns.

NeedsBlockRefresh Boolean True

If the value is 'true', indicates that the campaign content needs refreshing in the Mailchimp editor. Deprecated; always returns false.

Resendable Boolean True

If the value is 'true', the campaign can be resent to subscribers who did not open the original message.

Recipients_ListIsActive Boolean True

If the value is 'true', the audience list used for this campaign is active. If the value is 'false', it has been deleted or disabled.

Settings_PreviewText String False

The preview text shown alongside the subject line in recipients' inboxes.

ItemURL String True

The full URL reference of the campaign item within the Mailchimp interface.

CData Python Connector for Mailchimp

EcommerceCartLines

Lists individual items included in an e-commerce cart, including product details and quantities.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
CartId=
Id=

For example, the following queries are processed server-side:

SELECT * FROM EcommerceCartLines WHERE StoreId = 'Test_Store123' AND CartId = '44'

SELECT * FROM EcommerceCartLines WHERE StoreId = 'Test_Store123' AND CartId = '44' AND Id = '88'
Note: To retrieve the StoreId, query the EcommerceStores view.

Delete

The following is an example of a DELETE operation:
DELETE FROM EcommerceCartLines WHERE StoreId = 'Test_Store123' AND CartId = '44' AND Id = '88'
Note: The API throws an error if the cart contains only one line item. Therefore, you must delete the cart to delete all line items.

Columns

Name Type ReadOnly References Description
StoreId [KEY] String False

The unique identifier of the store where the cart line item is recorded. Each store represents an e-commerce integration connected to Mailchimp.

CartId [KEY] String False

The unique identifier of the shopping cart that contains this line item. Each cart groups one or more products selected by a customer.

Id [KEY] String False

The unique identifier of the specific line item within the cart, used to differentiate it from other items in the same cart.

ProductId String False

The unique identifier of the product added to the cart. This links the line item to the product record in the associated store.

ProductTitle String True

The display name or title of the product associated with the cart line item.

ProductVariantId String False

The unique identifier of the specific product variant included in the cart, such as a size or color variation.

ProductVariantTitle String True

The name or description of the product variant, helping identify the specific version of the product being purchased.

Quantity Long False

The number of units of this product variant included in the cart line item.

Price Decimal False

The unit price of the product variant in the cart, before applying any discounts or taxes.

CData Python Connector for Mailchimp

EcommerceCarts

Contains data on e-commerce carts associated with the account, including customer and total value information.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
Id=

For example, the following queries are processed server-side:

SELECT * FROM EcommerceCarts WHERE StoreId = 'Test_Store123'

SELECT * FROM EcommerceCarts WHERE StoreId = 'Test_Store123' AND Id = '44'
Note: To retrieve the StoreId, query the EcommerceStores view.

Columns

Name Type ReadOnly References Description
StoreId String False

The unique identifier of the store associated with this cart. Each store represents an e-commerce integration connected to the Mailchimp account.

Id String False

The unique identifier assigned to the specific cart. This value distinguishes the cart record within the store.

Customer String False

Details about the customer who created the cart. For existing customers, include only the customer ID to link the cart to their profile.

CampaignId String False

Campaigns.Id

The unique identifier of the Mailchimp campaign associated with the cart, allowing tracking of marketing influence on purchases.

CheckoutUrl String False

The direct URL where the customer can view and complete their checkout process for this cart.

CurrencyCode String False

The three-letter International Organization for Standardization (ISO) 4217 currency code that defines the currency used in the cart.

OrderTotal Decimal False

The total monetary value of all items in the cart, including taxes and discounts.

TaxTotal Decimal False

The total tax amount applied to the cart based on the products and applicable tax rules.

Lines String False

A list of individual line items contained within the cart. Line item details can be modified through the EcommerceCartLines table.

CreatedAt Datetime True

The date and time when the cart was initially created in the store system.

UpdatedAt Datetime True

The date and time when the cart was most recently updated or modified.

CData Python Connector for Mailchimp

EcommerceCustomers

Stores records of e-commerce customers linked to Mailchimp, used for purchase tracking and segmentation.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
Id=
EmailAddress=

For example, the following queries are processed server-side:

SELECT * FROM EcommerceCustomers WHERE StoreId = 'Test_Store123'

SELECT * FROM EcommerceCustomers WHERE EmailAddress = 'abc@abc.com'

SELECT * FROM EcommerceCustomers WHERE StoreId = 'Test_Store123' AND Id = '44'
Note: To retrieve the StoreId, query the EcommerceStores view.

Columns

Name Type ReadOnly References Description
StoreId [KEY] String False

The unique identifier of the store where the customer record resides. Each store represents an e-commerce integration connected to the Mailchimp account.

Id [KEY] String False

The unique identifier assigned to the customer within the store. This value links customer records to related orders and carts.

EmailAddress String False

The primary email address of the customer, used for communications, segmentation, and marketing automation.

OptInStatus Boolean False

If the value is 'true', the customer has opted in to receive marketing emails. This setting never overrides an existing list member's opt-in status but applies to new contacts added via the e-commerce API.

Company String False

The company name associated with the customer, if applicable.

FirstName String False

The first name of the customer, used for personalization and segmentation.

LastName String False

The last name of the customer, used for personalization and segmentation.

OrdersCount Integer True

The total number of completed orders associated with the customer across all recorded transactions.

TotalSpent Decimal True

The cumulative monetary amount the customer has spent on completed orders.

Address_Address1 String False

The first line of the customer's billing or shipping address, typically the street address or P.O. box.

Address_Address2 String False

An additional address line for apartment numbers, suites, or secondary address details.

Address_City String False

The city where the customer resides or where their order is billed or shipped.

Address_Province String False

The full name of the customer's state or province.

Address_ProvinceCode String False

The two-letter code representing the customer's state or province, following regional postal standards.

Address_PostalCode String False

The customer's postal or ZIP code for billing or shipping.

Address_Country String False

The full name of the customer's country.

Address_CountryCode String False

The two-letter ISO 3166-1 code for the customer's country.

CreatedAt Datetime True

The date and time when the customer record was first created in the store.

UpdatedAt Datetime True

The date and time when the customer's information was last updated.

CData Python Connector for Mailchimp

EcommerceOrderLines

Lists line items included in e-commerce orders, such as product identifiers, quantities, and prices.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
OrderId=
Id=

For example, the following queries are processed server-side:

SELECT * FROM EcommerceOrderLines WHERE StoreId = 'Test_Store123' AND OrderId = '44'

SELECT * FROM EcommerceOrderLines WHERE StoreId = 'Test_Store123' AND OrderId = '44' AND Id = '88'
Note: To retrieve the StoreId, query the EcommerceStores view.

Delete

The following is an example of a DELETE operation:
DELETE FROM EcommerceOrderLines WHERE StoreId = 'Test_Store123' AND OrderId = '44' AND Id = '88'
Note: The API throws an error if the order contains only one line item. Therefore, you must delete the order to delete all line items.

Columns

Name Type ReadOnly References Description
StoreId [KEY] String False

The unique identifier of the store where the order line item is recorded. Each store represents an e-commerce integration connected to the Mailchimp account.

OrderId [KEY] String False

The unique identifier of the order that contains this specific line item. Each order can include one or more products purchased together.

Id [KEY] String False

The unique identifier of the line item within the order, used to distinguish it from other items in the same transaction.

ProductId String False

The unique identifier of the product associated with the line item. This links the order record to the product catalog.

ProductTitle String True

The display name or title of the product purchased in the order.

ProductVariantId String False

The unique identifier of the specific variant of the product included in the order, such as a particular size, color, or model.

ProductVariantTitle String True

The name or description of the selected product variant purchased in this order line.

Quantity Long False

The number of units of the product variant included in the order line item.

Price Decimal False

The unit price of the product variant at the time of purchase, before applying discounts or taxes.

Discount Decimal False

The total discount amount applied to this line item, including promotional codes or price adjustments.

ImageUrl String True

The URL of the product image associated with the order line item, typically used for display in receipts or analytics dashboards.

CData Python Connector for Mailchimp

EcommerceOrders

Contains details of e-commerce orders tracked through connected stores, including order totals and customer details.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
Id=
CampaignId=
Outreach_Id=
CustomerId=
HasOutreach=

For example, the following queries are processed server-side:

SELECT * FROM EcommerceOrders WHERE StoreId = 'Test_Store123'
SELECT * FROM EcommerceOrders WHERE StoreId = 'Test_Store123' AND Id = '44'
SELECT * FROM EcommerceOrders WHERE CampaignId = '12144'
SELECT * FROM EcommerceOrders WHERE Outreach_Id = '12144'
SELECT * FROM EcommerceOrders WHERE CustomerId = '12144'
SELECT * FROM EcommerceOrders WHERE HasOutreach = 'true'
Note: To retrieve the StoreId, query the EcommerceStores view.

Columns

Name Type ReadOnly References Description
StoreId [KEY] String False

The unique identifier of the store where the order was placed. Each store represents an e-commerce integration connected to the Mailchimp account.

Id [KEY] String False

The unique identifier assigned to the order within the store. This value distinguishes the order from other transactions.

Customer String False

Details about the customer who placed the order. For existing customers, include only the customer ID to associate the order with their record.

CampaignId String False

Campaigns.Id

The unique identifier of the Mailchimp campaign associated with the order, enabling marketing attribution and performance tracking.

FinancialStatus String False

The financial state of the order, such as refunded, processing, or cancelled, indicating its payment status.

FulfillmentStatus String False

The fulfillment progress of the order, such as partial or fulfilled, showing whether items have been shipped or completed.

CurrencyCode String False

The three-letter International Organization for Standardization (ISO) 4217 currency code that defines the currency used in the order.

OrderTotal Decimal False

The total monetary amount of the order, including products, taxes, and shipping costs, after discounts are applied.

TaxTotal Decimal False

The total tax amount applied to the order based on the products purchased and the buyer's location.

ShippingTotal Decimal False

The total shipping charge applied to the order.

TrackingCode String False

The Mailchimp tracking code applied to the order. It uses the 'mc_tc' parameter from eCommerce360-enabled tracking URLs to measure marketing impact.

The allowed values are prec.

ProcessedAtForeign Datetime False

The date and time when the order was processed in the connected store system.

CancelledAtForeign Datetime False

The date and time when the order was canceled, if applicable.

UpdatedAtForeign Datetime False

The date and time when the order record was last updated in the store.

ShippingAddress_Name String False

The full name of the recipient for the order's shipping address.

ShippingAddress_Address1 String False

The first line of the shipping address, typically the street address or P.O. box.

ShippingAddress_Address2 String False

An additional field for apartment, suite, or building details in the shipping address.

ShippingAddress_City String False

The city where the order is being shipped.

ShippingAddress_Province String False

The state or province listed in the shipping address.

ShippingAddress_ProvinceCode String False

The two-letter code representing the state or province in the shipping address.

ShippingAddress_PostalCode String False

The postal or ZIP code for the shipping address.

ShippingAddress_Country String False

The full name of the country where the order is shipped.

ShippingAddress_CountryCode String False

The two-letter ISO 3166-1 code for the shipping country.

ShippingAddress_Longitude Double False

The longitude coordinate associated with the shipping address location.

ShippingAddress_Latitude Double False

The latitude coordinate associated with the shipping address location.

ShippingAddress_Phone String False

The phone number associated with the shipping address, if provided.

ShippingAddress_Company String False

The company name associated with the shipping address, if applicable.

BillingAddress_Name String False

The full name of the person or company on the billing address.

BillingAddress_Address1 String False

The first line of the billing address, typically the street address or P.O. box.

BillingAddress_Address2 String False

An additional field for apartment, suite, or building details in the billing address.

BillingAddress_City String False

The city where the billing address is located.

BillingAddress_Province String False

The state or province listed in the billing address.

BillingAddress_ProvinceCode String False

The two-letter code representing the state or province in the billing address.

BillingAddress_PostalCode String False

The postal or ZIP code for the billing address.

BillingAddress_Country String False

The full name of the country for the billing address.

BillingAddress_CountryCode String False

The two-letter ISO 3166-1 code for the billing country.

BillingAddress_Longitude Double False

The longitude coordinate for the billing address location.

BillingAddress_Latitude Double False

The latitude coordinate for the billing address location.

BillingAddress_Phone String False

The phone number associated with the billing address.

BillingAddress_Company String False

The company name associated with the billing address, if applicable.

Lines String False

A list of the order's line items, each representing a product or variant purchased. Line items can be updated through the EcommerceOrderLines table.

Outreach_Id String False

The unique identifier of the marketing outreach associated with the order, such as an email campaign or ad.

Outreach_Name String True

The name of the outreach campaign linked to the order.

Outreach_Type String True

The type of marketing outreach, such as email, social, or advertisement.

Outreach_PublishedTime String True

The date and time when the outreach campaign was published, in ISO 8601 format.

TrackingNumber String False

The tracking number provided by the shipping carrier for the order.

TrackingCarrier String False

The name of the shipping carrier handling the order, such as UPS, FedEx, or DHL.

TrackingUrl String False

The URL provided by the carrier to track the shipment's delivery status.

LandingSite String False

The URL of the page where the buyer first arrived before completing the order, useful for analyzing marketing funnels.

Promos String False

A list of promotional or discount codes applied to the order. When updating, this field is fully replaced with new values.

OrderUrl String False

The URL of the order record within the e-commerce system, used for quick reference or access.

DiscountTotal Decimal False

The total value of discounts applied to the order across all items.

CustomerId String True

A unique identifier for the customer associated with the order.

Customer_EmailAddress String True

The primary email address of the customer associated with the order, used for communications and marketing.

Customer_SmsPhoneNumber String True

The SMS-capable phone number of the customer associated with the order.

Customer_OptInStatus Boolean True

If the value is 'true', the customer has opted in to receive marketing emails from the store.

Customer_Company String True

The company name associated with the customer who placed the order, if applicable.

Customer_FirstName String True

The first name of the customer who placed the order, used for personalization and segmentation.

Customer_LastName String True

The last name of the customer who placed the order, used for personalization and segmentation.

Customer_OrdersCount Integer True

The total number of completed orders associated with the customer across all recorded transactions.

Customer_TotalSpent Decimal True

The cumulative monetary amount the customer has spent on completed orders across the store.

Customer_Address_Address1 String True

The first line of the customer's address, typically the street address or P.O. box.

Customer_Address_Address2 String True

An additional address line for apartment numbers, suites, or secondary address details.

Customer_Address_City String True

The city where the customer resides.

Customer_Address_Province String True

The full name of the customer's state or province.

Customer_Address_ProvinceCode String True

The two-letter code representing the customer's state or province, following regional postal standards.

Customer_Address_PostalCode String True

The customer's postal or ZIP code for billing or shipping.

Customer_Address_Country String True

The full name of the customer's country.

Customer_Address_CountryCode String True

The two-letter ISO 3166-1 code for the customer's country.

Customer_CreatedAt Datetime True

The date and time when the customer record was first created in the store.

Customer_UpdatedAt Datetime True

The date and time when the customer's information was last updated.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
HasOutreach Boolean

If the value is 'true', restricts results to orders associated with an outreach campaign, such as an email or ad. This column is only valid for SELECT operations.

CData Python Connector for Mailchimp

EcommerceProducts

Lists products available through connected e-commerce integrations, including titles, variants, and pricing.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
Id=

For example, the following queries are processed server-side:

SELECT * FROM EcommerceProducts WHERE StoreId = 'Test_Store123'

SELECT * FROM EcommerceProducts WHERE StoreId = 'Test_Store123' AND Id = '44'
Note: To retrieve the StoreId, query the EcommerceStores view.

Columns

Name Type ReadOnly References Description
StoreId [KEY] String False

The unique identifier of the store where the product is listed. Each store represents an e-commerce integration connected to the Mailchimp account.

Id [KEY] String False

The unique identifier assigned to the product within the store. This value links the product to related images, variants, and orders.

Title String False

The display name or title of the product as shown in the store or promotional materials.

Handle String False

A unique text string used to identify the product in URLs or API requests, often based on the product title.

Url String False

The direct URL to the product page on the store's website.

Description String False

A detailed description of the product, including features, specifications, or marketing information.

Type String False

The classification or category of the product, such as apparel, electronics, or accessories.

Vendor String False

The name of the vendor, brand, or supplier that provides the product.

ImageUrl String False

The primary image URL representing the product, typically used as the default thumbnail or featured image.

Variants String False

A list of product variants available, such as different sizes, colors, or configurations. Variants can be managed through the EcommerceProductVariants table.

PublishedAtForeign Datetime False

The date and time when the product was published or made visible in the store, recorded in ISO 8601 format.

CurrencyCode String True

The three-letter International Organization for Standardization (ISO) 4217 code that specifies the currency used for the product's pricing.

Images String False

A collection of image URLs associated with the product, showcasing different angles or variations.

CData Python Connector for Mailchimp

EcommerceProductVariants

Contains information about product variants, such as size or color, linked to e-commerce items.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
ProductId=
Id=

For example, the following queries are processed server-side:

SELECT * FROM EcommerceProductVariants WHERE StoreId = 'Test_Store123' AND ProductId = '44'

SELECT * FROM EcommerceProductVariants WHERE StoreId = 'Test_Store123' AND ProductId = '44' AND Id = '88'
Note: To retrieve the StoreId, query the EcommerceStores view.

Delete

The following is an example of a DELETE operation:
DELETE FROM EcommerceProductVariants WHERE StoreId = 'Test_Store123' AND ProductId = '44' AND Id = '88'
Note: The API throws an error if the product contains only one variant. Therefore, you must delete the product to delete all variants.

Columns

Name Type ReadOnly References Description
StoreId [KEY] String False

The unique identifier of the store where the product variant is listed. Each store represents an e-commerce integration connected to the Mailchimp account.

ProductId [KEY] String False

The unique identifier of the parent product to which this variant belongs. Variants represent specific versions of a single product.

Id [KEY] String False

The unique identifier assigned to the product variant within the store system.

Title String False

The display name or title of the product variant, often including attributes such as color, size, or material.

Url String False

The direct URL to the variant's product page or specific option selection in the store.

Sku String False

The Stock Keeping Unit (SKU) used to track and manage the inventory of the product variant.

Price Decimal False

The selling price of the product variant, typically displayed in the store's default currency.

InventoryQuantity Long False

The total number of units of this product variant currently in stock.

ImageUrl String False

The URL of the image representing this specific product variant, used in listings and marketing content.

Backorders String False

The backorder policy for the variant, indicating whether additional units can be ordered when stock runs out.

Visibility String False

Defines the visibility status of the variant in the store, such as visible, hidden, or archived.

CreatedAt Datetime True

The date and time when the product variant was first created in the store system.

UpdatedAt Datetime True

The date and time when the product variant record was last updated.

CData Python Connector for Mailchimp

FileManagerFiles

Provides a catalog of all files and images stored in the account's File Manager, including metadata and size.

Table-Specific Information

SELECT, INSERT, UPDATE, and DELETE are supported for FileManagerFiles.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Type=
CreatedAt=, <, >, <=, >=
CreatedBy=

For example, the following queries are processed server-side:

SELECT * FROM FileManagerFiles WHERE Id = '1245'
SELECT * FROM FileManagerFiles WHERE Type = 'file'
SELECT * FROM FileManagerFiles WHERE CreatedAt = '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFiles WHERE CreatedAt >= '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFiles WHERE CreatedAt <= '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFiles WHERE CreatedAt > '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFiles WHERE CreatedAt < '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFiles WHERE CreatedBy = 'abcd'

Additionally the Name, Size, and CreatedAt columns can be used in the ORDER BY clause, as follows:

SELECT * FROM FileManagerFiles ORDER BY Name DESC
SELECT * FROM FileManagerFiles ORDER BY Size ASC
SELECT * FROM FileManagerFiles ORDER BY CreatedAt DESC

Insert

The Name, FolderId, and FileData columns are required for INSERT operations.

INSERT INTO FileManagerFiles (Name, FolderID, FileData) VALUES ('myNewFolder', 'myFolderID', 'myBase64EncodedFileData')

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier assigned to the file in Mailchimp's File Manager, used to reference or manage the file programmatically.

FolderId Integer False

The unique identifier of the folder where the file is stored within the File Manager hierarchy, helping organize assets by category or campaign use.

Type String True

Specifies the type of file stored in the gallery, such as 'image' or 'file', which determines how the file can be previewed or used in campaigns.

Name String False

The human-readable name of the file as displayed in the Mailchimp File Manager or when attaching files to campaigns or templates.

FullSizeUrl String True

The direct URL to the full-size version of the file, which can be used for downloading or embedding the file in campaigns or web pages.

ThumbnailUrl String True

The URL of a smaller, thumbnail-sized preview image that allows quick visual identification of the file within the Mailchimp interface.

Size Integer True

The total file size in bytes, useful for understanding storage usage or for filtering large files when managing assets.

CreatedAt Datetime True

The exact date and time when the file was uploaded or added to the File Manager, stored in ISO 8601 format for accurate audit tracking.

CreatedBy String True

The username or identifier of the Mailchimp user who uploaded the file, allowing traceability of asset ownership or contribution.

Width Integer True

The width of the image file in pixels, available for image-type files to support layout or responsive design adjustments.

Height Integer True

The height of the image file in pixels, available for image-type files to support display consistency and optimization.

FileData String False

When uploading a new file, this field contains the file's binary data encoded in Base64 format. It is required for INSERT operations and enables programmatic uploads through the API.

CData Python Connector for Mailchimp

FileManagerFolders

Lists folders available in the File Manager for organizing images and files.

Table-Specific Information

SELECT, INSERT, UPDATE, and DELETE are supported for FileManagerFolders.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
CreatedAt=, <, >, <=, >=
CreatedBy=

For example, the following queries are processed server-side:

SELECT * FROM FileManagerFolders WHERE Id = '1245'
SELECT * FROM FileManagerFolders WHERE CreatedAt = '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFolders WHERE CreatedAt >= '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFolders WHERE CreatedAt <= '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFolders WHERE CreatedAt > '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFolders WHERE CreatedAt < '2024-02-07 00:00:37.0'
SELECT * FROM FileManagerFolders WHERE CreatedBy = 'abcd'

Insert

The Name column is required for INSERT operations.

INSERT INTO FileManagerFolders (Name) VALUES ('myNewFolder')

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier assigned to the folder within Mailchimp's File Manager, used to organize and manage groups of files programmatically.

Name String False

The display name of the folder as it appears in the Mailchimp File Manager, typically used to categorize files by campaign, asset type, or project.

FileCount Integer True

The total number of files currently stored in this folder, providing a quick overview of its content volume.

CreatedAt Datetime True

The date and time when the folder was created in the File Manager, stored in ISO 8601 format for audit and version tracking.

CreatedBy String True

The username or account identifier of the Mailchimp user who created the folder, allowing visibility into content ownership and management activity.

CData Python Connector for Mailchimp

ListInterestCategories

Returns the interest categories for a Mailchimp audience list.

Table-Specific Information

SELECT, INSERT, UPDATE, and DELETE are supported for ListInterestCategories.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=
Type=

For example, the following query is processed server-side:

SELECT * FROM ListInterestCategories WHERE ListId = 'abc' AND Type = 'dropdown'

Insert

The Title, Type, and ListId columns are required for INSERT operations.

INSERT INTO ListInterestCategories (Name, Type, ListId) VALUES ('myNewListInterestCategory', 'myType', 'myListId')

Columns

Name Type ReadOnly References Description
ListId [KEY] String False

Lists.Id

The Id of the list that this category belongs to.

Id [KEY] String True

The unique identifier for the interest category.

Title String False

The text description of this category. This field is displayed on signup forms and is often phrased as a question.

DisplayOrder Integer False

The order in which the categories display in the list. Lower numbers display first.

Type String False

The display format for this category's interests on signup forms.

The allowed values are checkboxes, dropdown, radio, hidden.

CData Python Connector for Mailchimp

ListInterests

Lists individual interests belonging to a specific interest category within a list.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
CategoryId=
ListId=

For example, the following queries are processed server-side:

SELECT * FROM ListInterests WHERE ListId = 'abc' AND Id = '221'
SELECT * FROM ListInterests WHERE ListId = 'abc' AND CategoryId = '456'

Insert

The Title, CategoryId, and ListId columns are required for INSERT operations.

INSERT INTO ListInterests (Name, CategoryId, ListId) VALUES ('myNewListInterest', 'myCategory', 'myListId')

Columns

Name Type ReadOnly References Description
CategoryId [KEY] String False

The unique identifier of the interest category this interest belongs to, linking the interest to a specific group within a list's segmentation structure.

ListId [KEY] String False

Lists.Id

The unique identifier of the Mailchimp audience (list) that includes this interest, allowing segmentation and targeted campaign delivery.

Id [KEY] String True

The unique identifier for the specific interest, used to reference or modify it via the Mailchimp API.

Name String False

The name of the interest, typically shown publicly on signup forms to let subscribers select topics, products, or preferences relevant to them.

SubscriberCount String True

The total number of subscribers currently associated with this interest, helping measure engagement or segment size.

DisplayOrder Integer False

The numeric position that determines how this interest appears on signup forms, with lower numbers appearing earlier in the list.

CData Python Connector for Mailchimp

ListMemberEvents

Contains event information related to individual list members, such as sign-ups or profile updates.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=
MemberId=

For example, the following query is processed server-side:

SELECT * FROM ListMemberEvents WHERE ListId = '121' AND MemberId = '11'

Insert

The Name column is required for INSERT operations.

Columns

Name Type ReadOnly References Description
Name String False

The name of the event triggered by the subscriber, such as a purchase, signup, or interaction, used for behavioral segmentation and automation triggers.

OccurredAt Datetime False

The exact date and time when the event occurred, formatted in ISO 8601, allowing precise tracking of subscriber engagement over time.

Properties String False

A structured JSON object containing additional event details, such as product data, URLs, or metadata associated with the action.

ListId String False

Lists.Id

The unique identifier of the Mailchimp audience (list) associated with the subscriber and recorded event.

MemberId String False

ListMembers.Id

The MD5 hash of the lowercase version of the subscriber's email address, used as a secure, unique identifier to track events for that member.

CData Python Connector for Mailchimp

ListMemberNotes

Contains notes created for specific list members, showing the most recent entries by date.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
ListId=
MemberId=

For example, the following query is processed server-side:

SELECT * FROM ListMemberNotes WHERE ListId = '121' AND MemberId = '11' AND Id = '456'

Insert

No fields are are required for INSERT operations.

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the note, used to reference or manage specific annotations associated with a subscriber.

CreatedAt Datetime True

The date and time when the note was originally created, recorded in ISO 8601 format for accurate tracking.

CreatedBy String True

The name or username of the Mailchimp user who authored the note, indicating who added the information to the subscriber's record.

UpdatedAt Datetime True

The date and time when the note was last edited or modified, helping maintain an audit trail of updates.

Note String False

The full text content of the note, typically used to store additional context, observations, or manual updates about a subscriber.

ListId [KEY] String False

Lists.Id

The unique identifier of the Mailchimp audience (list) the noted subscriber belongs to.

MemberId [KEY] String False

ListMembers.Id

The MD5 hash of the lowercase version of the subscriber's email address, used to securely identify the list member associated with the note.

ContactId String True

A universal identifier for the contact within Mailchimp, independent of whether they have an associated email address, enabling tracking across multiple communication channels.

EmailId String True

The MD5 hash of the lowercase version of the subscriber's email address, used as an alternate secure identifier for email-based contacts.

CData Python Connector for Mailchimp

ListMembers

Lists individuals who are currently or have been previously subscribed to this list, including members who have bounced or unsubscribed.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
EmailAddress=
UniqueEmailId=
FullNameLIKE
EmailType=
Status=
Vip=
ListId=
InterestCategoryId=
InterestMatch=
InterestIds=, IN
SinceLastCampaign=
UnsubscribedSince=
TimestampOpt=, <, >, <=, >=
LastChanged=, <, >, <=, >=

For example, the following queries are processed server-side:

SELECT * FROM ListMembers WHERE ListId = '121' AND Id = '456'
SELECT * FROM ListMembers WHERE EmailAddress = 'abc@abc.com' AND EmailType = 'html'
SELECT * FROM ListMembers WHERE EmailAddress = 'abc@abc.com'
SELECT * FROM ListMembers WHERE SinceLastCampaign = 'true' AND Status = 'cleaned'
SELECT * FROM ListMembers WHERE UnsubscribedSince = '2024-02-07 00:00:37.0' AND Status = 'unsubscribed'
SELECT * FROM ListMembers WHERE InterestCategoryId = 'abcd' AND InterestIds IN ('123', '321') AND InterestMatch = 'any'
SELECT * FROM ListMembers WHERE LastChanged = '2024-02-07 00:00:37.0'
SELECT * FROM ListMembers WHERE LastChanged >= '2024-02-07 00:00:37.0'
SELECT * FROM ListMembers WHERE LastChanged <= '2024-02-07 00:00:37.0'
SELECT * FROM ListMembers WHERE LastChanged > '2024-02-07 00:00:37.0'
SELECT * FROM ListMembers WHERE LastChanged < '2024-02-07 00:00:37.0'

The FullName column supports the LIKE operator server-side. For example:

SELECT * FROM ListMembers WHERE FullName LIKE 'xyz%'

However, if the FullName value contains a space (for example, 'Jane Smith'), the query is processed client-side.

COUNT(*) queries are supported server-side when the ListId column is specified with the = operator. For example:

SELECT COUNT(*) FROM ListMembers WHERE ListId = 'a1b2c3d4e5'

Insert

To insert a list member, you must specify the ListId, EmailAddress, and Status columns.
INSERT INTO ListMembers (ListId, EmailAddress, Status) VALUES ('myListId', 'myEmailAddress', 'subscribed')

To insert MergeFields, you must provide the complete aggregate.

INSERT INTO ListMembers (ListId, EmailAddress, Status, MergeFields) VALUES ('myListId', 'myEmailAddress', 'subscribed', '{\"LName\" : \"asd\"}')

To insert an individual MergeField, you must use the list-specific ListMembers table (for example, ListMember_List1, where List1 is the name of the list).

INSERT INTO ListMembers_List1 (ListId, EmailAddress, Status, LName) VALUES ('myListId', 'myEmailAddress', 'subscribed', 'asd')

In the example above, LName is the merge field.

Update

To update a list member, specify the ListId and Id columns.
UPDATE ListMembers SET mergefields = '{"LNAME" : "aaaABCD"}' WHERE Id = '45151asd' AND ListId = 'asd151'

To update an individual MergeField, you must use the list-specific ListMembers table (for example, ListMember_List1, where List1 is the name of the list).

UPDATE ListMembers_List1 SET LName = 'asdawd' WHERE Id = '45151asd'

In the example above, LName is the merge field.

Delete

To delete a list member, specify the ListId and Id columns.
DELETE FROM ListMembers WHERE ListId = 'ada232' AND Id = '1511asd'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The MD5 hash of the subscriber's email address, used as a unique identifier for the list member.

EmailAddress String False

The subscriber's email address used for receiving campaign communications.

UniqueEmailId [KEY] String True

A Mailchimp-wide identifier that distinguishes the email address across all lists and campaigns.

EmailType String False

The preferred format of the email that the subscriber has opted to receive, such as 'HTML' or 'text'.

The allowed values are html, text.

FullName String True

The subscriber's full name, typically composed of the first and last name provided during signup.

Status String False

The subscriber's current status in the list, which may be 'subscribed', 'unsubscribed', 'cleaned', 'archived', 'pending', or 'transactional'.

The allowed values are subscribed, unsubscribed, cleaned, pending, transactional, archived.

StatusIfNew String True

The subscriber's initial status to apply if the email address is not already present on the list when performing a PUT request.

The allowed values are subscribed, unsubscribed, cleaned, pending, transactional, archived.

Interests String False

A list of interest category IDs that define the subscriber's preferences, allowing targeted segmentation.

Stats_AvgOpenRate Double True

The subscriber's average open rate across all received campaigns.

Stats_AvgClickRate Double True

The subscriber's average clickthrough rate across all received campaigns.

IpSignup String False

The IP address from which the subscriber originally signed up for the list.

TimestampSignup Datetime False

The date and time when the subscriber signed up for the list, recorded in ISO 8601 format.

IpOpt String False

The IP address from which the subscriber confirmed their opt-in status.

TimestampOpt Datetime False

The date and time when the subscriber confirmed their opt-in status, recorded in ISO 8601 format.

MemberRating Integer True

The subscriber's engagement score, rated from 1 to 5 stars based on campaign interactions such as opens and clicks.

LastChanged Datetime True

The date and time when the subscriber's information was last updated.

Language String False

The language preference detected or set for the subscriber, used to send localized content when available.

Vip Boolean True

Indicates whether the subscriber is marked as a VIP, typically used for high-value or priority contacts.

EmailClient String True

The email client used by the subscriber, such as Outlook or Gmail, determined from campaign interaction data.

Location_Latitude Double False

The geographical latitude of the subscriber's location, inferred from IP or profile data.

Location_Longitude Double False

The geographical longitude of the subscriber's location, inferred from IP or profile data.

Location_Gmtoff Integer True

The time difference in hours between the subscriber's local time and GMT.

Location_Dstoff Integer True

The daylight saving time offset for the subscriber's location.

Location_CountryCode String True

The two-letter ISO country code representing the subscriber's location.

Location_Timezone String True

The subscriber's local timezone, used for scheduling campaigns appropriately.

LastNote_NoteId Integer True

ListMemberNotes.Id

The unique identifier of the most recent note added to the subscriber's profile.

LastNote_CreatedAt String True

The date and time when the most recent note was created.

LastNote_CreatedBy String True

The name or username of the user who created the most recent note on the subscriber's profile.

LastNote_Note String True

The text content of the subscriber's most recent note, providing additional context or manual observations.

ListId [KEY] String False

Lists.Id

The unique identifier of the Mailchimp audience (list) that the subscriber belongs to.

TagsAggregate String False

A list of all tags applied to the subscriber, aggregated into a single field for easier querying and reporting.

ContactId String True

A universal Mailchimp contact identifier that exists independently of an email address, allowing tracking of contacts across multiple channels.

WebId Integer True

The Mailchimp web application ID that enables viewing this subscriber's details directly in the Mailchimp interface.

UnsubscribeReason String True

The subscriber's stated reason for unsubscribing from the list, if provided.

ConsentsToOneToOneMessaging Boolean True

Indicates whether the subscriber has given consent for one-to-one messaging, such as direct replies or personalized outreach.

Stats_EcommerceData_TotalRevenue Decimal True

The total amount of revenue generated by the subscriber's orders, linked through e-commerce integrations.

Stats_EcommerceData_NumberOfOrders Integer True

The total number of e-commerce orders placed by the subscriber.

Stats_EcommerceData_CurrencyCode String True

The three-letter ISO 4217 currency code associated with the subscriber's e-commerce transactions.

Location_Region String True

The geographic region or state associated with the subscriber's location.

MarketingPermissionsAggregate String False

ListMemberNotes.Id

A list of the subscriber's marketing permissions, defining what types of communication they have consented to receive.

Source String True

The origin from which the subscriber was added to the list, such as a signup form, import, or API integration.

TagsCount Integer True

The total number of tags currently applied to the subscriber.

MergeFields String False

A key-value collection of merge fields used for personalization, where the keys are merge tags like FNAME or LNAME.

SmsPhoneNumber String True

The subscriber's phone number for SMS communications, formatted as a valid U.S. number.

SmsSubscriptionStatus String True

The subscriber's current SMS subscription status, such as 'subscribed' or 'unsubscribed'.

The allowed values are subscribed, unsubscribed, nonsubscribed, pending.

SmsSubscriptionLastUpdated Datetime True

The date and time when the subscriber's SMS subscription status was last updated.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
InterestCategoryId String

The unique identifier for the interest category used for filtering results, valid only for SELECT queries.

InterestMatch String

Defines how interests are matched when filtering subscribers. Accepts 'any', 'all', or 'none' and must be used with InterestCategoryId and InterestIds.

InterestIds String

Specifies one or more interest IDs to filter list members by, used in combination with InterestCategoryId and InterestMatch.

SinceLastCampaign Boolean

Filters subscribers by changes in status (subscribed, unsubscribed, pending, or cleaned) since the last campaign was sent. Valid only for SELECT queries.

UnsubscribedSince Datetime

Filters subscribers who unsubscribed after a specific date. Only works when the status is set to 'unsubscribed'.

CData Python Connector for Mailchimp

ListMergeFields

Returns merge fields for a Mailchimp list. Merge fields map to subscriber profile data, such as first name or address, and were previously referred to as merge vars.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
MergeId=
ListId=
Type=
Required=

For example, the following queries are processed server-side:

SELECT * FROM ListMergeFields WHERE ListId = 'abc'
SELECT * FROM ListMergeFields WHERE Type = 'address'
SELECT * FROM ListMergeFields WHERE Required = 'true'
SELECT * FROM ListMergeFields WHERE ListId = 'abc' AND MergeId = '595'

Insert

The Name and ListId columns are required for INSERT operations.

INSERT INTO ListMergeFields (Name, ListId) VALUES ('myNewListMergeField', 'myListId')

Columns

Name Type ReadOnly References Description
MergeId [KEY] Integer True

A unique Id for the merge field that does not change.

Tag String False

The tag used in MailChimp campaigns and for the /members endpoint.

Name String False

The display name of the merge field as defined in the MailChimp list.

Type String False

The type for the merge field.

The allowed values are text, number, address, phone, date, url, imageurl, radio, dropdown, birthday, zip.

Required Boolean False

Boolean value indicating whether the merge field is required.

DefaultValue String False

The default value for the merge field if null.

Public Boolean False

Whether or not the merge field is displayed on the signup form.

DisplayOrder Long False

The order on the form where the merge field is displayed.

Options_DefaultCountry Integer False

In an address field, the default country code if none supplied.

Options_PhoneFormat String False

In a phone field, the phone number type: US or International.

Options_DateFormat String False

In a date or birthday field, the format of the date.

Options_Choices String False

In a radio or dropdown non-group field, the available options for members to pick from.

Options_Size Long False

The default length of a text field.

HelpText String False

Any extra text to help the subscriber.

ListId [KEY] String False

Lists.Id

A string that identifies the list of merge field collections.

CData Python Connector for Mailchimp

Lists

Returns a collection of subscriber lists associated with this account. Lists contain subscribers who have opted in to receive correspondence from the account holder or their organization.

Table-Specific Information

SELECT, INSERT, UPDATE, and DELETE are supported for Lists.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
DateCreated=, <, >, <=, >=
Stats_CampaignLastSent=, <, >, <=, >=

For example, the following queries are processed server-side:

SELECT * FROM Lists WHERE Id = 'abc'
SELECT * FROM Lists WHERE DateCreated = '2024-02-07 00:00:37.0'
SELECT * FROM Lists WHERE DateCreated >= '2024-02-07 00:00:37.0'
SELECT * FROM Lists WHERE DateCreated <= '2024-02-07 00:00:37.0'
SELECT * FROM Lists WHERE DateCreated > '2024-02-07 00:00:37.0'
SELECT * FROM Lists WHERE DateCreated < '2024-02-07 00:00:37.0'

Additionally, the DateCreated column can be used in the ORDER BY clause, as follows:

SELECT * FROM Lists ORDER BY DateCreated DESC

Insert

The Name, PermissionReminder, EmailTypeOption, Contact_Company, Contact_Address1, Contact_City, Contact_State, Contact_Zip, Contact_Country, CampaignDefaults_FromName, CampaignDefaults_FromEmail, CampaignDefaults_Subject, and CampaignDefaults_Language columns are required for INSERT operations.

INSERT INTO Lists (Name, PermissionReminder, EmailTypeOption, Contact_Company, Contact_Address1, Contact_City, Contact_State, Contact_Zip, Contact_Country, CampaignDefaults_FromName, CampaignDefaults_FromEmail, CampaignDefaults_Subject, CampaignDefaults_Language) VALUES ('myName', 'myPermissionReminder', 'true', 'myCompany', 'myAddress', 'myCity', 'myState', 'myZip', 'myCountry', 'myFromName', 'myFromEmail', 'myDefaultSubject', 'myDefaultLanguage')

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier for this list.

Name String False

The name of the list.

Contact_Company String False

The company name associated with the list.

Contact_Address1 String False

The street address for the list contact.

Contact_Address2 String False

The secondary street address for the list contact.

Contact_City String False

The city for the list contact.

Contact_State String False

The state for the list contact.

Contact_Zip String False

The postal or zip code for the list contact.

Contact_Country String False

The two-character ISO 3166 country code. Defaults to US if invalid.

Contact_Phone String False

The phone number for the list contact.

PermissionReminder String False

The permission reminder for the list: a line of text that appears in the footer of each campaign that explains why subscribers are receiving the email campaign.

UseArchiveBar Boolean False

Indicates whether campaigns for this list use the Archive Bar in archives by default.

CampaignDefaults_FromName String False

The default from name for campaigns sent to this list.

CampaignDefaults_FromEmail String False

The default from email (must be a valid email address) for campaigns sent to this list.

CampaignDefaults_Subject String False

The default subject line for campaigns sent to this list.

CampaignDefaults_Language String False

The default language for this list's forms.

NotifyOnSubscribe String False

The email address to send subscribe notifications to, when enabled.

NotifyOnUnsubscribe String False

The email address to send unsubscribe notifications to, when enabled.

DateCreated Datetime True

The date and time that this list was created.

ListRating Integer True

An auto-generated activity score for the list (0-5).

EmailTypeOption Boolean False

Indicates whether the list supports multiple formats for emails.

SubscribeUrlShort String True

The shortened eepurl version of this list's subscribe form URL.

SubscribeUrlLong String True

The full URL of this list's subscribe form. The host may vary.

BeamerAddress String True

The email address to use for this list's Email Beamer.

Visibility String True

The visibility setting for this list, indicating whether it is public (pub) or private (prv). Used internally for projects like Wavelength.

The allowed values are pub, prv.

Modules String True

Any list-specific modules installed for this list.

Stats_MemberCount Integer True

The number of active members in the given list.

Stats_UnsubscribeCount Integer True

The number of members who have unsubscribed from the given list.

Stats_CleanedCount Integer True

The number of members cleaned from the given list.

Stats_MemberCountSinceSend Integer True

The number of active members in the given list since the last campaign was sent.

Stats_UnsubscribeCountSinceSend Integer True

The number of members who have unsubscribed since the last campaign was sent.

Stats_CleanedCountSinceSend Integer True

The number of members cleaned from the given list since the last campaign was sent.

Stats_CampaignCount Integer True

The number of campaigns in any status that use this list.

Stats_CampaignLastSent Datetime True

The date and time the last campaign was sent to this list.

Stats_MergeFieldCount Integer True

The number of merge fields for this list, not including the required EMAIL field.

Stats_AvgSubRate Double True

The average number of subscriptions per month for the list. This value is not returned if it has not been calculated yet.

Stats_AvgUnsubRate Double True

The average number of unsubscriptions per month for the list. This value is not returned if it has not been calculated yet.

Stats_TargetSubRate Double True

The target number of subscriptions per month for the list to keep it growing. This value is not returned if it has not been calculated yet.

Stats_OpenRate Double True

The average open rate per campaign for the list, represented as a percentage between 0 and 100. This value is not returned if it has not been calculated yet.

Stats_ClickRate Double True

The average click rate per campaign for the list, represented as a percentage between 0 and 100. This value is not returned if it has not been calculated yet.

Stats_LastSubDate Datetime True

The date and time of the last time someone subscribed to this list.

Stats_LastUnsubDate Datetime True

The date and time of the last time someone unsubscribed from this list.

WebId Integer True

The Id used in the Mailchimp web application.

DoubleOptin Boolean False

Indicates whether subscribers are required to confirm their subscription via email.

HasWelcome Boolean True

Indicates whether this list has a welcome automation connected. Welcome automation types include welcomeSeries, singleWelcome, and emailFollowup.

MarketingPermissions Boolean False

Indicates whether the list has marketing permissions (such as GDPR) enabled.

Stats_TotalContacts Integer True

The number of contacts in the list, including subscribed, unsubscribed, pending, cleaned, deleted, and transactional contacts, as well as those that need to be reconfirmed. Requires the include_total_contacts query parameter.

CData Python Connector for Mailchimp

ListSegmentMembers

Returns the members of a specific list segment, including those who have bounced or unsubscribed.

Table-Specific Information

SELECT, INSERT, and DELETE are supported for ListSegmentMembers.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=
SegmentId=
IncludeCleaned=
IncludeTransactional=
IncludeUnsubscribed=

For example, the following queries are processed server-side:

SELECT * FROM ListSegmentMembers WHERE ListId = '5152' AND SegmentId = '2623'
SELECT * FROM ListSegmentMembers WHERE IncludeCleaned = 'true'
SELECT * FROM ListSegmentMembers WHERE IncludeTransactional = 'true'
SELECT * FROM ListSegmentMembers WHERE IncludeUnsubscribed = 'true'

Insert

The Name and ListId columns are required for INSERT operations.

INSERT INTO ListSegmentMembers (EmailAddress, ListId, SegmentId) VALUES ('abc@gmail.com', '44a64c46cb', '7032720')

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The MD5 hash of the list member's email address.

EmailAddress String False

Email address for a subscriber.

UniqueEmailId [KEY] String True

A unique identifier for the email address across all of Mailchimp.

EmailType String True

Type of email this member asked to get ('html' or 'text').

The allowed values are html, text.

Status String True

Subscriber's current status ('subscribed', 'unsubscribed', 'cleaned', or 'pending').

The allowed values are subscribed, unsubscribed, cleaned, pending.

StatusIfNew String True

Subscriber's status ('subscribed', 'unsubscribed', 'cleaned', or 'pending'), to be used only on a PUT request if the email is not already present on the list.

The allowed values are subscribed, unsubscribed, cleaned, pending.

Interests String True

A dictionary of interest Ids indicating which interests the subscriber has opted into.

Stats_AvgOpenRate Double True

A subscriber's average open rate.

Stats_AvgClickRate Double True

A subscriber's average clickthrough rate.

IpSignup String True

The IP address the subscriber signed up from.

TimestampSignup Datetime True

The date and time the subscriber signed up for the list.

IpOpt String True

The IP address from which the subscriber confirmed their opt-in status.

TimestampOpt Datetime True

The date and time the subscriber confirmed their opt-in status.

MemberRating Integer True

The star rating for this member, on a scale of 1 to 5.

LastChanged Datetime True

The date and time the member's information was last changed.

Language String True

The language of the subscriber, if set or detected.

Vip Boolean True

Indicates whether the subscriber has VIP status.

EmailClient String True

The email client the subscriber was using.

Location_Latitude Double True

Location_Longitude Double True

Location_Gmtoff Integer True

Location_Dstoff Integer True

Location_CountryCode String True

Location_Timezone String True

LastNote_NoteId Integer True

ListMemberNotes.Id

The unique Id of the note.

LastNote_CreatedAt String True

The date the note was created.

LastNote_CreatedBy String True

The author of the note.

LastNote_Note String True

The content of the note.

ListId [KEY] String False

Lists.Id

The Id of the list.

SegmentId [KEY] String False

ListSegments.Id

The Id of the segment.

MergeFields String True

A dictionary of merge fields where the keys are the merge tags. See the Merge Fields documentation for more about the structure.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
IncludeCleaned Boolean

Indicates whether to include cleaned members in the response. Valid only for SELECT.

IncludeTransactional Boolean

Indicates whether to include transactional members in the response. Valid only for SELECT.

IncludeUnsubscribed Boolean

Indicates whether to include unsubscribed members in the response. Valid only for SELECT.

CData Python Connector for Mailchimp

ListSegments

Returns a list of available segments for a list.

Table-Specific Information

SELECT, INSERT, UPDATE, and DELETE are supported for ListSegments.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Type=
ListId=
IncludeCleaned=
IncludeUnsubscribed=
IncludeTransactional=
CreatedAt=, <, >, <=, >=
UpdatedAt=, <, >, <=, >=

For example, the following queries are processed server-side:

SELECT * FROM ListSegments WHERE ListId = '5152' AND Id = '4458'
SELECT * FROM ListSegments WHERE Type = 'saved'
SELECT * FROM ListSegments WHERE IncludeCleaned = 'true'
SELECT * FROM ListSegments WHERE IncludeTransactional = 'true'
SELECT * FROM ListSegments WHERE IncludeUnsubscribed = 'true'
SELECT * FROM ListSegments WHERE UpdatedAt = '2024-02-07 00:00:37.0'
SELECT * FROM ListSegments WHERE UpdatedAt >= '2024-02-07 00:00:37.0'
SELECT * FROM ListSegments WHERE UpdatedAt <= '2024-02-07 00:00:37.0'
SELECT * FROM ListSegments WHERE UpdatedAt > '2024-02-07 00:00:37.0'
SELECT * FROM ListSegments WHERE UpdatedAt < '2024-02-07 00:00:37.0'

Insert

The Name and ListId columns are required for INSERT operations.

INSERT INTO ListSegments (Name, ListId) VALUES ('myNewListSegment', 'myListId')

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier for the segment.

Name String False

The name of the segment.

MemberCount Integer True

The number of active subscribers currently included in the segment.

Type String True

The type of segment: saved, static, or fuzzy.

The allowed values are saved, static, fuzzy.

CreatedAt Datetime True

The time and date the segment was created.

UpdatedAt Datetime True

The time and date the segment was last updated.

Options_Match String False

The match type for segment conditions, either 'any' or 'all'.

The allowed values are any, all.

Options_Conditions String False

An array of segment conditions.

ListId [KEY] String False

Lists.Id

The Id of the list.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
EmailList String

A comma-separated list of email addresses to include in this list segment.

IncludeCleaned Boolean

Indicates whether to include cleaned members in the response. Valid only for SELECT.

IncludeTransactional Boolean

Indicates whether to include transactional members in the response. Valid only for SELECT.

IncludeUnsubscribed Boolean

Indicates whether to include unsubscribed members in the response. Valid only for SELECT.

CData Python Connector for Mailchimp

ListsWebhooks

Lists webhooks configured for an audience list, used to trigger updates based on subscriber activity.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=
Id=

For example, the following query is processed server-side:

SELECT * FROM ListsWebhooks WHERE ListId = 'abc' AND Id = '456'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier of the webhook within Mailchimp.

Url String False

The endpoint URL where webhook event notifications are sent when triggered.

Events_Subscribe Boolean False

If the value is 'true', the webhook is triggered when a subscriber joins the list.

Events_Unsubscribe Boolean False

If the value is 'true', the webhook is triggered when a subscriber unsubscribes from the list.

Events_Profile Boolean False

If the value is 'true', the webhook is triggered when a subscriber's profile information is updated.

Events_Cleaned Boolean False

If the value is 'true', the webhook is triggered when a subscriber's email address is cleaned due to repeated bounces.

Events_Upemail Boolean False

If the value is 'true', the webhook is triggered when a subscriber's email address is changed.

Events_Campaign Boolean False

If the value is 'true', the webhook is triggered when a campaign is sent or activity occurs related to that campaign.

Sources_User Boolean False

If the value is 'true', includes webhook events triggered by subscriber actions (such as signing up or unsubscribing).

Sources_Admin Boolean False

If the value is 'true', includes webhook events triggered by admin actions within Mailchimp.

Sources_Api Boolean False

If the value is 'true', includes webhook events triggered by API calls.

ListId [KEY] String False

Lists.Id

The unique identifier of the Mailchimp list (audience) associated with the webhook.

CData Python Connector for Mailchimp

TemplateFolders

Lists folders used to organize design templates within the account.

Table-Specific Information

SELECT, INSERT, UPDATE, and DELTE are supported for TemplateFolders.

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM TemplateFolders WHERE Id = '1245'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier of the template folder, used to reference or manage it within Mailchimp.

Name String False

The name assigned to the template folder, helping organize and categorize stored templates.

Count Integer True

The total number of templates contained within this folder, useful for tracking and folder management.

CData Python Connector for Mailchimp

Templates

Returns an account's available templates.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Type=
Category=
DateCreated<, >, <=, >=
CreatedBy=
FolderId=
ContentType=

For example, the following queries are processed server-side:

SELECT * FROM Templates WHERE Id = '1245'
SELECT * FROM Templates WHERE Type = 'base'
SELECT * FROM Templates WHERE Category = 'asdw'
SELECT * FROM Templates WHERE FolderId = '15151'
SELECT * FROM Templates WHERE ContentType = 'template'
SELECT * FROM Templates WHERE CreatedBy = 'abcd'
SELECT * FROM Templates WHERE DateCreated >= '2024-02-07 00:00:37.0'
SELECT * FROM Templates WHERE DateCreated <= '2024-02-07 00:00:37.0'
SELECT * FROM Templates WHERE DateCreated > '2024-02-07 00:00:37.0'
SELECT * FROM Templates WHERE DateCreated < '2024-02-07 00:00:37.0'

Insert

The Name and Html columns are required for INSERT operations.

INSERT INTO Templates (Name, Html) VALUES ('test_template', '<title></title>')

Update

The Html column is required for UPDATE operations. Since the Html column is not returned from the server during SELECT operations, you must specify it in the UPDATE statement.

UPDATE Templates SET Html = '<title></title>', Name = 'abcd' WHERE Id = '13693'

Delete

The following is an example of a DELETE operation:
DELETE FROM Templates WHERE Id = '13695'

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique Id for the template.

Type String True

The type of template (user, base, or gallery).

The allowed values are user, base, gallery.

Name String False

The name of the template.

DragAndDrop Boolean True

Indicates whether the template uses the drag-and-drop editor.

Responsive Boolean True

Indicates whether the template contains media queries to make it responsive.

Category String True

If available, the category the template is listed in.

DateCreated Datetime True

The date and time the template was created.

CreatedBy String True

The login name for template's creator.

Active Boolean True

Indicates whether the template is active. User templates are not deleted but are instead marked as inactive.

FolderId String False

The Id of the folder the template is currently in.

Thumbnail String True

If available, the URL for a thumbnail of the template.

ShareUrl String True

The URL used for template sharing. For more information, see: http://kb.mailchimp.com/templates/basic-and-themes/how-to-share-a-template

ContentType String True

The method by which the template's content is assembled.

The allowed values are template, multichannel, html.

DateEdited Datetime True

The date and time the template was edited in ISO 8601 format.

EditedBy String True

The login name who last edited the template.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Html String

The raw HTML for the template. The Mailchimp Template Language is supported in any HTML code passed via the API. Can be used for INSERT and UPDATE.

CData Python Connector for Mailchimp

Views

Views are tables that cannot be modified. Typically, data that is read-only and cannot be updated is shown as views.

Dynamic Views

In addition to the default static views, you can query dynamic views. These are views that are created based on the "audiences" (also called "lists") in your Mailchimp account.

For example, suppose you have three audiences in your account: Old Audience, New Audience, and VIP Audience. The connector lists three views based on these audiences: ListMemberTags_OldAudience, ListMemberTags_NewAudience, and ListMemberTags_VIPAudience. These views are created by removing spaces from the audience name, then appending the result to ListMemberTags_. They return the tags that are assigned to each member of the specified audience.

CData Python Connector for Mailchimp Views

Name Description
AccountExports Generates or retrieves completed account exports containing data snapshots or backups of Mailchimp account information.
AuthorizedApps Lists all third-party applications authorized to access the Mailchimp account through OAuth integration.
AutomationEmailQueues Returns a summary of the queue for an email in an automation workflow.
AutomationEmails Returns a summary of the emails in an automation workflow.
Automations Returns a summary of the automations within an account.
AutomationsRemovedSubscribers Returns a summary of the subscribers removed from an automation workflow.
BatchOperations Summarizes batch requests submitted to the Mailchimp API, including processing status and results.
BatchWebhooks Provides information about batch webhooks, which notify external systems of completed batch operations.
CampaignContents Retrieves the HTML and plain-text content associated with a specific campaign.
CampaignOpenEmailDetails Displays information about subscribers who opened a campaign email, including timestamps and interaction details.
CampaignSendCheckList Returns the pre-send checklist for a campaign, highlighting configuration issues that need resolution before sending.
CampaignVariateContents Returns the HTML and plain-text content for each variate in a campaign.
ChimpChatterActivity Returns recent Chimp Chatter activity for the account, including Mailchimp system updates and campaign notifications.
ConnectedSites Lists websites connected to the Mailchimp account for tracking and automation purposes.
ConversationMessages Returns messages from a specific conversation. Conversation tracking is a feature available to paid accounts that allows viewing replies to campaigns from inside your Mailchimp account.
Conversations Returns a collection of tracked conversations for this account. Conversation tracking is a feature available to paid accounts that allows viewing replies to campaigns from inside your Mailchimp account.
EcommerceProductImages Provides image details for products in connected e-commerce stores, including URLs and dimensions.
EcommercePromoCodes Returns the list of promo codes under a promo rule.
EcommercePromoRules Returns details about promotional rules configured for a store, including eligibility and discount types.
EcommerceStores Returns a list of an account's ecommerce stores.
FacebookAds Lists Facebook ads configured and managed through Mailchimp's integrated advertising feature.
FileManagerFolderFiles Lists files organized within specific folders in the Mailchimp File Manager.
LandingPageContents Retrieves the content and layout details of a specific landing page.
LandingPages Returns a list of landing pages for the account.
ListAbuse Contains abuse complaints for a specific audience list, typically submitted when a recipient marks an email as spam.
ListActivity Displays up to 180 days of daily aggregated activity statistics for a given audience list, excluding automation events.
ListClients Summarizes the most common email clients used by subscribers, based on user-agent data.
ListFacebookEcommerceReport Returns the breakdown of ecommerce product activity for a Facebook ad in Mailchimp.
ListGrowthHistory Shows month-by-month subscription growth trends for a specific audience list.
ListLocations Returns the locations (countries) that the list's subscribers have been tagged to based on geocoding their IP address in Mailchimp.
ListMemberActivity Returns the last 50 member events for a list.
ListMemberActivityFeeds Shows a member's engagement activity on a specific list, including email opens, link clicks, and unsubscribes.
ListMemberGoals Displays goal-tracking events for list members, such as website visits or conversions recorded by Mailchimp.
ListMemberTags Returns the tags assigned to a list member.
ListSignupForms Returns signup forms associated with a list.
ListsTagsSearch Enables searching for specific tags applied to members within an audience list.
ListSurveys Returns all survey configurations associated with a specific audience list.
ReportAbuse Displays records of abuse complaints for a specific list or campaign.
ReportAdvice Returns a list of feedback based on a campaign's statistics.
ReportClickDetails Returns a list of URLs and unique identifiers included in HTML and plain-text versions of a campaign.
ReportClickDetailsMembers Displays the subscribers who clicked on specific links within a campaign.
ReportDomainPerformance Statistics for the top-performing email domains in a campaign.
ReportEepUrls Provides detailed activity reports for EepURLs (Mailchimp's link-tracking redirects).
ReportEmailActivity Returns a list of subscriber activity for members in a specific campaign.
ReportingFacebookAds Lists performance reports for Facebook ad campaigns managed through Mailchimp.
ReportingLandingPages Provides engagement and conversion metrics for landing pages published through Mailchimp.
ReportingSurveyQuestionAnswers Lists responses to individual survey questions for analysis.
ReportingSurveyQuestions Returns reporting data for survey questions.
ReportLocations Displays the top geographic locations where campaign emails were opened.
ReportProductActivity Provides campaign performance data linked to e-commerce product interactions.
Reports Lists reports containing campaigns marked as Sent.
ReportSentTo Returns subscribers who were sent a specific campaign.
ReportSubReports Lists child campaign reports.
ReportUnsubscribes Lists members who unsubscribed from a specific campaign, including timestamps and reasons.
SurveyResponses Returns a list of responses for a survey.
SurveyResponsesResults Returns a list of answer objects in a survey response.
Surveys Returns reporting data for surveys.
VerifiedDomains Lists sending domains verified for use with Mailchimp campaigns and transactional emails.

CData Python Connector for Mailchimp

AccountExports

Generates or retrieves completed account exports containing data snapshots or backups of Mailchimp account information.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM AccountExports
SELECT * FROM AccountExports WHERE Id = '3191'

Columns

Name Type References Description
Id [KEY] Integer The unique identifier assigned to the account export task.
Started Datetime The date and time when the export process began.
Finished Datetime The date and time when the export process was completed. The value is 'null' if the export is still in progress.
SizeInBytes Integer The total size of the uncompressed export file, measured in bytes.
DownloadUrl String The URL for downloading the completed export file, available only after the export finishes and valid for 90 days.
Links String Provides a list of related API links and schema document references associated with the export resource.

CData Python Connector for Mailchimp

AuthorizedApps

Lists all third-party applications authorized to access the Mailchimp account through OAuth integration.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM AuthorizedApps WHERE Id = '1245'

Columns

Name Type References Description
Id [KEY] String The unique identifier of the authorized application integration connected to the Mailchimp account.
Name String The display name of the application authorized to access the account.
Description String A brief description of the application, outlining its purpose or functionality within the integration.
Users String A list of Mailchimp usernames associated with the users who have linked this application to their account.

CData Python Connector for Mailchimp

AutomationEmailQueues

Returns a summary of the queue for an email in an automation workflow.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
WorkflowId=
EmailId=

For example, the following queries are processed server-side:

SELECT * FROM AutomationEmailQueues WHERE Id = '1245'

SELECT * FROM AutomationEmailQueues WHERE WorkflowId = '1245' AND EmailId = '1245'

Columns

Name Type References Description
Id [KEY] String The MD5 hash of the lowercase version of the list member's email address.
WorkflowId [KEY] String A string that uniquely identifies an automation workflow.
EmailId [KEY] String A string that uniquely identifies an email in an automation workflow.
ListId String

Lists.Id

The Id of the list associated with this automation email queue.
EmailAddress String The email address of the subscriber queued for the automation email.
NextSend String The date and time the queued automation email is next scheduled to be sent.

CData Python Connector for Mailchimp

AutomationEmails

Returns a summary of the emails in an automation workflow.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
WorkflowId=

For example, the following query is processed server-side:

SELECT * FROM AutomationEmails WHERE WorkflowId = '1245'

Columns

Name Type References Description
Id [KEY] String A string that uniquely identifies the automation email.
WorkflowId [KEY] String A string that uniquely identifies an automation workflow.
Position Integer The position of the email within the automation workflow sequence.
Delay_Amount Integer The delay amount for an automation email.
Delay_Type String The type of delay for an automation email.
Delay_Direction String The direction of the delay, indicating whether it occurs before or after the delay action of an automation email.
Delay_Action String The action that triggers the delay of an automation email.
CreateTime Datetime The date and time the campaign was created.
StartTime Datetime The date and time the campaign was started.
ArchiveUrl String The link to the campaign's archive version.
Status String The current status of the campaign ('save', 'paused', 'sending').
EmailsSent Integer The total number of emails sent for this campaign.
SendTime Datetime The date and time a campaign was sent.
ContentType String How the campaign's content is put together ('template', 'drag_and_drop', 'html', 'url').
Recipients_ListId String

Lists.Id

The Id of the list associated with this automation email.
Recipients_SegmentOpts String The segmentation options for the recipients of this automation email.
Settings_SubjectLine String The subject line for the campaign.
Settings_Title String The title of the campaign.
Settings_FromName String The 'from' name on the campaign (not an email address).
Settings_ReplyTo String The reply-to email address for the campaign.
Settings_Authenticate Boolean Indicates whether the campaign was authenticated by Mailchimp. Defaults to 'true'.
Settings_AutoFooter Boolean Indicates whether Mailchimp's default footer is automatically appended to the campaign.
Settings_InlineCss Boolean Indicates whether the CSS included with the campaign content is automatically inlined.
Settings_AutoTweet Boolean Indicates whether a link to the campaign archive page is automatically tweeted when the campaign is sent.
Settings_AutoFbPost String An array of Facebook page Ids (integers) to auto-post to.
Settings_FbComments Boolean Indicates whether Facebook comments are enabled on the campaign, which also force-enables the Campaign Archive toolbar. Defaults to 'true'.
Settings_TemplateId Integer

Templates.Id

The Id of the template used in this campaign.
Settings_DragAndDrop Boolean Indicates whether the campaign uses the drag-and-drop editor.
Tracking_Opens Boolean Indicates whether opens are tracked. Defaults to 'true'.
Tracking_HtmlClicks Boolean Indicates whether clicks in the HTML version of the campaign are tracked. Defaults to 'true'.
Tracking_TextClicks Boolean Indicates whether clicks in the plain-text version of the campaign are tracked. Defaults to 'true'.
Tracking_GoalTracking Boolean Indicates whether Goal Tracking is enabled. For more information, see the Mailchimp Knowledge Base article at http://eepurl.com/GPMdH.
Tracking_Ecomm360 Boolean Indicates whether eCommerce360 tracking is enabled.
Tracking_GoogleAnalytics String The custom slug for Google Analytics tracking (max of 50 bytes).
Tracking_Clicktale String The custom slug for ClickTale Analytics tracking (max of 50 bytes).
Tracking_Salesforce String Salesforce tracking options for a campaign. Must be using MailChimp's built-in Salesforce integration.
Tracking_Capsule String Capsule tracking option sfor a campaign. Must be using MailChimp's built-in Capsule integration.
SocialCard_ImageUrl String The URL for the header image for the social card.
SocialCard_Description String A short summary of the campaign to display.
SocialCard_Title String The title for the card. Typically the subject line of the campaign.
TriggerSettings_Runtime String The advanced scheduling options for an automation email.
ReportSummary String For sent campaigns, a summary of opens, clicks, and unsubscribes.
WebId Integer The ID used in the Mailchimp web application. View this campaign in your Mailchimp account at https://{dc}.admin.mailchimp.com/campaigns/show/?id={web_id}.
TriggerSettings_WorkflowType String The type of Automation workflow.

The allowed values are abandonedBrowse, abandonedCart, api, bestCustomers, categoryFollowup, dateAdded, emailFollowup, emailSeries, groupAdd, groupRemove, mandrill, productFollowup, purchaseFollowup, recurringEvent, specialEvent, visitUrl, welcomeSeries.

TriggerSettings_WorkflowTitle String The title of the workflow type.
TriggerSettings_WorkflowEmailsCount Integer The number of emails in the Automation workflow.
Delay_ActionDescription String The user-friendly description of the action that triggers an Automation email.
Delay_FullDescription String The user-friendly description of the delay and trigger action settings for an Automation email.
NeedsBlockRefresh Boolean Indicates whether the automation email needs its blocks refreshed by opening the web-based campaign editor.
HasLogoMergeTag Boolean Indicates whether the campaign contains the |BRAND:LOGO| merge tag.
Recipients_ListIsActive Boolean Indicates whether the list associated with this automation email is active. A value of false indicates the list is deleted or disabled.
Recipients_ListName String The name of the list.
Recipients_RecipientCount Integer Count of the recipients on the associated list. Formatted as an integer.
Recipients_SegmentText String A description of the segment used for the campaign. Formatted as a string marked up with HTML.
Settings_PreviewText String The preview text for the campaign.

CData Python Connector for Mailchimp

Automations

Returns a summary of the automations within an account.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
CreateTime=, <, >, <=, >=
StartTime=, <, >, <=, >=
Status=

For example, the following queries are processed server-side:

SELECT * FROM Automations WHERE Id = '1245'
SELECT * FROM Automations WHERE Status = 'save'
SELECT * FROM Automations WHERE CreateTime = '2024-02-07 00:00:37.0'
SELECT * FROM Automations WHERE CreateTime >= '2024-02-07 00:00:37.0'
SELECT * FROM Automations WHERE CreateTime <= '2024-02-07 00:00:37.0'
SELECT * FROM Automations WHERE CreateTime > '2024-02-07 00:00:37.0'
SELECT * FROM Automations WHERE CreateTime < '2024-02-07 00:00:37.0'

Columns

Name Type References Description
Id [KEY] String A string that identifies this automation.
CreateTime Datetime The date and time the automation was created.
StartTime Datetime The date and time the automation was started.
Status String The current status of the automation ('save', 'paused', 'sending').
EmailsSent Integer The total number of emails sent for this automation.
Recipients_ListId String

Lists.Id

The Id of the list associated with this automation.
Recipients_ListName String The name of the list associated with this automation.
Recipients_SegmentOpts String The segment options applied to the automation's recipient list.
Settings_Title String The title of the automation.
Settings_FromName String The 'from' name on the automation (not an email address).
Settings_ReplyTo String The reply-to email address for the automation.
Settings_UseConversation Boolean Indicates whether Mailchimp's Conversations feature is used to manage out-of-office replies.
Settings_ToName String The automation's custom 'to' name, such as the first name merge variable.
Settings_Authenticate Boolean Indicates whether the automation is authenticated by Mailchimp. Defaults to 'true'.
Settings_AutoFooter Boolean Indicates whether Mailchimp's default footer is automatically appended to the automation.
Settings_InlineCss Boolean Indicates whether the CSS included with the automation content is automatically inlined.
Tracking_Opens Boolean Indicates whether opens are tracked. Defaults to 'true'.
Tracking_HtmlClicks Boolean Indicates whether clicks in the HTML version of the automation are tracked. Defaults to 'true'.
Tracking_TextClicks Boolean Indicates whether clicks in the plain-text version of the automation are tracked. Defaults to 'true'.
Tracking_GoalTracking Boolean Indicates whether Goal tracking is enabled. For more information, see this Knowledge Base article: http://eepurl.com/GPMdH
Tracking_Ecomm360 Boolean Indicates whether eCommerce360 tracking is enabled.
Tracking_GoogleAnalytics String The custom slug for Google Analytics tracking (max of 50 bytes).
Tracking_Clicktale String The custom slug for ClickTale Analytics tracking (max of 50 bytes).
Tracking_Salesforce String Salesforce tracking options for an automation. Must be using MailChimp's built-in Salesforce integration.
Tracking_Capsule String Capsule tracking options for an automation. Must be using MailChimp's built-in Capsule integration.
TriggerSettings String A summary of an automation workflow's trigger settings.
ReportSummary String A summary of open and click activity for an automation workflow.
Recipients_ListIsActive Boolean Indicates whether the list associated with the automation is active. A value of false indicates the list is deleted or disabled.
Recipients_StoreId String The Id of the store associated with this automation.

CData Python Connector for Mailchimp

AutomationsRemovedSubscribers

Returns a summary of the subscribers removed from an automation workflow.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
WorkflowId=

For example, the following query is processed server-side:

SELECT * FROM AutomationsRemovedSubscribers WHERE WorkflowId = '1245'

Columns

Name Type References Description
Id [KEY] String The MD5 hash of the lowercase version of the list member's email address.
WorkflowId [KEY] String A string that uniquely identifies an automation workflow.
ListId String

Lists.Id

The Id of the list from which the subscriber was removed.
EmailAddress String The email address of the subscriber removed from the automation workflow.

CData Python Connector for Mailchimp

BatchOperations

Summarizes batch requests submitted to the Mailchimp API, including processing status and results.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM BatchOperations
SELECT * FROM BatchOperations WHERE Id = '2'

Columns

Name Type References Description
Id [KEY] String The unique identifier assigned to the batch request.
Status String The current processing status of the batch request.

The allowed values are pending, preprocessing, started, finalizing, finished.

TotalOperations Integer The total number of operations included in the batch request. Each paginated GET request counts as a separate operation.
FinishedOperations Integer The number of operations that have been completed, including both successful and failed requests.
ErroredOperations Integer The total number of operations within the batch that resulted in errors.
SubmittedAt Datetime The date and time when the batch request was received by the Mailchimp server, in ISO 8601 format.
CompletedAt Datetime The date and time when all operations in the batch request finished processing, in ISO 8601 format.
ResponseBodyUrl String The URL to download the gzipped archive containing the results of all operations in the batch.
Links String A list of related API links and schema references associated with the batch request.

CData Python Connector for Mailchimp

BatchWebhooks

Provides information about batch webhooks, which notify external systems of completed batch operations.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM BatchWebhooks
SELECT * FROM BatchWebhooks WHERE Id = '2'

Columns

Name Type References Description
Id [KEY] String The unique identifier assigned to the batch webhook configuration.
Url String The destination URL that receives notifications when batch operations complete.
Enabled Boolean If the value is 'true', the webhook is active and will send notifications. If the value is 'false', the webhook is disabled.

CData Python Connector for Mailchimp

CampaignContents

Retrieves the HTML and plain-text content associated with a specific campaign.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

Note: To retrieve the CampignId, query the Campaigns table.

For example, the following queries are processed server-side:

SELECT * FROM CampaignContents
SELECT * FROM CampaignContents WHERE CampaignId = '381b6f0c90'

Columns

Name Type References Description
CampaignId String

Campaigns.Id

The unique identifier of the campaign whose content is being retrieved or updated.
PlainText String The plain-text version of the campaign email. If not provided, Mailchimp automatically generates it from the HTML content.
Html String The full HTML content of the campaign, including layout, text, and embedded media.
ArchiveHtml String The HTML version of the campaign as it appears in the campaign archive view.

CData Python Connector for Mailchimp

CampaignOpenEmailDetails

Displays information about subscribers who opened a campaign email, including timestamps and interaction details.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=
Since=

For example, the following queries are processed server-side:

SELECT * FROM CampaignOpenEmailDetails
SELECT * FROM CampaignOpenEmailDetails WHERE CampaignId = '9f218dcf18'
SELECT * FROM CampaignOpenEmailDetails WHERE Since = '2024-02-07 00:00:37.0'

Columns

Name Type References Description
CampaignId [KEY] String The unique identifier of the campaign for which open activity is being retrieved.
ListId [KEY] String

Lists.Id

The unique identifier of the audience list associated with the campaign.
ListIsActive Boolean If the value is 'true', the associated audience list is active. If the value is 'false', the list has been deleted or disabled.
ContactStatus String The subscription status of the contact, such as subscribed, unsubscribed, or cleaned.
EmailId [KEY] String The internal identifier assigned to the contact's email address within the Mailchimp system.
EmailAddress String The email address of the subscriber who opened the campaign.
MergeFields String A collection of merge field data for the contact, such as first name or company name, used for personalization.
Vip Boolean If the value is 'true', the contact is marked as a VIP subscriber. If the value is 'false', they are a standard contact.
OpensCount Integer The total number of times the subscriber opened the campaign email.
Opens String Details of individual open events, including timestamps and locations where applicable.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Since Datetime Restricts the results to campaign open events that occurred after the specified date and time.

CData Python Connector for Mailchimp

CampaignSendCheckList

Returns the pre-send checklist for a campaign, highlighting configuration issues that need resolution before sending.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

Note: To retrieve the CampaignId, query the Campaigns table.

For example, the following queries are processed server-side:

SELECT * FROM CampaignSendCheckList
SELECT * FROM CampaignSendCheckList WHERE CampaignId = '381b6f0c90'

Columns

Name Type References Description
CampaignId [KEY] String

Campaigns.Id

The unique identifier of the campaign whose send checklist is being reviewed.
Id [KEY] String The identifier of the specific checklist item being evaluated.
Type String The type or category of the checklist item, such as content, recipients, or settings.

The allowed values are success, warning, error.

Heading String The title or short summary describing the checklist item.
Details String Additional information or guidance related to the checklist item, such as required actions or validation feedback.

CData Python Connector for Mailchimp

CampaignVariateContents

Returns the HTML and plain-text content for each variate in a campaign.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

Note: To retrieve the CampignId, query the Campaigns table.

For example, the following queries are processed server-side:

SELECT * FROM CampaignVariateContents
SELECT * FROM CampaignVariateContents WHERE CampaignId = '381b6f0c90'

Columns

Name Type References Description
CampaignId String

Campaigns.Id

The unique Id for the campaign.
ContentLabel String The label used to identify the content option.
PlainText String The plain-text portion of the campaign. If left unspecified, it is generated automatically.
Html String The raw HTML for the campaign.

CData Python Connector for Mailchimp

ChimpChatterActivity

Returns recent Chimp Chatter activity for the account, including Mailchimp system updates and campaign notifications.

View-Specific Information

Select

To retrieve all records from this view:
SELECT * FROM ChimpChatterActivity

Columns

Name Type References Description
Title String The short title or subject line summarizing the Chimp Chatter activity.
Message String The message text describing the activity, such as campaign updates, account notifications, or system alerts.
Type String The category or type of Chimp Chatter event, such as campaign_send, subscriber_activity, or account_notice.

The allowed values are lists:new-subscriber, lists:unsubscribes, lists:profile-updates, campaigns:facebook-likes, campaigns:forward-to-friend, lists:imports.

ModifiedAt Datetime The date and time when the activity record was last updated.
Url String A link to view more details about the specific activity within the Mailchimp web interface.
ListId String

Lists.Id

The unique identifier of the list associated with the activity, if applicable.
CamapignId String

Campaigns.Id

The unique identifier of the campaign related to the activity, if applicable.

CData Python Connector for Mailchimp

ConnectedSites

Lists websites connected to the Mailchimp account for tracking and automation purposes.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM ConnectedSites
SELECT * FROM ConnectedSites WHERE Id = '03008bc4e0f0'

Columns

Name Type References Description
Id [KEY] String The unique identifier assigned to the connected site within the Mailchimp account.
StoreId String The unique identifier of the e-commerce store linked to the connected site, if applicable. This value remains constant and cannot be changed.
Platform String The platform or content management system used by the connected site, such as Shopify, WordPress, or custom integrations.
Domain String The primary domain name of the connected site.
CreatedAt Datetime The date and time when the connected site was initially registered with Mailchimp, in ISO 8601 format.
UpdatedAt Datetime The date and time when the connected site details were last modified, in ISO 8601 format.
SiteScriptUrl String The URL for integration scripts used by platforms that provide built-in Mailchimp connected site support.
SiteScriptFragment String A JavaScript snippet that can be manually embedded into a website to establish a connection with Mailchimp.
Links String A collection of related API links and references for the connected site resource.

CData Python Connector for Mailchimp

ConversationMessages

Returns messages from a specific conversation. Conversation tracking is a feature available to paid accounts that allows viewing replies to campaigns from inside your Mailchimp account.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
ConversationId=
Read=
Timestamp=, <, >, <=, >=

For example, the following queries are processed server-side:

SELECT * FROM ConversationMessages
SELECT * FROM ConversationMessages WHERE ConversationId = '1245' AND Id = '1254'
SELECT * FROM ConversationMessages WHERE Read = true
SELECT * FROM ConversationMessages WHERE Timestamp = '2024-02-07 00:00:37.0'
SELECT * FROM ConversationMessages WHERE Timestamp >= '2024-02-07 00:00:37.0'
SELECT * FROM ConversationMessages WHERE Timestamp <= '2024-02-07 00:00:37.0'
SELECT * FROM ConversationMessages WHERE Timestamp > '2024-02-07 00:00:37.0'
SELECT * FROM ConversationMessages WHERE Timestamp < '2024-02-07 00:00:37.0'

Columns

Name Type References Description
Id [KEY] String A string that uniquely identifies this message.
ConversationId [KEY] String

Conversations.Id

A string that uniquely identifies this message's conversation.
ListId [KEY] String

Lists.Id

The unique identifier of the list this conversation is associated with.
FromLabel String A label representing the sender of this message.
FromEmail String The email address of the sender of this message.
Subject String The subject of this message.
Message String The plain-text content of the message.
Read Boolean Indicates whether this message has been marked as read.
Timestamp Datetime The date and time the message was either sent or received.

CData Python Connector for Mailchimp

Conversations

Returns a collection of tracked conversations for this account. Conversation tracking is a feature available to paid accounts that allows viewing replies to campaigns from inside your Mailchimp account.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
CampaignId=
ListId=
HasUnreadMessages=

For example, the following queries are processed server-side:

SELECT * FROM Conversations WHERE Id = '1254'
SELECT * FROM Conversations WHERE CampaignId = '1245'
SELECT * FROM Conversations WHERE ListId = '1245'
SELECT * FROM Conversations WHERE HasUnreadMessages = 'true'

Columns

Name Type References Description
Id [KEY] String A string that uniquely identifies this conversation.
MessageCount Integer The total number of messages in this conversation.
CampaignId [KEY] String

Campaigns.Id

The unique identifier of the campaign this conversation is associated with.
ListId [KEY] String The unique identifier of the list this conversation is associated with.
UnreadMessages Integer The number of unread messages in this conversation.
FromLabel String A label representing the sender of this message.
FromEmail String The email address of the sender of this message.
Subject String The subject of the message.
LastMessage_FromLabel String A label representing the sender of this message.
LastMessage_FromEmail String The email address of the sender of this message.
LastMessage_Subject String The subject of this message.
LastMessage_Message String The plain-text content of the message.
LastMessage_Read Boolean Indicates whether this message has been marked as read.
LastMessage_Timestamp Datetime The date and time the message was either sent or received.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
HasUnreadMessages String Filters results by unread message status. Only valid for SELECT statements.

CData Python Connector for Mailchimp

EcommerceProductImages

Provides image details for products in connected e-commerce stores, including URLs and dimensions.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
ProductId=
Id=

For example, the following queries are processed server-side:

SELECT * FROM EcommerceProductImages
SELECT * FROM EcommerceProductImages WHERE Id = 'Test_Images'
SELECT * FROM EcommerceProductImages WHERE ProductId = '1233' AND StoreId = 'STR002'
SELECT * FROM EcommerceProductImages WHERE Id = 'Test_Images1' AND ProductId = '1233' AND StoreId = 'STR002'
Note: To retrieve the StoreId, query the EcommerceStores view. To retrieve the ProductId, query the EcommerceProducts table.

Columns

Name Type References Description
StoreId [KEY] String The unique identifier of the store where the product image is stored. Each store represents an e-commerce integration connected to the Mailchimp account.
ProductId [KEY] String

EcommerceProducts.Id

The unique identifier of the product that the image belongs to. This links the image to a specific product in the store catalog.
Id [KEY] String The unique identifier assigned to the product image within the store system.
Url String The direct URL of the product image file, used for display in store listings, campaigns, or product recommendations.
VariantIds String A list of variant identifiers that this image is associated with, allowing specific product variations (such as color or size) to use distinct visuals.
Links String A collection of related API references and schema links for navigating between product image resources.

CData Python Connector for Mailchimp

EcommercePromoCodes

Returns the list of promo codes under a promo rule.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
PromoRuleId=
Id=

For example, the following queries are processed server-side:

SELECT * FROM EcommercePromoCodes
SELECT * FROM EcommercePromoCodes WHERE Id = 'test_promorule2'
SELECT * FROM EcommercePromoCodes WHERE PromoRuleId = 'test_promorule2' AND StoreId = 'YM_Store'
SELECT * FROM EcommercePromoCodes WHERE PromoRuleId = 'test_promorule2' AND StoreId = 'YM_Store' AND Id = 'test_promorule2'
Note: To retrieve the StoreId, query the EcommerceStores view. To retrieve the PromoRuleId, query the PromoRules view.

Columns

Name Type References Description
StoreId [KEY] String The Id of the store.
PromoRuleId [KEY] String

EcommercePromoRules.Id

The Id of the associated promo rule.
Id [KEY] String The unique identifier of the promo code.
Code String The actual promotional code.
RedemptionUrl String URL used to redeem the promo code.
UsageCount Integer Number of times the code has been used.
Enabled Boolean Indicates whether the promo code is currently enabled.
CreatedAtForeign Datetime The date and time the promotion was created in ISO 8601 format.
UpdatedAtForeign Datetime The date and time the promotion was updated in ISO 8601 format.
Links String A list of link types and descriptions for the API schema documents.

CData Python Connector for Mailchimp

EcommercePromoRules

Returns details about promotional rules configured for a store, including eligibility and discount types.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
StoreId=
Id=

For example, the following queries are processed server-side:

SELECT * FROM EcommercePromoRules
SELECT * FROM EcommercePromoRules WHERE Id = 'ruleid1'
SELECT * FROM EcommercePromoRules WHERE Id = 'ruleid1' AND StoreId = 'STR002'
Note: To retrieve the StoreId, query the EcommerceStores view.

Columns

Name Type References Description
StoreId [KEY] String The unique identifier of the store where the promotional rule is defined. Each store represents an e-commerce integration connected to the Mailchimp account.
Id [KEY] String The unique identifier assigned to the promotional rule within the store system.
Title String The display title of the promotion as it appears in campaigns or store interfaces.
Description String A brief description of the promotion, limited to 255 UTF-8 characters, summarizing its purpose or eligibility criteria.
StartsAt Datetime The date and time when the promotion becomes active, recorded in ISO 8601 format.
EndsAt Datetime The date and time when the promotion expires, recorded in ISO 8601 format. This must occur after the start date.
Amount Decimal The value of the promotional discount. If the 'Type' is 'fixed', this amount represents a monetary value. If 'Type' is 'percentage', it must be a decimal between 0.0 and 1.0 inclusive.
Type String The discount type applied by the promotion, such as 'fixed' for a set monetary discount, 'percentage' for proportional savings, or 'free_shipping' for shipping-related offers.

The allowed values are fixed, percentage.

Target String The entity or category the discount applies to, such as specific products, collections, or entire orders.

The allowed values are per_item, total, shipping.

Enabled Boolean If the value is 'true', the promotional rule is active and can be applied to orders. If the value is 'false', it is inactive or expired.
CreatedAtForeign Datetime The date and time when the promotional rule was created in the store, recorded in ISO 8601 format.
UpdatedAtForeign Datetime The date and time when the promotional rule was last updated in the store, recorded in ISO 8601 format.
Links String A list of related API schema references and navigation links associated with the promotional rule resource.

CData Python Connector for Mailchimp

EcommerceStores

Returns a list of an account's ecommerce stores.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM EcommerceStores WHERE Id = '44'

Columns

Name Type References Description
Id [KEY] String The unique identifier for the store.
ListId [KEY] String

Lists.Id

The unique identifier for the Mailchimp list associated with the store. The list Id for a specific store cannot change.
Name String The name of the store.
Platform String The ecommerce platform of the store.
Domain String The store domain.
EmailAddress String The email address for the store.
CurrencyCode String The three-letter ISO 4217 code for the currency that the store accepts.
MoneyFormat String The currency format for the store, such as `$`.
PrimaryLocale String The primary locale for the store, such as `en` or `de`.
Timezone String The timezone for the store.
Phone String The store phone number.
Address_Address1 String The store's mailing address.
Address_Address2 String An additional field for the store's mailing address.
Address_City String The city the store is located in.
Address_Province String The store's state name or normalized province.
Address_ProvinceCode String The two-letter code for the store's province or state.
Address_PostalCode String The store's postal or zip code.
Address_Country String The store's country.
Address_CountryCode String The two-letter code for the store's country.
Address_Longitude Double The longitude of the store location.
Address_Latitude Double The latitude of the store location.
CreatedAt Datetime The date and time the store was created.
UpdatedAt Datetime The date and time the store was last updated.
IsSyncing Boolean Indicates whether the store is currently syncing, which disables automations.
ConnectedSite_SiteForeignId String The unique identifier for the connected site.
ConnectedSite_SiteScript_Url String The URL used for any integrations that offer built-in support for connected sites.
ConnectedSite_SiteScript_Fragment String A pre-built script that you can copy-and-paste into your site to integrate it with Mailchimp.
Automations_AbandondedCart_IsSupported Boolean Indicates whether this store supports the Abandoned Cart automation.
Automations_AbandondedCart_Id String The unique Id of the automation parent campaign.
Automations_AbandondedCart_Status String The status of the Abandoned Cart automation.

The allowed values are save, sending, paused.

Automations_AbandondedBrowse_IsSupported Boolean Indicates whether this store supports the Abandoned Browse automation.
Automations_AbandondedBrowse_Id String The unique Id of the automation parent campaign.
Automations_AbandondedBrowse_Status String The status of the Abandoned Browse automation.

The allowed values are save, sending, paused.

ListIsActive Boolean Indicates whether the list connected to the store is active. A value of false indicates the list is deleted or disabled.

CData Python Connector for Mailchimp

FacebookAds

Lists Facebook ads configured and managed through Mailchimp's integrated advertising feature.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM FacebookAds
SELECT * FROM FacebookAds WHERE Id = '2'

Columns

Name Type References Description
Id [KEY] String The unique identifier assigned to the Facebook ad within the Mailchimp account.
Name String The display name of the Facebook ad as defined in the campaign configuration.
Type String The ad format or type, such as image, carousel, or video.
Status String The current delivery status of the Facebook ad, for example active, paused, canceled, or completed.
CreateTime Datetime The date and time when the Facebook ad was first created in Mailchimp.
UpdatedAt Datetime The date and time when the Facebook ad details were last modified.
StartTime Datetime The scheduled or actual start time for the ad's delivery.
EndTime Datetime The scheduled or actual end time for the ad's delivery.
PausedAt Datetime The date and time when the ad was paused manually or automatically.
CanceledAt Datetime The date and time when the ad was canceled and stopped running.
PublishedTime Datetime The date and time when the ad was published or made live.
WebId Integer The unique web identifier for the Facebook ad used within the Mailchimp interface.
HasAudience Boolean If the value is 'true', the Facebook ad has an assigned target audience.
HasContent Boolean If the value is 'true', the ad contains creative content such as text, links, or images.
HasSegment Boolean If the value is 'true', the ad targets a specific segment of an audience.
IsConnected Boolean If the value is 'true', the ad is connected to an active Facebook Ad account.
NeedsAttention Boolean If the value is 'true', the ad requires review or updates due to configuration or performance issues.
ShowReport Boolean If the value is 'true', a performance report is available for this ad.
WasCanceledByFacebook Boolean If the value is 'true', the ad was canceled automatically by Facebook due to a policy or technical issue.
Thumbnail String The URL of the thumbnail image representing the ad's creative.
EmailSourceName String The name of the email source linked to the Facebook ad.
AudienceEmailSourceIsSegment Boolean If the value is 'true', the audience email source is based on a Mailchimp segment.
AudienceEmailSourceListName String The name of the Mailchimp audience list used as the source for the ad.
AudienceEmailSourceName String The display name of the email audience source connected to the ad.
AudienceEmailSourceSegmentType String The type of Mailchimp segment used as the source audience for the ad.
AudienceEmailSourceType String The data source type used to build the audience, such as list or saved segment.
AudienceIncludeSourceInTarget Boolean If the value is 'true', the audience source is included in the targeting configuration.
AudienceLookalikeCountryCode String The two-letter ISO 3166 country code specifying the location used for lookalike audience targeting.
AudienceSourceType String The origin or method used to create the audience, such as custom audience or lookalike audience.
AudienceTargetingSpecsGender Integer The gender value used for audience targeting (for example, 1 for male, 2 for female).
AudienceTargetingSpecsInterests String The list of interest categories used for audience targeting.
AudienceTargetingSpecsLocationsCities String The cities specified for geographic targeting of the ad.
AudienceTargetingSpecsLocationsCountries String The countries specified for geographic targeting of the ad.
AudienceTargetingSpecsLocationsRegions String The regions specified for geographic targeting of the ad.
AudienceTargetingSpecsLocationsZips String The postal codes or ZIP ranges specified for the audience's geographic targeting.
AudienceTargetingSpecsMaxAge Integer The maximum age value used in audience targeting.
AudienceTargetingSpecsMinAge Integer The minimum age value used in audience targeting.
AudienceType String The overall audience classification, such as custom, lookalike, or saved segment.
BudgetCurrencyCode String The three-letter ISO 4217 currency code used for the ad budget.
BudgetDuration Integer The duration of the ad's budget, usually defined in days.
BudgetTotalAmount Integer The total allocated budget amount for the Facebook ad.
ChannelFbPlacementAudience Boolean If the value is 'true', the ad is placed in the Facebook Audience Network.
ChannelFbPlacementFeed Boolean If the value is 'true', the ad appears in the Facebook feed.
ChannelIgPlacementFeed Boolean If the value is 'true', the ad appears in the Instagram feed.
ContentAttachments String A list of attachments included in the ad creative, such as images or videos.
ContentCallToAction String The call-to-action text or button displayed in the ad, such as 'Shop Now' or 'Learn More'.
ContentDescription String A short description or summary of the ad's content.
ContentImageUrl String The URL of the primary image used in the Facebook ad.
ContentLinkUrl String The destination URL where users are directed when clicking on the ad.
ContentMessage String The main message or caption text used in the ad creative.
ContentTitle String The headline or title of the ad as it appears in Facebook placements.
FeedbackAudience String Feedback or system notes related to the audience configuration of the ad.
FeedbackBudget String Feedback or recommendations regarding the ad's budget configuration.
FeedbackCompliance String Feedback related to compliance with Facebook advertising policies.
FeedbackContent String Feedback or notes related to the content or creative of the ad.
RecipientsListId String The unique identifier of the Mailchimp audience list used to create or target recipients.
RecipientsListIsActive Boolean If the value is 'true', the associated audience list is active and available for targeting.
RecipientsListName String The name of the Mailchimp audience list associated with the ad.
RecipientsRecipientCount Integer The total number of recipients targeted by the ad.
RecipientsSegmentOptsConditions String The conditions that define how recipients are segmented for targeting.
RecipientsSegmentOptsMatch String The logic operator used to match segment conditions (for example, 'any' or 'all').
RecipientsSegmentOptsPrebuiltSegmentId String The unique identifier of a prebuilt Mailchimp segment used for recipient targeting.
RecipientsSegmentOptsSavedSegmentId Integer The ID of a saved Mailchimp segment used in the ad configuration.
RecipientsSegmentText String A human-readable description of the segment configuration used for the ad.
ReportSummaryClickRate Integer The percentage of clicks compared to total impressions, as recorded in the report summary.
ReportSummaryClicks Integer The total number of user clicks recorded in the report summary.
ReportSummaryConversionRate Integer The conversion rate percentage based on post-click actions.
ReportSummaryEcommerceAverageOrderRevenue Integer The average order value attributed to the ad's e-commerce activity.
ReportSummaryEcommerceCurrencyCode String The three-letter ISO 4217 currency code used for e-commerce reporting metrics.
ReportSummaryEcommerceTotalRevenue Integer The total e-commerce revenue generated from the Facebook ad.
ReportSummaryEngagements Integer The number of engagements (likes, shares, comments) recorded for the ad.
ReportSummaryImpressions Integer The total number of times the ad was displayed to users.
ReportSummaryOpenRate Integer The open rate percentage if the ad is linked to an email-based campaign.
ReportSummaryOpens Integer The total number of opens recorded for email-linked ad campaigns.
ReportSummaryProxyExcludedOpenRate Integer The open rate excluding proxy opens (for example, those generated by email security filters).
ReportSummaryProxyExcludedOpens Integer The total number of opens excluding proxy-generated events.
ReportSummaryProxyExcludedUniqueOpens Integer The total number of unique opens excluding proxy activity.
ReportSummaryReach Integer The total number of unique users who saw the ad at least once.
ReportSummarySubscriberClicks Integer The total number of clicks generated by subscribers targeted through the ad.
ReportSummarySubscribes Integer The total number of new subscribers gained as a result of the ad campaign.
ReportSummaryTotalSent Integer The total number of ad impressions or deliveries completed.
ReportSummaryUniqueOpens Integer The number of unique opens recorded in the report summary.
ReportSummaryUniqueVisits Integer The total number of unique visits to linked destinations from the ad.
ReportSummaryVisits Integer The total number of visits generated by the ad.
SiteId Integer The unique identifier of the connected site linked to this Facebook ad.
SiteName String The display name of the connected site associated with the ad.
SiteUrl String The URL of the connected site or landing page where ad traffic is directed.

CData Python Connector for Mailchimp

FileManagerFolderFiles

Lists files organized within specific folders in the Mailchimp File Manager.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
FolderId=

For example, the following queries are processed server-side:

SELECT * FROM FileManagerFolderFiles
SELECT * FROM FileManagerFolderFiles WHERE FolderId = '1002'

Columns

Name Type References Description
Id [KEY] Integer The unique identifier assigned to the file within Mailchimp's File Manager, used to locate and manage the file programmatically.
FolderId [KEY] Integer The unique identifier of the folder where the file is stored, allowing grouping of assets such as images, documents, and templates for easier organization.
CreatedAt Datetime The date and time when the file was uploaded or created in the File Manager, recorded in ISO 8601 format for auditing and version tracking.
CreatedBy String The username or identifier of the Mailchimp account user who uploaded or added the file, helping track content ownership and contributions.
FullSizeUrl String The direct URL to access or download the full-size version of the file, typically used when embedding assets in campaigns or templates.
Height Integer The height of the file in pixels, available for image files to support responsive design and layout control.
Name String The display name of the file as it appears in the File Manager interface and when referenced in campaigns or automations.
Size Integer The size of the file in bytes, representing the storage space used by this individual file.
ThumbnailUrl String The URL for the thumbnail preview of the file, used in the File Manager and editor interfaces to visually identify assets.
Type String Specifies the file type, such as 'image', 'document', or 'video', determining how the file can be previewed or embedded in campaigns.
Width Integer The width of the file in pixels, available for image files to assist with media placement and optimization.
TotalFileSize Decimal The cumulative size of all files stored in the File Manager, expressed in bytes, providing insight into total storage utilization for the account.

CData Python Connector for Mailchimp

LandingPageContents

Retrieves the content and layout details of a specific landing page.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PageId=

For example, the following queries are processed server-side:

SELECT * FROM LandingPageContents
SELECT * FROM LandingPageContents WHERE PageId = '2'

Columns

Name Type References Description
PageId [KEY] String

LandingPages.Id

The unique identifier of the landing page, used to reference and retrieve specific page content or metadata through the Mailchimp API.
Html String The raw HTML code that defines the visual layout and design of the landing page, including embedded text, images, and links used in campaigns.
Json String The structured JSON representation of the landing page, containing its configuration, design components, and content hierarchy for programmatic access or updates.

CData Python Connector for Mailchimp

LandingPages

Returns a list of landing pages for the account.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM LandingPages
SELECT * FROM LandingPages WHERE Id = '2'

Columns

Name Type References Description
Id [KEY] String The unique identifier for the landing page.
Name String The name of the landing page.
Title String The title of the landing page.
Description String The description of the landing page.
TemplateId Integer The Id of the template used to create the landing page.
Status String The status of the landing page.

The allowed values are published, unpublished, draft.

ListId String

Lists.Id

The Id of the list associated with the landing page.
StoreId String

EcommerceStores.Id

The Id of the store associated with the landing page.
WebId Integer The Id used in the Mailchimp web application.
CreatedAt Datetime The date and time the landing page was created.
UpdatedAt Datetime The date and time the landing page was last updated.
PublishedAt Datetime The date and time the landing page was published.
UnpublishedAt Datetime The date and time the landing page was unpublished.
CreatedBySource String The source from which the landing page was created.
TrackingTrackWithMailchimp Boolean Indicates whether clicks in links are tracked.
TrackingEnableRestrictedDataProcessing Boolean Indicates whether restricted data processing is enabled.
Url String The URL for the landing page.

CData Python Connector for Mailchimp

ListAbuse

Contains abuse complaints for a specific audience list, typically submitted when a recipient marks an email as spam.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
ListId=

For example, the following query is processed server-side:

SELECT * FROM ListAbuse WHERE ListId = 'abc' AND Id = '452'

Columns

Name Type References Description
Id [KEY] String The unique identifier assigned to the abuse report, used to track and retrieve complaint details for a specific incident.
CampaignId [KEY] String

Campaigns.Id

The unique identifier of the Mailchimp campaign that generated the abuse report, allowing correlation between campaigns and complaint activity.
ListId [KEY] String

Lists.Id

The unique identifier of the audience (list) from which the complaint originated, helping identify where the affected subscriber belongs.
EmailId [KEY] String The MD5 hash of the lowercase version of the subscriber's email address, used for securely referencing the member within the API.
EmailAddress String The actual email address of the subscriber who reported the message as spam or abuse.
Date Date The date and time when the abuse report was logged, typically captured in ISO 8601 format for accurate event tracking.
MergeFields String A set of merge field data for the subscriber, represented as key-value pairs where the keys are merge tags (for example, FNAME, LNAME).
VIP Boolean If the value is 'true', the subscriber is marked as a VIP within the list. This helps identify high-priority contacts when reviewing abuse reports.

CData Python Connector for Mailchimp

ListActivity

Displays up to 180 days of daily aggregated activity statistics for a given audience list, excluding automation events.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=

For example, the following query is processed server-side:

SELECT * FROM ListActivity WHERE ListId = 'abc'

Columns

Name Type References Description
ListId [KEY] String

Lists.Id

The unique identifier of the Mailchimp audience (list) associated with the activity summary, used to group engagement data by list.
Day [KEY] Date The specific date the activity metrics apply to, representing one day of engagement and delivery performance.
EmailsSent Integer The total number of campaign emails sent to subscribers on the specified date.
UniqueOpens Integer The number of distinct subscribers who opened at least one email on that day, excluding multiple opens by the same recipient.
RecipientClicks Integer The total number of recipients who clicked at least one link within a campaign email on that day.
HardBounce Integer The number of emails that permanently failed to deliver due to invalid addresses or other non-recoverable issues.
SoftBounce Integer The number of emails that temporarily failed to deliver, often caused by full inboxes or temporary mail server issues.
Subs Integer The total number of new subscribers who joined the list on that date through forms, campaigns, or API integrations.
Unsubs Integer The number of subscribers who opted out or unsubscribed from the list on that date.
OtherAdds Integer The number of subscribers added to the list through non-standard methods, such as manual imports or API-based additions, outside the typical signup flow.
OtherRemoves Integer The number of subscribers removed outside of unsubscribing or abuse reports, such as deletions or administrative removals.

CData Python Connector for Mailchimp

ListClients

Summarizes the most common email clients used by subscribers, based on user-agent data.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=

For example, the following query is processed server-side:

SELECT * FROM ListClients WHERE ListId = 'abc'

Columns

Name Type References Description
Client String The name of the email client or application (such as Gmail, Outlook, or Apple Mail) used by subscribers to open or read campaign emails.
Members Integer The number of active or subscribed members who engaged with campaigns using the specified email client, providing insight into client popularity and compatibility.
ListId [KEY] String

Lists.Id

The unique identifier of the Mailchimp audience (list) these engagement statistics belong to, allowing tracking across different subscriber groups.

CData Python Connector for Mailchimp

ListFacebookEcommerceReport

Returns the breakdown of ecommerce product activity for a Facebook ad in Mailchimp.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ReportingFacebookAdId=

For example, the following queries are processed server-side:

SELECT * FROM ListFacebookEcommerceReport
SELECT * FROM ListFacebookEcommerceReport WHERE ReportingFacebookAdId = '12345'

Columns

Name Type References Description
ReportingFacebookAdId String

ReportingFacebookAds.Id

A unique identifier for the Facebook ad report.
Title String The title of the product.
Sku String The SKU of the product.
ImageUrl String The image URL of the product.
TotalRevenue Decimal The total revenue of the product.
TotalPurchased Decimal The total number of units purchased.
CurrencyCode String The currency code for the product's revenue.
RecommendationTotal Integer The total number of product recommendations.
RecommendationPurchased Integer The number of recommended products that were purchased.

CData Python Connector for Mailchimp

ListGrowthHistory

Shows month-by-month subscription growth trends for a specific audience list.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=

For example, the following query is processed server-side:

SELECT * FROM ListGrowthHistory WHERE ListId = 'abc'

Columns

Name Type References Description
ListId [KEY] String

Lists.Id

The unique identifier of the Mailchimp audience (list) the growth metrics apply to, used for analyzing subscriber trends over time.
Month [KEY] String The month the growth activity data represents, typically formatted as YYYY-MM to summarize monthly changes in list size.
Subscribed Integer The total number of active subscribers on the list at the end of the specified month, including new signups and reactivated members.
Unsubscribed Integer The total number of members who unsubscribed from the list during the specified month.
Reconfirm Integer The number of subscribers who reconfirmed their opt-in status during the specified month, often due to double opt-in or General Data Protection Regulation (GDPR) compliance processes.
Cleaned Integer The number of addresses automatically cleaned from the list due to hard bounces or invalid email addresses during the specified month.
Pending Integer The number of pending subscribers who have not yet confirmed their opt-in at the end of the specified month.
Deleted Integer The number of subscribers who were manually deleted or removed by administrators during the specified month.
Transactional Integer The number of subscribers who were sent transactional emails (such as order confirmations or receipts) via Mandrill during the specified month.

CData Python Connector for Mailchimp

ListLocations

Returns the locations (countries) that the list's subscribers have been tagged to based on geocoding their IP address in Mailchimp.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=

For example, the following queries are processed server-side:

SELECT * FROM ListLocations
SELECT * FROM ListLocations WHERE ListId = '12345'

Columns

Name Type References Description
ListId String

Lists.Id

The unique Id for the list.
Country String The name of the country.
CC String The ISO 3166 two-digit country code.
Percent Decimal The percent of subscribers in the country.
Total Integer The total number of subscribers in the country.

CData Python Connector for Mailchimp

ListMemberActivity

Returns the last 50 member events for a list.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
MemberId=
ListId=
Action=, IN

For example, the following query is processed server-side:

SELECT * FROM ListMemberActivity WHERE ListId = '121' AND Action IN ('open', 'sent') AND MemberId = '1211'

Columns

Name Type References Description
MemberId String

ListMembers.Id

The Id of the list member to retrieve activity for.
EmailId String The email Id of the list member.
ListId String

Lists.Id

The Id of the list associated with the member activity.
Action String The type of action recorded for the subscriber.
Timestamp Datetime The date and time recorded for the action.
Url String For clicks, the URL the subscriber clicked on.
Type String The type of campaign that was sent.
CampaignId String

Campaigns.Id

The web-based Id for the campaign.
Title String The campaign's title, if set.
ParentCampaign String The Id of the parent campaign.
ContactId String The Id of the contact.

CData Python Connector for Mailchimp

ListMemberActivityFeeds

Shows a member's engagement activity on a specific list, including email opens, link clicks, and unsubscribes.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
EmailId=
ListId=
ActivityType=, IN

For example, the following queries are processed server-side:

SELECT * FROM ListMemberActivityFeeds
SELECT * FROM ListMemberActivityFeeds WHERE EmailId = '2' AND ListId = '565'
SELECT * FROM ListMemberActivityFeeds WHERE ActivityType = 'open'
SELECT * FROM ListMemberActivityFeeds WHERE ActivityType IN ('open', 'sent')

Columns

Name Type References Description
EmailId String

ListMembers.Id

The MD5 hash of the lowercase version of the subscriber's email address, used to securely identify the list member.
ListId String

Lists.Id

The unique identifier of the Mailchimp audience (list) associated with the recorded event activity.
ActivityType String The specific type of event activity performed by or related to the subscriber, such as an open, click, bounce, or unsubscribe.
CreatedAtTimestamp Datetime The date and time when the event occurred, formatted in ISO 8601 for consistent tracking across campaigns.
CampaignId String

Campaigns.Id

The unique identifier of the campaign associated with the recorded activity, used to link engagement data back to a specific send.
CampaignTitle String The title of the campaign where the event occurred, providing context for the associated campaign activity.
LinkClicked String The URL that the subscriber clicked, recorded during link-click tracking events to measure engagement and link performance.
BounceType String The classification of the email bounce, indicating the nature of the delivery issue.

The allowed values are hard, soft.

BounceHasOpenActivity Boolean If the value is 'true', indicates that the bounced email also registered an open event for the same campaign.
IsAdminUnsubscribed Boolean If the value is 'true', indicates that the subscriber was manually unsubscribed by an account administrator.
UnsubscribeReason String The reason the contact was unsubscribed, such as user request, spam complaint, or manual removal.
ThreadId String The unique identifier of the conversation thread associated with this event, if applicable.
MessageText String The full text content of a message or reply within the conversation thread.
CreatedBy String The username of the Mailchimp user who created or triggered the event, such as adding a note or responding to a conversation.
IsUser Boolean If the value is 'true', indicates that the message or event was created by a Mailchimp user rather than a subscriber.
HasRead Boolean If the value is 'true', indicates that the message has been opened and read by a user.
FromEmail String The email address of the contact who sent the message or reply associated with this event.
AvatarUrl String The Gravatar or profile image URL associated with the contact who sent the reply.
UpdatedAtTimestamp Datetime The date and time when the event or related record was last updated, formatted in ISO 8601.
NoteId String The unique identifier of a note associated with the contact or event.
NoteText String The full text of the note attached to the contact or event for internal tracking or collaboration.
MarketingPermissonText String The text describing the specific marketing permission granted by the subscriber, outlining the purpose of communication consent.
UpdatedBy String The name or identifier of the user who last updated the marketing permission record.
MarketingPermissionOptedIn Boolean If the value is 'true', indicates that the contact has opted in to receive marketing communications under the described permission.
OutreachId String The unique identifier for the outreach action, such as a campaign, ad, or automation that triggered the event.
OutreachType String The category or format of the outreach that caused the activity, such as 'email', 'ad', or 'survey'.
OutreachTitle String The title of the outreach that generated the event, helping link the engagement data to a specific marketing initiative.
StoreName String The name of the store associated with the contact or transaction, if the activity relates to an e-commerce event.
SignupCategory String Indicates how the subscriber was added to the list, such as via a signup form, import, or API integration.
OrderId String The unique identifier for the order associated with the event, linking marketing engagement to a specific purchase.
OrderTotal String The total value of the order formatted as a string, used to measure revenue influenced by campaigns.
OrderItems String A structured list of items purchased in the order, providing product-level details for e-commerce tracking.
OrderUrl String The URL where the order can be viewed or managed within the connected e-commerce platform.
EventName String The name of the recorded event, such as a form submission, link click, or purchase.
EventProperties String A structured datastore containing additional details and properties related to the recorded event.
SurveyId String The unique identifier of the survey associated with the event, if the activity relates to survey participation.
SurveyTitle String The title of the survey that triggered the event, allowing correlation between feedback and campaign performance.

CData Python Connector for Mailchimp

ListMemberGoals

Displays goal-tracking events for list members, such as website visits or conversions recorded by Mailchimp.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=
EmailId=

For example, the following query is processed server-side:

SELECT * FROM ListMemberGoals WHERE ListId = '121' AND EmailId = '11'

Columns

Name Type References Description
Id [KEY] String The unique identifier for the goal event, used to track and reference specific subscriber actions or milestones.
ListId String The unique identifier of the Mailchimp audience (list) associated with the subscriber who triggered the goal event.
EmailId String The unique identifier of the email campaign or automation message that led to the goal event, allowing attribution of the action to a specific email.
GoalsId String The unique identifier of the goal that was achieved or triggered, such as completing a purchase, visiting a page, or signing up.
GoalsEvent String The type of goal-related activity recorded, such as 'visited', 'completed', or 'converted', defining how the subscriber interacted with the tracked objective.
GoalsLastVisitedAt Datetime The most recent date and time the subscriber performed the tracked action related to this goal, formatted in ISO 8601.
GoalsData String A JSON object containing additional contextual data about the event, such as page URLs, campaign details, or conversion metrics.

CData Python Connector for Mailchimp

ListMemberTags

Returns the tags assigned to a list member.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
ListId=
MemberId=

For example, the following query is processed server-side:

SELECT * FROM ListMemberTags WHERE ListId = '12345' AND MemberId = '458' AND Id = '45'

Columns

Name Type References Description
Id [KEY] String The unique Id of the tag.
Name String The name of the tag. When inserting, if the name does not exist, it is created and assigned to the specified member.
TimeAdded Datetime The date and time the tag was added to the member.
ListId [KEY] String

Lists.Id

The Id of the list to which the tagged member belongs.
MemberId [KEY] String

ListMembers.Id

The Id of the member this tag is assigned to.

CData Python Connector for Mailchimp

ListSignupForms

Returns signup forms associated with a list.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=

For example, the following query is processed server-side:

SELECT * FROM ListSignupForms WHERE ListId = 'abc'

Columns

Name Type References Description
Header_ImageUrl String The URL of the header image for the signup form.
Header_Text String The text displayed in the signup form header.
Header_ImageWidth String The width of the header image.
Header_ImageHeight String The height of the header image.
Header_ImageAlt String The alt text for the header image.
Header_ImageLink String The URL the header image links to.
Header_ImageAlign String The alignment of the header image.

The allowed values are none, left, center, right.

Header_ImageBorderWidth String The border width of the header image.
Header_ImageBorderStyle String The border style of the header image.

The allowed values are none, solid, dotted, dashed, double, groove, outset, inset, ridge.

Header_ImageBorderColor String The border color of the header image.
Header_ImageTarget String The target attribute for the header image link.

The allowed values are _blank, null.

Contents String The body content options for the signup form.
Styles String An array of objects, each representing each element of signup forms.
SignupFormUrl String The URL of the signup form.
ListId [KEY] String

Lists.Id

A string that identifies the list associated with this signup form.

CData Python Connector for Mailchimp

ListsTagsSearch

Enables searching for specific tags applied to members within an audience list.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=
Name=, LIKE

Note: Only StartsWith patterns are supported server-side for the LIKE operator.

For example, the following queries are processed server-side:

SELECT * FROM ListsTagsSearch
SELECT * FROM ListsTagsSearch WHERE ListId = '123'
SELECT * FROM ListsTagsSearch WHERE Name = 'aaaa'
SELECT * FROM ListsTagsSearch WHERE Name LIKE 'aa%'

Columns

Name Type References Description
Id [KEY] String The unique identifier of the tag within the Mailchimp audience.
Name String The name of the tag. When inserting the tag name, if it does not exist, it is automatically created and assigned to the specified list member.
ListId [KEY] String

Lists.Id

The unique identifier of the Mailchimp list (audience) that the tag belongs to.

CData Python Connector for Mailchimp

ListSurveys

Returns all survey configurations associated with a specific audience list.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ListId=
Id=

For example, the following query is processed server-side:

SELECT * FROM ListSurveys WHERE ListId = '545578' AND Id = '092ec96'

Columns

Name Type References Description
Id [KEY] String The unique identifier of the survey within the Mailchimp account.
ListId String

Lists.Id

The unique identifier of the Mailchimp list (audience) associated with the survey.
Title String The title of the survey, as displayed to recipients.
Status String The current status of the survey, such as 'draft', 'published', or 'closed'.
CreatedAt Datetime The date and time when the survey was initially created.
UpdatedAt Datetime The date and time when the survey was last modified.
PublishedAt Datetime The date and time when the survey was published and made available to respondents.
HostedUrl String The public URL where the survey is hosted and can be accessed by participants.
WebId String The unique web identifier used to reference the survey in the Mailchimp web application.
IsPipedToInbox Boolean Indicates whether survey responses are automatically delivered to the user's Mailchimp inbox for review.
QuestionCount Integer The total number of questions included in the survey.
Questions String A structured list or array containing the individual questions that make up the survey.
ResponseCount Integer The total number of responses collected for the survey.

CData Python Connector for Mailchimp

ReportAbuse

Displays records of abuse complaints for a specific list or campaign.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
CampaignId=

For example, the following query is processed server-side:

SELECT * FROM ReportAbuse WHERE CampaignId = 'abc' AND Id = '556'

Columns

Name Type References Description
Id [KEY] String The unique identifier of the abuse report within the Mailchimp account.
CampaignId [KEY] String

Campaigns.Id

The unique identifier of the campaign that received the abuse complaint.
ListId [KEY] String

Lists.Id

The unique identifier of the audience (list) associated with the abuse report.
EmailId [KEY] String The list-specific identifier for the subscriber's email address that submitted the complaint.
EmailAddress String The email address of the subscriber who reported the message as spam or abuse.
Date Date The date and time when the abuse complaint was recorded.
MergeFields String A set of key-value pairs representing merge fields associated with the subscriber, where keys are merge tags and values contain subscriber data.
VIP Boolean If the value is 'true', it indicates that the subscriber has VIP status in the list.
ListIsActive Boolean If the value is 'true', it indicates that the associated audience (list) is currently active; if 'false', the list has been deleted or disabled.

CData Python Connector for Mailchimp

ReportAdvice

Returns a list of feedback based on a campaign's statistics.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

For example, the following query is processed server-side:

SELECT * FROM ReportAdvice WHERE CampaignId = 'abc'

Columns

Name Type References Description
CampaignId String

Campaigns.Id

The CampaignId for the table.
Type String The 'type' of message.

The allowed values are negative, positive, neutral.

Message String The advice message.

CData Python Connector for Mailchimp

ReportClickDetails

Returns a list of URLs and unique identifiers included in HTML and plain-text versions of a campaign.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
CampaignId=

For example, the following query is processed server-side:

SELECT * FROM ReportClickDetails WHERE CampaignId = 'abc' AND Id = '5659'

Columns

Name Type References Description
Id [KEY] String The unique identifier for the link.
Url String The URL for the link in the campaign.
TotalClicks Integer The number of total clicks for a given link.
ClickPercentage Double The percentage of total clicks a given link generated for a campaign.
UniqueClicks Integer The number of unique clicks for a given link.
UniqueClickPercentage Double The percentage of unique clicks a given link generated for a campaign.
LastClick Datetime The date and time for the last recorded click for a given link.
AbSplit_A String The click details for the A variation of an A/B split campaign.
AbSplit_B String The click details for the B variation of an A/B split campaign.
CampaignId [KEY] String

Campaigns.Id

The Id of the campaign.

CData Python Connector for Mailchimp

ReportClickDetailsMembers

Displays the subscribers who clicked on specific links within a campaign.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
EmailId=
CampaignId=
UrlId=

For example, the following query is processed server-side:

SELECT * FROM ReportClickDetailsMembers WHERE EmailId = '12a32' AND CampaignId = '123d' AND URLId = '3241s'

Columns

Name Type References Description
EmailId [KEY] String The list-specific identifier for the subscriber's email address within the campaign report.
EmailAddress String The subscriber's email address associated with the recorded clicks.
Clicks Integer The total number of times this subscriber clicked on the specific tracked link in the campaign.
CampaignId [KEY] String

Campaigns.Id

The unique identifier of the campaign in which the clicks were recorded.
UrlId [KEY] String The unique identifier of the tracked URL that the subscriber clicked on.
ListId [KEY] String

Lists.Id

The unique identifier of the audience (list) associated with the campaign.
ListIsActive Boolean If the value is 'true', the list is currently active; if 'false', it has been deleted or disabled.
ContactStatus String The current status of the subscriber in the list, such as subscribed, unsubscribed, deleted, non-subscribed, transactional, pending, or awaiting reconfirmation.
MergeFields String A collection of merge fields for the subscriber, where keys represent merge tags and values contain associated data (for example, first name or company).
VIP Boolean If the value is 'true', indicates that the subscriber holds VIP status in the list.

CData Python Connector for Mailchimp

ReportDomainPerformance

Statistics for the top-performing email domains in a campaign.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

For example, the following query is processed server-side:

SELECT * FROM ReportDomainPerformance WHERE CampaignId = 'abc'

Columns

Name Type References Description
CampaignId String

Campaigns.Id

The CampaignId for the table.
Domain String The name of the domain (gmail.com, hotmail.com, yahoo.com).
EmailsSent Integer The number of emails sent to that specific domain.
Bounces Integer The number of bounces at a domain.
Opens Integer The number of opens for a domain.
Clicks Integer The number of clicks for a domain.
Unsubs Integer The total number of unsubscribes for a domain.
Delivered Integer The number of successful deliveries for a domain.
EmailsPct Double The percentage of total emails that went to this domain.
BouncesPct Double The percentage of total bounces that came from this domain.
OpensPct Double The percentage of total opens that came from this domain.
ClicksPct Double The percentage of total clicks tht came from this domain.
UnsubsPct Double The percentage of total unsubscribes that came from this domain.
TotalSent Integer The total number of emails sent for the campaign.

CData Python Connector for Mailchimp

ReportEepUrls

Provides detailed activity reports for EepURLs (Mailchimp's link-tracking redirects).

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

For example, the following queries are processed server-side:

SELECT * FROM ReportEepUrls
SELECT * FROM ReportEepUrls WHERE CampaignId = '1121'

Columns

Name Type References Description
CampaignId String

Campaigns.Id

The unique identifier of the campaign associated with this EepURL performance report.
Eepurl String The shortened Mailchimp tracking URL (EepURL) used to monitor engagement and sharing activity for the campaign.
ClicksClicks Integer The total number of times recipients or visitors clicked on this tracked EepURL.
ClicksFirstClick Datetime The date and time when the first recorded click on this EepURL occurred.
ClicksLastClick Datetime The date and time when the most recent click on this EepURL occurred.
ClicksLocations String An array of geographic locations representing where clicks on this EepURL originated.
Referrers String An array of referrer sources, such as websites or social networks, that directed traffic to this EepURL.
TwitterTweets Integer The total number of tweets that included this EepURL.
TwitterRetweets Integer The total number of retweets involving this EepURL.
TwitterStatuses String An array of tweet statuses that mention or include this EepURL.
TwitterFirstTweet String The text or identifier of the first tweet that contained this EepURL.
TwitterLastTweet String The text or identifier of the most recent tweet that contained this EepURL.

CData Python Connector for Mailchimp

ReportEmailActivity

Returns a list of subscriber activity for members in a specific campaign.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

For example, the following query is processed server-side:

SELECT * FROM ReportEmailActivity WHERE CampaignId = '45a'

Columns

Name Type References Description
CampaignId [KEY] String

Campaigns.Id

The unique Id for the campaign.
ListId [KEY] String

Lists.Id

The unique Id for the list.
EmailId [KEY] String The list-specific Id for the given email address.
EmailAddress String The email address of the subscriber.
Activity String An array of objects, each showing an interaction with the email.
ListIsActive Boolean Indicates whether the list associated with this campaign is active. A value of false indicates the list is deleted or disabled.

CData Python Connector for Mailchimp

ReportingFacebookAds

Lists performance reports for Facebook ad campaigns managed through Mailchimp.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM ReportingFacebookAds
SELECT * FROM ReportingFacebookAds WHERE Id = '2'

Columns

Name Type References Description
Id [KEY] String A unique identifier for the Facebook ad report.
AudienceEmailSourceIsSegment Boolean A value of 'true' indicates that the audience email source is based on a segment.
AudienceEmailSourceListName String The name of the mailing list used as the audience source for the Facebook ad report.
AudienceEmailSourceName String The name assigned to the audience email source that defines the target group.
AudienceEmailSourceSegmentType String The segment type used for the audience email source, such as static or dynamic.
AudienceEmailSourceType String The type of audience email source, for example, a Mailchimp list or custom segment.
AudienceIncludeSourceInTarget Boolean If the value is 'true', the original source in the target audience for the campaign is included.
AudienceLookalikeCountryCode String The country code representing where lookalike audiences are targeted.
AudienceSourceType String The classification of the audience source used to generate the ad report.
AudienceTargetingSpecsGender Integer Specifies gender-based targeting criteria for the audience, if applicable.
AudienceTargetingSpecsInterests String Defines the audience's targeting interests, such as hobbies or categories of engagement.
AudienceTargetingSpecsLocationsCities String Lists the cities included in the location-based audience targeting.
AudienceTargetingSpecsLocationsCountries String Lists the countries targeted by the Facebook ad campaign.
AudienceTargetingSpecsLocationsRegions String Lists the regions targeted by the Facebook ad campaign.
AudienceTargetingSpecsLocationsZips String Specifies the zip codes targeted by the Facebook ad campaign.
AudienceTargetingSpecsMaxAge Integer The maximum age range defined in the audience targeting criteria.
AudienceTargetingSpecsMinAge Integer The minimum age range defined in the audience targeting criteria.
AudienceType String The type of audience, such as custom, lookalike, or saved.
AudienceActivityClicks String The total number of clicks generated by audience activity.
AudienceActivityImpressions String The total number of impressions recorded from audience activity.
AudienceActivityRevenue String The total revenue attributed to audience interactions with the ad.
BudgetCurrencyCode String The currency code used for the campaign's allocated budget.
BudgetDuration Integer The total duration of the campaign's budget period, typically measured in days.
BudgetTotalAmount Integer The total monetary amount allocated as the campaign's budget.
CanceledAt Datetime The date and time when the Facebook ad campaign was canceled.
ChannelFbPlacementAudience Boolean A value of 'true' indicates that the ad is placed in the Facebook Audience Network.
ChannelFbPlacementFeed Boolean A value of 'true' indicates that the ad appears in the Facebook feed.
ChannelIgPlacementFeed Boolean A value of 'true' indicates that the ad is displayed in the Instagram feed.
CreateTime Datetime The date and time when the Facebook ad report was created.
EmailSourceName String The name of the email source associated with the campaign.
EndTime Datetime The date and time when the Facebook ad campaign ended.
HasSegment Boolean A value of 'true' indicates that the ad report includes a defined audience segment.
Name String The name assigned to the Facebook ad report.
NeedsAttention Boolean A value of 'true' indicates that the Facebook ad report requires attention due to issues or alerts.
PausedAt Datetime The date and time when the Facebook ad campaign was paused.
PublishedTime Datetime The date and time when the Facebook ad campaign was published.
RecipientsListId String The unique identifier of the recipient list used for the Facebook ad report.
RecipientsListIsActive Boolean A value of 'true' indicates that the recipient list is active; 'false' if deleted or disabled.
RecipientsListName String The name of the recipient list associated with the Facebook ad report.
RecipientsRecipientCount Integer The total number of recipients included in the Facebook ad report.
RecipientsSegmentOptsConditions String The logical conditions that define the segment options for the recipients.
RecipientsSegmentOptsMatch String Specifies how segment conditions are matched, such as 'any' or 'all'.
RecipientsSegmentOptsPrebuiltSegmentId String The identifier for a prebuilt segment used in the recipient configuration.
RecipientsSegmentOptsSavedSegmentId Integer The identifier for a saved segment associated with the recipient list.
RecipientsSegmentText String A textual representation of the segment definition used for recipient selection.
ReportSummaryAverageDailyBudgetAmount Integer The average daily budget amount allocated to the Facebook ad campaign.
ReportSummaryAverageDailyBudgetCurrencyCode String The currency code associated with the average daily budget amount.
ReportSummaryAverageOrderAmountAmount Integer The average order value generated from ad-driven conversions.
ReportSummaryAverageOrderAmountCurrencyCode String The currency code associated with the average order value.
ReportSummaryClickRate Integer The overall click rate, expressed as a percentage of total impressions.
ReportSummaryClicks Integer The total number of clicks recorded in the Facebook ad report.
ReportSummaryComments Integer The number of comments generated through engagement with the ad.
ReportSummaryConversionRate Integer The rate at which ad viewers completed desired actions, such as purchases or sign-ups.
ReportSummaryCostPerClickAmount Integer The average cost incurred for each click on the ad.
ReportSummaryCostPerClickCurrencyCode String The currency code used for the cost per click calculation.
ReportSummaryEcommerceAverageOrderRevenue Integer The average revenue generated per e-commerce order associated with the ad.
ReportSummaryEcommerceCurrencyCode String The currency code for e-commerce-related revenue metrics.
ReportSummaryEcommerceTotalRevenue Integer The total e-commerce revenue attributed to the Facebook ad campaign.
ReportSummaryEngagements Integer The total number of engagements, including clicks, likes, comments, and shares.
ReportSummaryExtendedAtDatetime String The timestamp indicating when the campaign's duration was extended.
ReportSummaryExtendedAtTimezone String The timezone used for the 'extended at' timestamp.
ReportSummaryFirstTimeBuyers Integer The number of first-time customers acquired through the Facebook ad campaign.
ReportSummaryHasExtendedAdDuration Boolean A value of 'true' indicates that the ad's duration was extended beyond its initial schedule.
ReportSummaryImpressions Integer The total number of impressions recorded during the campaign.
ReportSummaryLikes Integer The total number of likes the ad received on Facebook or Instagram.
ReportSummaryOpenRate Integer The percentage of ad viewers or email recipients who opened the content.
ReportSummaryOpens Integer The total number of opens recorded for the Facebook ad.
ReportSummaryProxyExcludedOpenRate Integer The open rate excluding proxy-related traffic, for more accurate reporting.
ReportSummaryProxyExcludedOpens Integer The total number of opens after excluding proxy-related activity.
ReportSummaryProxyExcludedUniqueOpens Integer The count of unique opens excluding proxy-related traffic.
ReportSummaryReach Integer The number of unique users who saw the Facebook ad at least once.
ReportSummaryReturnOnInvestment Integer The overall return on investment (ROI) for the Facebook ad campaign.
ReportSummaryShares Integer The number of times the ad was shared by viewers.
ReportSummarySubscriberClicks Integer The total number of clicks generated by subscribers in the audience.
ReportSummarySubscribes Integer The total number of new subscriptions generated through the ad.
ReportSummaryTotalOrders Integer The total number of orders attributed to the ad campaign.
ReportSummaryTotalProductsSold Integer The total number of products sold as a result of the campaign.
ReportSummaryTotalSent Integer The total number of ad deliveries or sends during the campaign.
ReportSummaryUniqueClicks Integer The number of unique users who clicked on the ad.
ReportSummaryUniqueOpens Integer The number of unique users who opened the ad content.
ReportSummaryUniqueVisits Integer The number of unique site visits generated by the campaign.
ReportSummaryVisits Integer The total number of visits resulting from the campaign.
ShowReport Boolean A value of 'true' indicates that the report is visible or enabled for display.
StartTime Datetime The date and time when the Facebook ad campaign started running.
Status String The current operational status of the Facebook ad report, such as active, paused, or completed.
Thumbnail String The thumbnail image associated with the Facebook ad report for identification or preview.
Type String The classification or type of Facebook ad report, such as conversion or engagement.
UpdatedAt Datetime The date and time when the Facebook ad report was last updated.
WasCanceledByFacebook Boolean A value of 'true' indicates that the ad campaign was canceled automatically by Facebook.
WebId Integer The internal web identifier used for tracking the Facebook ad report within Mailchimp.

CData Python Connector for Mailchimp

ReportingLandingPages

Provides engagement and conversion metrics for landing pages published through Mailchimp.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM ReportingLandingPages
SELECT * FROM ReportingLandingPages WHERE Id = '2'

Columns

Name Type References Description
Id String The unique identifier assigned to the landing page within Mailchimp.
Clicks Integer The total number of clicks recorded on the landing page, including all link interactions.
ConversionRate Decimal The percentage of visitors who completed a desired action, such as subscribing or purchasing, on the landing page.
ListId String The unique identifier of the audience (list) associated with the landing page.
ListName String The name of the audience (list) that collects subscriber information from the landing page.
Name String The name assigned to the landing page for identification within Mailchimp.
PublishedAt Datetime The date and time when the landing page was published and became publicly accessible.
SignupTags String Tags automatically applied to subscribers who sign up through the landing page, useful for segmentation or automation.
Status String The current publication status of the landing page, such as 'draft', 'published', or 'unpublished'.
Subscribes Integer The total number of new subscriptions generated through the landing page.
TimeseriesDailyStatsClicks String A time series dataset showing the number of clicks per day for the landing page.
TimeseriesDailyStatsUniqueVisits String A time series dataset showing the number of unique daily visitors to the landing page.
TimeseriesDailyStatsVisits String A time series dataset showing the total number of daily visits, including repeat visits, to the landing page.
TimeseriesWeeklyStatsClicks String A time series dataset showing the number of clicks per week for the landing page.
TimeseriesWeeklyStatsUniqueVisits String A time series dataset showing the number of unique weekly visitors to the landing page.
TimeseriesWeeklyStatsVisits String A time series dataset showing the total number of weekly visits, including repeat visits, to the landing page.
Title String The title of the landing page as displayed to visitors in the browser or on the page header.
UniqueVisits Integer The number of distinct visitors who accessed the landing page, excluding repeat visits.
UnpublishedAt Datetime The date and time when the landing page was unpublished and removed from public access.
Url String The direct web address (URL) where the landing page is hosted.
Visits Integer The total number of visits to the landing page, including multiple visits by the same user.
WebId Integer The internal web identifier used by Mailchimp to reference the landing page.
EcommerceAverageOrderRevenue Decimal The average revenue per e-commerce order generated through the landing page.
EcommerceCurrencyCode String The three-letter ISO 4217 currency code used for e-commerce transactions related to the landing page.
EcommerceTotalOrders Integer The total number of e-commerce orders placed through or attributed to the landing page.
EcommerceTotalRevenue Decimal The total revenue generated from e-commerce transactions linked to the landing page.

CData Python Connector for Mailchimp

ReportingSurveyQuestionAnswers

Lists responses to individual survey questions for analysis.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
SurveyId=
QuestionId=

For example, the following queries are processed server-side:

SELECT * FROM ReportingSurveyQuestionAnswers
SELECT * FROM ReportingSurveyQuestionAnswers WHERE SurveyId = '07328' AND QuestionId = '123'

Columns

Name Type References Description
Id [KEY] String A unique identifier for the specific answer recorded in the survey results. Each answer is tied to one question within a single response.
SurveyId [KEY] String

Surveys.Id

The unique identifier of the survey that the answer belongs to. This value links the response data to its parent survey record.
QuestionId [KEY] String

ReportingSurveyQuestions.Id

The unique identifier of the specific question that this answer corresponds to within the survey.
ResponseId String The unique identifier for the full survey response submission that includes this answer. Multiple answers can belong to the same response.
SubmittedAt Datetime The exact date and time when the respondent submitted this answer to the survey.
Value String The value entered or selected by the respondent for this question. This can be a free-text answer, multiple-choice selection, or numeric rating, depending on the question type.
IsNewContact Boolean If the value is 'true', the answer was submitted by a newly added contact; if 'false', the respondent was an existing contact in the list.
ContactAvatarUrl String The URL of the contact's avatar image or profile picture, typically used to visually identify the respondent in reports.
ContactConsentsToOneToOneMessaging Boolean If the value is 'true', indicates that the respondent has explicitly consented to receive one-to-one messages or direct communications.
ContactContactId String The unique Mailchimp contact identifier associated with the respondent who submitted this survey answer. Unlike the email-based ID, this identifier can exist for non-email contacts as well.
ContactEmail String The email address of the respondent associated with this survey submission. Used to link the response to an existing or new subscriber.
ContactEmailId String The internal Mailchimp-generated identifier corresponding to the contact's email address. Useful for deduplication and cross-referencing within reports.
ContactFullName String The full name of the contact who provided the survey answer, if available from the respondent's profile or submission.
ContactPhone String The phone number associated with the contact who submitted the response, if provided in the contact record.
ContactStatus String The current subscription status of the contact who submitted the response.

The allowed values are Subscribed, Unsubscribed, Non-Subscribed, Cleaned, Archived.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
RespondentFamiliarityIs String A filter used to segment survey responses based on how familiar respondents are with the brand or sender. Possible values are 'new' (first-time contacts), 'known' (existing contacts), or 'unknown' (no familiarity data available).

CData Python Connector for Mailchimp

ReportingSurveyQuestions

Returns reporting data for survey questions.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
SurveyId=

For example, the following queries are processed server-side:

SELECT * FROM SurveyQuestions
SELECT * FROM SurveyQuestions WHERE Id = '2' AND SurveyId = '1121'

Columns

Name Type References Description
Id [KEY] String The Id of the survey question.
SurveyId [KEY] String

Surveys.Id

The Id of the survey.
Query String The question text.
Type String The type of this question.

The allowed values are pickOne, pickMany, range, text, email.

Options String The options for this question.
HasOther Boolean Indicates whether this question has an 'other' option.
OtherLabel String The label for the 'other' option.
IsRequired Boolean Indicates whether this question is required.
ContactCountsUnknown Integer The total number of unknown contacts who responded to this question.
ContactCountsKnown Integer The number of known contacts who responded to this question.
ContactCountsNew Integer The number of new contacts who responded to this question.
TotalResponses Integer The total number of responses to this question.
AverageRating Decimal The average rating for this question.
MergeFieldId Integer The Id of the merge field.
MergeFieldLabel String The label for the merge field.
MergeFieldType String The type for the merge field.

The allowed values are text, number, address, phone, date, url, imageurl, radio, dropdown, birthday, zip.

PlaceholderLabel String The placeholder label for this question.
RangeHighLabel String The label for the high end of the range.
RangeLowLabel String The label for the low end of the range.
SubscribeCheckboxEnabled Boolean Indicates whether the subscribe checkbox is enabled.
SubscribeCheckboxLabel String The label for the subscribe checkbox.

CData Python Connector for Mailchimp

ReportLocations

Displays the top geographic locations where campaign emails were opened.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

For example, the following query is processed server-side:

SELECT * FROM ReportLocations WHERE CampaignId = '45a'

Columns

Name Type References Description
CampaignId [KEY] String

Campaigns.Id

The unique identifier of the campaign associated with this location report. Each record represents campaign performance metrics for a specific region or country.
Region [KEY] String A specific geographical area, such as a city, state, or province, where campaign engagement activity occurred.
Opens Integer The total number of unique email opens recorded for this campaign within the specified region. Each recipient is counted once per region.
CountryCode String The two-letter ISO 3166 country code representing the country where the campaign engagement occurred.
RegionName String The display name of the region associated with the record. If the region value is blank, 'Rest of Country' is used to represent all remaining areas within the country.
ProxyExcludedOpens Integer The number of unique opens for the campaign in this region after excluding opens triggered by email clients that mask user activity through proxy services.

CData Python Connector for Mailchimp

ReportProductActivity

Provides campaign performance data linked to e-commerce product interactions.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

For example, the following queries are processed server-side:

SELECT * FROM ReportProductActivity
SELECT * FROM ReportProductActivity WHERE CampaignId = '1121'

Columns

Name Type References Description
CampaignId String

Reports.Id

The unique identifier of the campaign associated with this product activity report. It is used to link product performance metrics back to the originating email campaign.
CurrencyCode String The three-letter ISO 4217 code representing the currency in which product revenue and totals are reported.
ImageUrl String The URL of the product image used in the campaign or report. This helps visually identify the promoted item.
RecommendationPurchased Integer The number of times this product was purchased as a result of a campaign recommendation. It reflects the product's success within personalized recommendations.
RecommendationTotal Integer The total number of times this product was recommended across all campaign recipients.
Sku String The stock keeping unit (SKU) that uniquely identifies the product in the store or catalog system.
Title String The name or title of the product as it appears in the campaign or catalog.
TotalPurchased Decimal The total number of units of this product purchased by recipients who interacted with the campaign.
TotalRevenue Decimal The total revenue generated from purchases of this product that can be attributed to the campaign.

CData Python Connector for Mailchimp

Reports

Lists reports containing campaigns marked as Sent.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Type=
SendTime=, <, >, <=, >=

For example, the following queries are processed server-side:

SELECT * FROM Reports WHERE Id = '45a'
SELECT * FROM Reports WHERE Type = 'regular'
SELECT * FROM Reports WHERE SendTime = '2024-02-07 00:00:37.0'
SELECT * FROM Reports WHERE SendTime >= '2024-02-07 00:00:37.0'
SELECT * FROM Reports WHERE SendTime <= '2024-02-07 00:00:37.0'
SELECT * FROM Reports WHERE SendTime > '2024-02-07 00:00:37.0'
SELECT * FROM Reports WHERE SendTime < '2024-02-07 00:00:37.0'

Columns

Name Type References Description
Id [KEY] String A string that uniquely identifies this campaign.
CampaignTitle String The title of the campaign.
Type String The type of campaign (regular, plain-text, ab_split, rss, automation, variate, or auto).

The allowed values are regular, plain-text, ab_split, rss, automation, variate, auto.

EmailsSent Integer The total number of emails sent for this campaign.
AbuseReports Integer The number of abuse reports generated for this campaign.
Unsubscribed Integer The total number of unsubscribed members for this campaign.
SendTime Datetime The time and date a campaign was sent.
Bounces_HardBounces Integer The total number of hard bounced email addresses.
Bounces_SoftBounces Integer The total number of soft bounced email addresses.
Bounces_SyntaxErrors Integer The total number of addresses that were syntax-related bounces.
Forwards_ForwardsCount Integer
Forwards_ForwardsOpens Integer
Opens_OpensTotal Integer The total number of opens for a campaign.
Opens_UniqueOpens Integer The total number of unique subscribers who opened a campaign.
Opens_OpenRate Double The number of unique subscribers who opened divided by the total number of successful deliveries.
Opens_LastOpen Datetime The date and time of the last recorded open.
Clicks_ClicksTotal Integer The total number of clicks for the campaign.
Clicks_UniqueClicks Integer The total number of unique clicks for links across a campaign.
Clicks_UniqueSubscriberClicks Integer The total number of subscribers who clicked on a campaign.
Clicks_ClickRate Double The number of unique subscribers who clicked divided by the total number of successful deliveries.
Clicks_LastClick Datetime The date and time of the last recorded click for the campaign.
FacebookLikes_RecipientLikes Integer
FacebookLikes_UniqueLikes Integer
FacebookLikes_FacebookLikes Integer
IndustryStats_Type String
IndustryStats_OpenRate Double
IndustryStats_ClickRate Double
IndustryStats_BounceRate Double
IndustryStats_UnopenRate Double
IndustryStats_UnsubRate Double
IndustryStats_AbuseRate Double
ListStats_SubRate Double The average number of subscriptions per month for the list.
ListStats_UnsubRate Double The average number of unsubscriptions per month for the list.
ListStats_OpenRate Double The average open rate (a percentage represented as a number between 0 and 100) per campaign for the list.
ListStats_ClickRate Double The average click rate (a percentage represented as a number between 0 and 100) per campaign for the list.
AbSplit_A String
AbSplit_B String
Timewarp String An hourly breakdown of sends, opens, and clicks if a campaign is sent using timewarp.
Timeseries String An hourly breakdown of the performance of the campaign over the first 24 hours.
ShareReport_ShareUrl String The URL for the VIP report.
ShareReport_SharePassword String If password protected, the password for the VIP report.
DeliveryStatus String Updates on campaigns in the process of sending.
ListId String

Lists.Id

The unique list Id.
ListIsActive Boolean The status of the list used, namely if it's deleted or disabled.
ListName String The name of the list.
SubjectLine String The subject line for the campaign.
PreviewText String The preview text for the campaign.
RssLastSend String For RSS campaigns, the date and time of the last send in ISO 8601 format.
Ecommerce String E-Commerce stats for a campaign.
Opens_ProxyExcludedOpens Integer The total number of opens for a campaign, excluding opens from email clients that use proxies.
Opens_ProxyExcludedUniqueOpens Integer The total number of unique opens for a campaign, excluding opens from email clients that use proxies.
Opens_ProxyExcludedOpenRate Double The average unique open rate for a campaign, excluding opens from email clients that use proxies.
ListStats_ProxyExcludedOpenRate Double The average unique open rate (a percentage represented as a number between 0 and 100) per campaign for the list, excluding opens from email clients that use proxies.

CData Python Connector for Mailchimp

ReportSentTo

Returns subscribers who were sent a specific campaign.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
EmailId=
CampaignId=

For example, the following query is processed server-side:

SELECT * FROM ReportSentTo WHERE EmailId = '45a' AND CampaignId = '458'

Columns

Name Type References Description
EmailId [KEY] String The list-specific ID for the given email address.
EmailAddress String The email address of the subscriber.
Status String The status of the member ('sent', 'hard' for hard bounce, or 'soft' for soft bounce).

The allowed values are sent, hard, soft.

OpenCount Integer The number of times a campaign was opened by this member.
LastOpen String The date and time of the last open for this member.
AbsplitGroup String For A/B Split Campaigns, the group the member was a part of ('a', 'b', or 'winner').

The allowed values are a, b, winner.

GmtOffset Integer For campaigns sent with timewarp, the time zone group the member is a part of.
CampaignId [KEY] String

Campaigns.Id

The Id of the campaign.
ListId [KEY] String

Lists.Id

The Id of the list.
ListIsActive Boolean Indicates whether the list used for this campaign is active. A value of false indicates the list is deleted or disabled.
MergeFields String A dictionary of merge fields where the keys are the merge tags. See the Merge Fields documentation for more about the structure.
VIP Boolean Indicates whether the subscriber has VIP status.

CData Python Connector for Mailchimp

ReportSubReports

Lists child campaign reports.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
CampaignId=

For example, the following queries are processed server-side:

SELECT * FROM ReportSubReports
SELECT * FROM ReportSubReports WHERE CampaignId = '1121'

Columns

Name Type References Description
Id [KEY] String A unique identifier for the campaign.
CampaignId [KEY] String The campaign ID for the child campaign.
AbSplitAAbuseReports Integer Number of abuse reports for variant A.
AbSplitABounces Integer Number of bounces for variant A.
AbSplitAForwards Integer Number of forwards for variant A.
AbSplitAForwardsOpens Integer Number of opens from forwards for variant A.
AbSplitALastOpen String Timestamp of the last open for variant A.
AbSplitAOpens Integer Total number of opens for variant A.
AbSplitARecipientClicks Integer Number of recipient clicks for variant A.
AbSplitAUniqueOpens Integer Number of unique opens for variant A.
AbSplitAUnsubs Integer Number of unsubscribes for variant A.
AbSplitBAbuseReports Integer Number of abuse reports for variant B.
AbSplitBBounces Integer Number of bounces for variant B.
AbSplitBForwards Integer Number of forwards for variant B.
AbSplitBForwardsOpens Integer Number of opens from forwards for variant B.
AbSplitBLastOpen String Timestamp of the last open for variant B.
AbSplitBOpens Integer Total number of opens for variant B.
AbSplitBRecipientClicks Integer Number of recipient clicks for variant B.
AbSplitBUniqueOpens Integer Number of unique opens for variant B.
AbSplitBUnsubs Integer Number of unsubscribes for variant B.
CampaignTitle String The title of the child campaign.
EmailsSent Integer The total number of emails sent for the campaign.
AbuseReports Integer The total number of abuse reports for the campaign.
Unsubscribed Integer The total number of recipients who unsubscribed from the campaign.
BouncesHardBounces Integer The total number of hard bounces for the campaign.
BouncesSoftBounces Integer The total number of soft bounces for the campaign.
BouncesSyntaxErrors Integer The total number of syntax errors for the campaign.
OpensOpensTotal Integer The total number of opens for the campaign.
OpensUniqueOpens Integer The total number of unique opens for the campaign.
OpensOpenRate Decimal The open rate for the campaign.
OpensLastOpen Datetime The date and time of the last open for the campaign.
OpensProxyExcludedOpens Integer The total number of proxy excluded opens for the campaign.
OpensProxyExcludedUniqueOpens Integer The total number of proxy excluded unique opens for the campaign.
OpensProxyExcludedOpenRate Decimal The proxy excluded open rate for the campaign.
ClicksClicksTotal Integer The total number of clicks for the campaign.
ClicksUniqueClicks Integer The total number of unique clicks for the campaign.
ClicksUniqueSubscriberClicks Integer The total number of unique subscriber clicks for the campaign.
ClicksClickRate Decimal The click rate for the campaign.
ClicksLastClick Datetime The date and time of the last click for the campaign.
ForwardsForwardsCount Integer The total number of forwards for the campaign.
ForwardsForwardsOpens Integer The total number of opens from forwards for the campaign.
ListId String The list ID associated with the campaign.
ListName String The name of the list associated with the campaign.
ListIsActive Boolean Whether the list is active.
ListStatsSubRate Decimal The subscribe rate for the list.
ListStatsUnsubRate Decimal The unsubscribe rate for the list.
ListStatsOpenRate Decimal The open rate for the list.
ListStatsClickRate Decimal The click rate for the list.
ListStatsProxyExcludedOpenRate Decimal The proxy excluded open rate for the list.
DeliveryStatusEnabled Boolean Whether delivery status is enabled for the campaign.
DeliveryStatusCanCancel Boolean Whether the campaign delivery can be canceled.
DeliveryStatusEmailsSent Integer The number of emails sent for the campaign delivery status.
DeliveryStatusEmailsCanceled Integer The number of emails canceled for the campaign delivery status.
DeliveryStatusStatus String The status of the campaign delivery.

The allowed values are delivering, delivered, canceling, canceled.

FacebookLikesFacebookLikes Integer The number of Facebook likes for the campaign.
FacebookLikesRecipientLikes Integer The number of recipient Facebook likes for the campaign.
FacebookLikesUniqueLikes Integer The number of unique Facebook likes for the campaign.
EcommerceCurrencyCode String The currency code for ecommerce transactions in the campaign.
EcommerceTotalOrders Integer The total number of ecommerce orders for the campaign.
EcommerceTotalRevenue Decimal The total revenue from ecommerce orders for the campaign.
EcommerceTotalSpent Decimal The total amount spent in ecommerce orders for the campaign.
IndustryStatsType String The industry type for the campaign.
IndustryStatsOpenRate Decimal The open rate for the campaign's industry.
IndustryStatsClickRate Decimal The click rate for the campaign's industry.
IndustryStatsBounceRate Decimal The bounce rate for the campaign's industry.
IndustryStatsAbuseRate Decimal The abuse rate for the campaign's industry.
IndustryStatsUnsubRate Decimal The unsubscribe rate for the campaign's industry.
IndustryStatsUnopenRate Decimal The unopen rate for the campaign's industry.
PreviewText String The preview text for the campaign.
SendTime Datetime The date and time the campaign was sent.
SubjectLine String The subject line of the campaign.
Timeseries String Timeseries data for the campaign.
Type String The type of the campaign.

The allowed values are regular, plain-text, ab_split, rss, automation, variate, auto.

RssLastSend Datetime The date and time of the last RSS send for the campaign.
ShareReportShareUrl String The shareable URL for the campaign report.
ShareReportSharePassword String The password for the shared campaign report.
Timewarp String The timewarp setting for the campaign.

CData Python Connector for Mailchimp

ReportUnsubscribes

Lists members who unsubscribed from a specific campaign, including timestamps and reasons.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
EmailId=
CampaignId=

For example, the following query is processed server-side:

SELECT * FROM ReportUnsubscribes WHERE EmailId = '45a' AND CampaignId = '458'

Columns

Name Type References Description
EmailId [KEY] String The unique list-specific identifier for the subscriber's email address. It is used to link the unsubscribe event to the member within the mailing list.
EmailAddress String The email address of the subscriber who opted out of receiving further campaign messages.
Timestamp Datetime The exact date and time when the subscriber unsubscribed from the campaign.
Reason String If provided, the subscriber's stated reason for unsubscribing. This can help identify common causes of opt-outs and improve future campaigns.
CampaignId [KEY] String

Campaigns.Id

The unique identifier of the campaign associated with the unsubscribe event.
ListId [KEY] String

Lists.Id

The unique identifier of the mailing list from which the subscriber unsubscribed.
ListIsActive Boolean Indicates whether the associated mailing list is currently active ('true') or has been deleted or disabled ('false').
MergeFields String A set of dynamic data fields containing personalized subscriber information. Each key represents a merge tag used in the campaign, such as name or location.
VIP Boolean Indicates whether the subscriber was marked as a VIP member of the list prior to unsubscribing.

CData Python Connector for Mailchimp

SurveyResponses

Returns a list of responses for a survey.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
SurveyId=
AnsweredQuestion=
ChoseAnswer=
RespondentFamiliarityIs=

For example, the following queries are processed server-side:

SELECT * FROM SurveyResponses WHERE SurveyId = '4548' AND AnsweredQuestion = '81215a'
SELECT * FROM SurveyResponses WHERE SurveyId = '4548' AND ChoseAnswer = '81215a'
SELECT * FROM SurveyResponses WHERE SurveyId = '4548' AND RespondentFamiliarityIs = 'new'

Columns

Name Type References Description
Id [KEY] String The Id of the survey response.
SubmittedAt Datetime The date and time when the survey response was submitted.
ContactEmailId String The MD5 hash of the lowercase version of the list member email address.
ContactId String The Id of this contact.
ContactStatus String The contact's current status.

The allowed values are Subscribed, Unsubscribed, Non-Subscribed, Cleaned, Archived.

ContactEmail String The contact's email address.
ContactFullName String The contact's full name.
ContactConsentsToOneToOneMessaging Boolean Indicates whether a contact consents to 1:1 messaging.
ContactAvatarUrl String The URL for the contact's avatar or profile image.
IsNewContact Boolean Indicates whether this contact was added to the Mailchimp audience via this survey.
SurveyId [KEY] String

Surveys.Id

A string that uniquely identifies this survey.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AnsweredQuestion Integer The Id of the question that was answered.
ChoseAnswer String The Id of the option chosen to filter responses on.
RespondentFamiliarityIs String Filters survey responses by the familiarity of the respondents. Possible values: 'new', 'known', or 'unknown'.

CData Python Connector for Mailchimp

SurveyResponsesResults

Returns a list of answer objects in a survey response.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ResponseId=

For example, the following query is processed server-side:

SELECT * FROM SurveyResponsesResults WHERE ResponseId = '4548'

Filtering Guidelines

The API returns results based solely on the validity of ResponseId. This means that you cannot filter by SurveyId, as it is not used to determine results regardless of whether a linked survey exists.

Recommended Approach for Accurate Mapping

To ensure accurate mapping between SurveyId and ResponseId, query the SurveyResponses view and use only validated mappings when populating or referencing this view.

Columns

Name Type References Description
SurveyId [KEY] String

Surveys.Id

The Id of the survey.
ResponseId [KEY] String

SurveyResponses.Id

The Id of the survey response.
QuestionId [KEY] String The Id of the survey question.
QuestionType String The survey question type.
Query String The survey question text.
Answer String The respondent's answer text.

CData Python Connector for Mailchimp

Surveys

Returns reporting data for surveys.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM Surveys WHERE Id = '1245'

Columns

Name Type References Description
Id [KEY] String A string that uniquely identifies this survey.
WebId Integer The Id used in the Mailchimp web application.
ListId String The Id of the list connected to this survey.
ListName String The name of the list connected to this survey.
Title String The title of the survey.
Url String The URL for the survey.
Status String The status of the survey.

The allowed values are published, unpublished.

PublishedAt Datetime The date and time the survey was published.
CreatedAt Datetime The date and time the survey was created.
UpdatedAt Datetime The date and time the survey was last updated.
TotalResponses Integer The total number of responses to this survey.

CData Python Connector for Mailchimp

VerifiedDomains

Lists sending domains verified for use with Mailchimp campaigns and transactional emails.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Domain=

For example, the following queries are processed server-side:

SELECT * FROM VerifiedDomains
SELECT * FROM VerifiedDomains WHERE Domain = 'abc.com'

Columns

Name Type References Description
Domain [KEY] String The fully qualified domain name (for example, example.com) that is connected to the account for sending or tracking email.
Authenticated Boolean Indicates whether the domain has been authenticated for outbound email sending, meaning the required DomainKeys Identified Mail (DKIM) and Sender Policy Framework (SPF) records are correctly configured.
IsFreeEmailProvider Boolean Indicates whether the domain belongs to a free email service provider such as Gmail, Yahoo, or Outlook. Domains from free providers typically cannot be authenticated for custom sending.
Status String Displays the current configuration status of the domain, such as pending verification, verified, or authentication failed.

The allowed values are VERIFICATION_IN_PROGRESS, VERIFIED, EXPIRED, ERROR, AUTHENTICATION_IN_PROGRESS, AUTHENTICATION_ERROR, AUTHENTICATED.

VerificationEmail String Shows the email address used to verify ownership of the domain. This address typically receives the verification message containing the confirmation link or token.
VerificationSent Datetime Specifies the date and time when the verification email was sent to the domain owner or administrator, allowing tracking of the verification process.
Verified Boolean Indicates whether the domain verification process has been successfully completed and confirmed, enabling it to be used for authenticated email sending.

CData Python Connector for Mailchimp

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with Mailchimp.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Mailchimp, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for Mailchimp Stored Procedures

Name Description
AddOrRemoveMemberTags Adds or removes tags from one or more list members. If a tag does not exist and is marked as 'active', Mailchimp automatically creates it.
AddSubscriberToWorkflowEmail Manually adds a subscriber to an automation workflow, bypassing trigger-based entry conditions.
CampaignCancel Cancels a scheduled regular or plain-text campaign that has not yet been sent.
CampaignPause Pauses an active Mailchimp RSS campaign, temporarily stopping further sends.
CampaignResume Resumes a previously paused Mailchimp RSS campaign.
CampaignSchedule Schedules a campaign for delivery using either Timewarp or batch scheduling options (not both).
CampaignSend Immediately sends a Mailchimp campaign to its intended audience.
CampaignTest Sends a test email version of a campaign to verify design and content before sending.
CampaignUnschedule Unschedules a previously scheduled campaign, preventing it from being sent.
DeleteECommerceCarts Deletes an e-commerce cart record from the connected store.
DownloadAccountExports Downloads an account export file by export Id.
GetOAuthAccessToken Obtains the OAuth access token to be used for authentication with MailChimp.
GetOAuthAuthorizationURL Obtains the OAuth authorization URL used for authentication with MailChimp.
PublishLandingPage Publishes a landing page that is in draft, unpublished, or has been previously published and edited.
RemoveSubscriberFromWorkflow Removes a subscriber from a classic automation workflow at any stage, regardless of sent emails. Once removed, the subscriber cannot be re-added to the same workflow.
UnpublishLandingPage Unpublishes a landing page that is in draft or has been published.
UpdateECommerceCarts Updates an existing e-commerce cart record. To modify individual line items, use the ECommerceCartLines table.
VerifyConnectedSiteScript Verifies that the connected sites script has been installed, either via the script URL or fragment.
ViewTemplatesDefaultContent Retrieves editable sections and default content for a specific email template.

CData Python Connector for Mailchimp

AddOrRemoveMemberTags

Adds or removes tags from one or more list members. If a tag does not exist and is marked as 'active', Mailchimp automatically creates it.

Stored Procedure-Specific Information

Tags can be provided either as a directly specified array or via a TEMP table.

Specifying the Array

The following example passes the tags directly as a JSON array.
EXEC AddOrRemoveMemberTags TagsAggregate = '[{"name": "TestName11","status": "inactive"},{"name": "TestName7","status": "active"}]', listid = '123', MemberId = 'test'

Using a TEMP Table

The following example inserts tags into a TEMP table.
INSERT INTO TagsAggregate#TEMP (Name, Status) VALUES ('TestName11', 'inactive')
INSERT INTO TagsAggregate#TEMP (Name, Status) VALUES ('TestName7', 'active')
EXEC AddOrRemoveMemberTags TagsAggregate = 'TagsAggregate#TEMP', listid = '123', MemberId = 'test'

Input

Name Type Required Description
ListId String True The unique identifier of the audience list where the member is subscribed.
MemberId String True The MD5 hash of the lowercase version of the member's email address, used to identify the subscriber within the list.
TagsAggregate String True A comma-separated list of tags to be added or removed from the specified list member.
IsSyncing String False If the value is 'true', automations triggered by tag changes will not run during the synchronization process. Use this to prevent automation triggers when updating tags in bulk.

Result Set Columns

Name Type Description
Success String If the value is 'true', the tag update operation completed successfully. If the value is 'false', the operation failed.

CData Python Connector for Mailchimp

AddSubscriberToWorkflowEmail

Manually adds a subscriber to an automation workflow, bypassing trigger-based entry conditions.

Input

Name Type Required Description
WorkflowId String True The unique identifier of the automation workflow to which the subscriber is added.
EmailId String True The identifier of the specific email within the automation workflow that the subscriber should receive.
EmailAddress String True The email address of the subscriber to be added to the workflow, bypassing standard trigger conditions.

Result Set Columns

Name Type Description
Success String If the value is 'true', the subscriber was successfully added to the automation workflow. If the value is 'false', the operation failed.

CData Python Connector for Mailchimp

CampaignCancel

Cancels a scheduled regular or plain-text campaign that has not yet been sent.

Input

Name Type Required Description
CampaignID String True The unique identifier of the Mailchimp campaign to be canceled before it is sent.

Result Set Columns

Name Type Description
Success String If the value is 'true', the campaign was successfully canceled. If the value is 'false', the cancellation failed.

CData Python Connector for Mailchimp

CampaignPause

Pauses an active Mailchimp RSS campaign, temporarily stopping further sends.

Input

Name Type Required Description
CampaignID String True The unique identifier of the Mailchimp campaign to be paused. The operation applies only to active RSS or recurring campaigns.

Result Set Columns

Name Type Description
Success String If the value is 'true', the campaign was successfully paused. If the value is 'false', the operation failed.

CData Python Connector for Mailchimp

CampaignResume

Resumes a previously paused Mailchimp RSS campaign.

Input

Name Type Required Description
CampaignID String True The unique identifier of the Mailchimp campaign to be resumed after being paused. The operation applies to paused RSS or recurring campaigns.

Result Set Columns

Name Type Description
Success String If the value is 'true', the campaign was successfully resumed. If the value is 'false', the operation failed.

CData Python Connector for Mailchimp

CampaignSchedule

Schedules a campaign for delivery using either Timewarp or batch scheduling options (not both).

Input

Name Type Required Description
CampaignID String True The unique identifier of the Mailchimp campaign to be scheduled for delivery.
ScheduleTime String True The local date and time when the campaign is scheduled to send. Campaigns can only be scheduled on the quarter-hour (:00, :15, :30, or :45).
Timewarp String False If the value is 'true', the campaign uses Mailchimp's Timewarp feature to send emails based on recipients' local time zones.

The default value is false.

BatchCount String False Specifies the number of batches in which the campaign should be sent to manage delivery volume.
BatchDelay String False The delay between each batch in minutes when using batch sending.

Result Set Columns

Name Type Description
Success String If the value is 'true', the campaign was successfully scheduled. If the value is 'false', the operation failed.

CData Python Connector for Mailchimp

CampaignSend

Immediately sends a Mailchimp campaign to its intended audience.

Input

Name Type Required Description
CampaignID String True The unique identifier of the Mailchimp campaign to be sent to its target audience.

Result Set Columns

Name Type Description
Success String If the value is 'true', the campaign was successfully sent. If the value is 'false', the operation failed.

CData Python Connector for Mailchimp

CampaignTest

Sends a test email version of a campaign to verify design and content before sending.

Input

Name Type Required Description
CampaignID String True The unique identifier of the Mailchimp campaign to send as a test.
TestEmails String True A comma-separated list of recipient email addresses to which the test campaign will be sent.
SendType String True Specifies the format of the test email to send.

The allowed values are html, plaintext.

The default value is html.

Result Set Columns

Name Type Description
Success String If the value is 'true', the test email was sent successfully. If the value is 'false', the operation failed.

CData Python Connector for Mailchimp

CampaignUnschedule

Unschedules a previously scheduled campaign, preventing it from being sent.

Input

Name Type Required Description
CampaignID String True The unique identifier of the Mailchimp campaign that is scheduled to be unsent or removed from the send queue.

Result Set Columns

Name Type Description
Success String If the value is 'true', the campaign was successfully unscheduled. If the value is 'false', the operation failed.

CData Python Connector for Mailchimp

DeleteECommerceCarts

Deletes an e-commerce cart record from the connected store.

Input

Name Type Required Description
StoreId String True The unique identifier of the store containing the e-commerce cart to be deleted. Each store represents a connected e-commerce integration within the Mailchimp account.
Id String True The unique identifier of the specific shopping cart to delete from the selected store. This value corresponds to the cart record previously created or retrieved through the API.

Result Set Columns

Name Type Description
Success String If the value is 'true', the cart was successfully deleted from the store. If the value is 'false', the operation failed or the specified cart could not be found.

CData Python Connector for Mailchimp

DownloadAccountExports

Downloads an account export file by export Id.

Input

Name Type Required Description
ExportId String True The Id of the account export to download.
FileLocation String False The file system path where the downloaded file is saved.
Encoding String False The encoding type used for the FileData output.

The allowed values are NONE, BASE64.

The default value is BASE64.

Result Set Columns

Name Type Description
FileData String The content of the downloaded file, returned when neither FileLocation nor FileStream is provided.
Success String Indicates whether the download was successful.

CData Python Connector for Mailchimp

GetOAuthAccessToken

Obtains the OAuth access token to be used for authentication with MailChimp.

Input

Name Type Required Description
AuthMode String True The type of authentication mode to use.

The allowed values are APP, WEB.

The default value is WEB.

Verifier String False The verifier code returned by MailChimp after permission for the app to connect has been granted. WEB AuthMode only.
CallbackURL String False This field determines where the response is sent. The value of this parameter must exactly match one of the values registered in the APIs Console, including the HTTP or HTTPS schemes, capitalization, and trailing forward slash ('/').
State String False This field indicates any state that may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to MailChimp authorization server and back. Uses include redirecting the user to the correct resource in your site, using nonces, and mitigating cross-site request forgery.

Result Set Columns

Name Type Description
OAuthAccessToken String The authentication token returned from MailChimp. This can be used in subsequent calls to other operations for this particular service.
ExpiresIn String The remaining lifetime on the access token.
DataCenter String The datacenter for the user.

CData Python Connector for Mailchimp

GetOAuthAuthorizationURL

Obtains the OAuth authorization URL used for authentication with MailChimp.

Input

Name Type Required Description
CallbackURL String False This field determines where the response is sent. The value of this parameter must exactly match one of the values registered in the APIs Console, including the HTTP or HTTPS schemes, case, and trailing forward slash ('/').
State String False This field indicates any state that may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the MailChimp authorization server and back. Possible uses include redirecting the user to the correct resource in your site, using nonces, and mitigating cross-site request forgery.

Result Set Columns

Name Type Description
URL String The URL to complete user authentication.

CData Python Connector for Mailchimp

PublishLandingPage

Publishes a landing page that is in draft, unpublished, or has been previously published and edited.

Stored Procedure-Specific Information

To run this procedure, you must specify the PageId input parameter. For example:

EXEC PublishLandingPage PageId = 'your_page_id'

Input

Name Type Required Description
PageId String True The unique id for the page.

Result Set Columns

Name Type Description
Success String Indicates whether the operation was successful.

CData Python Connector for Mailchimp

RemoveSubscriberFromWorkflow

Removes a subscriber from a classic automation workflow at any stage, regardless of sent emails. Once removed, the subscriber cannot be re-added to the same workflow.

Input

Name Type Required Description
WorkflowId String True The unique identifier of the automation workflow from which the subscriber should be removed.
EmailAddress String True The email address of the subscriber to remove from the specified automation workflow.

Result Set Columns

Name Type Description
Success String Indicates whether the operation to remove the subscriber from the workflow was successful.

CData Python Connector for Mailchimp

UnpublishLandingPage

Unpublishes a landing page that is in draft or has been published.

Stored Procedure-Specific Information

To run this procedure, you must specify the PageId input parameter. For example:

EXEC UnpublishLandingPage PageId = 'your_page_id'

Input

Name Type Required Description
PageId String True The unique id for the page.

Result Set Columns

Name Type Description
Success String Indicates whether the operation was successful.

CData Python Connector for Mailchimp

UpdateECommerceCarts

Updates an existing e-commerce cart record. To modify individual line items, use the ECommerceCartLines table.

Input

Name Type Required Description
StoreId String True The unique identifier of the e-commerce store where the cart exists.
Id String True The unique identifier of the shopping cart to be updated.
Customer String False The customer information associated with the cart. For existing customers, include only the customer identifier to prevent duplication.
CampaignId String False The Id of the marketing campaign associated with the cart.
CheckoutUrl String False The URL customers can use to access and complete the checkout process for this cart.
CurrencyCode String False The three-letter ISO 4217 currency code used for all financial amounts in the cart.
OrderTotal Decimal False The total monetary value of the cart, excluding taxes and discounts.
TaxTotal Decimal False The total amount of tax applied to the cart.

Result Set Columns

Name Type Description
Success String Indicates whether the cart update was successful.
Id String The unique identifier of the updated cart.
StoreId String The unique identifier of the store associated with the updated cart.
Customer String The details of the customer linked to the updated cart.
CampaignId String The Id of the marketing campaign tied to the updated cart.
CheckoutUrl String The current checkout URL for the updated cart.
CurrencyCode String The three-letter ISO 4217 currency code used for the cart's financial values.
OrderTotal Decimal The total monetary value of the cart after the update, representing all line items before taxes.
TaxTotal Decimal The total tax applied to the cart after the update.

CData Python Connector for Mailchimp

VerifyConnectedSiteScript

Verifies that the connected sites script has been installed, either via the script URL or fragment.

Stored Procedure-Specific Information

To run this procedure, you must specify the ConnectedSiteId input parameter. For example:

EXEC VerifyConnectedSiteScript ConnectedSiteId = 'your_site_id'

Input

Name Type Required Description
ConnectedSiteId String True The unique id for the site.

Result Set Columns

Name Type Description
Success String Indicates whether the operation was successful.

CData Python Connector for Mailchimp

ViewTemplatesDefaultContent

Retrieves editable sections and default content for a specific email template.

Input

Name Type Required Description
TemplateId String True Specifies the unique identifier of the email template to retrieve. This value determines which template's default content will be returned.

Result Set Columns

Name Type Description
* String Returns all available fields related to the default content of the specified template, including text, HTML sections, and editable regions defined in the template structure.

CData Python Connector for Mailchimp

Transactional Data Model

Tables

The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Mailchimp account.

The following tables are shipped with the connector:

Table Description
Allowlists Lists all sender addresses or domains approved to send transactional messages through Mailchimp Transactional.
MessageContent Returns the full content of transactional messages sent through the Mailchimp Transactional account, including subject, body, and related metadata.
Messages Lists transactional messages sent through the Mailchimp Transactional account, including delivery status and recipient information.
ScheduledEmails Lists transactional emails scheduled for future delivery in the Mailchimp Transactional account.
Senders Lists authorized senders configured in the Mailchimp Transactional account.
Tags Lists available tags used to categorize transactional emails.
Templates Contains all transactional email templates stored in the account.
UserInfos Provides account-level information about Mailchimp Transactional users, including usage and limits.

Stored Procedures

Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard CRUD operations, including managing scheduled email.

CData Python Connector for Mailchimp

Tables

The connector models the data in Mailchimp as a list of tables in a relational database that can be queried using standard SQL statements.

CData Python Connector for Mailchimp Tables

Name Description
Allowlists Returns and manages the allowlist of email addresses.
Tags Returns sending statistics for tags, including reputation and email metrics across various time periods.
Templates Returns and manages email templates, including draft and published versions.

CData Python Connector for Mailchimp

Allowlists

Returns and manages the allowlist of email addresses.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Email=

For example, the following query is processed server-side:

SELECT * FROM Allowlists WHERE Email = 'test@gmail.com'

Insert

The Email column is required for INSERT operations.

INSERT INTO Allowlists (Email) VALUES ('abc@test.com')

Delete

The Email column is required for DELETE operations.

DELETE FROM Allowlists WHERE Email = 'abc@test.com'

Columns

Name Type ReadOnly Description
Email [KEY] String False

An email address to add to the allowlist.

CreatedAt Datetime True

A description of why the email was allowlisted.

Detail String True

When the email was added to the allowlist.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Comment String

An optional description of why the email was added to the allowlist. Only used for INSERT.

CData Python Connector for Mailchimp

Tags

Returns sending statistics for tags, including reputation and email metrics across various time periods.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Tag=

For example, the following query is processed server-side:

SELECT * FROM Tags WHERE Tag = 'welcome'

Delete

The Tag column is required for DELETE operations.

DELETE FROM Tags WHERE Tag = 'welcome'

Columns

Name Type ReadOnly Description
Tag [KEY] String True

The actual tag as a string.

Reputation Integer True

The tag's current reputation on a scale from 0 to 100.

Sent Integer True

The total number of messages sent by this sender.

HardBounces Integer True

The total number of hard bounces by messages by this sender.

SoftBounces Integer True

The total number of soft bounces by messages by this sender.

Rejects Integer True

The total number of rejected messages by this sender.

Complaints Integer True

The total number of spam complaints received for messages by this sender.

Unsubs Integer True

The total number of unsubscribe requests received for messages by this sender.

Opens Integer True

The total number of times messages by this sender have been opened.

Clicks Integer True

The total number of times tracked URLs in messages by this sender have been clicked.

UniqueOpens Integer True

The number of unique opens for emails sent for this sender.

UniqueClicks Integer True

The number of unique clicks for emails sent for this sender.

StatsTodaySent Integer True

The number of emails sent with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsTodayHardBounces Integer True

The number of emails hard bounced with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsTodaySoftBounces Integer True

The number of emails soft bounced with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsTodayRejects Integer True

The number of emails rejected for sending this sender so far today. This column will populated when Id is specified in WHERE clause.

StatsTodayComplaints Integer True

The number of spam complaints with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsTodayUnsubs Integer True

The number of unsubscribes with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsTodayOpens Integer True

The number of times emails have been opened with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsTodayClicks Integer True

The number of URLs that have been clicked with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsTodayUniqueOpens Integer True

The number of unique opens for emails sent with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsTodayUniqueClicks Integer True

The number of unique clicks for emails sent with this tag so far today. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysSent Integer True

The number of emails sent with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysHardBounces Integer True

The number of emails hard bounced with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysSoftBounces Integer True

The number of emails soft bounced with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysRejects Integer True

The number of emails rejected for sending this sender in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysComplaints Integer True

The number of spam complaints with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysUnsubs Integer True

The number of unsubscribes with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysOpens Integer True

The number of times emails have been opened with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysClicks Integer True

The number of URLs that have been clicked with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysUniqueOpens Integer True

The number of unique opens for emails sent with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast7DaysUniqueClicks Integer True

The number of unique clicks for emails sent with this tag in the last 7 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysSent Integer True

The number of emails sent with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysHardBounces Integer True

The number of emails hard bounced with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysSoftBounces Integer True

The number of emails soft bounced with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysRejects Integer True

The number of emails rejected for sending this sender in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysComplaints Integer True

The number of spam complaints with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysUnsubs Integer True

The number of unsubscribes with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysOpens Integer True

The number of times emails have been opened with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysClicks Integer True

The number of URLs that have been clicked with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysUniqueOpens Integer True

The number of unique opens for emails sent with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast30DaysUniqueClicks Integer True

The number of unique clicks for emails sent with this tag in the last 30 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysSent Integer True

The number of emails sent with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysHardBounces Integer True

The number of emails hard bounced with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysSoftBounces Integer True

The number of emails soft bounced with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysRejects Integer True

The number of emails rejected for sending this sender in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysComplaints Integer True

The number of spam complaints with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysUnsubs Integer True

The number of unsubscribes with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysOpens Integer True

The number of times emails have been opened with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysClicks Integer True

The number of URLs that have been clicked with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysUniqueOpens Integer True

The number of unique opens for emails sent with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast60DaysUniqueClicks Integer True

The number of unique clicks for emails sent with this tag in the last 60 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysSent Integer True

The number of emails sent with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysHardBounces Integer True

The number of emails hard bounced with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysSoftBounces Integer True

The number of emails soft bounced with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysRejects Integer True

The number of emails rejected for sending this sender in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysComplaints Integer True

The number of spam complaints with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysUnsubs Integer True

The number of unsubscribes with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysOpens Integer True

The number of times emails have been opened with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysClicks Integer True

The number of URLs that have been clicked with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysUniqueOpens Integer True

The number of unique opens for emails sent with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

StatsLast90DaysUniqueClicks Integer True

The number of unique clicks for emails sent with this tag in the last 90 days. This column will populated when Id is specified in WHERE clause.

CData Python Connector for Mailchimp

Templates

Returns and manages email templates, including draft and published versions.

Table-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Name=
Label=

For example, the following queries are processed server-side:

SELECT * FROM Templates WHERE Name = 'MyTemplate'
SELECT * FROM Templates WHERE Label = 'MyLabel'

Insert

The Name column is required for INSERT operations.

INSERT INTO Templates (Name, Subject, FromEmail, FromName, Publish) VALUES ('MyTemplate', 'Hello Subject', 'sender@example.com', 'Sender Name', 'true')

Update

The Name column is required for UPDATE operations, as it acts as the key.

UPDATE Templates SET Labels = '[\"adw\", \"eww\"]' WHERE Name = 'testname'

Delete

The Name column is required for DELETE operations.

DELETE FROM Templates WHERE Name = 'MyTemplate'

Columns

Name Type ReadOnly Description
Name [KEY] String False

The name of the template.

Slug String True

The immutable unique code name of the template.

CreatedAt Datetime True

The UTC timestamp when the template was created, in YYYY-MM-DD HH:MM:SS format.

UpdatedAt Datetime True

The date and time the template was last modified as a UTC string in YYYY-MM-DD HH:MM:SS format.

Labels String False

The list of labels applied to the template.

Code String False

The full HTML code of the template, with mc:edit attributes marking the editable elements - draft version.

Subject String False

The subject line of the template, if provided - draft version.

FromEmail String False

The default sender address for the template, if provided - draft version.

FromName String False

The default sender from name for the template, if provided - draft version.

Text String False

The default text part of messages sent with the template, if provided - draft version.

PublishName String True

The same as the template name - kept as a separate field for backwards compatibility.

PublishCode String True

The full HTML code of the template, with mc:edit attributes marking the editable elements that are available as published, if it has been published.

PublishSubject String True

The subject line of the template, if provided.

PublishFromEmail String True

The default sender address for the template, if provided.

PublishFromName String True

The default sender from name for the template, if provided.

PublishText String True

The default text part of messages sent with the template, if provided.

PublishedAt Datetime True

The date and time the template was last published as a UTC string in YYYY-MM-DD HH:MM:SS format, or null if it has not been published.

IsBrokenTemplate Boolean True

Indicates if the template is malformed or corrupt.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Label String

An optional label to filter the templates. Only used for SELECT.

Publish Boolean

Set to false to add a draft template without publishing. Only used for INSERT and UPDATE.

CData Python Connector for Mailchimp

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

CData Python Connector for Mailchimp Views

Name Description
MessageContent Returns the full content of a message, including sender, recipient, subject, and HTML or plain-text body.
Messages Returns sent messages from the last two months, including delivery status, sender, recipient, and engagement details.
ScheduledEmails Returns a list of scheduled emails, including sender, recipient, subject, and scheduled send time.
Senders Returns sending statistics for senders, including email metrics such as bounces, complaints, and clicks.
UserInfos Returns account details and email sending statistics for the current user.

CData Python Connector for Mailchimp

MessageContent

Returns the full content of a message, including sender, recipient, subject, and HTML or plain-text body.

Columns

Name Type Description
Id [KEY] String The message's unique id.
FromEMail String The email address of the sender.
FromName String The alias of the sender, if any.
ToEMail String The email address of the recipient.
ToName String The alias of the recipient, if any.
Subject String The message's subject line.
HtmlContent String The HTML part of the message, if any.
TextContent String The text part of the message, if any.
Tags String List of tags on this message.
Attachments String An array of any attachments that can be found in the message.
Ts Datetime The Unix timestamp from when this message was sent.

CData Python Connector for Mailchimp

Messages

Returns sent messages from the last two months, including delivery status, sender, recipient, and engagement details.

Columns

Name Type Description
Id [KEY] String
Email String
Sender String
Subject String
State String

The allowed values are sent, bounced, rejected.

Template String
SubAccount String
ElasticsearchIndex String
Version String
DocumentId String
Diag String
RejectReason String
RejectLastEventAt String
Tags String
BgtoolsCode String
SMTPEvents String
TimeStamp Datetime
Resends String
Ts Long
BounceDescription String
OpensDetail String
ClicksDetail String
Opens Integer
Clicks Integer

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
DateFrom Date
DateTo Date

CData Python Connector for Mailchimp

ScheduledEmails

Returns a list of scheduled emails, including sender, recipient, subject, and scheduled send time.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
To=

For example, the following query is processed server-side:

SELECT * FROM ScheduleEmails WHERE To = 'recipient@example.com'

Columns

Name Type Description
Id [KEY] String The scheduled message id.
CreatedAt Datetime The UTC timestamp when the message was created, in YYYY-MM-DD HH:MM:SS format.
SendAt Datetime The UTC timestamp when the message will be sent, in YYYY-MM-DD HH:MM:SS format.
FromEmail String The email's sender address.
To String The email's recipient.
Subject String The email's subject.

CData Python Connector for Mailchimp

Senders

Returns sending statistics for senders, including email metrics such as bounces, complaints, and clicks.

View-Specific Information

Select

The connector uses the Mailchimp API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Address=

For example, the following query is processed server-side:

SELECT * FROM Senders WHERE Address = 'sender@example.com'

Columns

Name Type Description
Address String The sender's email address.
CreatedAt Datetime The date and time that the sender was first seen by Mandrill as a UTC date string in YYYY-MM-DD HH:MM:SS format.
Sent Integer The total number of messages sent by this sender.
HardBounces Integer The total number of hard bounces by messages by this sender.
SoftBounces Integer The total number of soft bounces by messages by this sender.
Rejects Integer The total number of rejected messages by this sender.
Complaints Integer The total number of spam complaints received for messages by this sender.
Unsubs Integer The total number of unsubscribe requests received for messages by this sender.
Opens Integer The total number of times messages by this sender have been opened.
Clicks Integer The total number of times tracked URLs in messages by this sender have been clicked.
UniqueOpens Integer The number of unique opens for emails sent for this sender.
UniqueClicks Integer The number of unique clicks for emails sent for this sender.

CData Python Connector for Mailchimp

UserInfos

Returns account details and email sending statistics for the current user.

View-Specific Information

This view provides the details of the current user.

Select

To retrieve all records from this view:
SELECT * FROM UserInfos

Columns

Name Type Description
UserName String The username of the user (used for SMTP authentication).
CreatedAt Datetime The date and time that the user's Mandrill account was created as a UTC string in YYYY-MM-DD HH:MM:SS format.
PublicId String A unique, permanent identifier for this user.
Reputation Integer The reputation of the user on a scale from 0 to 100.
HourlyQuota Integer The maximum number of emails Mandrill will deliver for this user each hour.
Backlog Integer The number of emails that are queued for delivery due to exceeding your monthly or hourly quotas.
StatsTodaySent Integer The number of emails sent so far today.
StatsTodayHardBounces Integer The number of emails that hard bounced so far today.
StatsTodaySoftBounces Integer The number of emails that soft bounced so far today.
StatsTodayRejects Integer The number of emails rejected for sending so far today.
StatsTodayComplaints Integer The number of spam complaints received so far today.
StatsTodayUnsubs Integer The number of unsubscribes received so far today.
StatsTodayOpens Integer The number of times emails have been opened so far today.
StatsTodayClicks Integer The number of URLs that have been clicked so far today.
StatsTodayUniqueOpens Integer The number of unique opens so far today.
StatsTodayUniqueClicks Integer The number of unique clicks so far today.
StatsLast7DaysSent Integer The number of emails sent in the last 7 days.
StatsLast7DaysHardBounces Integer The number of hard bounces in the last 7 days.
StatsLast7DaysSoftBounces Integer The number of soft bounces in the last 7 days.
StatsLast7DaysRejects Integer The number of rejected emails in the last 7 days.
StatsLast7DaysComplaints Integer The number of spam complaints in the last 7 days.
StatsLast7DaysUnsubs Integer The number of unsubscribes in the last 7 days.
StatsLast7DaysOpens Integer The number of opens in the last 7 days.
StatsLast7DaysClicks Integer The number of clicks in the last 7 days.
StatsLast7DaysUniqueOpens Integer The number of unique opens in the last 7 days.
StatsLast7DaysUniqueClicks Integer The number of unique clicks in the last 7 days.
StatsLast30DaysSent Integer The number of emails sent in the last 30 days.
StatsLast30DaysHardBounces Integer The number of hard bounces in the last 30 days.
StatsLast30DaysSoftBounces Integer The number of soft bounces in the last 30 days.
StatsLast30DaysRejects Integer The number of rejected emails in the last 30 days.
StatsLast30DaysComplaints Integer The number of spam complaints in the last 30 days.
StatsLast30DaysUnsubs Integer The number of unsubscribes in the last 30 days.
StatsLast30DaysOpens Integer The number of times emails have been opened in the last 30 days.
StatsLast30DaysClicks Integer The number of URLs that have been clicked in the last 30 days.
StatsLast30DaysUniqueOpens Integer The number of unique opens in the last 30 days.
StatsLast30DaysUniqueClicks Integer The number of unique clicks in the last 30 days.
StatsLast60DaysSent Integer The number of emails sent in the last 60 days.
StatsLast60DaysHardBounces Integer The number of hard bounces in the last 60 days.
StatsLast60DaysSoftBounces Integer The number of soft bounces in the last 60 days.
StatsLast60DaysRejects Integer The number of rejected emails in the last 60 days.
StatsLast60DaysComplaints Integer The number of spam complaints in the last 60 days.
StatsLast60DaysUnsubs Integer The number of unsubscribes in the last 60 days.
StatsLast60DaysOpens Integer The number of times emails have been opened in the last 60 days.
StatsLast60DaysClicks Integer The number of URLs that have been clicked in the last 60 days.
StatsLast60DaysUniqueOpens Integer The number of unique opens in the last 60 days.
StatsLast60DaysUniqueClicks Integer The number of unique clicks in the last 60 days.
StatsLast90DaysSent Integer The number of emails sent in the last 90 days.
StatsLast90DaysHardBounces Integer The number of hard bounces in the last 90 days.
StatsLast90DaysSoftBounces Integer The number of soft bounces in the last 90 days.
StatsLast90DaysRejects Integer The number of rejected emails in the last 90 days.
StatsLast90DaysComplaints Integer The number of spam complaints in the last 90 days.
StatsLast90DaysUnsubs Integer The number of unsubscribes in the last 90 days.
StatsLast90DaysOpens Integer The number of times emails have been opened in the last 90 days.
StatsLast90DaysClicks Integer The number of URLs that have been clicked in the last 90 days.
StatsLast90DaysUniqueOpens Integer The number of unique opens in the last 90 days.
StatsLast90DaysUniqueClicks Integer The number of unique clicks in the last 90 days.
StatsLastAllTimeDaysSent Integer The total number of emails sent through the account.
StatsLastAllTimeDaysHardBounces Integer The total number of hard bounces for the account.
StatsLastAllTimeDaysSoftBounces Integer The total number of soft bounces for the account.
StatsLastAllTimeDaysRejects Integer The total number of rejected emails for the account.
StatsLastAllTimeDaysComplaints Integer The total number of spam complaints for the account.
StatsLastAllTimeDaysUnsubs Integer The total number of unsubscribes for the account.
StatsLastAllTimeDaysOpens Integer The total number of times emails have been opened for the account.
StatsLastAllTimeDaysClicks Integer The total number of URLs that have been clicked for the account.
StatsLastAllTimeDaysUniqueOpens Integer The total number of unique opens for the account.
StatsLastAllTimeDaysUniqueClicks Integer The total number of unique clicks for the account.

CData Python Connector for Mailchimp

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with Mailchimp.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Mailchimp, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for Mailchimp Stored Procedures

Name Description
CancelScheduledEmail Cancels a scheduled email.
RescheduledEmail Reschedules a scheduled email.
SendMessage Sends a new message through the Transactional API.
SendTemplate Sends a new transactional message through the Transactional API using a template.

CData Python Connector for Mailchimp

CancelScheduledEmail

Cancels a scheduled email.

Stored Procedure-Specific Information

To run this procedure, you must specify the Id. For example:

EXEC CancelScheduledEmail Id = '515abc'

Input

Name Type Required Description
Id String True The Id of the scheduled email, as returned by the SendMessage stored procedure or the ScheduledEmails view.

Result Set Columns

Name Type Description
Success String Indicates whether the operation was successful.
Id String The unique Id of the message.
CreatedAt Datetime The UTC timestamp when the message was created.
SendAt Datetime The UTC timestamp when the message will be sent.
FromEmail String The sender's email address.
To String The recipient's email address.
Subject String The subject of the email.

CData Python Connector for Mailchimp

RescheduledEmail

Reschedules a scheduled email.

Stored Procedure-Specific Information

To run this procedure, you must specify the Id and SendAt input parameters. For example:

EXEC RescheduledEmail Id = '515abc', SendAt = '2025-08-01T10:10:10.23'

Input

Name Type Required Description
Id String True The Id of the scheduled email, as returned by a messages/send call or messages/list-scheduled.
SendAt Datetime True The new UTC timestamp when the message will be sent.

Result Set Columns

Name Type Description
Success String Indicates whether the operation was successful.
Id String The unique Id of the message.
CreatedAt Datetime The UTC timestamp when the message was created.
SendAt Datetime The UTC timestamp when the message will be sent.
FromEmail String The sender's email address.
To String The recipient's email address.
Subject String The subject of the email.

CData Python Connector for Mailchimp

SendMessage

Sends a new message through the Transactional API.

Stored Procedure-Specific Information

Note: This stored procedure requires a premium membership to Mailchimp.

To run this procedure, you must specify the To input parameter. For example:

EXEC SendMessage To = '[{ \"email\" : \"abc@aaa.com\" , \"name\" : \"ABC\", \"type\" : \"to\"}]'

Alternatively, you can specify ToEmails, CcEmails, or BccEmails to create a message:

EXEC SendMessage ToEmails='abc@aaa.com,abc@bbb.com,abc@ccc.com', ToNames='XYZ,,ABC', CcEmails='ddd@abc.com,eee@abc.com'

Input

Name Type Required Description
Html String False The full HTML content to be sent.
Text String False Optional full text content to be sent.
Subject String False The message subject.
FromEmail String False The sender email address.
FromName String False Optional from name to be used.
To String False An array of recipient information.
ToEmails String False Comma separated list of emails for type 'to'.
ToNames String False Comma separated list of names for type 'to'.
CcEmails String False Comma separated list of emails for type 'cc'.
CcNames String False Comma separated list of names for type 'cc'.
BccEmails String False Comma separated list of emails for type 'bcc'.
BccNames String False Comma separated list of names for type 'bcc'.
Headers String False Optional extra headers to add to the message.
Important Boolean False Indicates whether this message is important and will be delivered ahead of non-important messages.
TrackOpens Boolean False Indicates whether to turn on open tracking for the message.
TrackClicks Boolean False Indicates whether to turn on click tracking for the message.
AutoText Boolean False Indicates whether to automatically generate a text part for messages that are not given text.
AutoHtml Boolean False Indicates whether to automatically generate an HTML part for messages that are not given HTML.
InlineCss Boolean False Indicates whether to automatically inline all CSS styles provided in the message HTML. Only applies to HTML documents less than 256KB in size.
UrlStripQs Boolean False Indicates whether to strip the query string from URLs when aggregating tracked URL data.
PreserveRecipients Boolean False Indicates whether to expose all recipients in the To header for each email.
ViewContentLink Boolean False Indicates whether to include content logging for the email.
BccAddress String False An optional address to receive an exact copy of each recipient's email.
TrackingDomain String False A custom domain to use for tracking opens and clicks instead of mandrillapp.com.
SigningDomain String False A custom domain to use for SPF/DKIM signing instead of mandrill.
ReturnPathDomain String False A custom domain to use for the messages's return-path.
Merge Boolean False Indicates whether to evaluate merge tags in the message.
MergeLanguage String False The merge tag language to use when evaluating merge tags, either mailchimp or handlebars.

The allowed values are mailchimp, handlebars.

GlobalMergeVars String False Global merge variables to use for all recipients.
MergeVars String False Per-recipient merge variables, which override global merge variables with the same name.
Tags String False An array of strings to tag the message with.
Subaccount String False The unique id of a subaccount for this message - must already exist or will fail with an error.
GoogleAnalyticsDomains String False An array of strings indicating for which any matching URLs will automatically have Google Analytics parameters appended to their query string automatically.
GoogleAnalyticsCampaign String False Optional string indicating the value to set for the utm_campaign tracking parameter.
Metadata String False An associative array of user metadata.
RecipientMetadata String False Per-recipient metadata that will override the global values specified in the metadata parameter.
Attachments String False An array of supported attachments to add to the message.
AttachmentLocations String False Comma separated values of file location of attachments.
AttachmentName String False Name of the attachment for which the content is sent in AttachmentContent.
Images String False An array of embedded images to add to the message.
ImageLocations String False Comma separated values of file location of images.
ImageName String False Name of the image for which the content is sent in ImageContent.
Async Boolean False Enable a background sending mode that is optimized for bulk sending.
IpPool String False The name of the dedicated ip pool that should be used to send the message.
SendAt Datetime False When this message should be sent as a UTC timestamp in YYYY-MM-DD HH:MM:SS format.

Result Set Columns

Name Type Description
Success String Indicates whether the operation was successful.
Id String The unique Id of the message.
Email String The email address of the recipient.
Status String The sending status of the recipient.
RejectReason String The reason for the rejection if the recipient status is 'rejected'.
QueuedReason String The reason the message was queued, if applicable.

CData Python Connector for Mailchimp

SendTemplate

Sends a new transactional message through the Transactional API using a template.

Stored Procedure-Specific Information

To run this stored procedure, the TemplateName, TemplateContent, and To input parameters are required. For example:

EXEC SendTemplate TemplateContent = '[{\"name\" : \"aaaa\" , \"content\" : \"nakdkasdmk\"}]', TemplateName = 'abcd', To = '[{ \"email\" : \"abc@aaa.com\" , \"name\" : \"XYZ\", \"type\" : \"to\"}]'

Alternatively, you can specify ToEmails, CcEmails, or BccEmails along with TemplateName and TemplateContent to create a template:

EXEC SendTemplate TemplateContent = '[{\"name\" : \"aaaa\" , \"content\" : \"nakdkasdmk\"}]', TemplateName = 'abcd', ToEmails='abc@aaa.com,abc@bbb.com,abc@ccc.com', ToNames='XYZ,,ABC', CcEmails='ddd@abc.com,eee@abc.com'

Input

Name Type Required Description
TemplateName String True The immutable slug of a template that exists in the user's account.
TemplateContent String True An array of template content to send.
Html String False The full HTML content to be sent.
Text String False Optional full text content to be sent.
Subject String False The message subject.
FromEmail String False The sender email address.
FromName String False Optional from name to be used.
To String False An array of recipient information.
ToEmails String False Comma separated list of emails for type 'to'.
ToNames String False Comma separated list of names for type 'to'.
CcEmails String False Comma separated list of emails for type 'cc'.
CcNames String False Comma separated list of names for type 'cc'.
BccEmails String False Comma separated list of emails for type 'bcc'.
BccNames String False Comma separated list of names for type 'bcc'.
Headers String False Optional extra headers to add to the message.
Important Boolean False Indicates whether this message is important and will be delivered ahead of non-important messages.
TrackOpens Boolean False Indicates whether to turn on open tracking for the message.
TrackClicks Boolean False Indicates whether to turn on click tracking for the message.
AutoText Boolean False Indicates whether to automatically generate a text part for messages that are not given text.
AutoHtml Boolean False Indicates whether to automatically generate an HTML part for messages that are not given HTML.
InlineCss Boolean False Indicates whether to automatically inline all CSS styles provided in the message HTML. Only applies to HTML documents less than 256KB in size.
UrlStripQs Boolean False Indicates whether to strip the query string from URLs when aggregating tracked URL data.
PreserveRecipients Boolean False Indicates whether to expose all recipients in the To header for each email.
ViewContentLink Boolean False Indicates whether to include content logging for the email.
BccAddress String False An optional address to receive an exact copy of each recipient's email.
TrackingDomain String False A custom domain to use for tracking opens and clicks instead of mandrillapp.com.
SigningDomain String False A custom domain to use for SPF/DKIM signing instead of mandrill.
ReturnPathDomain String False A custom domain to use for the messages's return-path.
Merge Boolean False Indicates whether to evaluate merge tags in the message.
MergeLanguage String False The merge tag language to use when evaluating merge tags, either mailchimp or handlebars.

The allowed values are mailchimp, handlebars.

GlobalMergeVars String False Global merge variables to use for all recipients.
MergeVars String False Per-recipient merge variables, which override global merge variables with the same name.
Tags String False An array of strings to tag the message with.
Subaccount String False The unique id of a subaccount for this message - must already exist or will fail with an error.
GoogleAnalyticsDomains String False An array of strings indicating for which any matching URLs will automatically have Google Analytics parameters appended to their query string automatically.
GoogleAnalyticsCampaign String False Optional string indicating the value to set for the utm_campaign tracking parameter.
Metadata String False An associative array of user metadata.
RecipientMetadata String False Per-recipient metadata that will override the global values specified in the metadata parameter.
Attachments String False An array of supported attachments to add to the message.
AttachmentLocations String False Comma separated values of file location of attachments.
AttachmentName String False Name of the attachment for which the content is sent in AttachmentContent.
Images String False An array of embedded images to add to the message.
ImageLocations String False Comma separated values of file location of images.
ImageName String False Name of the image for which the content is sent in ImageContent.
Async Boolean False Enable a background sending mode that is optimized for bulk sending.
IpPool String False The name of the dedicated ip pool that should be used to send the message.
SendAt Datetime False When this message should be sent as a UTC timestamp in YYYY-MM-DD HH:MM:SS format.

Result Set Columns

Name Type Description
Success String Indicates whether the operation was successful.
Id String The unique Id of the message.
Email String The email address of the recipient.
Status String The sending status of the recipient.
RejectReason String The reason for the rejection if the recipient status is 'rejected'.
QueuedReason String The reason the message was queued, if applicable.

CData Python Connector for Mailchimp

System Tables

You can query the system tables described in this section to access schema information, information on data source functionality, and batch operation statistics.

Schema Tables

The following tables return database metadata for Mailchimp:

Data Source Tables

The following tables return information about how to connect to and query the data source:

  • sys_connection_props: Returns information on the available connection properties.
  • sys_sqlinfo: Describes the SELECT queries that the connector can offload to the data source.

Query Information Tables

The following table returns query statistics for data modification queries

  • sys_identity: Returns information about batch operations or single updates.

CData Python Connector for Mailchimp

sys_catalogs

Lists the available databases.

The following query retrieves all databases determined by the connection string:

SELECT * FROM sys_catalogs

Columns

Name Type Description
CatalogName String The database name.

CData Python Connector for Mailchimp

sys_schemas

Lists the available schemas.

The following query retrieves all available schemas:

          SELECT * FROM sys_schemas
          

Columns

Name Type Description
CatalogName String The database name.
SchemaName String The schema name.

CData Python Connector for Mailchimp

sys_tables

Lists the available tables.

The following query retrieves the available tables and views:

          SELECT * FROM sys_tables
          

Columns

Name Type Description
CatalogName String The database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view.
TableType String The table type (table or view).
Description String A description of the table or view.
IsUpdateable Boolean Whether the table can be updated.
IsInsertable Boolean Whether the table can be inserted into.
IsDeleteable Boolean Whether rows can be deleted from the table.

CData Python Connector for Mailchimp

sys_tablecolumns

Describes the columns of the available tables and views.

The following query returns the columns and data types for the Lists table:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName = 'Lists' 

Columns

Name Type Description
CatalogName String The name of the database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view containing the column.
ColumnName String The column name.
DataTypeName String The data type name.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
Length Int32 The storage size of the column.
DisplaySize Int32 The designated column's normal maximum width in characters.
NumericPrecision Int32 The maximum number of digits in numeric data. The column length in characters for character and date-time data.
NumericScale Int32 The column scale or number of digits to the right of the decimal point.
IsNullable Boolean Whether the column can contain null.
Description String A brief description of the column.
Ordinal Int32 The sequence number of the column.
IsAutoIncrement String Whether the column value is assigned in fixed increments.
IsGeneratedColumn String Whether the column is generated.
IsHidden Boolean Whether the column is hidden.
IsArray Boolean Whether the column is an array.
IsReadOnly Boolean Whether the column is read-only.
IsKey Boolean Indicates whether a field returned from sys_tablecolumns is the primary key of the table.
ColumnType String The role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN.
ColumnCapabilities Int32 A bit mask denoting the column's write capabilities. The value is the sum of the following: 1 if the column is required for INSERTs, 2 if the column is allowed for INSERTs, and 4 if the column is allowed for UPDATEs. A value of 0 indicates that the write capabilities of the column are unknown or that the column is read-only.

CData Python Connector for Mailchimp

sys_procedures

Lists the available stored procedures.

The following query retrieves the available stored procedures:

          SELECT * FROM sys_procedures
          

Columns

Name Type Description
CatalogName String The database containing the stored procedure.
SchemaName String The schema containing the stored procedure.
ProcedureName String The name of the stored procedure.
Description String A description of the stored procedure.
ProcedureType String The type of the procedure, such as PROCEDURE or FUNCTION.

CData Python Connector for Mailchimp

sys_procedureparameters

Describes stored procedure parameters.

The following query returns information about all of the input parameters for the GetOAuthAccessToken stored procedure:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetOAuthAccessToken' AND Direction = 1 OR Direction = 2

To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetOAuthAccessToken' AND IncludeResultColumns='True'

Columns

Name Type Description
CatalogName String The name of the database containing the stored procedure.
SchemaName String The name of the schema containing the stored procedure.
ProcedureName String The name of the stored procedure containing the parameter.
ColumnName String The name of the stored procedure parameter.
Direction Int32 An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
DataTypeName String The name of the data type.
NumericPrecision Int32 The maximum precision for numeric data. The column length in characters for character and date-time data.
Length Int32 The number of characters allowed for character data. The number of digits allowed for numeric data.
NumericScale Int32 The number of digits to the right of the decimal point in numeric data.
IsNullable Boolean Whether the parameter can contain null.
IsRequired Boolean Whether the parameter is required for execution of the procedure.
IsArray Boolean Whether the parameter is an array.
Description String The description of the parameter.
Ordinal Int32 The index of the parameter.
Values String The values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated.
SupportsStreams Boolean Whether the parameter represents a file that you can pass as either a file path or a stream.
IsPath Boolean Whether the parameter is a target path for a schema creation operation.
Default String The value used for this parameter when no value is specified.
SpecificName String A label that, when multiple stored procedures have the same name, uniquely identifies each identically-named stored procedure. If there's only one procedure with a given name, its name is simply reflected here.
IsCDataProvided Boolean Whether the procedure is added/implemented by CData, as opposed to being a native Mailchimp procedure.

Pseudo-Columns

Name Type Description
IncludeResultColumns Boolean Whether the output should include columns from the result set in addition to parameters. Defaults to False.

CData Python Connector for Mailchimp

sys_keycolumns

Describes the primary and foreign keys.

The following query retrieves the primary key for the Lists table:

         SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Lists' 
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
IsKey Boolean Whether the column is a primary key in the table referenced in the TableName field.
IsForeignKey Boolean Whether the column is a foreign key referenced in the TableName field.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.

CData Python Connector for Mailchimp

sys_foreignkeys

Describes the foreign keys.

The following query retrieves all foreign keys which refer to other tables:

         SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.
ForeignKeyType String Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key.

CData Python Connector for Mailchimp

sys_primarykeys

Describes the primary keys.

The following query retrieves the primary keys from all tables and views:

         SELECT * FROM sys_primarykeys
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
KeySeq String The sequence number of the primary key.
KeyName String The name of the primary key.

CData Python Connector for Mailchimp

sys_indexes

Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.

The following query retrieves all indexes that are not primary keys:

          SELECT * FROM sys_indexes WHERE IsPrimary='false'
          

Columns

Name Type Description
CatalogName String The name of the database containing the index.
SchemaName String The name of the schema containing the index.
TableName String The name of the table containing the index.
IndexName String The index name.
ColumnName String The name of the column associated with the index.
IsUnique Boolean True if the index is unique. False otherwise.
IsPrimary Boolean True if the index is a primary key. False otherwise.
Type Int16 An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3).
SortOrder String The sort order: A for ascending or D for descending.
OrdinalPosition Int16 The sequence number of the column in the index.

CData Python Connector for Mailchimp

sys_connection_props

Returns information on the available connection properties and those set in the connection string.

The following query retrieves all connection properties that have been set in the connection string or set through a default value:

SELECT * FROM sys_connection_props WHERE Value <> ''

Columns

Name Type Description
Name String The name of the connection property.
ShortDescription String A brief description.
Type String The data type of the connection property.
Default String The default value if one is not explicitly set.
Values String A comma-separated list of possible values. A validation error is thrown if another value is specified.
Value String The value you set or a preconfigured default.
Required Boolean Whether the property is required to connect.
Category String The category of the connection property.
IsSessionProperty String Whether the property is a session property, used to save information about the current connection.
Sensitivity String The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms.
PropertyName String A camel-cased truncated form of the connection property name.
Ordinal Int32 The index of the parameter.
CatOrdinal Int32 The index of the parameter category.
Hierarchy String Shows dependent properties associated that need to be set alongside this one.
Visible Boolean Informs whether the property is visible in the connection UI.
ETC String Various miscellaneous information about the property.

CData Python Connector for Mailchimp

sys_sqlinfo

Describes the SELECT query processing that the connector can offload to the data source.

See SQL Compliance for SQL syntax details.

Discovering the Data Source's SELECT Capabilities

Below is an example data set of SQL capabilities. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.

NameDescriptionPossible Values
AGGREGATE_FUNCTIONSSupported aggregation functions.AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNTWhether COUNT function is supported.YES, NO
IDENTIFIER_QUOTE_OPEN_CHARThe opening character used to escape an identifier.[
IDENTIFIER_QUOTE_CLOSE_CHARThe closing character used to escape an identifier.]
SUPPORTED_OPERATORSA list of supported SQL operators.=, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BYWhether GROUP BY is supported, and, if so, the degree of support.NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
OJ_CAPABILITIESThe supported varieties of outer joins supported.NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS
OUTER_JOINSWhether outer joins are supported.YES, NO
SUBQUERIESWhether subqueries are supported, and, if so, the degree of support.NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED
STRING_FUNCTIONSSupported string functions.LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONSSupported numeric functions.ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONSSupported date/time functions.NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLESIndicates tables skipped during replication.
REPLICATION_TIMECHECK_COLUMNSA string array containing a list of columns which will be used to check for (in the given order) to use as a modified column during replication.
IDENTIFIER_PATTERNString value indicating what string is valid for an identifier.
SUPPORT_TRANSACTIONIndicates if the provider supports transactions such as commit and rollback.YES, NO
DIALECTIndicates the SQL dialect to use.
KEY_PROPERTIESIndicates the properties which identify the uniform database.
SUPPORTS_MULTIPLE_SCHEMASIndicates if multiple schemas may exist for the provider.YES, NO
SUPPORTS_MULTIPLE_CATALOGSIndicates if multiple catalogs may exist for the provider.YES, NO
DATASYNCVERSIONThe CData Data Sync version needed to access this driver.Standard, Starter, Professional, Enterprise
DATASYNCCATEGORYThe CData Data Sync category of this driver.Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQLWhether enhanced SQL functionality beyond what is offered by the API is supported.TRUE, FALSE
SUPPORTS_BATCH_OPERATIONSWhether batch operations are supported.YES, NO
SQL_CAPAll supported SQL capabilities for this driver.SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONSA string value specifies the preferred cacheOptions.
ENABLE_EF_ADVANCED_QUERYIndicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side.YES, NO
PSEUDO_COLUMNSA string array indicating the available pseudo columns.
MERGE_ALWAYSIf the value is true, The Merge Mode is forcibly executed in Data Sync.TRUE, FALSE
REPLICATION_MIN_DATE_QUERYA select query to return the replicate start datetime.
REPLICATION_MIN_FUNCTIONAllows a provider to specify the formula name to use for executing a server side min.
REPLICATION_START_DATEAllows a provider to specify a replicate startdate.
REPLICATION_MAX_DATE_QUERYA select query to return the replicate end datetime.
REPLICATION_MAX_FUNCTIONAllows a provider to specify the formula name to use for executing a server side max.
IGNORE_INTERVALS_ON_INITIAL_REPLICATEA list of tables which will skip dividing the replicate into chunks on the initial replicate.
CHECKCACHE_USE_PARENTIDIndicates whether the CheckCache statement should be done against the parent key column.TRUE, FALSE
CREATE_SCHEMA_PROCEDURESIndicates stored procedures that can be used for generating schema files.

The following query retrieves the operators that can be used in the WHERE clause:

SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.

Columns

Name Type Description
NAME String A component of SQL syntax, or a capability that can be processed on the server.
VALUE String Detail on the supported SQL or SQL syntax.

CData Python Connector for Mailchimp

sys_identity

Returns information about attempted modifications.

The following query retrieves the Ids of the modified rows in a batch operation:

         SELECT * FROM sys_identity
          

Columns

Name Type Description
Id String The database-generated Id returned from a data modification operation.
Batch String An identifier for the batch. 1 for a single operation.
Operation String The result of the operation in the batch: INSERTED, UPDATED, or DELETED.
Message String SUCCESS or an error message if the update in the batch failed.

CData Python Connector for Mailchimp

sys_information

Describes the available system information.

The following query retrieves all columns:

SELECT * FROM sys_information

Columns

NameTypeDescription
ProductStringThe name of the product.
VersionStringThe version number of the product.
DatasourceStringThe name of the datasource the product connects to.
NodeIdStringThe unique identifier of the machine where the product is installed.
HelpURLStringThe URL to the product's help documentation.
LicenseStringThe license information for the product. (If this information is not available, the field may be left blank or marked as 'N/A'.)
LocationStringThe file path location where the product's library is stored.
EnvironmentStringThe version of the environment or rumtine the product is currently running under.
DataSyncVersionStringThe tier of CData Sync required to use this connector.
DataSyncCategoryStringThe category of CData Sync functionality (e.g., Source, Destination).

CData Python Connector for Mailchimp

Connection String Options

The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.

For more information on establishing a connection, see Establishing a Connection.

Authentication


PropertyDescription
SchemaSpecifies which Mailchimp API to use for the connection.
AuthSchemeSpecifies the authentication method to use when connecting to Mailchimp.
APIKeySpecifies the API key used to authenticate with the Mailchimp account.
TransactionalAPIKeySpecifies the API key used to authenticate with the Mailchimp Transactional API.
DatacenterThe Mailchimp data center associated with your account.

OAuth


PropertyDescription
InitiateOAuthSpecifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthClientIdSpecifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthAccessTokenSpecifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
OAuthSettingsLocationSpecifies the location of the settings file where OAuth values are saved.
CallbackURLIdentifies the URL users return to after authenticating to Mailchimp via OAuth (Custom OAuth applications only).
OAuthVerifierSpecifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthExpiresInSpecifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestampDisplays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.

SSL


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.

Firewall


PropertyDescription
FirewallTypeSpecifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
FirewallServerIdentifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
FirewallPortSpecifies the TCP port to be used for a proxy-based firewall.
FirewallUserIdentifies the user ID of the account authenticating to a proxy-based firewall.
FirewallPasswordSpecifies the password of the user account authenticating to a proxy-based firewall.

Proxy


PropertyDescription
ProxyAutoDetectSpecifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
ProxyServerIdentifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
ProxyPortIdentifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
ProxyAuthSchemeSpecifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
ProxyUserProvides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
ProxyPasswordSpecifies the password of the user specified in the ProxyUser connection property.
ProxySSLTypeSpecifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
ProxyExceptionsSpecifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.

Logging


PropertyDescription
LogfileSpecifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
LogModulesSpecifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
MaxLogFileSizeSpecifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.
MaxLogFileCountSpecifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.

Schema


PropertyDescription
LocationSpecifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
TablesOptional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
ViewsOptional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .

Caching


PropertyDescription
AutoCacheSpecifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.
CacheProviderThe namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.
CacheDriverThe driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.
CacheConnectionSpecifies the connection string for the specified cache database.
CacheLocationSpecifies the path to the cache when caching to a file.
CacheToleranceNotes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.
OfflineGets the data from the specified cache database instead of live Mailchimp data.
CacheMetadataDetermines whether the provider caches table metadata to a file-based cache database.

Miscellaneous


PropertyDescription
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
OtherSpecifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
PagesizeSpecifies the maximum number of records per page the provider returns when requesting data from Mailchimp.
PseudoColumnsSpecifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
ReadonlyToggles read-only access to Mailchimp from the provider.
RTKSpecifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.
TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
UserDefinedViewsSpecifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
CData Python Connector for Mailchimp

Authentication

This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.


PropertyDescription
SchemaSpecifies which Mailchimp API to use for the connection.
AuthSchemeSpecifies the authentication method to use when connecting to Mailchimp.
APIKeySpecifies the API key used to authenticate with the Mailchimp account.
TransactionalAPIKeySpecifies the API key used to authenticate with the Mailchimp Transactional API.
DatacenterThe Mailchimp data center associated with your account.
CData Python Connector for Mailchimp

Schema

Specifies which Mailchimp API to use for the connection.

Possible Values

MailChimp, Transactional

Data Type

string

Default Value

"MailChimp"

Remarks

When set to Mailchimp, the connector connects to the Mailchimp Marketing API and exposes entities related to campaigns, lists, and other marketing resources.

When set to Transactional, the connector connects to the Mailchimp Transactional API and exposes entities used to manage transactional email operations, such as messages, templates, and senders.

CData Python Connector for Mailchimp

AuthScheme

Specifies the authentication method to use when connecting to Mailchimp.

Possible Values

OAuth, APIKey

Data Type

string

Default Value

"APIKey"

Remarks

The following authentication methods are supported:

  • APIKey: Uses an API key to authenticate. Set APIKey to the key value from Account > Extras > API Keys.
  • OAuth: Authenticates using a custom OAuth application. Set InitiateOAuth to GETANDREFRESH and provide the OAuthClientId, OAuthClientSecret, and CallbackURL.

CData Python Connector for Mailchimp

APIKey

Specifies the API key used to authenticate with the Mailchimp account.

Data Type

string

Default Value

""

Remarks

The connector uses this key to authorize all API operations for the associated Mailchimp account. If the key is revoked or becomes invalid, authentication fails and API requests cannot be completed. You can find the API key in your Mailchimp account by navigating to Account > Extras > API Keys.

CData Python Connector for Mailchimp

TransactionalAPIKey

Specifies the API key used to authenticate with the Mailchimp Transactional API.

Data Type

string

Default Value

""

Remarks

To connect to the Mailchimp Transactional API, you must authenticate using a Transactional API key. To obtain the Transactional API key, you must have the Transactional Email Plan enabled in your account.

See "Connecting to Mailchimp Transactional API" in Establishing a Connection for step-by-step instructions on generating the Transactional API key.

CData Python Connector for Mailchimp

Datacenter

The Mailchimp data center associated with your account.

Possible Values

None, US1, US2, US3, US4, US5, US6, US7, US8, US9, US10, US11, US12, US13

Data Type

string

Default Value

"None"

Remarks

The data center is assigned automatically by Mailchimp when the account is created. Valid values are US1-US13.

When Datacenter is set to None, the connector detects the data center automatically.

If Datacenter is set to US1-US13, the connector uses the value supplied by the user regardless of the selected AuthScheme.

CData Python Connector for Mailchimp

OAuth

This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.


PropertyDescription
InitiateOAuthSpecifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthClientIdSpecifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthAccessTokenSpecifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
OAuthSettingsLocationSpecifies the location of the settings file where OAuth values are saved.
CallbackURLIdentifies the URL users return to after authenticating to Mailchimp via OAuth (Custom OAuth applications only).
OAuthVerifierSpecifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthExpiresInSpecifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestampDisplays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.
CData Python Connector for Mailchimp

InitiateOAuth

Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.

Possible Values

OFF, REFRESH, GETANDREFRESH

Data Type

string

Default Value

"OFF"

Remarks

OAuth is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service. The OAuth flow defines the method to be used for:

  • Logging in users.
  • Exchanging user credentials for an OAuth access token to be used for authentication.
  • Providing limited access to applications.

The options for initiating and maintaining OAuth access are named for the parts of that flow that the connector handles:

OFF The connector provides no automatic OAuth flow initiation. The OAuth flow is handled entirely by the user.
This means that the user must refresh the token manually, and reconnect with an updated OAuthAccessToken property when the current token expires.
GETANDREFRESH The connector handles the entire OAuth flow (both GET and REFRESH). This means that if a token already exists, the connector refreshes it when necessary; if no token currently exists, the connector obtains it by prompting the user to login.
REFRESH The user obtains the OAuth Access Token and sets up the sequence for refreshing the OAuth Access Token. (The user is never prompted to log in to authenticate.) After the user logs in, the connector handles the refresh of the OAuth Access Token.

For more information on how to set up OAuth and use this property when configuring a connection, see Establishing a Connection.

CData Python Connector for Mailchimp

OAuthClientId

Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.

Data Type

string

Default Value

""

Remarks

This property is required in two cases:

  • When using a custom OAuth application, such as in web-based authentication flows, service-based authentication, or certificate-based flows that require application registration.
  • If the driver does not provide embedded OAuth credentials.

(When the driver provides embedded OAuth credentials, this value may already be provided by the connector and thus not require manual entry.)

OAuthClientId is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.

OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can usually find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.

While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for Mailchimp

OAuthClientSecret

Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).

Data Type

string

Default Value

""

Remarks

This property (sometimes called the application secret or consumer secret) is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.

The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication fails with either an invalid_client or an unauthorized_client error.

OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application.

Notes:

  • This value should be stored securely and never exposed in public repositories, scripts, or unsecured environments.
  • Client secrets may also expire after a set period. Be sure to monitor expiration dates and rotate secrets as needed to maintain uninterrupted access.

For more information on how this property is used when configuring a connection, see Establishing a Connection

CData Python Connector for Mailchimp

OAuthAccessToken

Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.

Data Type

string

Default Value

""

Remarks

OAuthAccessToken is a temporary credential that authorizes access to protected resources. It is typically returned by the identity provider after the user or client application completes an OAuth authentication flow. This property is most commonly used in automated workflows or custom OAuth implementations where you want to manage token handling outside of the driver.

The OAuth access token has a server-dependent timeout, limiting user access. The timeout is set using the OAuthExpiresIn property. However, it can be reissued between requests to keep access alive as long as the user keeps working.

If InitiateOAuth is set to REFRESH, we recommend that you also set both OAuthExpiresIn and OAuthTokenTimestamp. The connector uses these properties to determine when the token expires so it can refresh most efficiently. If OAuthExpiresIn and OAuthTokenTimestamp are not specified, the connector refreshes the token immediately.

Note: Access tokens should be treated as sensitive credentials and stored securely. Avoid exposing them in logs, scripts, or configuration files that are not access-controlled.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for Mailchimp

OAuthSettingsLocation

Specifies the location of the settings file where OAuth values are saved.

Data Type

string

Default Value

"%APPDATA%\\CData\\MailChimp Data Provider\\OAuthSettings.txt"

Remarks

Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes.

You can store OAuth values in a central file for shared access to those values, in either of the following ways:

  • Set InitiateOAuth to either GETANDREFRESH or REFRESH and specify a filepath to the OAuth settings file.
  • Use memory storage to load the credentials into static memory.

The following sections provide more detail on each of these methods.

Specifying the OAuthSettingsLocation Filepath

The default OAuth setting location is %APPDATA%\\CData\\MailChimp Data Provider\\OAuthSettings.txt, with %APPDATA% set to the user's configuration directory. Default values vary, depending on the user's operating system.

  • Windows (ODBC and Power BI): registry://%DSN%
  • Windows: %APPDATA%CDataMailChimp Data Provider\OAuthSettings.txt
  • Mac: %APPDATA%/CData/MailChimp Data Provider/OAuthSettings.txt
  • Linux: %APPDATA%/CData/MailChimp Data Provider/OAuthSettings.txt

Loading Credentials Via Memory Storage

Memory locations are specified by using a value starting with memory://, followed by a unique identifier for that set of credentials (for example, memory://user1). The identifier can be anything you choose, but it should be unique to the user.

Unlike file-based storage, where credentials persist across connections, memory storage loads the credentials into static memory and the credentials are shared between connections using the same identifier for the life of the process. To persist credentials outside the current process, you must manually store the credentials prior to closing the connection. This enables you to set them in the connection when the process is started again.

To retrieve OAuth property values, query the sys_connection_props system table. If there are multiple connections using the same credentials, the properties are read from the previously closed connection.

Supported Storage Types

  • memory://: Stores OAuth tokens in-memory (unique identifier, shared within same process, etc.)
  • registry://: Only supported in the Windows ODBC and Power BI editions. Stores OAuth tokens in the registry under the DSN settings. Must end in a DSN name like registry://CData Python Connector for Mailchimp Data Source, or registry://%DSN%.
  • %DSN%: The name of the DSN you are connecting with.
  • Default (no prefix): Stores OAuth tokens within files. The value can be either an absolute path, or a path starting with %APPDATA% or %PROGRAMFILES%.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for Mailchimp

CallbackURL

Identifies the URL users return to after authenticating to Mailchimp via OAuth (Custom OAuth applications only).

Data Type

string

Default Value

""

Remarks

If you created a custom OAuth application, the OAuth authorization server redirects the user to this URL during the authentication process. This value must match the callback URL you specified when you configured the custom OAuth application.

CData Python Connector for Mailchimp

OAuthVerifier

Specifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.

Data Type

string

Default Value

""

Remarks

For detailed instructions about how to obtain the OAuthVerifier value, see Establishing a Connection.

CData Python Connector for Mailchimp

OAuthExpiresIn

Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.

Data Type

string

Default Value

""

Remarks

The OAuth Access Token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthExpiresIn is the number of seconds the token is valid from when it was created. For example, a token generated at 2024-01-29 20:00:00 UTC that expires at 2024-01-29 21:00:00 UTC (an hour later) would have an OAuthExpiresIn value of 3600, no matter what the current time is.

To determine how long the user has before the Access Token will expire, check OAuthTokenTimestamp.

CData Python Connector for Mailchimp

OAuthTokenTimestamp

Displays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.

Data Type

string

Default Value

""

Remarks

The OAuth access token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthTokenTimestamp is the Unix timestamp when the server created the token. For example, OAuthTokenTimestamp=1706558400 indicates the OAuthAccessToken was generated by the server at 2024-01-29 20:00:00 UTC.

CData Python Connector for Mailchimp

SSL

This section provides a complete list of the SSL properties you can configure in the connection string for this provider.


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.
CData Python Connector for Mailchimp

SSLServerCert

Specifies the certificate to be accepted from the server when connecting using TLS/SSL.

Data Type

string

Default Value

""

Remarks

If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE-----
MIIChTCCAe4CAQAwDQYJKoZIhv......Qw==
-----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY-----
MIGfMA0GCSq......AQAB
-----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space- or colon-separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space- or colon-separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.

CData Python Connector for Mailchimp

Firewall

This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.


PropertyDescription
FirewallTypeSpecifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
FirewallServerIdentifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
FirewallPortSpecifies the TCP port to be used for a proxy-based firewall.
FirewallUserIdentifies the user ID of the account authenticating to a proxy-based firewall.
FirewallPasswordSpecifies the password of the user account authenticating to a proxy-based firewall.
CData Python Connector for Mailchimp

FirewallType

Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.

Possible Values

NONE, TUNNEL, SOCKS4, SOCKS5

Data Type

string

Default Value

"NONE"

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

Note: By default, the connector connects to the system proxy. To disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.

The following table provides port number information for each of the supported protocols.

Protocol Default Port Description
TUNNEL 80 The port where the connector opens a connection to Mailchimp. Traffic flows back and forth via the proxy at this location.
SOCKS4 1080 The port where the connector opens a connection to Mailchimp. SOCKS 4 then passes theFirewallUser value to the proxy, which determines whether the connection request should be granted.
SOCKS5 1080 The port where the connector sends data to Mailchimp. If the SOCKS 5 proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.

CData Python Connector for Mailchimp

FirewallServer

Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for Mailchimp

FirewallPort

Specifies the TCP port to be used for a proxy-based firewall.

Data Type

int

Default Value

0

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for Mailchimp

FirewallUser

Identifies the user ID of the account authenticating to a proxy-based firewall.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for Mailchimp

FirewallPassword

Specifies the password of the user account authenticating to a proxy-based firewall.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for Mailchimp

Proxy

This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.


PropertyDescription
ProxyAutoDetectSpecifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
ProxyServerIdentifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
ProxyPortIdentifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
ProxyAuthSchemeSpecifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
ProxyUserProvides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
ProxyPasswordSpecifies the password of the user specified in the ProxyUser connection property.
ProxySSLTypeSpecifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
ProxyExceptionsSpecifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.
CData Python Connector for Mailchimp

ProxyAutoDetect

Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.

Data Type

bool

Default Value

true

Remarks

When this connection property is set to True, the connector checks your system proxy settings for existing proxy server configurations (no need to manually supply proxy server details).

This connection property takes precedence over other proxy settings. If you want to configure the connector to connect to a specific proxy server, set ProxyAutoDetect to False.

On Windows, the connector reads the proxy settings from the Internet Options in the registry, specifically the registry key HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\. On Windows 10 and later, this corresponds to the Proxy Settings found in the Windows Settings.

Note that these settings apply only to the current user of the machine. If you're running an application as a service, the connector does not read your own user's settings. You must instead manually supply the proxy settings in the connector's connection properties.

On Mac, the connector reads proxy settings from the system-configured CFNetwork settings.

On Linux, this property is unsupported, and is set to False by default.

To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.

CData Python Connector for Mailchimp

ProxyServer

Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.

Data Type

string

Default Value

""

Remarks

The connector only routes HTTP traffic through the proxy server specified in this connection property when ProxyAutoDetect is set to False.

If ProxyAutoDetect is set to True (the default), the connector instead routes HTTP traffic through the proxy server specified in your system proxy settings.

CData Python Connector for Mailchimp

ProxyPort

Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.

Data Type

int

Default Value

80

Remarks

The connector only routes HTTP traffic through the ProxyServer port specified in this connection property when ProxyAutoDetect is set to False.

If ProxyAutoDetect is set to True (the default), the connector instead routes HTTP traffic through the proxy server port specified in your system proxy settings.

For other proxy types, see FirewallType.

CData Python Connector for Mailchimp

ProxyAuthScheme

Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.

Possible Values

BASIC, DIGEST, NONE, NEGOTIATE, NTLM

Data Type

string

Default Value

"BASIC"

Remarks

Note: The connector only uses this ProxyAuthScheme when ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the authentication method specified in your system proxy settings.

Supported authentication types :

  • BASIC: The connector performs HTTP basic authentication.
  • DIGEST: The connector performs HTTP digest authentication.
  • NTLM: The connector retrieves an NTLM token.
  • NEGOTIATE: The connector retrieves an NTLM or Kerberos token based on the applicable protocol for authentication.
  • NONE: Signifies that the ProxyServer does not require authentication.

For all values other than NONE, you must also set the ProxyUser and ProxyPassword connection properties.

If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.

CData Python Connector for Mailchimp

ProxyUser

Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property.

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:

ProxyAuthScheme Value Value to set for ProxyUser
BASIC The username of a user registered with the proxy server.
DIGEST The username of a user registered with the proxy server.
NEGOTIATE The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user.
NTLM The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user.
NONE Do not set the ProxyPassword connection property.

Note: The connector only uses this username if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the username specified in your system proxy settings.

CData Python Connector for Mailchimp

ProxyPassword

Specifies the password of the user specified in the ProxyUser connection property.

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:

ProxyAuthScheme Value Value to set for ProxyPassword
BASIC The password associated with the proxy server user specified in ProxyUser.
DIGEST The password associated with the proxy server user specified in ProxyUser.
NEGOTIATE The password associated with the Windows user account specified in ProxyUser.
NTLM The password associated with the Windows user account specified in ProxyUser.
NONE Do not set the ProxyPassword connection property.

For SOCKS 5 authentication or tunneling, see FirewallType.

Note: The connector only uses this password if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the password specified in your system proxy settings.

CData Python Connector for Mailchimp

ProxySSLType

Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.

Possible Values

AUTO, ALWAYS, NEVER, TUNNEL

Data Type

string

Default Value

"AUTO"

Remarks

This property determines when to use SSL for the connection to the HTTP proxy specified by ProxyServer. You can set this connection property to the following values :

AUTODefault setting. If ProxyServer is set to an HTTPS URL, the connector uses the TUNNEL option. If ProxyServer is set to an HTTP URL, the component uses the NEVER option.
ALWAYSThe connection is always SSL enabled.
NEVERThe connection is not SSL enabled.
TUNNELThe connection is made through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy.

CData Python Connector for Mailchimp

ProxyExceptions

Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.

Data Type

string

Default Value

""

Remarks

The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.

Note: The connector uses the system proxy settings by default, without further configuration needed. If you want to explicitly configure proxy exceptions for this connection, set ProxyAutoDetect to False.

CData Python Connector for Mailchimp

Logging

This section provides a complete list of the Logging properties you can configure in the connection string for this provider.


PropertyDescription
LogfileSpecifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
LogModulesSpecifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
MaxLogFileSizeSpecifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.
MaxLogFileCountSpecifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.
CData Python Connector for Mailchimp

Logfile

Specifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.

Data Type

string

Default Value

""

Remarks

This property specifies the location and name of the log file where the connector records its operations, including authentication events, query execution, and connection details. If the specified file does not exist, the connector creates it. Ensure that the user or the service running the connector has write access to the specified path or file. Without sufficient permissions, the log file is not created.

Sensitive information from the connection string, such as passwords and tokens, is automatically masked in the logs. However, sensitive information present in the data itself may not be masked.

If you specify a relative path for Logfile, and if the Location property is set, that directory is used as the base path for the log file.

Additional properties allow you to customize logging behavior:

CData Python Connector for Mailchimp

Verbosity

Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.

Data Type

string

Default Value

"1"

Remarks

This property defines the level of detail the connector includes in the log file. Higher verbosity levels increase the detail of the logged information, but may also result in larger log files and slower performance due to the additional data being captured.

The default verbosity level is 1, which is recommended for regular operation. Higher verbosity levels are primarily intended for debugging purposes. For more information on each level, refer to Logging.

When combined with the LogModules property, Verbosity can refine logging to specific categories of information.

CData Python Connector for Mailchimp

LogModules

Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.

Data Type

string

Default Value

""

Remarks

The connector writes details about each operation it performs into the logfile specified by the Logfile connection property.

Each of these logged operations are assigned to a themed category called a module, and each module has a corresponding short code used to labels individual connector operations as belonging to that module.

When this connection property is set to a semicolon-separated list of module codes, only operations belonging to the specified modules are written to the logfile. Note that this only affects which operations are logged moving forward and doesn't retroactively alter the existing contents of the logfile. For example: INFO;EXEC;SSL;META;

By default, logged operations from all modules are included.

You can explicitly exclude a module by prefixing it with a "-". For example: -HTTP

To apply filters to submodules, identify them with the syntax <module name>.<submodule name>. For example, the following value causes the connector to only log actions belonging to the HTTP module, and further refines it to exclude actions belonging to the Res submodule of the HTTP module: HTTP;-HTTP.Res

Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.

The available modules and submodules are:

Module Name Module Description Submodules
INFO General Information. Includes the connection string, product version (build number), and initial connection messages.
  • Connec – Information related to creating or destroying connections.
  • Messag – Generic label for messages pertaining to connections, the connection string, and product version. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
EXEC Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well.
  • Messag – Messages pertaining to query execution. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Normlz – Query normalization steps. Query normalization is when the product takes the user-submitted query and rewrites the query to get the same results with optimal performance.
  • Origin – This label applies to any messages recording a user's original query (the exact, unaltered, non-normalized query executed by the user).
  • Page – Messages related to query paging.
  • Parsed – Query parsing steps. Parsing is the process of converting the user-submitted query into a standardized format for easier processing.
HTTP HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages.
  • KERB – HTTP requests related to Kerberos.
  • Messag – Messages pertaining to HTTP protocols. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Unpack – This label applies to messages about zipped data being returned from the service API and unpacked by the product.
  • Res – Messages containing HTTP responses.
  • Req – Messages containing HTTP requests.
WSDL Messages pertaining to the generation of WSDL/XSD files.
SSL SSL certificate messages.
  • Certif – Messages pertaining to SSL certificates.
AUTH Authentication related failure/success messages.
  • Messag – Messages pertaining to authentication. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • OAuth – Messages related to OAuth authentication.
  • Krbros – Kerberos-related authentication messages.
SQL Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages.
  • Bulk – Messages pertaining to bulk query execution.
  • Cache – Messages related to reading row data from and writing row data to the product's cache for better performance.
  • Messag – Messages pertaining to SQL transactions. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • ResSet – Query resultsets.
  • Transc – Messages related to handling transactions, including information about the number of jobs executed and backup table handling.
META Metadata cache and schema messages.
  • Cache – Messages related to reading from and modifying column and table definitions in the product's cache for better performance.
  • Schema – Messages related to retrieving metadata from or modifying the service schema.
  • MemSto – Messages related to writing to or reading from in-memory metadata cache.
  • Storag – Messages relating to storing metadata on disk or in an external data store, rather than in memory.
FUNC Information related to executing SQL functions.
  • Errmsg – Error messages related to executing SQL functions.
TCP Incoming and outgoing raw bytes on TCP transport layer messages.
  • Send – Raw data sent via the TCP protocol.
  • Receiv – Raw data received via the TCP protocol.
FTP Messages pertaining to the File Transfer Protocol.
  • Info – Status messages related to communication in the FTP protocol.
  • Client – Messages related to actions taken by the FTP client (the product) during FTP communication.
  • Server – Messages related to actions taken by the FTP server during FTP communication.
SFTP Messages pertaining to the Secure File Transfer Protocol.
  • Info – Status messages related to communication in the SFTP protocol.
  • To_Server – Messages related to actions taken by the SFTP client (the product) during SFTP communication.
  • From_Server – Messages related to actions taken by the SFTP server during SFTP communication.
POP Messages pertaining to data transferred via the Post Office Protocol.
  • Client – Messages related to actions taken by the POP client (the product) during POP communication.
  • Server – Messages related to actions taken by the POP server during POP communication.
  • Status – Status messages related to communication in the POP protocol.
SMTP Messages pertaining to data transferred via the Simple Mail Transfer Protocol.
  • Client – Messages related to actions taken by the SMTP client (the product) during SMTP communication.
  • Server – Messages related to actions taken by the SMTP server during SMTP communication.
  • Status – Status messages related to communication in the SMTP protocol.
CORE Messages relating to various internal product operations not covered by other modules.
DEMN Messages related to SQL remoting.
CLJB Messages about bulk data uploads (cloud job).
  • Commit – Submissions for bulk data uploads.
SRCE Miscellaneous messages produced by the product that don't belong in any other module.
TRANCE Advanced messages concerning low-level product operations.

CData Python Connector for Mailchimp

MaxLogFileSize

Specifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.

Data Type

string

Default Value

"100MB"

Remarks

For values lower than 100 KB, the connector uses 100 KB as the minimum allowable size.

To control the total number of log files retained, use the MaxLogFileCount property in conjunction with this property. Together, these properties allow you to manage the size and retention of log files effectively.

CData Python Connector for Mailchimp

MaxLogFileCount

Specifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.

Data Type

int

Default Value

-1

Remarks

Each log file name includes the date and time for easier identification.

This property accepts the following values:

  • A value of 2 or higher sets the maximum number of log files retained.
  • A value of 1 retains only one log file. When it reaches the maximum size, the file is deleted and replaced by a new one, leaving no history beyond the current log.
  • A value of 0 or negative indicates no limit on the number of log files, and logging continues indefinitely.

To manage log file size, use the MaxLogFileSize property. The two properties work together to control the size and retention of log files in the logging folder.

CData Python Connector for Mailchimp

Schema

This section provides a complete list of the Schema properties you can configure in the connection string for this provider.


PropertyDescription
LocationSpecifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
TablesOptional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
ViewsOptional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .
CData Python Connector for Mailchimp

Location

Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.

Data Type

string

Default Value

"%APPDATA%\\CData\\MailChimp Data Provider\\Schema"

Remarks

The Location property is only needed if you want to either customize definitions (for example, change a column name, ignore a column, etc.) or extend the data model with new tables, views, or stored procedures.

If left unspecified, the default location is %APPDATA%\\CData\\MailChimp Data Provider\\Schema, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

CData Python Connector for Mailchimp

BrowsableSchemas

Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .

Data Type

string

Default Value

""

Remarks

Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.

CData Python Connector for Mailchimp

Tables

Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .

Data Type

string

Default Value

""

Remarks

Listing all available tables from some databases can take extra time, thus degrading performance. Providing a list of tables in the connection string saves time and improves performance.

If there are lots of tables available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those tables. To do this, specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each table you want to view by its fully qualified name. This avoids ambiguity between tables that may exist in multiple catalogs or schemas.

CData Python Connector for Mailchimp

Views

Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .

Data Type

string

Default Value

""

Remarks

Listing all available views from some databases can take extra time, thus degrading performance. Providing a list of views in the connection string saves time and improves performance.

If there are lots of views available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those views. To do this, specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each view you want to examine by its fully qualified name. This avoids ambiguity between views that may exist in multiple catalogs or schemas.

CData Python Connector for Mailchimp

Caching

This section provides a complete list of the Caching properties you can configure in the connection string for this provider.


PropertyDescription
AutoCacheSpecifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.
CacheProviderThe namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.
CacheDriverThe driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.
CacheConnectionSpecifies the connection string for the specified cache database.
CacheLocationSpecifies the path to the cache when caching to a file.
CacheToleranceNotes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.
OfflineGets the data from the specified cache database instead of live Mailchimp data.
CacheMetadataDetermines whether the provider caches table metadata to a file-based cache database.
CData Python Connector for Mailchimp

AutoCache

Specifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, the connector automatically caches the contents of tables targeted by SELECT queries. The content of these tables is cached to the cache database specified by the CacheConnection and CacheProvider connection properties.

See Also

For additional information, see:

  • CacheMetadata: With CacheMetadata enabled, all retrieved metadata is mirrored in the cache database. This means that any subsequent attempts by the connector to discover metadata are much faster, as this metadata is then read directly from the cache database, without needing to spend time requesting metadata from Mailchimp.
  • Explicitly Caching Data: This topic provides examples for using AutoCache in Offline mode.
  • CACHE Statements: You can use the CACHE statement to explicitly cache the content of any table targeted by a SELECT query.

CData Python Connector for Mailchimp

CacheProvider

The namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.

Data Type

string

Default Value

""

Remarks

You can cache to ADO.NET providers saved in your ADO.NET global assembly cache (GAC).

CData ADO.NET providers automatically register themselves with the GAC during installation, so you don't need to do so manually.

Third-party ADO.NET providers may or may not automatically register themselves with the GAC during installation. If you want to cache to a third-party ADO.NET provider, consult the documentation for that provider to determine what steps (if any) you must take to register them with the GAC. Once they have been registered, you can supply their namespace in this connection property.

You must also set the CacheConnection connection property to provide a connection string for the specified ADO.NET provider.

The following sections show connection examples and address other requirements for several popular database providers. Refer to CacheConnection for more information on typical connection properties.

SQLite

You can use the Microsoft ADO.NET Provider for SQLite to cache to SQLite databases.

CacheProvider=Microsoft.Data.Sqlite;CacheConnection='DataSource=C:\\Users\\Public\\cache.db;'APIKey=myAPIKey;

MySQL

To cache to MySQL, you can use the CData ADO.NET Provider for MySQL:
Cache Provider=System.Data.CData.MySQL;Cache Connection='Server=localhost;Port=3306;Database=cache;User=root;Password=123456';User=myUser;Password=myPassword;Security Token=myToken;

SQL Server

You can use the Microsoft .NET Framework Provider for SQL Server, included in the .NET Framework, to cache to SQL Server:

Cache Provider=System.Data.SqlClient;Cache Connection="Server=MyMACHINE\MyInstance;Database=SQLCACHE;User Id=root;Password=admin";APIKey=myAPIKey;

Oracle

To cache to Oracle, you can use the Oracle Data Provider for .NET, as shown in the following example:

Cache Provider=Oracle.DataAccess.Client;Cache Connection='User Id=scott;Password=tiger;Data Source=ORCL';APIKey=myAPIKey;

The Oracle Data Provider for .NET also requires the Oracle Database Client. When you download the Oracle Database Client, ensure that its bitness matches the bitness of your machine. When you install, select either the Runtime or Administrator installation type. The Instant Client is not sufficient.

PostgreSQL

To cache to PostgreSQL, you can use the CData ADO.NET Provider for PostgreSQL:
Cache Provider=System.Data.CData.PostgreSQL;Cache Connection='Server=localhost;Port=5432;Database=cache;User=postgres;Password=123456';User=myUser;Password=myPassword;Security Token=myToken;

CData Python Connector for Mailchimp

CacheDriver

The driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.

Data Type

string

Default Value

""

Remarks

You can cache to any database for which you have a JDBC driver, including CData JDBC drivers.

Note: You must add the JAR file of the specified JDBC driver to the classpath. For CData JDBC drivers, you can find this JAR file in the "lib" subfolder of that driver's installation directory.

You must also set the CacheConnection connection property to provide a connection string for the specified JDBC driver.

For Linux systems and macOS, you need to create a config.ini file on the installation path of the driver (site-packages/cdata). The config.ini file has the following format (the driver and the path of the JDBC driver):

[salesforce.cpython-38-x86_64-linux-gnu.so]
CLASSPATH = /home/usrname/Downloads/lib/cdata.jdbc.postgresql.jar

Examples

The following examples show how to cache to several major databases. For more information on the JDBC URL syntax and typical connection properties, see CacheConnection.

Derby and Java DB

Java DB is the Oracle distribution of Derby. You must add the Derby JDBC driver's JAR file, derbytools.jar, to your classpath to cache to Java DB.

The Derby JDBC driver's JAR file is bundled in db-derby-10.17.1.0-bin.zip, which you can download from this page. You can find derbytools.jar in the "lib" subfolder of this zip file.

After adding derbytools.jar to the classpath, you can cache to a Java DB database as follows:

jdbc:mailchimp:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:sample';APIKey=myAPIKey;
To cache to an in-memory database, use a JDBC URL like the following:
jdbc:mailchimp:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';APIKey=myAPIKey;

SQLite

The following is a JDBC URL for the SQLite JDBC driver:

jdbc:mailchimp:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';APIKey=myAPIKey;

MySQL

The following is a JDBC URL for the CData JDBC Driver for MySQL:

  jdbc:mailchimp:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';APIKey=myAPIKey;
  

SQL Server

The following JDBC URL uses the Microsoft JDBC Driver for SQL Server:

jdbc:mailchimp:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';APIKey=myAPIKey;

Oracle

The following is a JDBC URL for the Oracle Thin Client:

jdbc:mailchimp:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';APIKey=myAPIKey;
NOTE: If using a version of Oracle older than 9i, the cache driver will instead be oracle.jdbc.driver.OracleDriver .

PostgreSQL

The following JDBC URL uses the official PostgreSQL JDBC driver:

jdbc:mailchimp:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';APIKey=myAPIKey;

CData Python Connector for Mailchimp

CacheConnection

Specifies the connection string for the specified cache database.

Data Type

string

Default Value

""

Remarks

The target cache database is determined by a combination of this connection property and the CacheProvider connection property. Both properties are required to use the specified cache database.

The connection string specified in this connection property is passed directly to the specified in the CacheProvider connection property. Consult the documentation for the specified for more information on its available connection properties.

Examples of common cache database settings can be found below.

SQLite

MySQL

The following are typical connection properties:

  • Server: The IP address or domain name of the server hosting the MySQL database that you want to cache to.
  • Port: The port on the specified server where your MySQL instance is running.
  • Database: The name of the MySQL database that you want to cache to. Must match the name of a MySQL database hosted on the specified server.
  • User: The username of a user registered with the selected MySQL database.
  • Password: The password associated with the specified MySQL user.

SQL Server

The following are typical SQL Server connection properties:

  • Server: The name or network address of the computer running SQL Server. To connect to a named instance instead of the default instance, specify the host name and the instance name, separated by a backslash.
  • Port: The port on the specified server where your SQL Server instance is running.
  • Database: The name of the SQL Server database you want to cache to. Must match the name of a SQL Server database hosted on the specified server.
  • Integrated Security: To use the current Windows account for authentication, set this option to True. To authenticate with User and Password instead, set this option to False.
  • User Id: The username of a user registered with the selected SQL Server database. This property is only needed if you are not using integrated security.
  • Password: The password associated with the specified SQL Server user. This property is only needed if you are not using integrated security.

Oracle

The following are typical connection properties:

  • Data Source: The connect descriptor that identifies the Oracle database. This can be a TNS connect descriptor, an Oracle Net Services name that resolves to a connect descriptor, or, after version 11g, an Easy Connect naming (the host name of the Oracle server with an optional port and service name).

  • User Id: The username of a user registered with the selected Oracle database.
  • Password: The password associated with the specified Oracle user.

PostgreSQL

The following are typical connection properties:

  • Host: The address of the server hosting the PostgreSQL database.
  • Port: The port on the specified host server where your PostgreSQL database is hosted.
  • Database: The name of the PostgreSQL database you want to cache to. Must match the name of a PostgreSQL database hosted on the specified server.
  • User name: The username of a user registered with the selected PostgreSQL database.
  • Password: The password associated with the specified user.

CData Python Connector for Mailchimp

CacheLocation

Specifies the path to the cache when caching to a file.

Data Type

string

Default Value

"%APPDATA%\\CData\\MailChimp Data Provider"

Remarks

The CacheLocation is a simple, file-based cache.

If left unspecified, the default location is %APPDATA%\\CData\\MailChimp Data Provider, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

See Also

  • AutoCache: Set to implicitly create and maintain a cache for later offline use.
  • CacheMetadata: Set to persist the Mailchimp catalog in CacheLocation.

CData Python Connector for Mailchimp

CacheTolerance

Notes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.

Data Type

int

Default Value

600

Remarks

When you execute a query for tables in the cache, the connector checks the time elapsed since the last update to the cache.

If the last update to the cache is older than the value of this connection property (measured in seconds), the connector refreshes the cache.

Otherwise, the connector returns data directly from the cache.

CData Python Connector for Mailchimp

Offline

Gets the data from the specified cache database instead of live Mailchimp data.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, all queries execute against the cache database instead of the live Mailchimp data.

In this mode, some SQL operations like INSERT, UPDATE, DELETE, and CACHE are disabled.

CData Python Connector for Mailchimp

CacheMetadata

Determines whether the provider caches table metadata to a file-based cache database.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, as you execute queries, table metadata in the Mailchimp catalog is cached to the cache database specified by CacheConnection and CacheProvider, or, if those connection properties are not set, to the user's home directory.

The location of your home directory varies by platform:

PlatformHome Directory
Windows %APPDATA%\\CData\\MailChimp Data Provider
Mac ~/Library/Application Support/CData/MailChimp Data Provider
Unix ~/.config/CData/MailChimp Data Provider

A table's metadata is retrieved only once, when the table is queried for the first time.

When to Use CacheMetadata

When there are a large number of Mailchimp tables and columns for the connector to retrieve during metadata discovery, the connector may take a while to list all table metadata.

You may experience slow metadata retrieval when:

  • Your Mailchimp instance naturally has a large table count.
  • The connector has been configured, via its connection properties, to discover more tables than it would under its default configuration.
  • You make many short-lived connections to the connector.
With CacheMetadata enabled, all retrieved metadata is mirrored in the cache database. This means that any subsequent attempts by the connector to discover metadata are much faster, as this metadata is then read directly from the cache database, without needing to spend time requesting metadata from Mailchimp.

When Not to Use CacheMetadata

The connector automatically persists metadata in memory for up to an hour when you first discover the metadata for a table or view, so CacheMetadata is generally not necessary.

CacheMetadata is not ideal in scenarios where you are working with volatile metadata. The first time you query a table, the connector caches its metadata to the cache database file. This cache is not dynamically updated to reflect updates to the table schema, so you must delete and rebuild the cache database file to pick up new, changed, or deleted columns.

CData Python Connector for Mailchimp

Miscellaneous

This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.


PropertyDescription
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
OtherSpecifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
PagesizeSpecifies the maximum number of records per page the provider returns when requesting data from Mailchimp.
PseudoColumnsSpecifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
ReadonlyToggles read-only access to Mailchimp from the provider.
RTKSpecifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.
TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
UserDefinedViewsSpecifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
CData Python Connector for Mailchimp

MaxRows

Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.

Data Type

int

Default Value

-1

Remarks

The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)

Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.

This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.

CData Python Connector for Mailchimp

Other

Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.

Data Type

string

Default Value

""

Remarks

This property allows advanced users to configure hidden properties for specialized situations, with the advice of our Support team. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. To define multiple properties, use a semicolon-separated list.

Note: It is strongly recommended to set these properties only when advised by the Support team to address specific scenarios or issues.

Caching Configuration

PropertyDescription
CachePartial=TrueCaches only a subset of columns, which you can specify in your query.
QueryPassthrough=TruePasses the specified query to the cache database instead of using the SQL parser of the connector.

Integration and Formatting

PropertyDescription
DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMT=TrueConverts date-time values to GMT, instead of the local time of the machine. The default value is False (use local time).
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.

CData Python Connector for Mailchimp

Pagesize

Specifies the maximum number of records per page the provider returns when requesting data from Mailchimp.

Data Type

int

Default Value

1000

Remarks

When processing a query, instead of requesting all of the queried data at once from Mailchimp, the connector can request the queried data in pieces called pages.

This connection property determines the maximum number of results that the connector requests per page.

Note: Setting large page sizes may improve overall query execution time, but doing so causes the connector to use more memory when executing queries and risks triggering a timeout.

CData Python Connector for Mailchimp

PseudoColumns

Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.

Data Type

string

Default Value

""

Remarks

This property allows you to define which pseudocolumns the connector exposes as table columns.

To specify individual pseudocolumns, use the following format:

Table1=Column1;Table1=Column2;Table2=Column3

To include all pseudocolumns for all tables use:

*=*

CData Python Connector for Mailchimp

Readonly

Toggles read-only access to Mailchimp from the provider.

Data Type

bool

Default Value

false

Remarks

When set to True, the connector allows only SELECT queries. Attempting an INSERT, UPDATE, DELETE, or stored procedure query fails with an error message.

CData Python Connector for Mailchimp

RTK

Specifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.

Data Type

string

Default Value

""

Remarks

This property is typically unnecessary, as most configurations support a standard licensing mechanism.

Warning: The value of this property takes precedence over all existing licensing information. To avoid licensing errors, ensure the provided runtime key is correct.

CData Python Connector for Mailchimp

Timeout

Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.

Data Type

int

Default Value

60

Remarks

The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.

Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.

Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.

Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.

CData Python Connector for Mailchimp

UserDefinedViews

Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.

Data Type

string

Default Value

""

Remarks

UserDefinedViews allows you to define and manage custom views through a JSON-formatted configuration file called UserDefinedViews.json. These views are automatically recognized by the connector and enable you to execute custom SQL queries as if they were standard database views. The JSON file defines each view as a root element with a child element called "query", which contains the SQL query for the view.

For example:

{
	"MyView": {
		"query": "SELECT * FROM Lists WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}

You can use this property to define multiple views in a single file and specify the filepath. For example:

UserDefinedViews=C:\Path\To\UserDefinedViews.json
When you specify a view in UserDefinedViews, the connector only sees that view.

For further information, see User Defined Views.

CData Python Connector for Mailchimp

Third Party Copyrights

LZMA from 7Zip LZMA SDK

LZMA SDK is placed in the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

LZMA2 from XZ SDK

Version 1.9 and older are in the public domain.

Xamarin.Forms

Xamarin SDK

The MIT License (MIT)

Copyright (c) .NET Foundation Contributors

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

NSIS 3.10

Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS

"Contribution" means:

a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:

i) changes to the Program, and

ii) additions to the Program;

where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.

"Contributor" means any person or entity that distributes the Program.

"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.

2. GRANT OF RIGHTS

a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.

b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.

c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.

d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.

3. REQUIREMENTS

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of this Agreement; and

b) its license agreement:

i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;

ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;

iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and

iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

When the Program is made available in source code form:

a) it must be made available under this Agreement; and

b) a copy of this Agreement must be included with each copy of the Program.

Contributors may not remove or alter any copyright notices contained within the Program.

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.

4. COMMERCIAL DISTRIBUTION

Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL

If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.

This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.

AdoptOpenJDK / Adoptium Temurin JRE 17.0.18_8

Copyright (c) Eclipse Foundation AISBL. All Rights Reserved.

Apache License, Version 2.0

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

  1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
  2. You must cause any modified files to carry prominent notices stating that You changed the files; and
  3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
  4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

Eclipse Distribution License - v 1.0

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Eclipse Public License - v 2.0

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS "Contribution" means:

  • a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and
  • b) in the case of each subsequent Contributor:
    • i) changes to the Program, and
    • ii) additions to the Program;
    where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution "originates" from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works.
"Contributor" means any person or entity that Distributes the Program. "Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions Distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors.

"Derivative Works" shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship.

"Modified Works" shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof.

"Distribute" means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy.

"Source Code" means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Secondary License" means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor.

2. GRANT OF RIGHTS

  • a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works.
  • b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
  • c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
  • d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
  • e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3).

3. REQUIREMENTS 3.1 If a Contributor Distributes the Program in any form, then:

  • a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and
  • b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license:
    • i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
    • ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
    • iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and
    • iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3.
3.2 When the Program is Distributed as Source Code:
  • a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and
  • b) a copy of this Agreement must be included with each copy of the Program.
3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (‘notices') contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices.

4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version.

Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third-party beneficiary rights are created under this Agreement.

Exhibit A – Form of Secondary Licenses Notice "This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}."

Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses.

If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.

You may add additional accurate notices of copyright ownership.

GNU Classpath

Classpath is distributed under the terms of the GNU General Public License with the following clarification and special exception.

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

As such, it can be used to run, create and distribute a large class of applications and applets. When GNU Classpath is used unmodified as the core class library for a virtual machine, compiler for the java languge, or for a program written in the java programming language it does not affect the licensing for distributing those programs directly.

OpenJDK Assembly Exception

The OpenJDK source code made available by Oracle America, Inc. (Oracle) at openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2 only ("GPL2"), with the following clarification and special exception.

Linking this OpenJDK Code statically or dynamically with other code is making a combined work based on this library. Thus, the terms and conditions of GPL2 cover the whole combination.

As a special exception, Oracle gives you permission to link this OpenJDK Code with certain code licensed by Oracle as indicated at http://openjdk.java.net/legal/exception-modules-2007-05-08.html ("Designated Exception Modules") to produce an executable, regardless of the license terms of the Designated Exception Modules, and to copy and distribute the resulting executable under GPL2, provided that the Designated Exception Modules continue to be governed by the licenses under which they were offered by Oracle.

As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to build an executable that includes those portions of necessary code that Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 with the Classpath exception). If you modify or add to the OpenJDK code, that new GPL2 code may still be combined with Designated Exception Modules if the new code is made subject to this exception by its copyright holder.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9655