1. Integrations

Entity synchronization

Overview

OrderCloud enables entity publication to configurable destinations through:

Delivery targets

  • SearchIngestion (Sitecore Search integration)
  • HTTP endpoints
  • EventHub instances
  • Kafka instances
  • Azure Blob storage

Supported entities

  • Buyers
  • User groups
  • Categories
  • Inventory records
  • Suppliers
  • Users:
    • Admin
    • Buyer
    • Supplier

Sitecore Search implementation

Configuration requirements

Entity-specific delivery configurations:

  • Separate configuration per entity type
  • Entity name specification required
  • SearchIngestion target configuration

Example configurations

Product synchronization:

json
{
  "ID": "SynchronizeProducts",
  "Name": "SynchronizeProducts",
  "Enabled": true,
  "DeliveryTargets": {
    "SearchIngestion": {
      "Domain": "<your domain>",
      "Source": "<your source>",
      "Endpoint": "https://discover.sitecorecloud.io",
      "Entity": "product",
      "ApiKey": null
    }
  }
}

Category synchronization:

json
{
  "ID": "SynchronizeCategories",
  "Name": "SynchronizeCategories",
  "Enabled": true,
  "DeliveryTargets": {
    "SearchIngestion": {
      "Domain": "<your domain>",
      "Source": "<your source>",
      "Endpoint": "https://discover.sitecorecloud.io",
      "Entity": "category",
      "ApiKey": null
    }
  }
}

Note: Entity names must match Sitecore Search definitions.

Configuration properties

EntitySyncConfig structure:

json
{
  "DeliveryConfigID": "",
  "SyncEntityChanged": true,
  "SyncEntityDeleted": true,
  "Paused": false
}

Features:

  • Incremental synchronization control
  • Manual full synchronization option
  • Pause capability

Management endpoints

Entity management

  • GET /v1/entitysync/categories
  • PUT /v1/entitysync/categories
  • DELETE /v1/entitysync/categories

Integration endpoints

  • GET /v1/integrations/entitysync/suppliers
  • PUT /v1/integrations/entitysync/suppliers
  • DELETE /v1/integrations/entitysync/suppliers

User management

  • GET /v1/integrations/entitysync/adminusers
  • PUT /v1/integrations/entitysync/adminusers
  • DELETE /v1/integrations/entitysync/adminusers

Buyer operations

  • GET /v1/integrations/entitysync/buyers
  • PUT /v1/integrations/entitysync/buyers
  • DELETE /v1/integrations/entitysync/buyers

Group management

  • GET /v1/integrations/entitysync/buyers/usergroups
  • PUT /v1/integrations/entitysync/buyers/usergroups
  • DELETE /v1/integrations/entitysync/buyers/usergroups

User operations

  • GET /v1/integrations/entitysync/buyers/users
  • PUT /v1/integrations/entitysync/buyers/users
  • DELETE /v1/integrations/entitysync/buyers/users

Inventory management

  • GET /v1/integrations/entitysync/products/inventoryrecords
  • PUT /v1/integrations/entitysync/products/inventoryrecords
  • DELETE /v1/integrations/entitysync/products/inventoryrecords

Supplier operations

  • GET /v1/integrations/entitysync/suppliers/users
  • PUT /v1/integrations/entitysync/suppliers/users
  • DELETE /v1/integrations/entitysync/suppliers/users

Reference: Entity Sync API documentation

Synchronization endpoints

Purpose

  • Target specific entities
  • Resolve sync issues
  • Not for bulk operations

Available endpoints

  • POST /v1/integrations/entitysync/adminusers/sync
  • POST /v1/integrations/entitysync/buyers/sync
  • POST /v1/integrations/entitysync/buyers/users/sync
  • POST /v1/integrations/entitysync/buyers/usergroups/sync
  • POST /v1/integrations/entitysync/catalogs/categories/sync
  • POST /v1/integrations/entitysync/products/inventoryrecords/sync
  • POST /v1/integrations/entitysync/suppliers/users/sync
  • POST /v1/integrations/entitysync/suppliers/sync

Request models

AdminUser:

json
{
  "UserID": ""
}

Buyer:

json
{
  "BuyerID": ""
}

BuyerUser:

json
{
  "BuyerID": "",
  "UserID": ""
}

BuyerUserGroup:

json
{
  "BuyerID": "",
  "UserGroupID": ""
}

Category:

json
{
  "CatalogID": "",
  "CategoryID": ""
}

InventoryRecord:

json
{
  "ProductID": "",
  "InventoryRecordID": ""
}

Supplier:

json
{
  "SupplierID": ""
}

SupplierUser:

json
{
  "SupplierID": "",
  "UserID": ""
}

Pausing synchronization tasks

Overview

OrderCloud provides the ability to temporarily pause product and EntitySync data synchronization during entity changes. This feature enables efficient batch processing of updates while maintaining data consistency across your delivery targets.

Key capabilities

Synchronization control

  • Pause synchronization during updates
  • Make multiple entity changes
  • Resume sync when ready
  • Batch process all changes

Supported operations

  • Product synchronization
  • EntitySync data updates
  • Catalog modifications
  • Inventory adjustments

Delivery management

  • Configurable targets
  • Controlled updates
  • Efficient processing
  • Consistent delivery

Implementation examples

Inventory updates

When updating multiple inventory records:

  1. Pause EntitySync for InventoryRecords
  2. Make multiple inventory changes:
    • Update quantities
    • Modify locations
    • Adjust settings
  3. Resume EntitySync
  4. All changes sync to delivery targets

Catalog management

For catalog-wide operations:

  • System consolidates multiple changes
  • Prevents redundant resyncs
  • Optimizes processing
  • Maintains consistency

Example scenario:

  1. Pause catalog sync
  2. Assign multiple buyers
  3. Update catalog settings
  4. Resume sync
  5. Single consolidated update

Manual operations

Without pause/resume functionality:

  • Catalog resyncs require manual intervention
  • Use portal's self-service section
  • Initiate individual updates
  • Monitor sync status

Performance optimization

Benefits

  • Reduced system load
  • Efficient batch processing
  • Minimized network traffic
  • Improved response times

Best practices

  1. Group related changes
  2. Plan update sequences
  3. Monitor sync duration
  4. Verify completion

Limitations

Delete operations

  • Cannot be paused
  • Process immediately
  • No batch consolidation
  • Direct synchronization

System considerations

  • Plan for immediate deletes
  • Structure operations accordingly
  • Consider timing impacts
  • Manage dependencies

Implementation guidelines

When to use

  • Multiple related updates
  • Batch processing needs
  • Performance optimization
  • System maintenance

When to avoid

  • Single updates
  • Delete operations
  • Time-critical changes
  • Immediate sync requirements
If you have suggestions for improving this article, let us know!