SDK y OpenAPI
Clientes de TypeScript y Python, la especificación OpenAPI 3.1 y el llms.txt de la API.
Hay dos clientes mínimos, sin dependencias: uno de TypeScript y uno de Python. Esperan los trabajos por SSE, reintentan solos (429, 5xx y cortes de red) con Idempotency-Key automática, recorren las páginas y verifican las firmas de los webhooks.
Paquete@bannermotion/sdk (Node 18+, Deno, Bun y workers)bannermotion (Python 3.9+, solo biblioteca estándar)EstadoQué cubre
Las dos cubren todas las rutas de la especificación OpenAPI: banners, jobs, campaigns, exports, assets, estimate, paginate y verifyWebhook / verify_webhook. Con una clave bm_test_ todo responde con datos de muestra y no gasta créditos.
- Idempotencia: cada
POSTque crea trabajo llevaIdempotency-Key(la tuya o una nueva), así los reintentos nunca cobran dos veces. - Errores: lanzan
BannerMotionErrorconstatus,code,messageydetails. jobs.waitno lanza si el trabajo falló: devuelve el trabajo constatus: "failed"yerror.
OpenAPI y llms.txt
La referencia completa y siempre al día es la especificación OpenAPI 3.1: https://app.bannermotion.com/api/v1/openapi.json. Cada ruta, esquema, error y webhook está ahí; úsala para generar un cliente en otro lenguaje o impórtala en Postman. https://app.bannermotion.com/api/v1/llms.txt es un resumen en Markdown para asistentes de IA. Los dos son públicos y no piden clave.