Find answers to more common troubleshooting questions here.

Common Errors

Error Symptoms Resolving the Problem
AddRecipient AddRecipient Error: Unable to perform requested action. The Contact Source is shared and you are not a member of the owner’s organization. The AddRecipient call with an account that does not exist within the same org as the contact source (database) to which you are trying to add a recipient causes this error. Add the account to the org that contains the contact source.
ImportList The ImportList API call produces the follow error: Error executing import of list. Details: null. The reason this error can occur is due to an incorrect mapping file, where the column that is defined in the mapping file does not exist in the database, thus the ‘null’ error.
It could also be a misspelling in the mapping file of an existing column in the database. (For example, the column is specified in the mapping file as ‘Customer ID’, whereas, in the database, it is named ‘Customer_ID’.)
Opening the file Exporting information by using API, causes the ‘Error opening the export file’ message to appear. This error involves the FTP/SFTP folder not working as expected, even when the API is bypassing the FTP and trying to add to stored files.
To resolve, log into your FTP and make sure that you have an upload and download directory, and that you are able to access them. Once confirmed that you have directories and can access them, resubmit the call, and it works. If there is still an error message, contact Client Support for more assistance.
Example:
FTP information:

  • Server/Host: transferX.silverpop.com (X = the instance of the Watson Campaign Automation.
  • Port/Protocol: 22/SFTP
  • Login information is the same as the login used for the Watson Campaign Automation account.
  • Saving Recipient Note: This API is not supported for Flexible databases.
    A contact is stuck in the ‘Pre-opt in’ state and you are trying to fully opt them into your Double Opt In Database. Once the DoubleOptInRecipient API call is submitted, you receive this error:
    <?xml version=’1.0′?>
    <Envelope>
    <Body>
    <RESULT>
    <SUCCESS>false</SUCCESS>
    </RESULT
    <Fault>
    <Request/>
    <FaultCode/>
    <FaultString>Error Saving Recipient:null</FaultString>
    <detail>
    <error>
    <errorid>120</errorid>
    <module/>
    <class>SP.SPI</class>
    <method/>
    </error>
    </detail>
    </Fault>
    </Body>
    </Envelope>
    This error occurs because the recipients’ email address is in all upper case. Change the email address to all lower case and submit the call again.
    <Envelope>
    <Body>
    <DoubleOptInRecipient>
    <LIST_ID>1234567</LIST_ID>
    <COLUMN>
    <NAME>EMAIL</NAME>
    <VALUE>example@domain.com</VALUE>
    </COLUMN>
    </DoubleOptInRecipient>
    </Body>
    </Envelope>
    Validating Mailing when using Schedule Mailing API call The Error Validating Mailing appears when a template with a specific web form is used. However, the same template works perfectly fine when a different web form is associated to it. A specific set of circumstances can cause this error to appear, but an understanding of how Watson Campaign Automation pulls things together can help avoid this issue.
    A web form is tied to a specific database. Therefore, you must check what contact source is being used for your Schedule Mailing.
    In order to prevent the Error Validating Mailing message from appearing, you need to ensure that the new contact source has the required fields that the web form is utilizing.
    ERR_INVALID_UPDATE_IF_FOUND When making the UpdateRecipient API call, the following error occurs: ERR_INVALID_UPDATE_IF_FOUND This happens for two reasons:

  • When the Recipient ID is not found in the database.
  • The element Encoded Recipient ID is being used.
    To fix, check that the contact record exists in the database and confirm the Recipient ID by following these steps:

  • Go to Data > view Data.
  • Click the name of the database.
  • Click the Search tab.
  • Hover over the email address to get the Recipient ID that shows up at the bottom of the monitor screen. You can also right-click the email address, choose copy link address and paste link into new browser tab or window.
    Recipient ID looks like: recipientId=81649683092.
    Encoded Recipient ID
    If Encoded Recipient ID is being used, be sure to obtain the encoding the correct way. Using a base 64 encoder to encode the recipient ID does not generate the code correctly.
    The correct method can be found in the API Guide for UpdateRecipient:

  • ENCODED_RECIPIENT_ID
    The encoded Recipient ID might be provided with a LIST_ID to look up a contact. When passing the Recipient ID, no key fields are required.
    Note: The encoded Recipient ID can be obtained from a sent mailing when %%RECIPIENT_ID%% is placed in the mailing body.
    If the error is still present after making corrections, contact Client Support.
  • Exception while Validating Mappings Using the ImportList API call gives the following error: Exception while Validating Mappings. java.lang.ArrayIndexOutOfBoundsException: 10 Unable to continue. Look at the XML mapping file that is associated with the ImportList API call. If the XML has more than 10 sync fields, the datajob fails with that error. Reduce the number of sync fields to 10 or less and the job runs successfully.
    Found UTF-8 BOM but encoding was iso-8859-1 Running the ImportList API call, produces the following error:
    Found UTF-8 BOM but encoding was iso-8859-1
    Take the XML and CSV files and convert them to ANSI encoding by using a program such as Notepad++. Once the files are converted, upload them to the FTP folder and then try the import again.
    Note: IBM® does not support third-party software such as Notepad++. Notepad++ is a suggestion only.
    FAILURE failure_type=’transient’ description=’Error saving row’ The InsertUpdateRelationalTable API call pulls back conflicting result data. However, a <SUCCESS>true</SUCCESS> response was received, and a list of failures under the <FAILURE failure_type=’transient’ description=’Error saving row’> were sent as well. While the overall API submission was a success, there were some rows in your list that failed for various reasons. The most common reasons are invalid data or the incorrect field type match. For instance, in your import you have a row that has text within a field that is of the Date type in your Watson Campaign Automation database. Since the Date field requires a strict format, this row would display under the FAILURE parameter.
    Example of the results data
    <Envelope>
    <Body>
    <RESULT>
    <SUCCESS>true</SUCCESS>
    <FAILURES>
    <FAILURE failure_type='transient' description='Error saving row'>
    <COLUMN name='event_date'>
    <![CDATA[05/30/2014]]>
    </COLUMN>
    <COLUMN name='event_registered_date'>
    <![CDATA[04/23/2014]]>
    </COLUMN>
    <COLUMN name='answers'/>
    <COLUMN name='questions'/>
    <COLUMN name='attending'/>
    <COLUMN name='mobility'/>
    </FAILURE>
    </FAILURES>
    </RESULT>
    </Body>
    </Envelope>

    To resolve the issue, simply review your rows and make sure that there are no discrepancies.
    Invalid XML Request The API call works in the Test Harness, but passing an XML request through a web browser, the following error results: Invalid XML Request.
    Request submitted:
    <Envelope>
    <Body>
    <RawRecipientDataExport>
    <MAILING_ID>5116805</MAILING_ID>
    <MOVE_TO_FTP/>
    <EXPORT_FORMAT>0</EXPORT_FORMAT>
    <ALL_EVENT_TYPES/>
    <EXCLUDE_DELETED/>
    <COLUMNS>
    <COLUMN>
    <NAME>INDIVIDUALID</NAME>
    </COLUMN>
    <COLUMN>
    <NAME>CONNECTIONID</NAME>
    </COLUMN>
    <COLUMN>
    <NAME>CAMPAIGN_RUN_DATE</NAME>
    </COLUMN>
    <COLUMN>
    <NAME>CELLNAME</NAME>
    </COLUMN>
    </COLUMNS>
    </RawRecipientDataExport>
    </Body>
    </Envelope>

    Note: The Jsessionid was valid at the time when fired through VB Script.
    Currently, it is not possible to submit an API call through a web browser. The expectation is that a POST submission is used as opposed to GET request.
    Local part of email address is blocked An AddRecipient call such as shown here is submitted.
    <Envelope>
    <Body>
    <AddRecipient>
    <LIST_ID>1234567</LIST_ID>
    <UPDATE_IF_FOUND>true</UPDATE_IF_FOUND>
    <CREATED_FROM>2</CREATED_FROM>
    <COLUMN>
    <NAME>Email</NAME>
    <VALUE>service@service.com</VALUE>
    </COLUMN>
    </AddRecipient>
    </Body>
    </Envelope>

    The API returns
    <Envelope>
    <Body>
    <RESULT>
    <SUCCESS>false</SUCCESS>
    </RESULT>
    <Fault>
    <Request/>
    <FaultCode/>
    <FaultString>
    <![CDATA[Local part of Email Address is Blocked.]]>
    </FaultString>
    This message indicates the email address that is submitted in the API call, service@service.com, has a local prefix that exists on the Email Blocking List.
    Remove this local prefix from the Email Blocking List within your Org. See for further instructions on removing or adding local prefixes to the list.
    Map file does not exist The ImportList API call pulls back the Map File Does Not Exist error. <Envelope>
    <Body>
    <RESULT>
    <SUCCESS>false</SUCCESS>
    </RESULT>
    <Fault>
    <Request/>
    <FaultCode/>
    <FaultString>
    <![CDATA[Map File Does Not Exist: list_import_map.xml]]>
    </FaultString>
    <detail>
    <error>
    <errorid>306</errorid>
    <module/>
    <class>SP.Content</class>
    <method/>
    </error>
    </detail>
    </Fault>
    </Body>
    </Envelope>

    This error is generated when the Watson Campaign Automation is unable to locate the file name you specified in the SOURCE_FILE attribute of the ImportList API call.

  • Verify that the file name you specified in the SOURCE_FILE attribute of the ImportList API call is uploaded to the Upload folder of your FTP account.
  • Verify that the username that is used to execute the ImportList API call matches the username of the FTP account in which the file is uploaded.
    Verify information and making corrections if needed, run the API call again. If it continues to fail, contact Client Support.
  • Recipient Opted in The following error occurs when the UpdateRecipient API is used:
    Recipient has opted out of the list. If the status for the recipient is Opted In,the XML could contain errors in comparison to the database. The Unique Identifier in the database must match the RECIPIENT_ID that is used in the XML to update the contact
    successfully.
    Error Received
    Success: falseFaultString: Error Adding Recipient
    Error that is received when a database does not use email as the default Unique Identifier.
    <Envelope>
    <Body>
    <RESULT>
    <SUCCESS>false</SUCCESS>
    </RESULT>
    <Fault>
    <Request>
    <FaultCode>
    <FaultString>Error Adding Recipient 000111000111</FaultString>
    <detail>
    <error>
    <errorid>129</errorid>
    <module>
    <class>SPRecipients</class>
    <method>
    </error>
    </detail>
    </Fault>
    </Body>
    </Envelope>
    Match the RECIPIENT_ID to the Unique Identifier for the contact in the
    database and submit the UpdateRecipient API.
    For example, this user composed the UpdateRecipient XML for a contact. This users database does not use email as the default Unique Identifier only Unique_ID. The RECIPIENT_ID and the Unique_ID from the Watson Campaign Automation database must match or the user receives an error id of 129.
    Email: testaddress@test.com
    Recipient_ID: 000111000111 (IMC UID)
    Unique_ID: 00220022 (Database UID)
    <Envelope>
    <Body>
    <UpdateRecipient>
    <LIST_ID>9894201</LIST_ID>
    <RECIPIENT_ID>000111000111</RECIPIENT_ID>
    <COLUMN>
    <NAME>EMAIL</NAME>
    <VALUE>testaddress@test.com</VALUE>
    </COLUMN>
    <COLUMN>
    <NAME>Unique_ID</NAME>
    <VALUE>00220022</VALUE>
    </COLUMN>
    </UpdateRecipient>
    </Body>
    </Envelope>
    Session expires or is invalid When using AddRecipient API or UpdateRecipient the following error can appear- Session has expired or is invalid. This is placed in as an extra layer of security. However, requiring a jsession id for the AddRecipient API is optional. To remove the jsession checking for the AddRecipient API and the UpdateRecipient API use the following steps.
    Note: Only Org Admins can perform this action.

  • Login to Watson Campaign Automation
  • Navigate to the database that you are trying to add contacts to by going to Data > View Data.
  • Click the desired database.
  • Click Settings.
  • Click Security Settings tab.
  • Uncheck Authentication for Contact Actions API check box.
  • Click Save.
  • ImportList API call produces an error when used. A response similar to this example can occur when an ImportList API call is submitted.
    <Envelope>
    <Body>
    <RESULT>
    <SUCCESS>false</SUCCESS>
    </RESULT>
    <Fault>
    <Request/>
    <FaultCode/>
    <FaultString>
    <![CDATA[/app/content/ftp/df38ad2-136e120c9cf-37c504b367ce64f028215bda5330c1de]]>
    </FaultString>
    <detail>
    <error>
    The error is usually due to logging in with one username for the FTP upload and a different username for the ImportList API call. You need to verify that you are using the same username for both and try again. Contact Client Support if the error still occurs.
    Throttling concurrent requests Could not complete request for {YOUR_ORGANIZATION_ID}; the max number of concurrent authenticated requests through the API is {YOUR_ORGANIZATION_LIMIT}, and there are {CONCURRENT_REQUESTS_USED_BY_YOUR_ORGANIZATION} requests already active. Limitations on the number of concurrent requests per organization.
    An organization-wide limit is placed on the number of concurrent requests that can be sustained at any time. If your organization reaches this limit, the following error is returned and processing is halted on any incoming requests until the number of concurrent connections is reduced.
    Unable to complete request. Required unique key column values were not provided When executing an AddRecipient API call, the following error message is returned, ‘Unable to complete request. Required unique key column values were not provided.’ This can be caused by two possible issues.
    If your Contact Source is a Flexible database (such as one used for CRM integration), be sure to specify Sync Fields for each database column that defines a unique contact.
    Example
    If you are looking to sync on an Email Address field and a CustomerID field, your AddRecipient call can include something similar to:
    <SYNC_FIELDS>
    <SYNC_FIELD>
    <NAME>EMAIL</NAME>
    <VALUE>someonenew@domain.com</VALUE>
    </SYNC_FIELD>
    <SYNC_FIELD>
    <NAME>CustomerID</NAME>
    <VALUE>123-45-6789</VALUE>
    </SYNC_FIELD>
    </SYNC_FIELDS>

    If your Contact Source is a Flexible Database, be sure to include the Key Field exactly as it appears in your Database.
    Example
    If the key of your Database is NewKeyField, submitting an AddRecipient API call similar to:
    <Envelope>
    <Body>
    <AddRecipient>
    <LIST_ID>123456</LIST_ID>
    <CREATED_FROM>1</CREATED_FROM>
    <UPDATE_IF_FOUND>true</UPDATE_IF_FOUND>
    <COLUMN>
    <NAME>EMAIL</NAME>
    <VALUE>someonenew@domain.com</VALUE>
    </COLUMN>
    <COLUMN>
    <NAME>NEWKEYFIELD</NAME>
    <VALUE>8675309</VALUE>
    </COLUMN>
    </AddRecipient>
    </Body>
    </Envelope>
    Reference the Key Field exactly how it appears within the Watson Campaign Automation:
    <NAME>NewKeyField</NAME>

    Join The Discussion

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