Configuración
Un cliente explícito para cada entorno, con transporte configurable.
import { createBillete } from "@boelabs/billete-sdk";
export const billete = createBillete({
apiVersion: "2026-10-24",
environment: "test",
apiKey: process.env.BILLETE_API_KEY,
timeoutMs: 30_000,
maxRetries: 2,
});| Opción | Por defecto | Uso |
|---|---|---|
apiVersion | Obligatoria | Versión de la API con la que escribiste tu integración |
environment | Obligatoria | test o production |
apiKey | BILLETE_API_KEY | Clave secreta del negocio |
baseUrl | BILLETE_BASE_URL o https://api.billete.run | URL base |
timeoutMs | 30000 | Tiempo máximo por intento |
maxRetries | 2 | Reintentos ante red, 429 y 5xx |
fetch | globalThis.fetch | Transporte propio |
Cada versión del SDK habla una sola versión de la API, y apiVersion solo acepta esa: al actualizar el SDK a una versión mayor nueva, TypeScript te pide la versión nueva para que revises antes qué cambió. El prefijo de la clave debe coincidir con environment. Una combinación incorrecta falla al crear el cliente. El cliente de servidor rechaza su uso en el navegador.
Opciones por petición
Los métodos de petición aceptan un último argumento de opciones. iterate recibe sus filtros y administra las páginas por su cuenta.
const controller = new AbortController();
const payment = await billete.payments.retrieve("pay_ejemplo", {
signal: controller.signal,
});idempotencyKey permite mantener la identidad de una mutación entre llamadas. Conoce los reintentos.
Tipos públicos
import type { Checkout, Payment, WebhookEvent } from "@boelabs/billete-sdk";No necesitas instalar paquetes internos para obtener los tipos.