Adobe Campaign

Adobe Campaign Classic API

Adobe Campaign Classic API

My grandad used to say, ‘When there is a platform, there is an API.’ The same goes for Adobe Campaign Classic, which was equipped with its own programmable interface. With this, we can access various core functionalities of the platform, adding new integrations and functionalities

In a world where mentioning API typically brings REST to mind, with Adobe Campaign, we find ourselves stuck with the 2000s-breaking technology SOAP. Let’s explore the basics that will help you understand and give you a good start in working with APIs.


SOAP (Simple Object Access Protocol) is a protocol used for exchanging structured information in web services. It relies on XML as its message format and typically operates over HTTP or SMTP. Yes XML and as you might have noticed everything around adobe campaign revolves around them.


WSDL is an XML-based language used to describe the functionality offered by a SOAP web service. It defines the operations, input/output messages, and protocols for communication with in our case Adobe Campaign Classic application server.

Role in Web Services

  • WSDL provides a standard way for clients to understand the capabilities and requirements of a web service.
  • It acts as a contract between the service provider and consumers.

Each database schema has methods described by a WSDL file. You can list any schema’s SOAP methods by accessing its WSDL file.

Adobe Campaign Classic - SOAP API WSDL example

Everything kicks off with the xtk:session schema logon method, and when we’re feeling particularly pedantic, we wrap things up with the xtk:session and method logout.

<s:element name="Logon">
<s:element maxOccurs="1" minOccurs="1" name="sessiontoken" type="s:string"/>
<s:element maxOccurs="1" minOccurs="1" name="strLogin" type="s:string"/>
<s:element maxOccurs="1" minOccurs="1" name="strPassword" type="s:string"/>
<s:element maxOccurs="1" minOccurs="1" name="elemParameters" type="tns:Element"/>

You can find more information in the official documentation.


Adobe campaign classic categorizes its API into two categories

Business oriented APIs

API functionality that enables you to access specific funcitonalities of an Adobe Campaign object e.g. recipient, service, delivery. For example nms:subscibption schema you can subscribe and unsubscribe recipient from a service. Transactional messages along with sending bulk emails all of these and more you can do via APIs.

Data oriented APIs

As the name suggests, this type of API is for accessing database records of any object within Adobe Campaign Classic. Perhaps you’ve already used xtk:queryDef in a workflow’s JavaScript; this schema provides SOAP functionalities to query any data from the database. Similarly, to write records to the database, we again use the xtk:session schema, specifically the write and write collection methods.

REST over SOAP API workaround

For those who can’t quite grasp the nuances of old-school technology, you can craft your own REST API over the aged SOAP Adobe Campaign API. The safety dance might get a bit tricky in this workaround, but anyway …

Adobe Campaign Classic - Rest over API security Oh no, anyway

Adobe Campaign JSAPI

Additional JavaScript functions and same SOAP methods of the application server, that you have explored in WSDL files, are accessible via workflow or web application Server Side JavaScript. These functions are listed under the Adobe Campiagn JSAPI documentation online. For old timers that may recall the times when JSAPI documentaion was only accessible offline. There are some functions better explained with more examples in the offiline documentation.

Oh hi there 👋
I have a FREE e-book for you.

Sign up now to get an in-depth analysis of Adobe and Salesforce Marketing Clouds!

We don’t spam! Read our privacy policy for more info.

#adobe campaign classic #JavaScript #programming #workflow
Marcel Szimonisz
Marcel Szimonisz
MarTech consultant As a marketing automation consultant, I specialize in problem-solving, process automation, and driving innovation for clients' marketing platforms.

I hold certifications in Adobe Campaign v6 (3x certified) and Salesforce Marketing Cloud (5x certified), as well as 1x Salesforce Associate certified.

Moreover, I serve as a community advisor for Adobe Campaign, providing expert insights and guidance.

Beyond my professional pursuits, I explore various programming languages, CMSs, and frameworks, enhancing my technical expertise and staying at the forefront of industry advancements.
Take a look at our subscription offering in case you are looking for a Marketing Automation Consultant.

Leave a comment

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

Similar posts that you may find useful

Adobe Campaign Classic tips
ACC Tips & Tricks, Adobe Campaign, Marketing Automation

Fast select field in query builder

less than a minute read

Working with Adobe Campaign Classic often involves frequent mouse movements and clicks. However, after a while, you’ll discover certain tricks to work with this tool more efficiently and quickly. Today, I’ll show you a simple trick that will help you enter fields in the query builder faster and without having to move your mouse across […]

Continue reading
Adobe Campaign Classic tips
ACC Tips & Tricks, Adobe Campaign, Marketing Automation

Change delivery code after it was sent

1 minute read

Sometimes, it happens that you execute a campaign, and you realize that some information on the delivery is simply not correct. But don’t worry! Before your analysts pick up the raw data, we can change it at any point. You might have tried to change it from the campaign dashboard but found that the data […]

Continue reading
How to leverage queryDef in Adobe Campaign
Adobe Campaign, Marketing Automation

How to Leverage queryDef in Adobe Campaign

7 minutes read

When it comes to programatically selecting records from the database in Adobe Campaign Classic, queryDef emerges as a crucial tool. As a static SOAP method extensively employed in JavaScript, particularly within workflows or web apps, queryDef offers unparalleled capabilities. However, what many may not realize is that there are three distinct implementations of this function. […]

Continue reading
A professional and sleek image showcasing a modern office environment with a focus on Adobe Campaign Classic. In the center, a computer screen displays the Adobe Campaign Classic interface, surrounded by symbols of digital marketing challenges and solutions like flowcharts, graphs, and analytics data. The background features a dynamic office setting, emphasizing the fast-paced nature of digital marketing. Text overlays include key terms such as 'Strategies', 'Analytics', and 'Campaign Management', highlighting the essential elements of Adobe Campaign Classic.
Adobe Campaign, Marketing Automation

ACC Essentials: What You Need To Know

2 minutes read

When you go hiking, it’s crucial to always take essentials with you to stay prepared for any situation that may arise. This is similar to working with Adobe Campaign Classic or engaging in any other skill-requiring activity. Just as you wouldn’t hike in sweatpants in the middle of winter, like I once did, you’ll want […]

Continue reading
Adobe Campaign Classic tips
ACC Tips & Tricks, Adobe Campaign, Marketing Automation

Pass custom variables to delivery template

2 minutes read

In your delivery, you can use different types of data that can be utilized for personalized content for your customers. To add a custom variable directly to the delivery from the workflow, you will need to Create delivery variables First, you need to create placeholders for delivery variables within your delivery template. These placeholders serve […]

Continue reading