Skip to content

oledmansfeld/Nop.Plugin.Misc.Perfion

Repository files navigation

Perfion PIM Integration Plugin for nopCommerce

A nopCommerce plugin that integrates with Perfion PIM (Product Information Management) to synchronize products, categories, and images from Perfion to your nopCommerce store.

Features

  • Product Sync: Full and delta synchronization of products from Perfion
  • Category Sync: Automatic category hierarchy creation from Perfion categories
  • Image Sync: Main image and gallery images synchronization
  • Multi-language Support: Supports localized fields (e.g., en-US, da-DK)
  • Scheduled Sync: Automatic background synchronization via nopCommerce scheduled tasks
  • Delta Sync: Only sync products modified since last successful sync
  • Admin UI: Configuration page with test and sync buttons
  • Logging: All API requests logged to nopCommerce system log

Requirements

  • nopCommerce 4.90+
  • .NET 9.0
  • Perfion PIM with eCommerce API enabled

Installation

  1. Copy the plugin folder to src/Plugins/Nop.Plugin.Misc.Perfion
  2. Build the solution or run dotnet build
  3. Restart nopCommerce
  4. Go to Admin > Configuration > Local plugins
  5. Find "Perfion PIM Integration" and click Install
  6. Click Configure to set up the connection

Configuration

Settings

Setting Description
API URL Perfion API base URL (e.g., https://your-instance.azurewebsites.net)
Username Perfion API username
Password Perfion API password
Channel Name The Perfion channel configured for nopCommerce export

Sync Operations

  • Test Connection: Verify API credentials and retrieve channel configuration
  • Test GetProducts: Fetch sample products to verify field mappings
  • Full Sync: Synchronize all products from Perfion
  • Delta Sync: Synchronize only products modified since last successful sync

Scheduled Task

The plugin registers a scheduled task for automatic synchronization:

  • Name: "Synchronization (Perfion PIM plugin)"
  • Default Interval: 4 hours
  • Behavior: Uses delta sync if previous sync exists, otherwise full sync

Configure the task in Admin > System > Schedule tasks.

Field Mappings

The plugin expects the following field mappings in your Perfion channel:

Required Fields

Perfion Field nopCommerce Property
sku Product.Sku
name Product.Name
price Product.Price

Optional Fields

Perfion Field nopCommerce Property
perfionId Internal reference
shortDescription Product.ShortDescription
fullDescription Product.FullDescription
gtin Product.Gtin
weight Product.Weight
length Product.Length
width Product.Width
height Product.Height
productCost Product.ProductCost
published Product.Published
mainImage Primary product picture
galleryImages Additional product pictures

Category Mapping

Categories are synced via the RelatedCategories element in product XML:

<RelatedCategories>
  <RelatedCategory name="categories" perfionname="Website">
    <Field name="perfionId" relatedorder="2">1081</Field>
  </RelatedCategory>
</RelatedCategories>

Logging

API requests and responses are logged to the nopCommerce system log:

[Perfion API] GetProducts request: Channel=nopCommerce, Index=0, MaxCount=100, ModifiedFrom=2025-01-02T14:30:00
[Perfion API] GetProducts response: TotalCount=50, Returned=50

View logs in Admin > System > Log.

Troubleshooting

Products not showing in categories

Clear the nopCommerce cache: Admin > System > Maintenance > Clear cache

Delta sync not returning products

  • Check that products have been modified in Perfion since LastSuccessfulSync
  • Verify the ModifiedFrom parameter in the logs
  • Run a Full Sync to reset the sync timestamp

Authentication errors

  • Verify username and password in plugin settings
  • Check that the Perfion API URL is correct
  • Review the nopCommerce log for detailed error messages

API Documentation

See the ressources/ folder for detailed API documentation:

  • PERFION_ECOMMERCE_API_GUIDE.md - Complete API reference
  • PERFION_FIELD_MAPPING.md - Field mapping contract
  • PERFION_CHANNEL_SETUP_GUIDE.md - Perfion channel configuration
  • PERFION_AUTH_GUIDE.md - Authentication details

Support

For issues or questions, check the nopCommerce log for error details and review the API documentation.

License

This plugin is provided for use with nopCommerce. See nopCommerce license terms.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published