Skip to main content

Shopify to iPaaS.com Customer Mapping Documentation

Add Shopify customers to iPaaS

Shopify to iPaaS.com Customer Mapping Documentation

This documentation covers importing Shopify customers into iPaaS.com (transfer TO iPaaS.com). Shopify customer creation, update, and deletion are handled by separate mapping collections — Add Shopify Customer TO iPaaS.com, Update Shopify Customer TO iPaaS.com, and Delete Shopify Customer TO iPaaS.com — each driven by the matching Shopify customer webhook. The Add and Update collections are parents of the Customer Address and Customer Company child collections, which import the customer's address and B2B company relationship in the same transfer. Customer tags are maintained as iPaaS.com customer categories by Add/Update Shopify Customer Tags TO iPaaS.com. The reverse direction (writing iPaaS.com customers to Shopify) is documented in iPaaS.com to Shopify Customer Mapping Documentation.

ID Format

  • Manual Sync ID: the Shopify customer id (for example, 10), entered on the iPaaS.com Manual Sync page.

  • External ID saved after sync: the Shopify customer id is recorded as the external-id link, so later transfers update the same iPaaS.com Customer rather than creating a duplicate.

Deleted Record Support

Customer deletion is supported in this direction. The Shopify Customer Deleted (customers/delete) event is handled by the Delete Shopify Customer TO iPaaS.com collection, which removes the iPaaS.com Customer matched by the saved external id. Deletion is not enabled until that inbound event is subscribed.

Mapping Collection Status

  • Status: Enabled. Add and Update carry no mapping filter; the Customer Company child collection carries a filter requiring the related iPaaS.com Company to exist.

  • Trigger Events: Shopify Customer Created (customers/create), Customer Updated (customers/update), and Customer Deleted (customers/delete).

Duplicate or Conflicting Mappings

The opposite-direction iPaaS.com to Shopify Customer collection writes iPaaS.com customers to Shopify. Within this direction, Add and Update are distinct collections triggered by the respective Shopify event; they do not overlap. On Update, the iPaaS.com CustomerNumber and Company values are deliberately preserved from the existing record (sourced from DestinationValue) so an inbound update does not clobber an iPaaS.com-assigned customer number or company.

Supported Child Collections

Parent Collections: Add Shopify Customer TO iPaaS.com; Update Shopify Customer TO iPaaS.com.

  • Add / Update Shopify Customer Address TO iPaaS.com — imports the customer's address (recipient name, street, city, region, country, postal code, phone). The PreventDuplicate flag is set so repeated imports do not create duplicate addresses.

  • Add / Update Shopify Customer Company TO iPaaS.com — imports the customer's B2B company relationship, linking the customer to the existing iPaaS.com Company. Carries a filter that requires the related Company to exist in iPaaS.com.

Related standalone collection: Add/Update Shopify Customer Tags TO iPaaS.com maintains iPaaS.com customer categories from Shopify tags.

System Caveats

Shopify Caveats

  • Read access required. The Shopify connection must include the read_customers OAuth scope; without it the transfer fails with an authorization error.

  • Email uniqueness. Shopify enforces a unique email per customer.

  • Multiple addresses per customer. Shopify allows multiple addresses; only the default is treated as primary unless your configuration handles others.

  • Customer metafields. The metafield-to-custom-field mapping returns a value only if the metafield exists on the Shopify customer under the configured key.

iPaaS.com Caveats

  • External-id link required. The Shopify customer id is saved as the external id so updates edit the same iPaaS.com Customer rather than creating a duplicate.

  • Category lookup. A Shopify tag is assigned as a customer category only when a matching iPaaS.com category already exists (maintained by the Customer Tags collection); unmatched tags are skipped.

  • Company must be linked first. The Customer Company child collection resolves its link only when the related Company already exists in iPaaS.com (enforced by its filter).

Setup Requirements

iPaaS.com Configuration

Enable the Customer collections and subscribe to the Shopify Customer Created, Customer Updated, and (if deletion is desired) Customer Deleted events in the subscription configuration's Inbound Data Flows section. No automatic transfers occur until those subscriptions are enabled. Customers can also be imported on demand from the Manual Sync page using the Shopify customer id. To use the sample customer-metafield mapping, set the metafield key to the one your Shopify store uses (Shopify Settings > Custom data > Customers).

Shopify Configuration

The Shopify connection must be authorized with the read_customers OAuth scope. The Shopify-side webhook registration for the customer events is covered in the Shopify Installation Instructions.

Integration Flow

  1. A Shopify customer is received via the customer webhook, or retrieved via the Shopify Customers API on Manual Sync.

  2. The integration matches the existing iPaaS.com Customer by the saved external id (the Shopify customer id), or creates a new one on first sync.

  3. Customer fields are written to iPaaS.com; Shopify tags are converted to iPaaS.com customer categories.

  4. The child Address collection imports the customer's address.

  5. The child Company collection imports the B2B company relationship, provided the related iPaaS.com Company already exists (its filter raises a clear error otherwise).

  6. The Shopify customer id is saved as the external-id link.

Mappings

Add Shopify Customer TO iPaaS.com (Parent)

Mapping Type

Source (Shopify)

Destination (iPaaS.com)

Description

Field

Id

CustomerNumber

Required.

Field

Firstname

FirstName

Field

Lastname

LastName

Field

Email

EmailAddress

Recommended natural key; unique in Shopify.

Dynamic Formula

await CustomerTagsToiPaaSCategories(Tags)

Categories

Converts Shopify tags to iPaaS.com customer categories; unmatched tags skipped.

Field

Note

Comment

Dynamic Formula

GetValueFromMetaFields(MetaFields, "shopify_customer_type")

ShopifyCustomerType (custom)

Placeholder — replace shopify_customer_type with your store's metafield key, or remove.

Update Shopify Customer TO iPaaS.com (Parent)

Mapping Type

Source (Shopify)

Destination (iPaaS.com)

Description

Dynamic Formula

DestinationValue.CustomerNumber

CustomerNumber

Preserves the existing iPaaS.com value.

Field

Firstname

FirstName

Field

Lastname

LastName

Field

Email

EmailAddress

Dynamic Formula

DestinationValue.Company

Company

Preserves the existing iPaaS.com value.

Dynamic Formula

await CustomerTagsToiPaaSCategories(Tags)

Categories

Field

Note

Comment

Dynamic Formula

GetValueFromMetaFields(MetaFields, "shopify_customer_type")

ShopifyCustomerType (custom)

Placeholder — see above.

Add / Update Shopify Customer Address TO iPaaS.com (Child)

Mapping Type

Source (Shopify)

Destination (iPaaS.com)

Description

Static

true

PreventDuplicate

Control flag; avoids duplicate addresses.

Field

FirstName

FirstName

Field

LastName

LastName

Field

Company

Company

Free-text address field.

Field

Address1

Address1

Field

Address2

Address2

Field

City

City

Field

ProvinceCode

Region

Field

Country

Country

Field

Zip

PostalCode

Field

Phone

PhoneNumber

Add / Update Shopify Customer Company TO iPaaS.com (Child)

Mapping Type

Source (Shopify)

Destination (iPaaS.com)

Description

Field

CompanyName

B2B Company Name (custom)

Static

Company

Type

Sets the relationship type.

Dynamic Formula

GetSpaceportIdAsync(CompanyId, "Company", SpaceportSystemId)

RelatedToId

Resolves the iPaaS.com Company id; filter requires the company to exist.

Add/Update Shopify Customer Tags TO iPaaS.com (Standalone)

Mapping Type

Source (Shopify)

Destination (iPaaS.com)

Description

Field

Name

Name

Tag name → customer category name; the key for tag-to-category matching.

Error Handling

  • Unauthorized access — ensure the Shopify connection includes the read_customers scope.

  • Company not found — the Customer Company child raises "There is no company in iPaaS by this external id" when the related iPaaS.com Company is not present; import the Company TO iPaaS.com first.

  • Duplicate email — Shopify already enforces unique email; match on email to avoid duplicate iPaaS.com customers.

Testing & Validation

  • Sync a Shopify customer and confirm it appears in iPaaS.com with the correct CustomerNumber, name, email, and Note.

  • Confirm the Shopify customer id is saved as the external id and a re-sync updates the same iPaaS.com Customer.

  • Confirm Shopify tags resolve to existing iPaaS.com customer categories.

  • Confirm the address child imports with the correct region and postal code, and that re-imports do not create duplicate addresses.

  • For B2B customers, confirm the company relationship links to the correct iPaaS.com Company; verify the filter error when the company is absent.

  • On Update, confirm CustomerNumber and Company are preserved from the existing iPaaS.com record.

Additional Notes

Shopify supports multiple addresses per customer; clarify whether all addresses or only the default should sync. The customer-metafield mapping is a sample — point it at the metafield key your store actually uses, or remove it.

Related Documents

Did this answer your question?