Innovation through Drupal powered multi-system integrations: Example - Personal Training at the Y
"Let’s integrate our system with 3rd party vendor" - sounds easy, right? However you should think twice before making a decision about architecture and implementation. From high-level perspective, integration looks pretty simple, but when you actually get to the actual work, 3rd party systems could have unpredictable and completely another behaviour, other that you expect.
In our case we've built an integration with two 3rd party services at the same time. Our system was just proxy of data between them. If we just use simple math and calculate all possible use cases that should be covered - we can turn gray.
3rd party services that we are using in our integration:
- Personify - provides CRM, Payment/Transaction gateway and work as eBusiness platform
- MindBody - online business management software that holds everything related to personal trainings schedules and appointments.
Based on that experience we would like to reveal all important steps that should be taken in integrations with 3rd party services.
Business goal
First of all everyone should be on the same page about business goal and what should be achieved.
Proof of Concept
Taking some discovery period to create Proof of Concept brings us significant benefits. You verify that 3rd party service can do everything that you expect. This protects you from possible fails and failed deadlines.
Architecture
When we talk about technical architecture, it’s important to add flexibility as much as you can, because 3rd party services could have outages, could return wrong data, could work unpredictably slow and etc. Just protect yourself from the errors that could be introduced by other vendors.
Implementation
Only if you have done with all steps above - go for it and implement your features.
Given that we'll make a showcase about integration with 3rd party services. After session attendees will learn how to create robust architecture for 3rd party services integration and how to build the whole process to protect yourself and product.