.png)
dotdigital Integration Guide
Connect dotdigital Contacts, audiences, campaigns, programs, and transactional messaging with enterprise systems through REST APIs, selected webhook notifications, and Martini workflows.
dotdigital integration options at a glance
dotdigital's primary integration interface is its REST API, which supports Contacts, Address books, Data fields, campaigns, programs, transactional messaging, and related engagement resources. Selected dotdigital scenarios also provide webhook-style notifications, although event coverage is not universal and should be verified for each use case. Bulk contact import supports large-volume audience synchronization, while transactional messaging can include attachments in supported payloads. APIs use dedicated dotdigital API user credentials with HTTP Basic Authentication and a regional API host. Martini can consume these endpoints, receive supported notifications, orchestrate scheduled or event-driven workflows, transform data, and manage retries and exceptions.
| Integration point | Supported by dotdigital? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Manage Contacts, Address books, Data fields, campaigns, programs, transactional messages, and related engagement resources through dotdigital's primary documented interface. | Martini can consume dotdigital REST endpoints, orchestrate multiple calls, transform payloads, expose an internal API façade, and route errors through workflows. |
| Webhooks / outbound callbacks | Limited | Receive notifications for selected dotdigital events and integration scenarios, including some contact, campaign, transactional, or engagement-related activity. | Martini can expose an API endpoint or webhook-triggered workflow, validate notifications, deduplicate events, enrich identifiers through REST calls, and process retries. |
| Bulk / async / batch APIs | Yes | Import or update large Contact populations and refresh Address book audiences without issuing one request per Contact. | Martini can prepare bulk payloads, submit imports, retain import identifiers, monitor completion where applicable, and process row-level rejections separately. |
| File / attachment APIs | Limited | Attach files in supported transactional messaging scenarios. This is not a general-purpose dotdigital file repository or file-transfer capability. | Martini can retrieve or generate approved files, construct the transactional message payload, call the relevant endpoint, and avoid logging sensitive attachment content. |
| Authentication | Yes | Authenticate primary dotdigital REST API requests with a dedicated API user, username, and password using HTTP Basic Authentication. | Martini can store credentials in secrets or secured environment configuration, apply them to outbound requests, and distinguish authentication from authorization failures. |
| Scheduled synchronization | Yes | Reconcile Contacts, activity, engagement data, or bulk audiences when webhook coverage is unavailable or when periodic recovery is required. | Martini can run scheduled workflows with pagination, persisted timestamps or cursors, checkpointing, and controlled retries. |
| SDKs | Not confirmed | The reviewed integration path is based on dotdigital's documented REST APIs; a preferred dedicated SDK was not confirmed. | Martini can call the REST APIs directly, avoiding dependence on an unconfirmed vendor SDK. |
| Database access | Not confirmed | Direct access to dotdigital's underlying application database was not confirmed and should not be assumed. | Martini can connect to an enterprise database on the other side of the integration, then use dotdigital's documented APIs for platform access. |
How dotdigital exposes data and business events
dotdigital REST APIs
REST is dotdigital's primary documented integration mechanism. It provides access to Contacts, Address books, Data fields, campaigns, programs, transactional messaging, and related engagement resources.
Martini implementation pattern
Martini implementation pattern: a workflow receives a source event or schedule, authenticates to the applicable regional dotdigital API host, retrieves or writes resources, transforms the response, and records checkpoints and operational outcomes.
Implementation sequence
dotdigital Webhooks
dotdigital supports webhook-style notifications for selected events and scenarios, but coverage is selective rather than a universal event stream. Payloads, retries, and configuration depend on the feature being used.
Martini implementation pattern
Martini implementation pattern: expose a controlled Martini API endpoint or webhook-triggered workflow, validate the notification, deduplicate it, and call dotdigital REST APIs when the notification contains only an identifier or incomplete data.
Implementation sequence
Bulk Contact imports
dotdigital documents bulk-oriented operations for importing or updating Contacts at scale. The specific payload limits, processing model, status endpoint, and rejected-row format should be confirmed for each operation.
Martini implementation pattern
Martini implementation pattern: a scheduled or event-driven workflow extracts qualified customer data, transforms it into the required bulk format, submits the import, and follows the result through completion and exception handling.
Implementation sequence
Transactional messaging
dotdigital supports transactional messages and attachment-related functionality in relevant messaging scenarios. The integration should use the payload requirements of the specific transactional endpoint rather than treating dotdigital as general file storage.
Martini implementation pattern
Martini implementation pattern: receive an order or service event, enrich it with customer and transaction data, construct the dotdigital message payload, send the message, and record the result for retry and reconciliation handling.
Implementation sequence
Scheduled synchronization
Scheduled workflows provide a practical complement to selective webhooks. They support reconciliation, bulk audience refreshes, incremental reads, and recovery for events that are not available through notifications.
Martini implementation pattern
Martini implementation pattern: run a scheduled workflow with a persisted timestamp, identifier, or last-successful-sync marker, paginate through the relevant resource, commit each successful batch, and advance the checkpoint only after target writes complete.
Implementation sequence
Common dotdigital integration patterns
Pattern 1: Sync customers to dotdigital
When to use this pattern
Use this pattern when a CRM, ERP, commerce platform, or database is the system of record for customer data and dotdigital must maintain current Contacts, Data fields, and Address book membership. It supports scheduled incremental synchronization and can use bulk imports for large populations.
Integration direction
Example Mapping
| dotdigital Field | Canonical Field | Target Field |
|---|---|---|
| Customer ID | customerIdentifier | Contact identifier Data field |
| emailAddress | Contact email | |
| Marketing consent | marketingConsent | Consent or preference Data field |
| Customer segment | audienceSegment | Address book membership |
Martini implementation pattern
Martini retrieves changed customers, validates required fields and consent, maps them to dotdigital Contacts and Data fields, resolves the appropriate Address book, and chooses individual or bulk processing based on volume. The workflow stores source identifiers and checkpoints, applies throttling and retries, and routes rejected records to an exception path.
Martini capabilities used
- scheduled workflows
- API consumption
- bulk orchestration
- data mapping
- business rules
- error handling
Pattern 2: Process dotdigital engagement events in a CRM
When to use this pattern
Use this pattern when selected dotdigital webhook notifications need to update Salesforce, Microsoft Dynamics 365, or another customer application. Because dotdigital event coverage is selective, the design should combine supported notifications with API enrichment and scheduled reconciliation.
Integration direction
Example Mapping
| dotdigital Field | Canonical Field | Target Field |
|---|---|---|
| Contact identifier | customerIdentifier | Contact or Lead identifier |
| Campaign activity | engagementActivity | Campaign response |
| Event timestamp | activityTimestamp | Activity date |
| Message status | communicationStatus | Engagement status |
Martini implementation pattern
Martini receives the supported notification through an API endpoint, validates its structure, checks a persisted event identifier, and retrieves current dotdigital data when the payload is incomplete. It maps the activity to the CRM, applies update and consent rules, and retries transient failures without reprocessing duplicates.
Martini capabilities used
- API exposure
- webhook consumption
- API enrichment
- data mapping
- idempotency rules
- retry handling
Pattern 3: Send transactional messages from commerce events
When to use this pattern
Use this pattern for order confirmations, shipment updates, service notifications, or similar messages initiated by Shopify, Adobe Commerce, NetSuite, or an order-management application. It separates source business events from dotdigital message delivery and provides controlled duplicate prevention.
Integration direction
Example Mapping
| dotdigital Field | Canonical Field | Target Field |
|---|---|---|
| Order ID | transactionIdentifier | Transactional message reference |
| Customer email | recipientEmail | Message recipient |
| Order status | transactionStatus | Message template data |
| Order total | transactionAmount | Message template data |
Martini implementation pattern
A Martini API or workflow receives the commerce event, validates the order state, retrieves missing customer or order details, and applies consent and message-selection rules. It constructs the transactional payload, calls dotdigital, records the response, and uses the transaction identifier to prevent duplicate sends during retries.
Martini capabilities used
- API exposure
- workflow orchestration
- data enrichment
- payload transformation
- business rules
- error handling
Pattern 4: Refresh a large dotdigital audience
When to use this pattern
Use this pattern when a data warehouse or enterprise database produces a qualified audience that must be loaded into dotdigital at scale. It is appropriate for periodic audience refreshes, migrations, and reconciliation when individual Contact requests would be inefficient.
Integration direction
Example Mapping
| dotdigital Field | Canonical Field | Target Field |
|---|---|---|
| Qualified customer ID | customerIdentifier | Contact identifier Data field |
| Email address | emailAddress | Contact email |
| Audience qualification | audienceEligibility | Address book membership |
| Preference status | marketingConsent | Consent or preference Data field |
Martini implementation pattern
Martini reads the qualified population, validates and transforms rows into dotdigital's bulk import format, submits the import, and monitors the resulting business outcome where the endpoint supports asynchronous processing. Rejected rows are retained with source identifiers, while import status and reconciliation metrics are logged.
Martini capabilities used
- database connectivity
- scheduled workflows
- file and payload transformation
- bulk API consumption
- validation
- monitoring
Applications commonly integrated with dotdigital
dotdigital can be connected with customer, commerce, service, and business applications through their documented APIs and Martini workflows. The exact objects, event coverage, and direction should be confirmed for each implementation.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce | Synchronize Leads, Contacts, account context, consent data, and campaign engagement between Salesforce and dotdigital. | Salesforce → Martini → dotdigital | Martini can consume Salesforce data, map customer and consent fields to dotdigital Contacts and Data fields, resolve Address books, and process selected dotdigital engagement notifications back into Salesforce with validation and idempotent updates. |
| Microsoft Dynamics 365 | Align Dynamics customer and contact data with dotdigital audiences, marketing activity, and engagement responses. | Microsoft Dynamics 365 → Martini → dotdigital | A Martini workflow can retrieve changed Dynamics data, apply consent and field-mapping rules, update dotdigital Contacts in batches where appropriate, and send supported engagement outcomes back to Dynamics. |
| Shopify | Send customer, order, and commerce activity to dotdigital for segmentation, lifecycle automation, and transactional communications. | Shopify → Martini → dotdigital | Martini can receive or retrieve Shopify events, enrich orders with customer details, transform the payload for dotdigital Contacts or transactional messages, and retry failed API calls without duplicating business events. |
| Adobe Commerce | Synchronize customers, orders, products, and purchase context for lifecycle campaigns and abandoned-cart journeys. | Adobe Commerce → Martini → dotdigital | Martini can orchestrate Adobe Commerce API calls with dotdigital REST requests, normalize commerce fields into Data fields, apply consent rules, and route rejected or incomplete records to an exception workflow. |
| Zendesk | Combine customer support context with dotdigital marketing preferences and engagement data. | Zendesk → Martini → dotdigital | A Martini workflow can read selected Zendesk customer or ticket context, map approved attributes to dotdigital Contacts, and optionally return relevant preference or communication results while protecting sensitive support data. |
| ServiceNow | Coordinate customer or user communications with service cases, incidents, and lifecycle events. | ServiceNow → Martini → dotdigital | Martini can consume ServiceNow API events or scheduled changes, apply routing and consent rules, send supported transactional messages through dotdigital, and persist message outcomes for operational follow-up. |
| NetSuite | Synchronize customer, order, and account information to support customer lifecycle communications and preference management. | NetSuite → Martini → dotdigital | Martini can retrieve NetSuite changes, transform customer and order data into dotdigital Contacts, Data fields, or transactional payloads, and handle throttling, validation failures, and reconciliation. |
How to build a dotdigital integration in Martini
Objective
Establish the dotdigital connection with the correct regional API host and a dedicated API user.
Instructions in Martini
- Configure the regional dotdigital API endpoint outside workflow logic.
- Store the API username and password in Martini secrets or secured environment configuration.
- Use HTTP Basic Authentication and apply least-privilege permissions.
- Keep development, test, and production credentials separate.
Objective
Select the trigger that matches the required latency, event coverage, and reconciliation needs.
Instructions in Martini
- Use a Martini API or webhook-triggered workflow for supported dotdigital notifications.
- Use a scheduler for incremental synchronization, bulk audience refreshes, and reconciliation.
- Combine webhook processing with scheduled recovery when event coverage is selective.
Objective
Obtain the dotdigital resource or notification needed for the integration flow.
Instructions in Martini
- Validate incoming webhook payloads before processing them.
- Retrieve current Contacts, campaigns, activity, or other resources when a notification contains only an identifier.
- Use documented pagination and persist a cursor or last-successful-sync marker.
Objective
Coordinate dotdigital calls, source-system calls, enrichment, routing, and checkpointing in one maintainable workflow.
Instructions in Martini
- Separate transport handling from business processing.
- Call source and target APIs in a controlled sequence.
- Use reusable workflow logic for common authentication, validation, and error paths.
- Commit checkpoints only after target writes succeed.
Objective
Convert source application data into dotdigital Contacts, Data fields, Address books, bulk payloads, or transactional message structures.
Instructions in Martini
- Maintain explicit mappings for account-specific Data fields.
- Normalize identifiers, dates, preferences, and message values.
- Transform large audiences into the documented bulk import format.
- Validate required fields before calling dotdigital.
Objective
Protect consent, suppression, audience eligibility, and message-delivery decisions during processing.
Instructions in Martini
- Do not overwrite a more restrictive consent state unintentionally.
- Resolve Address book membership using explicit rules.
- Apply message selection and duplicate-prevention rules to transactional events.
- Route invalid or ambiguous records for review.
Common dotdigital data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Contacts | Represent people who receive marketing communications or whose engagement data is managed in dotdigital. | Salesforce, Microsoft Dynamics 365, Shopify, Adobe Commerce, NetSuite, databases | Martini maps stable source identifiers, contact attributes, consent values, and lifecycle data to dotdigital Contacts, using create-or-update logic and validation before submission. |
| Address books | Organize Contacts into audiences and control campaign targeting. | Salesforce, Microsoft Dynamics 365, commerce platforms, data warehouses | Martini resolves the target Address book from configuration or business rules, checks membership requirements, and records synchronization outcomes. |
| Data fields | Store standard or custom Contact attributes such as customer identifiers, preferences, and segmentation values. | CRM platforms, ERP systems, commerce platforms, databases | Martini maintains explicit source-to-field mappings, validates required and account-specific fields, and applies consent and privacy rules before updates. |
| Campaigns | Represent marketing communications and campaign assets that can be queried or used in campaign-related workflows. | Salesforce, Microsoft Dynamics 365, reporting platforms, databases | Martini can retrieve campaign-related information, map relevant engagement context, and route selected results to enterprise applications. |
| Programs | Represent automated customer journeys and engagement programs in dotdigital. | CRM platforms, customer data platforms, reporting systems | Martini can orchestrate program-related API calls where supported, apply business rules, and persist request and response outcomes. |
| Transactional messages | Send email or other transactional communications in response to business events such as orders or service updates. | Shopify, Adobe Commerce, ServiceNow, NetSuite, order-management applications | Martini validates the triggering event, builds the message payload, sends it through the relevant dotdigital API, and uses event identifiers and retry controls to prevent duplicates. |
Authentication and security considerations
API authentication
dotdigital's reviewed REST APIs use a dedicated API user with HTTP Basic Authentication. Configure the correct regional API host for the account or data center.
Credential protection
Store the API username and password in Martini secrets or secured environment configuration rather than embedding credentials in workflows or mappings.
Access and privacy
- Apply least-privilege permissions to the dotdigital API user.
- Keep credentials and endpoints separate across development, test, and production.
- Map marketing permissions, opt-outs, suppression states, and regional privacy requirements explicitly.
- Do not log passwords, authorization headers, or unnecessary sensitive Contact data.
Operational considerations for dotdigital integrations
Throughput and pagination
Use documented pagination for large Contact, campaign, and activity collections. Prefer bulk Contact operations when appropriate, and handle HTTP 429 responses with controlled retries and exponential backoff.
Events and idempotency
dotdigital webhook coverage is selective. Notifications may be duplicated, delayed, or out of order, and may contain only an identifier. Validate events, persist event or business identifiers, retrieve current data when needed, and use scheduled reconciliation for recovery.
Bulk outcomes
An accepted bulk import request does not necessarily mean every Contact was updated successfully. Retain import results, monitor asynchronous processing where applicable, and process row-level rejections separately.
Schema and testing
Data fields can differ between dotdigital accounts. Maintain explicit mappings, validate required fields before submission, and test regional endpoints, consent rules, throttling, retries, and schema changes before production release.
Why use Martini instead of scripts or point-to-point integrations?
Orchestrate more than API calls
Martini coordinates dotdigital with CRM, commerce, ERP, database, and service applications in workflows that include retrieval, enrichment, transformation, business rules, and target writes.
Use the right execution model
Teams can combine API-led, webhook-driven, scheduled, incremental, and bulk processing rather than maintaining separate point-to-point scripts for each scenario.
Improve reliability and maintainability
- Centralize secrets and environment-specific configuration.
- Reuse mappings, validation, retry, and exception-handling logic.
- Persist checkpoints and duplicate-prevention keys for recoverable synchronization.
- Expose controlled APIs for inbound events and internal consumers.
- Monitor workflow outcomes without coupling business logic to one application.
Frequently asked questions
dotdigital can be integrated primarily through its REST APIs for Contacts, Address books, Data fields, campaigns, programs, transactional messaging, and related engagement resources. Selected scenarios also support webhook-style notifications, while bulk Contact imports and scheduled incremental synchronization support larger or less time-sensitive data flows. API user credentials with HTTP Basic Authentication are used for the reviewed REST APIs.
Yes. Martini can integrate with dotdigital by consuming its REST APIs, receiving supported webhook notifications, submitting bulk Contact imports, and orchestrating scheduled or event-driven workflows. Martini can also transform dotdigital data and coordinate it with CRM, commerce, database, and other enterprise applications.
No. A dedicated dotdigital connector is not required. Martini can use dotdigital's confirmed native integration mechanisms, including REST APIs, selected webhook-style notifications, bulk Contact imports, transactional messaging endpoints, and HTTP Basic Authentication.
Lonti does not charge an additional per-connector or per-vendor fee to integrate dotdigital. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from dotdigital, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.
Use dotdigital REST APIs as the primary method for Contacts, Address books, Data fields, campaigns, programs, and transactional messaging. Use supported webhook-style notifications when the required event is available and near-real-time processing matters. Use bulk imports for large Contact populations and scheduled workflows for reconciliation, incremental synchronization, or event types without webhook coverage.
Yes, for supported dotdigital scenarios. Martini can expose an API endpoint or webhook-triggered workflow to receive notifications, validate and deduplicate them, and enrich incomplete payloads through dotdigital REST calls. Event coverage is selective, so the required event, payload, and delivery behavior should be verified before implementation.
Martini can synchronize dotdigital data through webhooks, scheduled workflows, incremental API reads, or bulk imports. A typical design stores a timestamp, identifier, or last-successful-sync marker, uses documented pagination, maps Contacts and Data fields explicitly, and advances checkpoints only after target writes succeed.
Martini can transform fields and payloads between dotdigital and enterprise applications, validate configurable Data fields and consent values, and apply routing rules. Workflows can distinguish authentication, validation, throttling, and transient failures, use controlled retries with backoff, persist webhook or business-event identifiers, and route permanent failures to an exception process. Transactional messages require a stable duplicate-prevention key.
Related Martini documentation
Workflows
Operations
Connect dotdigital with Martini
Use Martini to integrate dotdigital with the applications, APIs, databases, and workflows that support your customer engagement processes.