> ## Documentation Index
> Fetch the complete documentation index at: https://kb.aampe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adobe Campaign Classic Integration

> Connect Aampe to Adobe Campaign Classic Message Center for Email and Push notifications

Estimated setup time: 30-45 minutes

<Note>
  This guide is for **Adobe Campaign Classic (ACC)** using the Message Center module. For Adobe Campaign Standard (ACS), see [Adobe Campaign Integration](/developer-guide/message-providers/message-pages/adobe-campaign-standard).
</Note>

## Connection Requirements

Aampe connects to ACC Message Center via the SOAP API (PushEvent method).

### Required from Customer

| Requirement              | Description                                                             |
| ------------------------ | ----------------------------------------------------------------------- |
| Message Center URL       | Execution instance URL (e.g., `https://mc.customer.campaign.adobe.com`) |
| API User Credentials     | Username and password for Message Center access                         |
| Whitelisted IPs          | Aampe IPs must be added to trusted IP addresses                         |
| Unsubscribe Endpoint URL | Your unsubscribe endpoint that supports One-Click List-Unsubscribe      |

<Info>
  Contact your Aampe representative to receive the list of IP addresses that need to be whitelisted.
</Info>

### Locate Your Message Center URL

1. Log in to Adobe Campaign Classic console
2. Navigate to **Administration** → **Platform** → **External accounts**
3. Find the **Message Center execution instance** account
4. Copy the **Server** URL

### Unsubscribe Endpoint Requirements

Your unsubscribe endpoint must:

* Accept POST requests (for One-Click List-Unsubscribe from Gmail/Yahoo)
* Accept a user identifier parameter that Aampe will populate per message
* Return HTTP 200 on successful unsubscribe

Provide Aampe with:

* **Base URL:** e.g., `https://yourcompany.com/unsubscribe`
* **Parameter name:** e.g., `uid`, `token`, or `email`

Aampe will construct the full URL per message: `https://yourcompany.com/unsubscribe?uid={user_identifier}`

## Email Channel Setup

### Step 1: Create Event Type

1. Navigate to **Administration** → **Platform** → **Enumerations**
2. Find **Event type (eventType)** enumeration
3. Click **Add** to create a new value:
   * **Name:** `aampe_email`
   * **Label:** `Aampe Email`

### Step 2: Create Message Template

1. Navigate to **Message Center** → **Transactional message templates**
2. Right-click and select **New**
3. Select **Email delivery** as the template type
4. Configure template properties:
   * **Label:** `Aampe Marketing Email`
   * **Internal name:** `aampe_email`
   * **Event type:** Select `aampe_email` from dropdown

### Step 3: Configure Sender Details

In the template's **From** section, configure sender to use Aampe payload:

| Field      | Value                          |
| ---------- | ------------------------------ |
| From email | `<%= rtEvent.ctx.fromEmail %>` |
| From name  | `<%= rtEvent.ctx.fromName %>`  |

### Step 4: Configure Email Content

Aampe sends complete HTML content in the API payload. Configure your template as a passthrough:

**Subject Line:**

```
<%= rtEvent.ctx.subject %>
```

**HTML Content (Source tab):**

```html theme={null}
<%= rtEvent.ctx.body %>
```

<Warning>
  Do not add any additional HTML structure. Aampe provides the complete email content including all styling and layout.
</Warning>

### Step 5: Configure SMTP Headers for Unsubscribe

This step is required for email deliverability compliance (Gmail/Yahoo One-Click Unsubscribe).

1. Open template properties (click **Properties** button)
2. Go to **SMTP** tab
3. In **Additional SMTP headers**, add:

```
List-Unsubscribe: <<%= rtEvent.ctx.unsubscribeUrl %>>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
```

### Step 6: Publish Template

1. Click **Publish** in the template toolbar
2. Select target execution instance(s)
3. Confirm publication

<Check>
  Your email template is now ready. Aampe will send events to trigger personalized emails.
</Check>

***

## Push Notification Channel Setup

### Step 1: Create Event Type for Push

1. Navigate to **Administration** → **Platform** → **Enumerations**
2. Find **Event type (eventType)** enumeration
3. Click **Add** to create a new value:
   * **Name:** `aampe_push`
   * **Label:** `Aampe Push`

### Step 2: Verify Mobile App Channel

<Note>
  Push notifications require the Mobile App Channel package to be installed on your ACC instance. Contact your Adobe administrator if not available.
</Note>

Verify your mobile app is configured:

1. Navigate to **Administration** → **Channels** → **Mobile app**
2. Confirm your iOS/Android apps are registered

### Step 3: Create Push Message Template

1. Navigate to **Message Center** → **Transactional message templates**
2. Right-click and select **New**
3. Select **Mobile delivery (Push notification)** as the template type
4. Configure template properties:
   * **Label:** `Aampe Push Notification`
   * **Internal name:** `aampe_push`
   * **Event type:** Select `aampe_push` from dropdown

### Step 4: Configure Push Content

Configure push content fields to use Aampe payload:

| Field                   | Value                         |
| ----------------------- | ----------------------------- |
| Title                   | `<%= rtEvent.ctx.title %>`    |
| Body                    | `<%= rtEvent.ctx.body %>`     |
| Deep link / URL         | `<%= rtEvent.ctx.link %>`     |
| Image URL (iOS/Android) | `<%= rtEvent.ctx.imageUrl %>` |

<Tabs>
  <Tab title="iOS">
    In iOS-specific settings:

    * **Alert title:** `<%= rtEvent.ctx.title %>`
    * **Alert body:** `<%= rtEvent.ctx.body %>`
    * **Media URL:** `<%= rtEvent.ctx.imageUrl %>`
  </Tab>

  <Tab title="Android">
    In Android-specific settings:

    * **Title:** `<%= rtEvent.ctx.title %>`
    * **Message:** `<%= rtEvent.ctx.body %>`
    * **Image URL:** `<%= rtEvent.ctx.imageUrl %>`
  </Tab>
</Tabs>

### Step 5: Publish Template

1. Click **Publish** in the template toolbar
2. Select target execution instance(s)
3. Confirm publication

<Check>
  Your push notification template is now ready.
</Check>

## Field Reference

### Email Payload Fields

Aampe sends these fields in the `ctx` element:

| Field            | Type   | Description                               |
| ---------------- | ------ | ----------------------------------------- |
| `fromEmail`      | String | Sender email address                      |
| `fromName`       | String | Sender display name                       |
| `subject`        | String | Email subject line                        |
| `body`           | String | Complete HTML email content               |
| `unsubscribeUrl` | String | Full unsubscribe URL with user identifier |

### Push Payload Fields

| Field      | Type   | Description                 |
| ---------- | ------ | --------------------------- |
| `title`    | String | Push notification title     |
| `body`     | String | Push notification body text |
| `link`     | String | Deep link or URL to open    |
| `imageUrl` | String | Rich media image URL        |

## Validation Checklist

Before going live, verify with your Aampe representative:

* **API Connectivity** - Aampe can successfully authenticate to your Message Center instance
* **Test Email** - Send a test email and verify sender name/email, content rendering, subject line, unsubscribe header presence (check raw email headers), and link tracking
* **Test Push** - Send a test push notification and verify title/body text, deep link opens the correct screen, and image loads (if using rich push)
* **Test Unsubscribe** - Click the unsubscribe link and verify your endpoint receives the request and the user is successfully unsubscribed in your system

## Official Documentation

For more details on Adobe Campaign Classic Message Center:

* [Event description (PushEvent API)](https://experienceleague.adobe.com/en/docs/campaign-classic/using/transactional-messaging/processing/event-description)
* [Design transactional message templates](https://experienceleague.adobe.com/en/docs/campaign-classic/using/transactional-messaging/message-templates/creating-the-message-template)
* [Transactional messaging architecture](https://experienceleague.adobe.com/en/docs/campaign-classic/using/transactional-messaging/configure-transactional-messaging/transactional-messaging-architecture)
* [ACC Technical recommendations (SMTP headers)](https://experienceleague.adobe.com/en/docs/deliverability-learn/deliverability-best-practice-guide/additional-resources/campaign/acc-technical-recommendations)
