FAQs

API and Acoustic Campaign folder limits

Folder limits and the standard user in the Acoustic Campaign.

A Standard User who has Folder Limits in the Acoustic Campaign can access and manipulate any data in the Org via API from an allowed IP address.

An entire contact source action can be restricted from the API, regardless of IP restrictions.

Note: These settings override user permissions for standard users. The settings do not affect organization administrators.

API call to pull tracking metrics from archived mailings

Pulling tracking metrics from archived mailings by using API.

API calls cannot be used to pull detailed tracking metrics from archived mailings. Archived mailings have little information that is attached to them and the information that is presented in the archived mailing is the only information that is stored.

Are API call tags case-sensitive?

The APIs are case sensitive. Check out the code sample below for examples.

<Envelope>
  <Body>
    <Login>
      <USERNAME></USERNAME>
      <PASSWORD>password</PASSWORD>
    </Login>
  </Body>
</Envelope>

If you change the tag Body to body, (from an uppercase B to a lowercase b), and/or the Login tag to all upper case: LOGIN, you get the response that your request is invalid:

<Envelope>
  <Body>
    <LOGIN>
      <USERNAME></USERNAME>
      <PASSWORD>password</PASSWORD>
    </LOGIN>
  </Body>
</Envelope>

Using incorrect syntax will result in an “Invalid XML Request” error response

<Envelope>
      <Body>
        <RESULT>
          <SUCCESS>false</SUCCESS>
        </RESULT>
        <Fault>
          <Request/>
          <FaultCode/>
          <FaultString>Invalid XML Request</FaultString>
          <detail>
            <error>
              <errorid>51</errorid>
              <module/>
              <class>SP.API</class>
              <method/>
            </error>
          </detail>
        </Fault>
      </Body>
</Envelope>

Be aware that database fields are also case sensitive. You must match the syntax of your database field within your API calls EXCEPT for the system field Email. When including the Email field in an API call, it must be specified as EMAIL, all uppercase.

Create a .CSV file for aggregate tracking for org API call

How to create .csv for aggregate tracking or an organization.

The API test harness does not provide a csv file for export for the Get Aggregate Tracking Metrics for an Org call. However, you can get all of the information by looking at the view frame source after successful submission of the call. In the source view, you can copy and paste all the information into Excel.

Delete a contact list by using API

It is not possible to delete a contact list by using API. Data can be purged from a contact list by using API, but deleting the actual database can be achieved through the Acoustic Campaign user interface.

Note: Purging data means that you leave the structure but delete information that is contained within said structure. Deletion means that everything about the data is removed right down to the structure as if the data never existed.

Using the ScheduleMailing API on a contact source that is being updated

Using the ScheduleMailing API call on a contact source.

An ImportList API call is submitted that adds new contacts to a database as well as updates some existing contacts. After submission of the ImportList call, the ScheduleMailing API call is submitted but the <SCHEDULED/> element is omitted to make the mailing send as soon as possible.

Since the ImportList API datajob is not completed, does the ScheduleMailing API call send a mailing to an incomplete / non-updated contact source?

The Acoustic Campaign places a lock on any contact source that is going through a calculate/update. This security measure allows the mailing send created by the ScheduleMailing API call to commence after the datajob that is created by the ImportList API call is complete.

As an extra safe guard, you can update your process to include a GetJobStatus API call. You could then execute a SendMailing API call only after it returns a value of COMPLETE for your ImportList API call but never before.