# Adobe Campaign Standard

Didomi can connect to Adobe Campaign Standard to send emails through your own templates and email addresses.

## Implementation

Didomi sends a POST request to a [transactional API](https://docs.adobe.com/content/help/en/campaign-standard/using/working-with-apis/managing-transactional-messages.html#sending-a-transactional-event) endpoint.

This email configuration requires an Adobe Campaign Standard integration with the `enable_emailing` property set to `true`.

## Configuration

[Create a service account](https://www.adobe.io/authentication/auth-methods.html#!AdobeDocs/adobeio-auth/master/AuthenticationOverview/ServiceAccountIntegration.md) for Didomi to be able to connect to Adobe Campaign Standard.

Didomi needs the following configuration items from the service account to setup the connection with Adobe Campaign Standard:

| Configuration       | Description                                                                                                        | Required |
| ------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- |
| **Account ID**      | Technical account ID for the service account (example: <MBN0ZM8ODPCDJK5B31VKG4X6@techacct.adobe.com>)              | Yes      |
| **API endpoint**    | Transactional Messages API endpoint (starts with "mc")                                                             | Yes      |
| **API key**         | API key for the service account (example: anakz39p6tseq9hmtmtdkqctq3kqo8eo)                                        | Yes      |
| **Client secret**   | Client secret for the service account (example: d0d29009-fa75-4a4f-a072-bdf1efb86429)                              | Yes      |
| **IMS host**        | IMS host for getting access tokens (defaults to <https://ims-na1.adobelogin.com>)                                  | No       |
| **Organization ID** | Adobe organization ID (example: NGLC5G6ZQO4ARUEJNW3X22B1\@AdobeOrg)                                                | Yes      |
| **Private key**     | Private key of the service account (RSA RS 256, include -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY-----) | Yes      |
| **Tenant ID**       | Adobe Campaign tenant ID                                                                                           | Yes      |

The configuration of the Adobe Campaign Standard connector cannot be done in the Didomi Console at the moment. Please reach out to Support to get your Adobe Campaign Standard connector configured and provide the elements listed above.

## Example

Integration:

```json
{
    "type_id": "adobe-campaign-standard",
    "authentication": {
        "account_id": "your_account_id",
        "api_endpoint": "your_api_endpoint",
        "api_key": "your_api_key",
        "client_secret": "your_client_secret",
        "ims_host": "your_ims_host_url",
        "organization_id": "your_organization_id",
        "private_key": "your_private_api_key",
        "tenant_id": "your_tenant_id"
    },
    "properties": {},
    "mappings": [],
    "upsert_mode": false,
    "enable_emailing": true
}
```

Email configuration:

```json
{
    "type_id": "adobe-campaign-standard",
    "email_type": "YOUR_TEMPLATE_ID",
    "properties": {
        "type": "YOUR_EVENT_ID"
    }
}
```

## Templates

Make sure to provide the IDs of the event types that you will be sending. [See the Templates section](/integrations/emailing/templates.md) for more information.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.didomi.io/integrations/emailing/providers/adobe-campaign-standard.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
