Overview: Page widgets
A POST request to Publish or overwrite a page deletes any and all existing data for the requested page and replaces it with the data in the request payload.
The page widgets feature supports the following actions:
- Duplicating pages
- Modifying widget content for an entire page using a single API call
- Migrating page widgets and layout configurations from a staging store to production store
- Moving page widgets from store to store or channel to channel
- Storing snapshots of page widgets and layout configurations
- Restoring page widgets and layout configurations
Concepts and limits
Page widgets make page layouts portable by dividing pages into regions, layouts, dropzones, and widgets. The following sections describe the properties and relationships of the page widgets objects.
Regions
A region object contains the following properties:
Property | Type | Description |
---|---|---|
name | string | Matches the name specified as {{{region_name="..."}}} in a theme template file. |
children | array | Consists of layout and/or widget objects. |
Layouts
Limits for layout objects: - per page: 150 - per channel: 10,000
A layout object contains the following properties:
Property | Type | Description |
---|---|---|
layout_template_uuid | UUID string | Set by BigCommerce. Read-only. |
configuration | object | A JSON object that describes the Page Builder options menu that corresponds with the layout. |
name | string | A human-readable label for the layout; displays in Page Builder. |
dropzones | array | Consists of dropzone objects. |
type | string, enum | layout |
Dropzones
Dropzones are any areas in a layout in which a widget can be dropped. A dropzone object contains the following properties:
Property | Type | Description |
---|---|---|
configuration | object | A JSON object that describes the Page Builder options menu that corresponds with the dropzone. |
widgets | array | Consists of widget objects. |
Widgets
Limits for widget objects: - per page: 150 - per channel: 50,000
A widget object contains the following properties:
Property | Type | Description |
---|---|---|
widget_template_uuid | UUID string | The unique identifier of the parent widget template; set by the store or channel where the widget template originated. |
configuration | object | A JSON object that describes the Page Builder options menu that corresponds with the widget. |
storefront_api_query_params | string | A comma-separated list of parameters used to query the GraphQL Storefront API. Used when the parent widget template is configured to request data directly from the GraphQL Storefront API; in this case, the parent widget template has the storefront_api_query property. |
name | string | A human-readable label for the widget. Retrievable using either the Get a widget or the Get all widgets endpoint. |
description | string | A description of the widget. Retrievable using either the Get a widget or the Get all widgets endpoint. |
type | string, enum | widget |