Summary
This mapping creates or removes assignments between iPaaS product records and Shopify collections (categories). The mapping only processes assignments when the iPaaS category has been previously linked to Shopify (i.e., a Shopify Collection external ID is recorded in iPaaS). If the category is not linked, the assignment is skipped. The mapping supports Add (assign product to a collection) and Delete (remove product from a collection).
Field Constraints
CollectionId: Must be a valid Shopify collection identifier and must exist in Shopify.
ProductId: Must be a valid Shopify product identifier and must exist in Shopify.
External ID mapping: iPaaS categories must contain the Shopify collection external ID to be eligible for assignment.
Mapping Collection Status
Status: Enabled
Trigger Events: Product Category Assignment, Add or Delete in iPaaS
Id Format
When manually transferring data from iPaaS to Shopify, ensure that you enter the correct Product Id, concatenated with the Product Category Assignment Id using a pipe (|) (e.g., 12345|10) into the iPaaS input field on the manual sync page.
Deleted Record Support
Product Category Assignment deletion is supported in this flow.
System Caveats
Shopify Caveats
Shopify Collections are read-only for creation. They must be created in Shopify first.
Product assignments can only succeed if both product and category exist in Shopify.
iPaaS Caveats
iPaaS must include the external Shopify CollectionId for the categories intended for assignment; otherwise, the filter prevents assignment.
The mapping expects ProductId and CollectionId to be resolvable to Shopify numeric IDs.
Setup Requirements
iPaaS Configuration
Enable Shopify Product Category Assignment Add/Delete From iPaaS.
Validate dynamic formulas.
Shopify Configuration
In the integration settings, enter the following correctly.
OAuth URL Template:
https://{API Store}.myshopify.com/admin/oauth/authorize?client_id={SystemTypeVersion:Client_Id}&scope={SystemTypeVersion:Scope}&redirect_uri={SystemTypeVersion:RedirectUrl}&state={iPaaSState}
OAuth Identifier Field: timestamp
OAuth Success Callback Field: code
Shopify Store Credentials
Client_Secret: Secret saved when creating your Shopify store
Scope: write_Product Category Assignment s, write_Product Category Assignment _feeds, write_Product Category Assignment _listings, write_inventory, write_files
RedirectUrl:
https://portal.ipaas.com/Product Category Assignment /subscription-mgmt/subscriptions/authorization/app
Authentication & Security
OAuth 2.0 Token: Used for Shopify API authentication.
Integration Flow
iPaaS process triggers assignment operation (Add or Delete) for a product/category pair.
Mapping filter runs and checks whether the iPaaS category has a Shopify Collection external ID.
If not linked → skip processing.
If linked → proceed.
Resolve CollectionId (Shopify) and ProductId (Shopify) via Dynamic Formula.
For Add: call the Shopify API to add the product to the collection (manual collection endpoint or appropriate API).
For Delete: call the Shopify API to remove/unlink the product from the collection.
Handle errors (rate limit, not found, unauthorized) with retry and error logging.
Log success/failure and update audit fields in iPaaS for traceability.
Mappings
Shopify Product Category Assignment From iPaaS (Parent)
Mapping filter
var value = await GetExternalIdAsync(CategoryId, "Product Category", SpaceportSystemId); if (value != null){return true;} else {return false;}Description
The collection filter checks if the category has been linked to iPaaS. If the category is not linked, the assignment will not be processed.
Mapping Type | Source Field (iPaaS) | Destination Field (Shopify) | Description |
Dynamic Formula |
| CollectionId | Retrieves the Shopify Collection (Category) external ID. |
Dynamic Formula |
| ProductId | Retrieves the Shopify Product external ID. |
Error Handling
Missing Collection External ID: Mapping filter should skip; log as “Category not linked”.
Invalid ProductId/CollectionId: Shopify returns not-found — log failure and mark for manual review.
Testing & Validation
Test Scenarios
Add Assignment: Product correctly linked to Shopify Category.
Delete Assignment: Product correctly unlinked from Shopify Category.
Missing External ID: Assignment skipped with error logged.
Validation Rules
Both CollectionId and ProductId must be non-null before processing.
Validation Checklist
Categories exist in Shopify before assignment
Products exist in Shopify before assignment
External IDs correctly mapped in iPaaS
Add/Delete actions tested end-to-end
Additional Notes
This mapping only manages assignments. It does not create Categories or Products.
