This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
If a site owner manages promotional content in an external system, you can periodically export new and updated promotions to keep both systems in sync.
To sync promotions to an external system:
For the initial sync after the app is installed, call Query Promotions to retrieve all existing promotions.
Upload the returned promotions to the external system.
Save the current date and time to use as a reference for subsequent syncs.
For each subsequent sync, call Query Promotions and filter for promotions updated since the last sync:
Upload any new or updated promotions to the external system.
Repeat steps 4 and 5 at your desired interval. You can allow the site admin to configure the sync frequency through your app.
When a site owner runs a seasonal sale, you can create promotions and assign them to multiple categories at once using the bulk API.
To assign seasonal promotions to multiple categories:
Prepare an array of promotion objects, each with a name, media, and the categories to assign to. Set appliedToSubcategories to true if the promotion should also appear in subcategories. For example:
Call Bulk Create Promotions with the array and set returnEntity to true to get the created promotions in the response.
Verify that the promotions were created successfully by checking the bulkActionMetadata.totalSuccesses field in the response.
To verify how the promotions appear for a specific category, call Resolve Promotions with the category ID. The response returns the effective promotions sorted by position.
Note: When media is set with a URL, Wix Media Manager imports the image asynchronously, and the promotion becomes enabled only after the import completes successfully. Until then, Resolve Promotions doesn't return the promotion.
Last updated: 21 July 2026