contensis-delivery-api

Contensis Javascript Delivery API

Usage no npm install needed!

<script type="module">
  import contensisDeliveryApi from 'https://cdn.skypack.dev/contensis-delivery-api';
</script>

README

contensis-delivery-api NPM version

Contensis JavaScript Delivery API implementation written in TypeScript.

This allows the querying and retrieval of entries, content types and projects in JavaScript.

It can be used in any ES5 compatible project.

  • JavaScript/TypeScript code running in a browser
  • JavaScript/TypeScript code running in Node.js
  • Angular
  • React
  • React Native
  • NativeScript
  • Node.js
  • Express

The contensis-delivery-api-examples repo contains Express, React and Angular test applications, as well as a Node.js nodes api extended example.

Installation

The Contensis JavaScript Delivery API can be installed using npm.

npm install contensis-delivery-api

Contensis support

This version supports Contensis releases from 12.0 and above. For Contensis 11.3 support use this version .

Examples

Using ES2015 async/await

import { Client } from 'contensis-delivery-api';

let contensisConfig = { 
    rootUrl: 'https://my-cms.com',
    accessToken: 'MY_DELIVERY_API_ACCESS_TOKEN',
    projectId: 'MY_PROJECT_ID',
    language: 'en-GB',
    versionStatus: 'published',
    pageSize: 50
};

async function loadMovies() {
    let client = Client.create(contensisConfig);
    let movieList = await client.entries.list({
        contentTypeId: 'movie',
        pageOptions: { pageIndex: 0, pageSize: 10 },
        orderBy: ['-releaseDate']
    });
    console.log(movieList.items);
}

loadMovies();

Using Promises

import { Client } from 'contensis-delivery-api';

let contensisConfig = { 
    rootUrl: 'https://my-cms.com',
    accessToken: 'MY_DELIVERY_API_ACCESS_TOKEN',
    projectId: 'MY_PROJECT_ID',
    language: 'en-GB',
    versionStatus: 'published',
    pageSize: 50
};

function loadMovies() {
    let client = Client.create(contensisConfig);
    client.entries.list({
        contentTypeId: 'movie',
        pageOptions: { pageIndex: 0, pageSize: 10 },
        orderBy: ['-releaseDate']
    }).then(movieList => {
        console.log(movieList.items);
    });
}

loadMovies();

Documentation

Read our documentation on the Contensis Javascript Delivery API to learn of all it's features.

Browser support

This library relies on the fetch API being available at runtime. In modern browsers fetch is available natively, and a polyfill is provided for older browsers. The library build that targets browsers can be found in the bundle folder.

Node.js support

The library supports Node.js 8 and above.
When using this library in Node.js you need to add the node-fetch npm package as a dependecy and ensure fetch is registered as a global function:

global.fetch = require("node-fetch");