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>;| nombre | descripción |
|---|---|
accessToken | Token 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. |
domain | Dominio para hacer las peticiones. Útil si tienes Content Island On Premise Por defecto: api.contentisland.net |
secureProtocol | Indica si se debe usar HTTPS para las peticiones. Por defecto: true (usar HTTPS) |
apiVersion | Versión de la REST API. Por defecto: 1.0 |
mode | Modo 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' |
snapshotPath | Ruta 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 |
snapshotLoader | Funció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>;}