Penso che sarebbe d'aiuto se chiarissi in che misura le API ci sono. per esempio. Potresti utilizzare 2 servizi di localizzazione in cui uno prende coordinate lat / long e gli altri coassiali XY; o sono più diversi come un servizio di localizzazione e un servizio di ordinazione della pizza?
In ogni caso, la soluzione migliore è un messaggio che passa l'architettura. Hai un broker o bus di messaggi a cui il tuo codice principale invia messaggi, e il broker decide su quale API passare il messaggio. Spesso avrai una facciata (o un gateway) che si trova tra il broker e le API se c'è un bel po 'di traduzione richiesta dai dati del programma che vengono inviati al broker e che cosa l'API si aspetta di ricevere.
Uno dei vantaggi di un broker di messaggi come questo è che puoi aggiungere nuove API in modo dinamico, una volta che si registrano per ricevere messaggi, inizieranno a riceverli all'improvviso, non sono richieste modifiche al codice nel programma client, supponendo che tu possa inviare il nuovo rilevante i dati.