I'm having a architecture challenge. Simplified scenario:
We have a CRM-system (for now called This-Is-Our-CRM) that contains person data. We created a rest API so our data could be accessed outside of our own system.
Now our clients wants to be able to use the data available in This-Is-Our-CRM in multiple other applications. For example they want to mail these contacts through MailChimp and also be available in Salesforce.
Now I could do two things, but I'm not sure what is the best way.
Option 1: The API that has been created connects directly to the API of MailChimp and Salesforce. This means that our API is directly connected to these parties.
Option 2: The API we created just supply our data. So there must be another project that calls our API to get the data, and does a second call to Mailchimp / Salesforce so the data is available there.
Now I'm unsure to choose option 1 or option 2. With option 1 I'm a bit afraid that the API is continuously under heavy maintenance, because customers always want more applications to connect to. And I assume it's a bit more error prone, althrough I'm not sure about that.
So I'm currently thinking of option 2. My doubts about this option is that there will be multiple projects all for the same purpose; get the data from This-Is-Our-CRM to other applications. I do not want to add complexity where this is not needed.
Are here people having experience with one of these options? What are the advantages and disadvantages comparing to eachother?