The Watson Campaign Automation SOAP API library provides an efficient mechanism to accomplish many automation and integration tasks.

Feature

The SOAP API interface defines standard requests and responses for the following functions:

Session Management

  • <Login> (User Login) – used to login to the SOAP API.
  • <Logout> (User Logout) – used to logout of the SOAP API.

Database Management Interfaces allow you to invoke Watson Campaign Automation functions directly related to database contacts.

When adding or updating a contact, you can pass values for fields that contain content such as HTML, CSS, XML, and XSL. To accomplish this, you must enclose the content in a [CDATA] which will pass it through the XML parser without processing it. Watson Campaign Automation will process the content differently depending on the parameters set for the call.

To display the markup as literal characters, enclose it in a [CDATA] tag and do not use the ALLOW_HTML element in the XML envelope. Watson Campaign Automation will convert the special markup characters into their corresponding character entity references. When rendered in a user agent, they will display as the literal characters instead of interpreting the code as markup.

Option 2 – Interpreting the content to render that data

To interpret the content and render the data, enclose the content in a [CDATA] tag and set the ALLOW_HTML element in the XML envelope to True. Watson Campaign Automation will pass the special markup characters through as markup and will render the content appropriately. When rendered in a user agent, it will interpret the markup characters and will display the content with the correct formatting.

Examples:

A typical name/value pair used for text values:
<NAME>First_Name</NAME>
<VALUE>John</VALUE>

A name/value pair when using HTML markup with the text value:
<NAME>First_Name</NAME>
<VALUE><![CDATA[<b>John</b>]]></VALUE>

When you include the <ALLOW_HTML>true</ALLOW_HTML> element in the envelope with the name/value pair above, the value “John” is displayed in a user agent (with bold formatting). If you leave the ALLOW_HTML element out of the envelope, the value “John” will be displayed just as it appears above in the name/value pair (“<b>John</b>” with the HTML code included).

When using the Watson Campaign Automation Send Time Optimization feature, you can set the contact’s Send Time by including a value in the Send Hour field of the database (using the COLUMN section of the request to add a contact). Ensure the Name element is the name of the field having a Send Hour type and that the Value is a number between 0 and 168. This numeric range represents the full number of hours in a week (where the number 1 represents Sunday at 12:00 AM GMT and 168 represents the following Saturday at 11:00 PM GMT). To send the message to the contact immediately, specify a 0 (zero). Note: you will receive this value in the response when you select contact details.

List Management

  • <AddRecipient> (Add a Contact) – used to add one new contact to an existing Watson Campaign Automation database.
  • <DoubleOptInRecipient> (Double Opt-In a Contact) – used to confirm the Opt‐in for a contact in a Watson Campaign Automation Double Opt‐in Database.
  • <OptOutRecipient> (Opt out a Contact) – used to move a contact in a Watson Campaign Automation database to an opted‐out state.
  • <SelectRecipientData> (Select Contact Details) – used to retrieve information about a contact in a Watson Campaign Automation database.
  • <UpdateRecipient> (Update a Contact) – used to update a contact in an existing Watson Campaign Automation database.

List Management User Actions

  • <AddListColumn> (Add a Column to a Database) – used to add a column to an existing Watson Campaign Automation Database
  • <AddContactToContactList> (Add a Contact to a Contact List) – used to add one new contact to a Watson Campaign Automation Contact list.
  • <AddContactToProgram> (Add a Contact to a Program) – used to add a Contact to the beginning of a Watson Campaign Automation Program.
  • <CalculateQuery> (Calculate the Current Contacts for a Query) – used to calculate the number of contacts for a Watson Campaign Automation query.
  • <CreateContactList> (Create a Contact List) – used to create a Watson Campaign Automation Contact list.
  • <CreateQuery> (Create a Query or Classic Query) – used to programmatically create a query of an Watson Campaign Automation database.
  • <CreateTable> (Create a Relational Table) – used to create a Relational table in Watson Campaign Automation.
  • <DeleteTable> (Delete Records from a Relational Table) – used to delete Watson Campaign Automation Relational table data.
  • <ExportList> (Export from a Database) – used to export contact data from a Watson Campaign Automation database, query, or contact list.
  • <ExportTable> (Export from a Relational Table) – used to export Watson Campaign Automation Relational table data.
  • <GetLists> (Get a List of Databases) – used to extract a list of Watson Campaign Automation databases for an organization.
  • <GetListMetaData> (Get Database details) – used to return the description of a Watson Campaign Automation database, query, or Relational table.
  • <ImportList> (Import to a Database) – used along with SFTP to allow importing a batch file that contains new, modified, or opted out contacts. Contacts can also be added to an existing Watson Campaign Automation Contact list.
  • <ImportTable> (Import to a Relational Table) – used to create or update a Watson Campaign Automation Relational table.
  • <InsertUpdateRelationalTable> (Insert and Update Records in a Relational Table) – used to insert or update Watson Campaign Automation Relational table data.
  • <JoinTable> (Associate Relational Data with Contacts in a database) – used to associate a Watson Campaign Automation database with a Watson Campaign Automation Relational table.
  • <ListRecipientMailings> (List Contact Mailings) – used to return a list of Watson Campaign Automation mailings for a specified database (or query) and contact as well as metrics associated with those mailings. 
  • <PurgeTable> (Purge Data from a Relational Table) – used to programmatically delete Watson Campaign Automation Relational table data.
  • <RemoveRecipient> (Remove a Contact) – used to remove a contact from a Watson Campaign Automation database or contact list. CAUTION: Removing a recipient from a database also removes all tracking for mailings sent to the recipient and cannot be undone.

Mailing Management

  • <ForwardToFriend> (Forward Mailing to a Friend)  – used to send a copy of a Watson Campaign Automation mailing along with an additional message to the specified contacts.
  • <SendMailing> (Send a Mailing to a Contact) – used to send a Watson Campaign Automation mailing to the specified contact. The SendMailing operation is specifically for the delivery of autoresponders based on a custom event.

Mailing Management User Actions

  • <AddDCRuleset> (Add a Dynamic Content Ruleset)  – used to create a ruleset including its content areas, rules, and content.
  • <DeleteDCRuleset> (Delete a Dynamic Content Ruleset) – used to delete the specified ruleset from the Watson Campaign Automation Asset library.
  • <ExportDCRuleset> (Export a Dynamic Content Ruleset) – used to export the specified ruleset and all associated content, including images, from the Watson Campaign Automation Asset Library as a .zip file.
  • <ExportMailingTemplate> (Export a Mailing Template) – used to export a Watson Campaign Automation mailing template.
  • <GetDCRuleset> (Get Dynamic Content Ruleset Details) – used to return the specified ruleset in XML format.
  • <GetMailingTemplates> (Get a List of Mailing Templates) – used to extract a list of Shared or Private Watson Campaign Automation mailing templates for your Organization.
  • <ImportDCRuleset> (Import a Dynamic Content Ruleset) – used to import a .zip containing the XML file defining a Watson Campaign Automation Dynamic Content ruleset and any associated HTML or images.
  • <ListDCRulesetsforMailing> (List Dynamic Content Rulesets for a Mailing) – used to return a list of available Watson Campaign Automation DC rulesets for the specified mailing.
  • <PreviewMailing> (Preview a Mailing Before Sending) – used to return a preview of a Watson Campaign Automation mailing template.
  • <ReplaceDCRuleset> (Replace a Dynamic Content Ruleset) – used to replace an existing ruleset with newly specified parameters.
  • <ScheduleMailing> (Schedule a Mailing) – used to send a Watson Campaign Automation template‐based mailing to a specific Watson Campaign Automation database or query.
  • <ValidateDCRuleset> (Validate a Dynamic Content Ruleset) – used to perform a validation check against all Watson Campaign Automation Dynamic Content rulesets (including nested Rulesets) associated with the specified mailing.

Reporting

Watson Campaign Automation archives mailing tracking data after 450 days by default. You can modify this setting to reduce the number of days before archiving, but 450 is the maximum setting. When using the TrackingMetricExport method, if Watson Campaign Automation has already archived the tracking data for the Mailing ID specified, you will receive an error message from the “call” specifying this. For Autoresponders, if the SEND or ACTION date ranges specified are greater than 450 days (or the number of days configured for archiving), you will receive an error message (returned from the call) specifying that the mailing was archived. If the date range spans both archived and available data for the mailing, Watson Campaign Automation will return only the data available and will not return archived data.

If your Organization will frequently requests data older than 30‐60 days, we recommend leaving the archive setting at 450 days. As a best practice, try to refrain from requesting data older than one year to avoid including archived data in an export date range.

  • <DeleteJob> (Delete a Data Job) – used to remove a job from Watson Campaign Automation.
  • <RawRecipientDataExport> (Export Raw Contact Events) – used to export unique contact-level events and creates a compressed file that contains a single flat file with all metrics.
  • <TrackingMetricExport> (Export Tracking Metrics) – extract mailing tracking metrics and create a .zip file containing one or more flat files (plain text
    with one row of data per line) for extracted mailing metrics.
  • <GetReportIdByDate> (Get a List of Report IDs for a Mailing) – used to extract the Report IDs for a particular Watson Campaign Automation mailing that is sent between specified dates.
  • <GetAggregateTrackingForMailing> (Get Aggregate Tracking Metrics for a Mailing) – used to extract metrics for a specified Watson Campaign Automation mailing.
  • <GetAggregateTrackingForOrg> (Get Aggregate Tracking Metrics for an Org) – used to extract a listing of Watson Campaign Automation mailings that are sent for an organization for a specified date range and provides metrics for those mailings.
  • <GetAggregateTrackingForUser> (Get Aggregate Tracking Metrics for a User) – used to extract a listing of Watson Campaign Automation mailings that are sent for the logged on user for a specified date range.
  • <GetSentMailingsForList> (Get a List of Sent Mailings for a Database) – used to extract a listing of Watson Campaign Automation mailings that are sent for a particular database and specified date range.
  • <GetSentMailingsForOrg> (Get a List of Sent Mailings for an Org) – used to extract a listing of Watson Campaign Automation mailings that are sent for an organization for a specified date range.
  • <GetSentMailingsForUser> (Get a List of Sent Mailings for a User) – used to extract a listing of Watson Campaign Automation mailings that are sent for the logged on user for a specified date range.
  • <GetJobStatus>(Get Status of a Data Job) – used to monitor the status of a job after the data job is initiated.

9 comments on"API Reference Guide"

  1. Matt Googins July 27, 2018

    Pod 8 does not have a WSDL?

    • Hello Matt,
      Currently there is no wsdl set up for Pods 6, 7, nor 8. Customers will be notified if that becomes available.

      Thank you
      jeri

  2. What are our options if we need the WSDL for Pods 6? Is there a road map that includes this functionality?

    Thanks,

  3. Erin Alemdar December 13, 2018

    @JREllis

    Thanks for following up– I have not heard anything from Zack yet but will stay posted.

Join The Discussion

Your email address will not be published. Required fields are marked *