Cómo integrar APIs de terceros en tu web app: Stripe, HubSpot, OpenAI y más
Integración de APIs externas en web apps: patrones, gestión de secretos, manejo de errores, webhooks y las integraciones más comunes (Stripe, HubSpot, OpenAI, Resend).
Ideas clave
Lo esencial antes de bajar al detalle
- Siempre llama a APIs de terceros desde el servidor (API Routes, Server Actions), nunca desde el cliente.
- Los webhooks son más fiables que el polling para eventos asíncronos: úsalos siempre que el proveedor los ofrezca.
- Una capa de abstracción (servicio propio) entre tu app y la API de terceros facilita el cambio de proveedor.
- Gestiona los secretos con variables de entorno y un gestor como Doppler o AWS Secrets Manager en producción.
Principios de integración segura
- Secretos solo en servidor: nunca en el cliente, nunca en `NEXT_PUBLIC_`. Variables de entorno sin prefijo en Next.js.
- Capa de abstracción: crea un módulo `lib/stripe.ts`, `lib/hubspot.ts` que encapsula el SDK. Facilita cambios y pruebas.
- Error handling explícito: las APIs externas fallan. Define comportamiento para errores de red, rate limits y errores de negocio.
- Idempotency: usa idempotency keys en Stripe y otras APIs para evitar duplicados en reintentos.
Stripe: pagos y suscripciones
- Usa Stripe con el SDK oficial de Node.js. Nunca construyas la UI de pago tú mismo: usa Stripe.js + Elements o Checkout.
- Webhooks de Stripe para actualizar el estado de suscripción de forma fiable (evento `customer.subscription.updated`).
- Verifica la firma del webhook: `stripe.webhooks.constructEvent(body, signature, secret)`. Sin esto, cualquiera puede enviar eventos falsos.
OpenAI: integración de IA
- SDK oficial: `openai` para Node.js. Llama siempre desde Server Actions o API Routes.
- Streaming con `ReadableStream` para respuestas largas: el usuario ve el texto generándose en tiempo real.
- Gestiona el coste: registra tokens consumidos por usuario/tenant para controlar gastos y límites.
- Relacionado: integración de IA en productos web B2B.
Webhooks: recibir eventos de terceros
- Crea un endpoint dedicado en `/api/webhooks/[provider]`.
- Verifica siempre la autenticidad del webhook (firma HMAC o similar).
- Responde con 200 inmediatamente y procesa en background (cola de trabajo con Inngest, BullMQ o similar).
- Registra todos los webhooks recibidos con su payload para poder reintentar ante fallos.
Lecturas relacionadas
Sigue por aquí
Cuánto cuesta desarrollar una web app en 2026: rangos reales por tipo de proyecto
Desglose real de precios para desarrollar una web app en 2026: SaaS, dashboard, portal de clientes, marketplace. Qué incluye cada rango y cómo planificar el presupuesto.
Arquitectura de una web app moderna en 2026: frontend, backend, base de datos y APIs
Guía técnica de arquitectura para web apps modernas: capas, patrones, base de datos, autenticación y APIs. Con ejemplos reales y decisiones de diseño.
Autenticación de usuarios en web apps: guía completa con Next.js, NextAuth y Clerk
Guía completa de autenticación para web apps en 2026: opciones, implementación con NextAuth.js y Clerk, manejo de sesiones, roles y seguridad.
Optimización de rendimiento en web apps: guía práctica con Next.js y React
Guía práctica para optimizar el rendimiento de web apps con Next.js y React: Core Web Vitals, lazy loading, caché, queries de base de datos y más.