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.
Construye e instala
Sección titulada «Construye e instala»Desde la raíz del repositorio de Orilla:
pnpm build:sdkpnpm check:sdkDesde tu aplicación:
pnpm add /ruta/al/repositorio/packages/sdkConfigura el cliente en tu backend
Sección titulada «Configura el cliente en tu backend»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!,});Importa un video
Sección titulada «Importa un video»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.
Consulta tus contenidos
Sección titulada «Consulta tus contenidos»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.
Elige la siguiente integración
Sección titulada «Elige la siguiente integración»| 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 |
Paginación y fallos
Sección titulada «Paginación y fallos»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.