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
Typeis a mandatory field.Statusis a mandatory field.The transaction number must be unique.
Dotdigital Caveats
CollectionScopeis a mandatory field.CollectionTypeis 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
An order is created or updated in iPaaS, which triggers the integration.
The data is transformed according to the defined field mappings.
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 | Required. The primary identifier for the contact. | |
Field | FirstName | FirstName | Optional. Used for personalization. |
Field | LastName | LastName | Optional. Used for personalization. |
Static |
| OptInType | A static value that sets the contact's opt-in type. |
Static |
| 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 (
contactandorders, 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:
Valid Transaction key
Syncs successfully.
Missing CollectionScope
Error logged, Insight rejected.
Duplicate Transaction key
Record updated instead of created.
Validation Checklist
Ensure
TransactionKeyis always populated and unique for each new order.Verify the
Emailfield is in a valid format.Confirm
CollectionScopeis set tocontact.Confirm
CollectionTypeis set toorders.
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.
