Adobe Campaign Classic API

Adobe Campaign
2 minutes read

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.

In a world where mentioning API typically brings REST to mind, with Adobe Campaign, we find ourselves stuck with the 2000s-breaking technology SOAP.

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 web service. It defines the operations, input/output messages, and protocols for communication with the 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>

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 …

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.

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

Adobe Campaign Classic Download

less than a minute read

There is a possibility to download the latest server release of Adobe Campaign Classic v7. This provides an opportunity to set up a sandbox environment for learning purposes. You can find all the files along with the client console installation under the software distribution. The only requirement is to have your Adobe ID linked to […]

Continue reading
Mastering Marketing Automation: From Data to Engagement
Marketing Automation

Mastering Marketing Automation: A Guide

6 minutes read

Marketing automation is a technology-driven strategy that streamlines, automates, and measures marketing tasks and workflows. It aims to enhance efficiency, personalize customer experiences, and drive results by utilizing software platforms and technologies to automate repetitive tasks and nurture leads through the sales funnel. Marketing automation is a multifaceted process comprised of four essential steps. First […]

Continue reading
Adobe Campaign Classic Automate Publishing File Resources With Workflow
Adobe Campaign, Marketing Automation

Automate file resources upload with a workflow

2 minutes read

Sometimes, you will reach a point where you want to upload file resources from a script. Although there are hints on the Experience League, even with those, this problem has caused me some troubles. However, challenges and troubles are what I seek. I have decided to map this functionality, which can become handy once in […]

Continue reading
Salesforce Marketing Cloud Tips
Journey builder, Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

Refresh Delivery in Transactional Journey

1 minute read

The process might seem straightforward at first glance—simply refreshing the email delivery content in Salesforce Marketing Cloud should suffice to receive the updated email contents. However, there’s more to consider. Salesforce Marketing Cloud utilizes server-side caching, which may display outdated content. Understanding when the cache refreshes isn’t always clear. In scenarios where immediate changes are […]

Continue reading
Salesforce Marketing Cloud Tips
Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

How to refresh data extension records

1 minute read

You might have noticed that records are not refreshed automatically, which makes sense. However, there is no refresh button. Here are some helpful tips I’ve discovered on how to refresh records within the data extension while it’s open. Email studio In email studio it is failry easy you simply navigate to another folder and return […]

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

Add content variation to the proof subject

1 minute read

When dealing with multiple variants defined within one delivery template featuring dynamic content blocks, stakeholders most likely want to see proofs for each variant. To enhance readability in their mailbox, I tend to add the email variant to the subject line. A simple solution, similar to what we shown you when using salesforce marketing cloud […]

Continue reading
Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

The Top 5 Stress-Busting Tips I have Learnt

3 minutes read

Working with any marketing automation platform, especially Salesforce Marketing Cloud, can provide a great user experience and a sense of accomplishment. However, it can also entail many stressful hours dedicated to solving seemingly easy issues. Here are my top 5 tips that made my daily work less stressed and saved me lots of cursing this […]

Continue reading
Salesforce Marketing Cloud Tips
Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

Use client-side JavaScript in content block

1 minute read

Recently, I attempted to reference a content block from a cloud page that contained client-side JavaScript, and to my surprise, Salesforce Marketing Cloud removed it entirely. It looks like certain hook that triggers when you save your content block doesn;t like client side scripts and are completely removed like comments are when a executable program […]

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

Proof Email Template for Multiple Variants

1 minute read

Imagine having to proof all the possible variants of a delivery template, where there could be numerous end variations. How can we effectively proof such an email template? There is a simple yet powerful workaround for proofing all the variants, and here’s how to achieve it: Moreover, to differentiate between variations, you can include your […]

Continue reading