Episerver Content Delivery API Developer Guide
The Episerver Content Delivery API is installed through a set of NuGet packages, depending on the scenario in which the headless API will be used. See Installing Content Delivery API for installation and configuration details.
See also David Buö's blog post Get started with Content Delivery API 2.2.0.
How it works
A "headless CMS" consists of a back-end content repository that can be accessed for example through a RESTful API, providing flexibility when pulling content data into other systems.
A traditional non-headless CMS is built so that the CMS running on the server controls how the content is presented. The "head" is responsible for generating the HTML that is parsed and rendered by the browser.
A headless CMS is a back-end only CMS built up as a content repository that makes content accessible through REST APIs for display on multiple devices. The "head" is the front-end, and the "body" is the back-end content repository. The "missing head" is the presentation layer.
The headless CMS does not know how content is presented. It is a specialized database, serving content that is transformed into HTML by other systems. Episerver CMS has a powerful presentation layer, and as such is not a headless CMS.
However, there are situations where a headless approach is preferred, to provide the ability to pull raw content from outside the presentation layer.
The following are example scenarios when a headless approach is useful:
- To provide content for native applications that are not HTML-based.
- To integrate with a Point of Sales (POS) network, linking different output systems.
- To manage content for legacy platforms inside Episerver.
The Content Delivery API is a flexible programming interface that you can use for building this type of solutions, using Episerver as a hub for all content.
The Content Delivery API is a pluggable and configurable web API for querying IContent, providing you with the ability to:
- Deliver IContent, see Content.
- Use Episerver Search & Navigation (formerly Episerver Find) to query content. (Episerver Search & Navigation is installed via the EPiServer.Find NuGet package and requires a separate license.)
- Support localized content and multi-site scenarios.
- Support common querying, filtering, and sorting scenarios.
- Support returning access-controlled and personalized content.
Headless and personalization
How do you add content personalization to a headless solution where the tracking does not hit a controller in the presentation layer? You can use a headless approach for content recommendations through the Content Delivery API. To do this you need to implement compatible tracking and calls to the recommendation API. See Tracking and Advance API.
In a headless scenario, you can also customize the DefaultContentModelMapper and replace it with your own. See How to customize API to change data returned to clients and Serialization.
Note: The DefaultContentModelMapper is currently marked as internal, so there is a risk of unadvertised breaking changes when customizing this.
- On-page editing with client-side rendering
- Installing Content Delivery API
- Configuration of Content Delivery API
- Content Search API
- Authorization Service
- Content Delivery Api and Azure AD
- Episerver Content Delivery API class library/SDK
- Support of IList<T> in Episerver Content Delivery API
- Extended routing for Episerver Content Delivery API
- Content as a Service and Episerver – Part 1 – Introduction
- Content as a Service and Episerver – Part 2 – What is Content as a Service
- Content as a Service and Episerver – Part 3 – Content Delivery API
- Tweaking and extending serialization from Episerver Content Delivery API
Last updated: Jan 03, 2020