Ir al contenido

SDK TypeScript

@orilla/sdk 0.1.30 es un cliente TypeScript ESM propio para Node.js 22 o posterior. Usa las credenciales del entorno para crear y consultar assets, gestionar reproducción e integrar analíticas y webhooks.

Desde la raíz del repositorio de Orilla:

Ventana de terminal
pnpm build:sdk
pnpm check:sdk

Desde tu aplicación:

Ventana de terminal
pnpm add /ruta/al/repositorio/packages/sdk

Guarda la URL y el token de tu entorno en variables del servidor. Los nombres de este ejemplo pertenecen a tu aplicación; configúralos con los valores de tu instalación.

import { Orilla } from "@orilla/sdk";
const orilla = new Orilla({
baseURL: process.env.ORILLA_API_URL!,
tokenId: process.env.ORILLA_TOKEN_ID!,
tokenSecret: process.env.ORILLA_TOKEN_SECRET!,
});

sourceUrl debe apuntar a un archivo de medios o HLS VOD finito accesible para el servidor. La importación es asíncrona: la creación del asset no significa que ya esté listo para reproducir.

const sourceUrl = "https://tus-medios.example/video.mp4";
const asset = await orilla.assets.create({
inputs: [{ url: sourceUrl }],
playback_policies: ["signed"],
});
console.log(asset.id, asset.status);

Consulta el estado o procesa el evento de preparación mediante un webhook. Una política firmada requiere generar los tokens de reproducción en tu backend; no proporciona un enlace público automáticamente.

const { data: assets } = await orilla.assets.list({ limit: 25 });
for (const asset of assets) {
console.log(asset.id, asset.status);
}

El SDK ofrece paginación y recursos adicionales. La referencia de API describe las rutas; packages/sdk/README.md en el repositorio documenta el contrato completo del cliente y sus extensiones.

Tarea Recurso o guía
Video desde el navegador uploads.create y uploadFile
Texto/audio adjunto reanudable trackUploads.uploadText y uploadAudio
Imágenes superpuestas y modo test Opciones VOD
HLS e iframe de una ventana Modificadores de recorte
Trece métricas y grupos data.metrics.comparison e insights
Series operativas data.monitoring
Correo, Slack y PagerDuty data.notificationChannels
Bytes e ingreso; exportación CSV usage.retrieve y exportCSV

Las listas conservan su envelope y se paginan explícitamente con page/limit; no recorren todas las páginas automáticamente. Las consultas individuales y mutaciones devuelven el recurso; las eliminaciones resuelven sin valor.

Los errores HTTP son OrillaAPIError, con status, type y messages. El timeout predeterminado es de 30 segundos por petición; puedes pasar { signal, timeoutMs }. El SDK no reintenta mutaciones automáticamente y rechaza redirecciones. Conserva los UUID idempotentes y los IDs durables de subida para recuperar respuestas perdidas sin duplicar recursos.

La versión de un paquete local no certifica publicación ni disponibilidad remota de cada recorrido. Consulta el estado de implementación.