Virtual staging and Dynamic Content
On this page
About virtual staging
To work with unpublished or work in progress content, Dynamic Content includes a feature called virtual staging. Virtual staging allows you to retrieve unpublished content by using a virtual staging domain in place of the production content delivery domain, while everything else remains the same. You can use virtual staging to retrieve unpublished content with Content Delivery 2, the filter API and the original Content Delivery API.
A virtual staging environment (VSE) will usually be created for you at the start of your project and is associated with the hub from which content is retrieved. A virtual staging domain is generated and configured in the settings on your hub.
The following rules apply to retrieving content using virtual staging domains:
- If you use a virtual staging domain with no timestamp, the latest version of the content is returned.
- For a content preview, a time stamp (created from the date and time chosen by the user) is encoded in the virtual staging domain that is passed to your content preview app. This is used to retrieve content that is scheduled to be published at the specified time.
Note that you should use the virtual staging API rather than modifying a virtual staging domain directly.
VSEs are also configured to retrieve unpublished images, according to a set of rules that you define. You can find out a lot more about working with unpublished media in the using virtual staging with Dynamic Media section. On this page we'll focus on using virtual staging with Dynamic Content.
Retrieving unpublished content
One way of finding the virtual staging domain associated with your hub is from the visualization settings window in the Dynamic Content app. A virtual staging domain is also shown in the preview settings window and will usually be the same as the one displayed in visualization settings. However, in some cases you may want to have separate environments with different rules configured for preview and visualization.
In the example shown below, the virtual staging domain is
In the example shown below, we have just created a new content item called "Autumn collection".
In the Content Delivery 2 section of the content properties the following URL is displayed and can be used to retrieve the published version of this content.
However, in this example, the content has not yet been published, so if we attempt to use the product content delivery URL shown above, an error will be displayed. If we replace the production content delivery domain with the virtual staging domain shown in the visualization settings, then we can retrieve the latest version of this content- in this case the unpublished version we just created.
This how visualizations use virtual staging to allow you to preview content before it's published. The virtual staging domain and content id is sent to your visualization app, and you can use these to build up a delivery URL to retrieve the content to be visualized.
Virtual staging and content preview
A content preview will show how your web site or app will look at a specified date and time. The preview URL, added from preview settings, will include a token for the virtual staging environment.
You’ll then use the virtual staging domain instead of the production content delivery URL to retrieve content that you want to preview. The content that will be returned is either published or scheduled to go live on the date chosen by the user.
An example content preview dialog is shown in the image below.
When the user chooses a date and time to preview, this is converted to a timestamp that is encoded in the virtual staging domain sent to your preview app. You can view the preview URL from the content preview window in the "Content link" section. An example preview URL, including a virtual staging domain with timestamp, is shown below:
The virtual staging domain sent to the preview app
kuifkfmrgfsv1qjsmei8dbbnq-gvzrfgnzc-1633561200000.staging.bigcontent.io is pinned to the date and time chosen by the user. This can be used to retrieve the content scheduled to go live on this date.
Note that if you want to include a date picker control within your preview app to allow the user to change the date from which the preview is shown, you can modify the virtual staging domain to be pinned to a new date using the virtual staging API.
Virtual staging API
You can generate a time stamp, or snapshot specific virtual staging domain via the Virtual Staging API.
The Virtual Staging API accepts the following parameters:
timestamp(epoch milliseconds) or
- Base Virtual Staging Environment (Your base VSE is setup by Amplience when your account is created and provided during the onboarding process)
Generating a VSE using a timestamp
To generate a VSE using a timestamp make a GET request to the Virtual Staging service in the following format:
This will return a 200 response and the body will be the newly generated API domain name you should use to request content.
Generating a VSE using a snapshotId
To generate a VSE using a snapshotId, send a GET request to the Virtual Staging service in the following format:
This will return a 200 response and the body will be the newly generated API domain name that you can use to request content.
Video: virtual staging
In this video we explain the concepts of virtual staging and how you can use it to implement your own previews and visualizations.
VSEs should not be used to serve published, production content. If we notice excessive traffic from your VSE it will automatically be rate limited and may be disabled by our operations team. Therefore please ensure that all your production code uses the production domain of
cdn.content.amplience.net (for Content Delivery 2) or
cdn.c1.amplience.net (for the oiginal Content Delivery API) to serve content to your live environment, and the appropriate media domains such as
cdn.media.amplience.netto serve published media.