Saltearse al contenido

createClient

La función createClient crea una instancia del cliente de la API de Content Island.

Ejemplo:

import { createClient } from '@content-island/api-client';
const client = createClient({
accessToken: 'TU_TOKEN_DE_ACCESO',
// ... opciones adicionales
});

Interfaz

function createClient(options: Options): ApiClient;

Parámetros

Esta función acepta un objeto de configuración con las siguientes propiedades:

interface Options {
accessToken: string;
domain?: string;
secureProtocol?: boolean;
apiVersion?: string;
mode?: 'api' | 'snapshot';
snapshotPath?: string;
snapshotLoader?: SnapshotLoader;
}
type SnapshotLoader = () => Promise<string | ContentSnapshot>;
nombredescripción
accessTokenToken de acceso de tu proyecto.
Puedes encontrar este token en la pestaña General.
Para desarrollo, prefija con PREVIEW_ para acceder al contenido pendiente de publicar.
domainDominio para hacer las peticiones. Útil si tienes Content Island On Premise
Por defecto: api.contentisland.net
secureProtocolIndica si se debe usar HTTPS para las peticiones.
Por defecto: true (usar HTTPS)
apiVersionVersión de la REST API.
Por defecto: 1.0
modeModo de lectura del cliente. 'api' envía cada lectura a la API; 'snapshot' sirve las lecturas desde un archivo de snapshot local. Consulta la guía de Modo snapshot.
Por defecto: 'api'
snapshotPathRuta al archivo de snapshot usado en modo snapshot (y por getSnapshotInfo). Opcional y se resuelve en relación con el directorio de trabajo actual. Independiente de mode.
Por defecto: ./content-island-snapshot.json
snapshotLoaderFunción opcional que obtiene el snapshot desde una fuente remota (almacenamiento de objetos, un endpoint HTTP, una base de datos…) y habilita refreshSnapshot() para actualizar el contenido en tiempo de ejecución. Consulta Carga remota de snapshots.
Por defecto: ninguno

Salida

La función createClient devuelve una instancia del cliente de la API de Content Island. Esta instancia tiene métodos para interactuar con la API, como getContentList, getProject, etc.

interface ApiClient {
getProject: () => Promise<Project>;
getContentList: <Model>(queryParam?: ContentListQueryParams<Model>) => Promise<Model[]>;
getContent: <Model>(queryParam: ContentQueryParams<Model>) => Promise<Model>;
getRawContentList: <Model>(queryParam?: ContentListQueryParams<Model>) => Promise<Content[]>;
getRawContent: <Model>(queryParam: ContentQueryParams<Model>) => Promise<Content>;
getContentListSize: <Model>(queryParam?: ContentListSizeQueryParams<Model>) => Promise<number>;
}