En corto
- Conecto lo que ya usas: servicios web de la AEAT con certificado digital, Holded, Redsys y Bizum, Stripe, PMS de alojamientos, WhatsApp Business Platform, Google Play y App Store.
- Una integración no es llamar a una API: es decidir qué identificador manda, qué pasa si el otro lado no contesta y cómo no duplicar nada.
- Todo lo que se envía es idempotente: si un envío se reintenta, no salen dos facturas ni dos asientos.
- Registro de cada llamada, reintentos automáticos y aviso cuando algo falla, aunque sea de madrugada.
- Si tu proveedor no publica API, se busca otra vía antes de rendirse.
- Desde Chiclana de la Frontera, para toda España, en remoto.
Tengo dos programas que no se hablan entre sí y estoy copiando datos a mano
Es el gasto más caro de una pyme y casi nadie lo mide. Alguien exporta un Excel del ERP, lo cuadra con los pedidos de la web y lo vuelve a subir. Cada mañana. El día que esa persona falta no se hace, y nadie se entera hasta que reclama un cliente.
Una integración es ese mismo trabajo sin la persona en medio: un sistema le habla a otro por su API, con reglas escritas sobre qué se envía, cuándo y qué pasa si el otro lado no contesta.
No vendo conectores mágicos. Si existe un plugin que resuelve tu caso te lo decimos y te ahorras el desarrollo. Entramos cuando el plugin se queda corto: tarifas por cliente, varios almacenes o una obligación fiscal de por medio.
- AEAT con certificado digital
- ERP y facturación: Holded
- Cobros: Redsys, Bizum y Stripe
- PMS de alojamientos y motores de reserva
- WhatsApp Business Platform, Google Play y App Store
Cómo conectar tu tienda online con Holded para que la factura salga sola
El camino habitual es pedido pagado en la web, contacto localizado o creado en Holded, factura en la serie que toque, cobro registrado y stock descontado. Suena a línea recta y nunca lo es.
Lo que hay que decidir antes de escribir código: con qué dato se identifica al cliente para no duplicar fichas, qué documento se genera y en qué serie, qué impuesto aplica, qué ocurre con devoluciones y abonos, y si el stock manda en Holded o en la tienda. Elegir mal aquí obliga a cuadrar cosas a mano otra vez.
Va contra la API de Holded, no contra un CSV exportado. Cada pedido lleva su clave de operación: si el envío se reintenta, no salen dos facturas.
Integrar Bizum y Redsys en mi web: qué hace falta de verdad
Redsys es el TPV virtual que te da tu banco y Bizum va dentro del mismo TPV: hay que pedir su activación a la entidad. Con las credenciales del comercio, lo técnico es firmar los parámetros del pago y validar la firma de la respuesta.
El fallo clásico está en otro sitio. Mucha web da el pedido por pagado cuando el navegador vuelve de la pasarela. Si el cliente cierra la pestaña, el pedido queda a medias aunque el dinero haya entrado. El estado real lo marca la notificación que el banco manda al servidor, procesada de forma idempotente para que dos avisos no generen dos pedidos.
Stripe lo uso para suscripciones y clientes fuera de España: webhooks firmados y conciliación de devoluciones.
Integración con la API de la AEAT: certificado digital, SOAP y TLS mutuo
Esto no se parece a conectar con un servicio moderno. No hay clave de API ni ejemplos en tres lenguajes. Hay servicios SOAP, XML validado contra un esquema, un certificado electrónico presentado en TLS mutuo y errores que llegan como códigos que alguien tiene que interpretar.
Lo he montado de verdad, no en una prueba de concepto: envío de asientos de SILICIE con certificado, entorno de pruebas antes de tocar producción y un motor FIFO propio para que el Modelo 573 salga de los mismos datos que la contabilidad de existencias.
Lo que se rompe no suele ser el envío: caduca el certificado, cambia el apoderado, se rechaza un asiento y nadie lo ve. Ese rechazo se registra, se avisa y se reenvía corregido.
Conectar el PMS de mi alojamiento turístico con mi web de reservas
En un alojamiento manda el PMS. Ahí viven la disponibilidad, las tarifas y las reservas que entran por los portales. La web no puede llevar su propio calendario por libre: el día que se descuadran aparece un overbooking, y eso se paga con dinero y con reseñas.
Lo que monto es que la web lea disponibilidad y precios del PMS con una caché corta, que la reserva hecha en la web entre en el PMS al momento, y que modificaciones y cancelaciones viajen en los dos sentidos con el mismo identificador. Si el PMS no responde, la web no inventa disponibilidad: bloquea y avisa.
Después van las piezas que venden: cobro o depósito al reservar y datos del huésped pedidos una sola vez.
Integrar WhatsApp Business Platform con mi CRM
Aquí hay dos cosas distintas y la gente las mezcla. Un botón de WhatsApp en la web es un enlace. La WhatsApp Business Platform es una API, con su alta en Meta, su número dedicado, plantillas que hay que aprobar antes de usarlas y reglas sobre cuándo puedes escribir tú y cuándo solo responder.
Lo útil es conectarla al sistema que ya usas: que el mensaje entrante abra la ficha del cliente, que quede el historial y que el aviso salga solo cuando pasa algo real. Confirmación de pedido, recordatorio de cita, aviso de incidencia.
El punto sucio es la identificación: el teléfono desde el que te escriben casi nunca es el de la ficha. Hace falta una regla para emparejar y poder corregirla.
Publicar en Google Play y App Store y conectar la app con tu backend
Si tienes una app, las tiendas son otra integración con sus propias trampas. La primera y la más cara de arreglar después: las cuentas de desarrollador tienen que estar a nombre de tu empresa y con acceso tuyo. Es habitual encontrarse cuentas atadas al correo personal de alguien que ya no está en la empresa.
Luego está lo técnico: firmas, versiones, revisiones que rechazan la subida por un detalle de la ficha, notificaciones push que dejan de llegar tras cambiar credenciales y compras dentro de la app que se validan en tu servidor, no en el móvil.
Y si tu proveedor no publica API, no siempre se acabó: una exportación programada o acceso de lectura a su base de datos también automatizan. Feo, pero funciona.
Por qué se rompen las integraciones: identificadores, sesiones, paginación y decimales
Casi ninguna integración falla por la parte llamativa. Falla por estos cinco sitios, siempre los mismos.
El identificador: un lado reconoce al cliente por NIF y el otro por correo, así que el mismo cliente son dos fichas y ninguna cuadra. La sesión: el token caduca en mitad de un proceso largo y hay que renovarlo y reintentar sin perder lo enviado. La paginación: un sistema devuelve de cincuenta en cincuenta y el otro lo suelta todo, y quien asume que ya lo tiene pierde registros en silencio.
Los importes: el formato español escribe 1.234,56 donde el otro espera 1234.56, y ahí nacen los descuadres de céntimos. Y la idempotencia: si un envío se repite, no puede crear dos facturas.
Si la integración falla a las tres de la mañana, ¿alguien se entera?
Esta pregunta separa una integración terminada de un script que un día dejó de funcionar. Todo se rompe en algún momento: el otro servidor se cae, cambian un campo sin avisar, caduca una credencial. Lo que no puede pasar es que te enteres tres semanas después.
Por eso cada integración lleva lo mismo: registro de cada llamada y su respuesta, reintentos automáticos con espera creciente, cola de pendientes que no se pierde y aviso cuando algo lleva rato fallando. Más una pantalla donde ver qué se atascó y reintentarlo sin llamarme.
Al terminar te entrego el código en tu repositorio, las credenciales a tu nombre, la documentación de qué se llama. El periodo de garantía y el soporte posterior se acuerdan por escrito antes de empezar, para que no dependa de lo que cada uno recuerde.
Preguntas frecuentes
¿Se puede conectar mi tienda online con Holded sin cambiar de plataforma?+
Sí. Holded tiene API pública: la tienda se queda donde está y se conecta contra ella para contactos, facturas, cobros y stock. Si tu caso es simple puede bastar un conector del mercado y te lo diremos; el desarrollo a medida compensa con TPV físico o varios almacenes.
¿Qué necesito para integrar Bizum en mi web?+
Un TPV virtual de Redsys contratado con tu banco y pedir a la entidad la activación de Bizum sobre ese TPV. La web firma la petición de pago y confirma el pedido con la notificación que el banco envía al servidor, no con la vuelta del navegador.
¿Puedo enviar datos a la AEAT desde mi programa sin entrar en la sede electrónica?+
Sí. La Agencia Tributaria publica servicios web para presentaciones automatizadas, que se conectan con certificado electrónico desde tu propio software, sin subir ficheros a mano. Requiere SOAP, XML validado contra el esquema oficial y el certificado instalado en el servidor, además de probar en el entorno de pruebas.
¿Qué pasa si el sistema que quiero conectar no tiene API?+
Casi siempre hay otra vía antes de rendirse: exportaciones programadas, un fichero depositado en un servidor o acceso de solo lectura a la base de datos. Es más frágil, pero se monta con vigilancia y avisos para que nadie siga copiando datos a mano.
¿Cuánto tarda una integración y cómo se presupuesta?+
Depende de la documentación del otro lado, no del tamaño de tu empresa. Una conexión contra una API bien documentada es cuestión de días; una integración fiscal o con un sistema antiguo se va a semanas por las pruebas. El presupuesto sale por alcance cerrado.
¿Trabajas solo con empresas de Cádiz?+
No. Estamos en Chiclana de la Frontera y trabajo para toda España en remoto, que es como se hace una integración: contra sistemas que están en internet, no en tu oficina. Todo se ve funcionando en pruebas antes de tocar producción.
Dinos qué dos sistemas tienes que conectar
Cuéntanos qué software usas a cada lado y qué estás copiando a mano ahora mismo. En una llamada de treinta minutos te decimos si tiene API, si se puede hacer, por dónde va a fallar y qué alcance tiene. Si no se puede, también te lo decimos.
Pedir diagnóstico de 30 minutos