SDK Node.js
Le SDK officiel reprend toute l’API avec des types TypeScript. Il gère les nouvelles tentatives, les limites de débit et les clés d’idempotence pour vous.
Installation
Le paquet @vidoum/node fonctionne avec Node.js 18 ou plus, Deno, Bun et les environnements « edge ». Il est fourni avec vos accès ; demandez-le à notre équipe. Il contient votre clé secrète : il refuse de démarrer dans un navigateur.
import { Vidoum } from "@vidoum/node";
const vidoum = new Vidoum({
apiKey: process.env.VIDOUM_API_KEY,
// timeoutMs: 30000, maxRetries: 3 (valeurs par défaut)
});Méthodes
| Méthode | Route |
|---|---|
organization.get() | GET /v1/organizations/me |
uploads.create(input) | POST /v1/uploads |
uploads.uploadFile(file, meta) | Envoi complet depuis votre serveur (unique ou en plusieurs parties), puis /complete |
uploads.get(id) · complete(id, parts?) · cancel(id) · signParts(id, numbers) | /v1/uploads/{id}… |
videos.list(params) · listAll(params) | GET /v1/videos (listAll parcourt toutes les pages) |
videos.get(id) · update(id, changes) · delete(id) · retry(id) | /v1/videos/{id}… |
videos.waitUntilReady(id) | Interroge jusqu’à ready, failed ou cancelled |
captions.upload(videoId, language, vtt) · delete(…) | /v1/videos/{id}/captions |
playback.createToken(input) · revoke(sessionId) | /v1/playback-tokens, /v1/playback-sessions/{id}/revoke |
webhooks.list() · create() · get() · update() · delete() · rotateSecret() · test() · listDeliveries() · redeliver() | /v1/webhooks… |
usage.get(params) · video(id, params) | /v1/usage, /v1/usage/videos/{id} |
apiKeys.rotate(graceSeconds?) | POST /v1/api-keys/rotate |
Vidoum.verifyWebhook(rawBody, header, secret) | Vérifie la signature et renvoie l’événement |
Erreurs
Toute erreur de l’API lève une VidoumError avec status, code, message et requestId.
import { Vidoum, VidoumError } from "@vidoum/node";
try {
await vidoum.videos.retry(videoId);
} catch (error) {
if (error instanceof VidoumError && error.code === "invalid_state") {
// la vidéo n’est pas en échec : rien à relancer
} else throw error;
}Exemples complets
Des exemples d’intégration Next.js et Laravel (envoi, webhooks, page de cours) sont disponibles. Pour les autres langages (Python, Java, .NET, PHP sans framework), l’API s’utilise directement en HTTP : la référence décrit chaque route, et la vérification des webhooks tient en quelques lignes (voir Webhooks).