Skip to main content

Dotdigital Product Category From iPaaS.com Mapping Documentation

How the iPaaS.com integration sends product categories to Dotdigital as account-scoped insight data, including the category hierarchy, field mappings, setup, and validation.

Summary

This integration sends an iPaaS.com Product Category to Dotdigital as account-scoped Insight Data. Each category is written as a record in a dedicated Dotdigital categories collection, carrying its identifier, display name, and parent reference, so the category hierarchy is maintained in Dotdigital.

This is an Add/Update flow. A category whose identifier does not yet exist in Dotdigital is created, and a repeat transfer of the same category updates the existing record in place rather than creating a duplicate. The parent-child hierarchy is preserved: when a category has a parent, the parent is transferred first so the child can be linked beneath it. The flow is one-way, from iPaaS.com to Dotdigital.

ID Format

Manual Sync ID — the iPaaS.com record ID of the product category (for example, 14522), entered on the iPaaS.com Manual Sync page when a category is transferred on demand.

External ID Format

After a successful transfer, iPaaS.com records the category's identifier as the external-ID link, so later transfers of the same category upsert the existing record rather than creating a duplicate. If a category has no link yet but a matching record already exists in Dotdigital, the integration links to that existing record instead of creating a second one.

Deleted Record Support

Deleted records are not supported. This is an Add/Update flow: it creates and updates category records in Dotdigital, and deletions do not propagate. Removing a category in iPaaS.com does not remove the corresponding record from Dotdigital; the record remains in place.

Custom Field Support

This collection does not use custom fields. A Dotdigital category record carries only its identifier, name, and parent reference.

Mapping Collection Status

Status — Enabled.

Trigger Events — Product Category created and updated, enabled under Outbound Data Flows. No automatic transfers occur until the product category outbound triggers are subscribed to.

Duplicate or Conflicting Mappings

There is no collision handling, because no other collection writes Dotdigital product category data. Create-versus-update routing is handled within this single collection by the category's identifier: a repeat transfer carrying an identifier that already exists updates the existing record in place, and a new identifier creates a new record.

Supported Child Collections

None. This is a standalone collection with no child collections.

System Caveats

Dotdigital Caveats

  • A Dotdigital category record carries only its identifier, name, and parent reference. Categories with the same name under different parents are stored as distinct records with distinct identifiers and correct parent links; they are told apart by identifier rather than by name.

  • The target categories collection is created automatically on first use if it does not already exist; no manual setup in Dotdigital is required.

iPaaS.com Caveats

  • The Dotdigital categories collection the record is written to is named by the Product Category Collection Name subscription setting. If it is left blank, the transfer fails with an error stating the setting is required.

  • A category whose Id is empty cannot be written; the transfer fails and the error appears in the iPaaS.com Dashboard / Integration Monitoring / Error Logs.

  • When a category has a parent, that parent must transfer successfully first. A failed parent blocks the child category's transfer.

Setup Requirements

  1. In iPaaS.com, enter the Dotdigital API User and API Password.

  2. In iPaaS.com, set the Product Category Collection Name subscription setting to the name of the Dotdigital categories collection this integration should write to. The integration creates the collection automatically on the first transfer if it does not already exist.

  3. In iPaaS.com, under Outbound Data Flows, subscribe to the product category outbound triggers so categories transfer automatically, or use the Manual Sync page for on-demand transfers.

Integration Flow

  1. An iPaaS.com Product Category is transferred, either automatically when the product category outbound trigger fires or on demand from the Manual Sync page.

  2. The integration ensures the Dotdigital categories collection named by the Product Category Collection Name setting exists, creating it if necessary.

  3. If the category has a parent that is not yet present in Dotdigital, the integration transfers the parent category first. This repeats up the chain, so an entire branch of ancestors is created and linked before the category itself.

  4. The integration creates or updates the category record — its identifier, name, and parent reference — in the categories collection. A category that already exists in Dotdigital is linked rather than duplicated; an identifier that already carries a record updates it in place.

Mappings

Add/Update Dotdigital Product Category FROM iPaaS.com

This collection writes the category record. There is no mapping filter applied: every iPaaS.com product category reached through an enabled outbound trigger or Manual Sync is processed.

Mapping Type

Source Field (iPaaS.com)

Destination Field (Dotdigital)

Description

Dynamic Formula

return Id;

Id

Required. The category's unique identifier in Dotdigital, taken from the iPaaS.com product category Id. It must be unique; Dotdigital uses it to store and match the category, so a repeat transfer of the same category updates the existing record rather than creating a duplicate.

Field

Name

Name

Required. The category's display name, taken from the iPaaS.com product category name.

Dynamic Formula

if(ParentId > 0)
return await GetExternalIdAsync(ParentId, "Product Category", SpaceportSystemId);

ParentId

Optional. Links the category to its parent in the Dotdigital hierarchy. When the category has a parent, the formula resolves and returns the parent category's Dotdigital identifier so the category is stored beneath the correct parent; the parent is transferred first automatically if it is not already in Dotdigital. When the category has no parent, the formula returns nothing and the category is stored as a top-level category. Map it only when you want to preserve a category hierarchy.

No mapping filter is applied to this collection.

Error Handling

  • Product Category Collection Name not configured: the Product Category Collection Name subscription setting is empty, so the transfer cannot resolve a target collection and stops before sending anything. Set the value in the subscription settings, then re-sync.

  • Category is missing an identifier: the category has no identifier, which is the required unique key, so the record cannot be created. Ensure the source category has a valid identifier before syncing.

  • Prerequisite category could not be created: a required prerequisite (the parent category, or the categories collection) could not be created, so the dependent transfer was stopped to avoid linking to a missing record. Review the error detail in the Error Logs, confirm the Product Category Collection Name setting is valid and the Dotdigital API user has access to insight data, then re-sync.

For the full list of messages, see the Dotdigital Error Messages article.

Testing & Validation

Test Scenarios

  • Transfer a top-level category and confirm it is created in the Dotdigital categories collection with no parent reference and the external-ID link is stored.

  • Transfer a category whose parent is already in Dotdigital and confirm the child links to the resolved parent without re-transferring it.

  • Transfer a deeper category whose parent chain is not yet in Dotdigital and confirm the ancestors transfer first, recursively, and the child links once they exist.

  • Re-transfer a category whose name has changed and confirm the existing record is updated in place rather than duplicated.

  • Transfer a category that already exists in Dotdigital but has no link and confirm the existing record is linked rather than duplicated.

Validation Checklist

  • Confirm the Product Category Collection Name setting names the intended Dotdigital categories collection.

  • Confirm each category carries a unique identifier.

  • Confirm parent categories resolve and appear above their children in Dotdigital.

  • Confirm a re-synced category updates the same record rather than creating a duplicate.


Related Documents

Related Mapping Documentation

Did this answer your question?