Many business owners hear the term API integration and assume it is either very expensive, very complicated, or both. In most cases, neither is true. Connecting an ExpressionEngine site to an external system, whether that is a CRM, a payment processor, a booking platform, or a data feed, is a well-understood category of development work. Understanding the basics helps you commission it intelligently and assess what you are being quoted.
What an API integration actually is
An API is a defined way for two software systems to share information. When your ExpressionEngine site submits a contact form and that information automatically appears in your CRM, an API integration is doing that work. When a payment is processed through Stripe and your site updates an order record, that is an API integration. When your site displays real-time availability from a booking system, that is also an API integration. The technology differs in each case but the concept is the same: two systems exchanging information in a structured, automatic way.
What makes an integration straightforward or complex
The complexity of an API integration depends on several factors: whether the third-party system has a well-documented, modern API; whether the data needs to flow in one direction or two; whether any transformation of data is required between the systems; and whether the integration needs to handle error states gracefully. Most common business integrations, covering CRM, payment, email, and booking, fall into the simpler end of this range.
What ExpressionEngine can and cannot do natively
ExpressionEngine provides good tools for handling form submissions, storing data, and triggering actions based on site events. It does not have built-in connectors to most third-party systems, so integrations are typically built as custom add-ons or PHP scripts that interact with both EE and the external API. For more complex integrations, the work may sit outside EE entirely, in a separate application layer that connects to both systems.
Questions worth asking before you commission the work
What does the third-party system's API documentation look like, and is it actively maintained? Does the integration need to update in real time or in batches? Who owns the integration code if the developer relationship changes? What happens if the external API changes, and what is the cost of updating the integration? These questions help you understand what you are buying and what the ongoing cost looks like.
If you are weighing up an API integration for your ExpressionEngine site, get in touch with Karl to talk through what it would involve.