¡Sin tasas ni Impuestos! - Rapidez - Auditoría GRATIS
);
Leyendo0%
Volver al blog
Web Apps

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).

Equipo KarpolIntegraciones y desarrollo full-stack6 de mayo de 202613 min de lectura

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.

Integramos los servicios que necesita tu web app

Lecturas relacionadas

Sigue por aquí