SDK de TypeScript
revolink es un cliente tipado para la API v2. No tiene dependencias y requiere Node 18+ (o cualquier entorno con fetch global).
npm install revolink
import {Revolink} from 'revolink';
const revolink = new Revolink({
apiKey: process.env.REVOLINK_API_KEY!,
workspaceId: process.env.REVOLINK_WORKSPACE_ID!,
});
const {shortLink} = await revolink.links.create({url: 'https://example.com'});
Mantén la clave en tu servidor. Quien la tenga puede actuar en tu espacio de trabajo dentro de los permisos de la clave.
Recursos
| Recurso | Métodos |
|---|---|
revolink.links | list, iterate, get, create, upsert, update, delete, createMany, updateMany, deleteMany |
revolink.tags | list, get, create, update, delete |
revolink.domains | list, get, create, delete |
revolink.analytics | link, workspace |
for await (const link of revolink.links.iterate()) recorre todos los enlaces página por página.
Errores y reintentos
Cada petición fallida lanza un RevolinkError con status, code, message y, cuando aplican, licenseLimitReached, requiredPermission y retryAfter. Los códigos son los mismos que en Errores.
Un 429 siempre se reintenta (tras Retry-After). Los errores de red y los 5xx se reintentan solo para GET, PUT y DELETE, así que un enlace nunca se crea dos veces. Opciones: baseUrl, timeout (ms por intento), maxRetries (0 desactiva los reintentos) y fetch.
Enlaces útiles
- Paquete: npmjs.com/package/revolink
- Código fuente y README completo: github.com/maximyaroshchuk/revolink-sdk-js