¿Es posible crear una aplicación que pueda integrarse con otras aplicaciones que no hayan expuesto API?

Es posible.

Las principales técnicas utilizadas son la transferencia de archivos y el raspado de pantalla.

La transferencia de archivos puede ocurrir si una aplicación tiene un directorio donde se pueden colocar archivos de entrada, que es una forma primitiva de API. Lo menciono aquí porque leí tu pregunta como “API web”, disculpas si eso no es del todo correcto.

El raspado de pantalla es donde emula las pulsaciones del teclado y el mouse para realizar la entrada, y lee el texto desde la pantalla. Para una interfaz de usuario web, esto implicará realizar publicaciones de formulario para la entrada y escanear el html para la salida.

Luego puede resumir esto en una API real si lo desea. Pegue eso en su propia caja de servidor, y se llama un servidor de integración.

Todo es un poco extraño, pero sin una API es lo mejor que puedes hacer.

La pregunta es: ¿quieres hacerlo oficialmente o no?

En caso afirmativo, cree API en su extremo y pídales que se conecten. O. Negocie con ellos acceso limitado a su base de datos y cree una capa de datos.

¿No oficialmente? Raspado.

Sí, puede integrar aplicaciones que no tienen API. Deberá calcular el método de transferencia de datos, podría ser http, FTP, Dropbox u otras herramientas.

Hago esto con los datos que obtengo de otros sistemas. Proporcionan un FTP y ejecuto un trabajo que entra y toma el archivo y lo carga en nuestro sistema. También tomo archivos XML de URL para tomar datos de nuestros sistemas.