Real world example for ACS APIs

Adobe Campaign Standard provides APIs which allow existing systems to integrate with the ACS platform to solve real-world problems in real-time. Public websites like the sign-up or opt-out page need to connect to backend systems to store profile information. Backend systems like Adobe Campaign have the flexibility and power to ingest profile data into and perform custom operations on it.

Sign-up Landing Page and Preference Center

The sign up page – from a sample website Geometrixx – provides a way for customers or prospects to register their name and email address. Once ACS captures the profile information and preferences, ACS can send personalized messages based on the person’s interests.

1. A registration form with campaign API listeners.

2. Custom actions to be taken based on checkboxes. A customer selecting “Email Special Offers” would be sent a different custom mail with a gift coupon compared to normal registration process.

3. A profile may change their details after clicking on the “Update Details” link in the email. This brings the profile to the “Update your Profile and Preference Details” page. To perform the operation, the profile details (Pkey) are passed to the Campaign server and the profile is retrieved and represented. Once the profile clicks on “Update” button, the information is updated into the system (via PATCH command).

This document primarily focuses on enabling developers to use ACS APIs in scenarios like above and help you create successful e-mail campaigns and systems.

Technical Solution

ACS APIs enable developers and programmers to perform the following operations seamlessly:

Synchronize data in real-time.

Perform CRUD operations on Profiles and Services.

Subscribe profiles to a service and Unsubscribe from it.

Message triggering in real-time.

Send custom event based emails or SMS to profiles based on their actions.

Setup

Authenticating with Adobe and generating the access token

Adobe Campaign APIs require an “API key” and a “user token” to authenticate users requesting APIs. This section describes how the Administrator of the Marketing Cloud Organization would do the one-time setup of Adobe.IO to integrate with ACS APIs.

Configuring Adobe.IO to use public token to access ACS APIs

2. Select the type of integration you want to configure. Here, select Access an API and click Continue.

3. Select Adobe Campaign in the list of possible integrations, under the Marketing Cloud section, and click Continue.

4. Select New integration and click Continue.

5. Enter the details needed to create the new integration:

Indicate the integration Name and Description.

Register certificates into Adobe I/O by uploading your public key. The keys would be later used while generating JWTs. Your keys should be .crt files.

Choose the Campaign service to use. This list is made of Campaign user groups available for the organization that you selected at the first step.

Then click Create integration.

The integration is automatically created and you are now able to access its details.

6. Preserve the following credentials to generate the JWT.

API key

Client secret

Technical account ID

Organization ID.

Generating Token with JWT

To consume ACS APIs Access tokens, are provided for user Authentication. Use the credentials preserved above to generate JWT. A sample Python script is given below to generate JWT.
Other languages are supported by the open source community.

The request’s response is shown below - The unique ley associated with all the objects associated in ACS system is called as PKey. Once a profile is created the response contains PKey along with other attributes.

7. Profile verification. Log into ACS instance and see that profile has been created.

Log into ACS with given credentials and navigate to “Profiles” in top header bar.

Search by email address for your profile.

Click on “Show search” icon in top left under “Adobe Campaign”.

Enter search criteria by email. In this case sample@adobe.com.

Click enter and results show in right pane.

Validate results.

To summarize the POST profile, the API call is constructed as follows: