Skip to main content

Dotdigital Transaction from iPaaS

Updated yesterday

Summary

This integration syncs transactional order data from iPaaS into a custom purchase data collection. The data is stored against each Contact record, which enables order history tracking, targeted transactional campaigns, and detailed reporting within Dotdigital.

Field Constraints

  • Currency: Must follow the ISO 4217 format (e.g., USD, GBP).

  • PurchaseDate: Must be formatted using the ToDotDigitalDateFormat() function.

Integration Configuration

  • Status: Enabled

  • Trigger Events: This integration runs when Insight data is created or Insight data is updated in iPaaS.

Handling Custom Fields

Dotdigital stores supplementary data in custom fields. When retrieving data via the API, these are accessible in the customfields property. To map a custom field from iPaaS, use the following function in your flow to extract a value by its name:

return GetValueFromCustomField(customfields, "[CustomFieldName]");

Manual Sync Process

When manually transferring a single transaction (e.g., Transaction 13), you must provide the ContactIdentifier and the TransactionKey in the designated fields on the Manual Sync page to ensure successful processing.

Data Structure

The integration supports a parent collection with a related child collection.

  • Parent Collection: Transaction

  • Child Collection: transaction_lines – Captures individual line item details for each transaction.

System Caveats

iPaaS Caveats

  • Type is a mandatory field.

  • Status is a mandatory field.

  • The transaction number must be unique.

Dotdigital Caveats

  • CollectionScope is a mandatory field.

  • CollectionType is a mandatory field.

Prerequisites

iPaaS Configuration

  • The Dotdigital connector must be enabled.

  • Field mapping rules for Insight data must be defined.

Dotdigital Configuration

  • An active API user with a valid API Key/Token is required.

  • The API user must have permissions to access the Insight API.

Integration Flow

  1. An order is created or updated in iPaaS, which triggers the integration.

  2. The data is transformed according to the defined field mappings.

  3. The formatted record is pushed to the Dotdigital Insight API and linked to the corresponding contact.

Field Mappings

Transaction (Parent)

Mapping Type

Source Field (iPaaS)

Destination Field (Dotdigital)

Description

Field

EmailAddress

Email

Required. The primary identifier for the contact.

Field

FirstName

FirstName

Optional. Used for personalization.

Field

LastName

LastName

Optional. Used for personalization.

Static

Unknown

OptInType

A static value that sets the contact's opt-in type.

Static

HTML

EmailType

A static value that sets the contact's preferred email format.

Transaction Line (Child)

Mapping Type

Source Field (iPaaS)

Destination Field (Dotdigital)

Description

Field

Description

Name

Required. The name of the product or line item.

Field

UnitPrice

Price

Optional. The price per unit.

Field

Sku

Sku

Optional. The product's Stock Keeping Unit (SKU).

Field

Qty

Qty

Required. The quantity of the item purchased.

Error Handling

Missing CollectionScope or CollectionType

  • Description: The record is rejected by Dotdigital's API.

  • Resolution: Ensure these fields are mandatory and contain the correct static values (contact and orders, respectively).

Duplicate TransactionKey

  • Description: A new record will not be created.

  • Resolution: The integration will attempt to update the existing transaction record that has the matching key.

Testing & Validation

Test Scenarios:

  1. Valid Transaction key

    • Syncs successfully.

  2. Missing CollectionScope

    • Error logged, Insight rejected.

  3. Duplicate Transaction key

    • Record updated instead of created.

Validation Checklist

  • Ensure TransactionKey is always populated and unique for each new order.

  • Verify the Email field is in a valid format.

  • Confirm CollectionScope is set to contact.

  • Confirm CollectionType is set to orders.

Additional Notes

  • Be aware of Dotdigital API rate limits, which may slow down or throttle large-volume data syncs.

  • Dotdigital may automatically normalize certain fields, such as trimming whitespace from names.

Did this answer your question?