background shape
background shape

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

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

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.

https://<server>/nl/jsp/schemawsdl.jsp?schema=<schema>
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:complexType>
<s:sequence>
<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"/>
</s:sequence>
</s:complexType>
</s:element>

You can find more information in the official documentation.

THE API

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.

Share With Others

Leave a Comment

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

MarTech consultant

Marcel Szimonisz

Marcel Szimonisz

I specialize in solving problems, automating processes, and driving innovation through major marketing automation platforms.

Buy me a coffee