Summary
Jasper PIM Category can be transferred from iPaaS.com Product Category through manual sync. Jasper PIM supports the manual synchronization of Category records from iPaaS.com using its Category API.
Mapping Collection Status
Product Category Mapping
Status: Conditional. This filter is enabled in the following cases:
ParentId is empty: The filter allows the category to be created as a root category (return true).
ParentId is not empty and the corresponding external ID exists: The filter allows the category because its parent has already been uploaded (return true).
This filter will throw an exception if:
ParentId is not empty but the external ID is empty: This indicates the parent category has not been uploaded yet. The process is halted until the parent is available.
Trigger Events: Create, Update
Id Format
Description
When manually transferring a product category from iPaaS.com to Jasper, you must accurately input the iPaaS.com Product Category ID (e.g., 12345) into the designated field on the manual sync page.
Setup Requirements
Authentication & Security
API Key/OAuth token
Jasper PIM: Requires an API key generated in the Jasper admin console with Product Category read/write permissions.
iPaaS.com: Requires an access token for the Product Category API endpoint with create/update permissions.
Integration Flow
Product Category Flow
When a product category is assigned or updated in iPaaS.com, it is included in the product sync payload.
iPaaS.com fields (e.g., CategoryId, CategoryName, SubCategoryName) are mapped to Jasper’s product category fields.
During product creation or update in Jasper PIM, the system attempts to match the incoming category data with existing categories in Jasper.
If a valid category match is found, the product is associated with that category in Jasper.
if the category does not exist or the mapping fails:
The product may be assigned to a default or uncategorized group in Jasper.
Or, depending on configuration, the product sync may fail with a category validation error.
Mappings
Jasper Product Category From iPaaS
Mapping Filter
var external = await GetExternalIdAsync(ParentId, "Product Category", SpaceportSystemId); if(IsEmpty(ParentId)) return true; else if(!IsEmpty(ParentId) && IsEmpty(external)) throw new Exception("Parent category must be uploaded first"); else return true;
Filter Description: This filter ensures that categories are only processed when their parent category requirements are satisfied. If ParentId is empty, the category is treated as a root category and allowed to proceed. If ParentId is provided but no matching external ID exists in Jasper, the filter throws an exception indicating that the parent category must be uploaded first. In all other cases where ParentId is valid and the external ID exists, the category is allowed to continue.
Field Mappings
Mapping Type | Source Field (iPaaS.com) | Destination Field (Jasper PIM) | Description |
Dynamic Formula |
| ParentId | Required: Dynamically retrieves the external ID (Jasper Category Id) from Jasper PIM. Ensures the product’s parent category is correctly linked. |
Field | Name | Name | Required: Maps directly to the Name field in Jasper PIM. Represents the product’s display name. |
Field | Description | Description | Optional: Maps directly to the Description field in Jasper PIM. Contains the detailed description of the product. |
Static | true/false | IsVisible | Optional: Uses a static value (true) to map to the IsVisible field in Jasper PIM. Controls whether the product is visible in the system. |
Error Handling
Product Category
Missing Parent Category
Description: ParentId provided but parent category not found in Jasper.
Resolution: Ensure the parent category is created and synced before child categories.
Duplicate Category Name
Description: Category name already exists under the same parent.
Resolution: Enforce uniqueness within the same hierarchy level.
Invalid Visibility Flag
Description: IsVisible value not boolean.
Resolution: Accept only true or false.
Testing & Validation
Test Scenarios
Child Category Without Parent: Create category with ParentId referencing a non-existent category.
Expected Outcome: Error thrown – parent category must exist first.
Duplicate Name Under Same Parent Create two categories with the same Name under the same ParentId.
Expected Outcome: Second record rejected with duplication error.
Invalid IsVisible Value Provide string value "yes" for IsVisible.
Expected Outcome: Error thrown – must be true or false.
Validation Rules
Id: Required, unique Jasper Category ID. Immutable once created
IsVisible: Required, boolean. Must be true or false.
Validation Checklist
Confirm ParentId is valid and parent category exists.
Verify IsVisible is strictly boolean.
Log and reject invalid or duplicate category records.
