Assign an application-level JavaScript module to multiple sites
You can create a JavaScript module that spans multiple sites.
By default, application-level JavaScript modules apply to all sites in your Commerce instance. You may override this default and assign an application-level JavaScript module to be used on only specified sites. To do this, you issue a POST
request using the updateSiteAssociations
custom action of the applicationJavaScript
resource and provide a list of sites in a sites property. For example, the following request updates myJSModule.js
to execute on siteA
and siteB
only.
POST /ccadmin/v1/applicationJavaScript/myJSModule.js/updateSiteAssociations
{
"sites": ["siteA", "siteB"]
}
To remove site associations, issue a POST request using the same custom action with the sites
property set to null. The following is an example:
POST /ccadmin/v1/applicationJavaScript/myJSModule.js/updateSiteAssociations
{
"sites": []
}
The following is an example response for a call using the
updateSiteAssociations
custom action:
{ "result": true,
"links": [
{
"rel": "self",
"href": http://localhost:9080/ccadmin/v1/applicationJavaScript/
demo.ko.extenders.js/updateSiteAssociations"
}
]
}
To retrieve a list of all application-level JavaScript modules along with the sites they are associated with, issue a GET request to the applicationJavaScript
resource. An empty sites list means that a module will be loaded on all sites. The following is an example:
GET /ccadmin/v1/applicationJavaScript
For example:
{
"items": {
"ext.ko.extenders.js": {
"sites": []
},
"ext.shared.viewmodels.js": {
"sites": [
"siteUS"
]
}
},
"links": [
{
"rel": "self",
"href": http://localhost/ccadmini/v1/applicationJavaScript/?sites=siteUS
}
]
}