Development
On this page
On this page we provide links to more information about the features you'll need when developing projects that integrate with Amplience Dynamic Content. You'll find an overview of creating content type schemas and content types, the content delivery APIs, and enhancing the user experience with extensions.
We also cover technologies that you can use to build you own integrations with Dynamic Content such as webhooks, and off the shelf integrations including our Dynamic Content Salesforce Commerce Cloud (SFCC) integration. There's also links to sections covering localization and our search index feature that makes it easy to create and manage search indexes for your content.
Content type schemas
Content type schemas are the JSON templates for your content, including its structure, format and validation rules.
You can create schemas using the Schema Editor or store them externally.
You can also choose from over 50 schema examples, covering core concepts such as strings, numbers, validations and localization.
Find out more
- Content type schema reference. Includes schema format, validations and adding images and video.
- Using the schema editor This page shows how to create content type schemas with the schema editor, use the form preview and view sample output.
- Simple banner example Walks you through creating a simple banner using the schema editor.
- Slot example Shows how to use the schema editor to create a slot schema.
- Using partials Shows how to use the schema editor to create schemas with reusable definitions.
- Schema examples A list of schemas covering core concepts, slots, localization and using extensions. It also includes the schema examples used in the filter and hierarchy pages and the tutorial banner and carousel.
Content types
Content type schemas are registered as content types from which the user can create content. Content types can be enriched with icons, cards and visualizations to make it easier for users to work with content.
Find out more
- Working with content types. The content types landing page.
- Register a content type. How to register a content type from a content type schema. It also covers configuring icons, cards and visualization.
- Syncing a content type with its schema. How to update a content type when the schema from which it is registered is updated. Also covers guidelines for updating a schema.
- Content cards. How to configure the built in cards.
- Custom cards. How to develop your own custom cards.
- Developing visualizations. How to create a visualization for a content type. This also includes realtime visualizations.
Content delivery
Content is retrieved from the Dynamic Content CMS in JSON format using our delivery APIs.
Find out more
- Content Delivery 2. Our next generation delivery API, optimized for speed and flexibility. Retrieve content by id or delivery key.
- Fresh API. Designed specifically for developers using static site builders. Retrieve content without a cache.
- The Filter API. List, filter and sort content.
- Virtual staging. Our virtual staging features allow you to retrieve unpublished content using our delivery APIs. Virtual staging is also used for preview and visualization.
- The Content Rendering service. Combine JSON with handlebars templates to generate HTML.
- The Content Delivery API. Our original delivery API. Retrieve content by id.
- Dynamic Content Delivery SDK. The SDK includes features to help you use the delivery APIs including: fetch content and slots by delivery key or id, work with unpublished content, retrieve localized content, use the filter API and build your static site with the Fresh API.
- The Dynamic Media API. Manipulate images and video on the fly.
Localization
Dynamic Content supports two types of localization: field level and content item localization. Both methods of localization use locales, an ISO standard combination of languages and country codes. With field level localization, you define a content type schema with localizable properties. Users then create a single content item with fields for each supported locale.
Content item localization allows you to create a separate content item for each locale.
Find out more
- Creating localizable content type schemas. How to define a content type schema with localizable properties. This page includes the localizable banner example and shows how to retrieve and visualize localized content.
- Localized banner schema example. A field level localized banner schema example. Also includes a visualization.
- Localization overview. An introduction to field level and content item localization and locales.
- Creating localized content. How to assign locales to content items and create localized variants of content items.
Preview and visualization
Preview and visualization use our virtual staging features to allow you to display unpublished content to your users.
Preview works with the Dynamic Content scheduling features. You can develop content preview apps to display the content in your website or app exactly as it will appear at a specified date and time in the future. You can also preview individual editions.
A visualization lets your users preview an individual piece of content by embedding your app in the content editing interface. The visualization is displayed in an iFrame side by side with the content the user is editing in the content form. You can also use our Visualization SDK to develop realtime visualizations which update as the user changes the content.
Find out more
- Creating content previews. How to develop content previews. This page explains the tokens that are sent to your preview URL and how to retrieve unpublished content pinned to a specified date and time.
- Developing a visualization. Takes you step by step through developing a simple banner visualization. On this page you'll find an example that uses the Content Delivery 2 API and a realtime visualization developed using the Visualization SDK.
- Virtual staging. This page introduces our virtual staging feature and explains how it is used for preview and visualization.
- The Visualization SDK. The SDK used to create realtime visualizations.
Extensions
Extensions are simple web apps that extend the functionality of Dynamic Content. There are three types of extensions: content field extensions, content editor extensions and dashboard extensions. Content field extensions are used to extend the features of the content form, content editor extensions are shown in a tab on the content form, and dashboard extensions are full screen extensions displayed in a tab on the dashboard.
Find out more
- Extensions overview. An introduction to content field, content editor and dashboard extensions.
- Registering extensions. How to register each types of extension.
- Sample extension content field extension- the slider. How to implement a simple slider content field extension.
- Sample content editor extension- the JSON viewer. How to implement a simple JSON viewer content editor extension.
- Extension examples. Content field and dashboard extensions, including code. Ready for use in your own projects or as the basis for your own extensions.
- Extension schema examples. Examples showing how to use the maps, image transformation, date time picker and other extensions in your content type schemas.
- The Extensions SDK. The SDK used to create extensions.
Hierarchies
Hierarchies are used to model relationships between objects. You can use hierarchies to model any kind of tree structure, from a list of store locations to a structured list of product content. Dynamic Content makes it easy for users to add and manage hierarchies and includes support in the delivery and filter APIs for retrieving hierarchical content.
Find out more
- Hierarchies overview. An introduction to hierarchies and some example use cases.
- Developer introduction to using hierarchies. How to create content type schemas for items that can be added to a hierarchy. This page also explains how to use the filter API to retrieve hierarchy nodes.
- Listing and filtering hierarchical content. More details of using the filter API to list children of a hierarchy node and filter on hierarchy parent id and custom properties.
- Hierarchies user guide. How the user can create and work with hierarchies in the Dynamic Content app.
- There are also some hierarchies schema examples.
- Site menu hierarchy. A simple hierarchy for modelling a site menu navigation.
- Page hierarchy. This hierarchy uses two content types to model an ideas and advice section of a website.
- Ingredients hierarchy. A hierarchy of ingredients that can be used to tag a separate recipe content type. Both content type schemas are included on this page.
Webhooks
Webhooks provide a way for developers to integrate their software with Dynamic Content. Developers create webhooks that are triggered by specified events in Dynamic Content. These events usually correspond to an action performed by the user such as creating or updating content, scheduling editions or changing a content item's status.
You can create webhooks with filters, custom payloads and custom headers and send POST, PUT, PATCH and DELETE requests. All these features combined reduce the amount of code you need to write in your webhook apps.
Find out more
- Webhooks overview An introduction to create and managing webhooks.
- Customizable webhooks. How to add filters, headers and custom payloads.
- Webhook testing and debugging. How to test a webhook without sending the request to refine your custom payload. Information about errors, retries and statuses.
- Webhook FAQs. Answers to common questions about webhooks.
- Webhook integration guides. How to use the customizable webhook features to build integrations with Slack and Algolia.
- Webhook payloads. Example payloads for each of the webhook events supported by Dynamic Content.
Search
Amplience search makes it easy to create and manage search indexes for your content so that content can be queried from your app. We've included a wizard to make an index simple to set up, configure, and populate with content, and you can customize an index to meet your needs.
Amplience search is powered by Algolia. Indexes are created in an Algolia account managed by Amplience and can only be managed using the search indexes features. You can use Algolia's search APIs to query content and use their SDKs to build your search UI.
Find out more
- Introducing Search. How to create and configure search indexes for production and staged content.
- Search index configuration. How to customize your search index configuration, including searchable attributes, facets and custom ranking.
- Optimizing your records. Indexing only the properties you want to be searchable.
- Sorting. How to add sort options to your index.
Integrations
Amplience provides off the shelf integrations for Salesforce Commerce Cloud (SFCC), Salesforce Marketing Cloud (SFMC) and Zapier.
There are two types of SFCC integration: a slot based integrations and a content asset integration. The slot based integration maps slots in Dynamic Content to content slots in SFCC and use editions to create SFCC campaigns.
The content asset integration maps content items in Dynamic Content to content assets in Dynamic Content. These content assets are created when the corresponding content item is published.
Find out more
SFCC integration
- SFCC integration overview. Introduces the slot based integration.
- SFCC content asset integration. An introduction to the content asset integration.
- Setting up SFCC integrations. Explains how to configure both a slot based and a content asset integration.
- Content asset configuration. How to set up fields specific to a content asset configuration. This includes field and folder mapping.
- SFCC faqs. Answers to common questions.
- SFCC schema examples. A set of example schemas that are used in the examples in the SFCC documentation. Examples are included for both slot based and content asset integrations.
Other integrations
- Salesforce marketing cloud integration. An introduction to the SFMC integration.
- Zapier integration. An overview of the Dynamic Content Zapier integration.
Code samples
The code samples page includes practical examples demonstrating many of the features of Dynamic Content including: content delivery, the filter API, visualization, preview and search. The examples are written in JavaScript and Typescript and include Progressive Web Apps (PWAs) written using the Next.js framework for React, a webhook integration and a simple blog app that uses the NuxtJS framework for Vue.js.
Find out more
Code samples. Includes GitHub links for each of the code samples.