Ellipse Gradient for Header

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 pointSupported by dotdigital?Common use casesHow Martini supports it
REST APIsYesManage 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 callbacksLimitedReceive 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 APIsYesImport 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 APIsLimitedAttach 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.
AuthenticationYesAuthenticate 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 synchronizationYesReconcile 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.
SDKsNot confirmedThe 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 accessNot confirmedDirect 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

Receive a source event or start the scheduled workflow
Authenticate with the dotdigital API user through HTTP Basic Authentication
Retrieve or submit the required dotdigital resource
Map the response to the target application model
Apply consent, validation, and routing rules
Write the result and store the synchronization checkpoint

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

Receive the supported dotdigital notification
Validate the request and event structure
Check the event identifier for duplicate processing
Retrieve current Contact or campaign data when required
Map the event to the target application
Persist the result and return a controlled response

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

Extract the qualified customer population
Validate required fields and consent values
Transform data into the dotdigital bulk format
Submit the Contact import
Monitor the import result where applicable
Process rejected rows and publish an exception outcome

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

Receive and validate the business event
Retrieve customer and transaction details
Apply consent and message-routing rules
Construct the transactional message payload
Send the message through dotdigital
Persist the message result and duplicate-prevention key

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

Start the workflow on the configured schedule
Load the last successful cursor or timestamp
Retrieve the next paginated dotdigital collection
Transform and write the current page to the target
Persist the checkpoint after successful writes
Retry transient failures and report permanent exceptions

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
Salesforce
Martini
dotdigital
Example Mapping
dotdigital FieldCanonical FieldTarget Field
Customer IDcustomerIdentifierContact identifier Data field
EmailemailAddressContact email
Marketing consentmarketingConsentConsent or preference Data field
Customer segmentaudienceSegmentAddress 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
dotdigital
Martini
Salesforce
Example Mapping
dotdigital FieldCanonical FieldTarget Field
Contact identifiercustomerIdentifierContact or Lead identifier
Campaign activityengagementActivityCampaign response
Event timestampactivityTimestampActivity date
Message statuscommunicationStatusEngagement 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
Shopify
Martini
dotdigital
Example Mapping
dotdigital FieldCanonical FieldTarget Field
Order IDtransactionIdentifierTransactional message reference
Customer emailrecipientEmailMessage recipient
Order statustransactionStatusMessage template data
Order totaltransactionAmountMessage 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
Database
Martini
dotdigital
Example Mapping
dotdigital FieldCanonical FieldTarget Field
Qualified customer IDcustomerIdentifierContact identifier Data field
Email addressemailAddressContact email
Audience qualificationaudienceEligibilityAddress book membership
Preference statusmarketingConsentConsent 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

ObjectTypical UseCommon target systemsMartini handling
ContactsRepresent people who receive marketing communications or whose engagement data is managed in dotdigital.Salesforce, Microsoft Dynamics 365, Shopify, Adobe Commerce, NetSuite, databasesMartini maps stable source identifiers, contact attributes, consent values, and lifecycle data to dotdigital Contacts, using create-or-update logic and validation before submission.
Address booksOrganize Contacts into audiences and control campaign targeting.Salesforce, Microsoft Dynamics 365, commerce platforms, data warehousesMartini resolves the target Address book from configuration or business rules, checks membership requirements, and records synchronization outcomes.
Data fieldsStore standard or custom Contact attributes such as customer identifiers, preferences, and segmentation values.CRM platforms, ERP systems, commerce platforms, databasesMartini maintains explicit source-to-field mappings, validates required and account-specific fields, and applies consent and privacy rules before updates.
CampaignsRepresent marketing communications and campaign assets that can be queried or used in campaign-related workflows.Salesforce, Microsoft Dynamics 365, reporting platforms, databasesMartini can retrieve campaign-related information, map relevant engagement context, and route selected results to enterprise applications.
ProgramsRepresent automated customer journeys and engagement programs in dotdigital.CRM platforms, customer data platforms, reporting systemsMartini can orchestrate program-related API calls where supported, apply business rules, and persist request and response outcomes.
Transactional messagesSend email or other transactional communications in response to business events such as orders or service updates.Shopify, Adobe Commerce, ServiceNow, NetSuite, order-management applicationsMartini 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

How can dotdigital be integrated with enterprise systems?

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.

Can Martini integrate with dotdigital?

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.

Do I need a connector to integrate dotdigital with Martini?

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.

Is there any extra Lonti cost to integrate dotdigital with Martini?

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.

Which dotdigital integration methods should an enterprise use?

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.

Can Martini receive dotdigital webhooks or event notifications?

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.

How does synchronization between dotdigital and other systems work?

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.

How does Martini handle dotdigital mapping, errors, retries, and duplicate messages?

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.