APIs (application program interfaces) allow different systems to communicate with each other. APIs are an alternative to using files such as .txt or .csv, XML or database connections for data transfer. However, a common misperception is that APIs complete the data exchange between different systems.
The purpose of an API is to either expose information to be retrieved or provide standards for inserting data. APIs themselves don't provide any mappings, business logic or other data transformation to move the data from one system to another. To make the actual data connection, one of three things needs to occur:
- The source or destination vendor creates a module or program in their system to work with the other vendor's API.
- The client develops and maintains a program (middleware) to allow the two systems to exchange data.
- The client engages with an application integration company to provide a solution that manages the data transfer and any additional business logic so the systems reliably exchange data.
Because vendors generally focus on their core solution and expose APIs to allow others to connect with their systems (option 1), options 2 and 3 are the most common alternatives when it comes to data integration.
If you're thinking about placing the data integration burden on your client, be sure to ask the following questions:
- Does the client have strong IT staff that can dedicate the time required to:
- Learn your system's APIs?
- Learn the connecting system's APIs?
- Program and test the connection and any company-specific logic (e.g., custom calculations, allocating hours/earnings data, etc.)?
- Does the client have flexibility with their IT staff to support the connection through upgrades to either system, or when data transfer errors occur?
- How much time will it take for the internal team to develop the data transfer program?
- What is your contingency plan if client IT staff has competing priorities and can't complete the programming (thus jeopardizing your start date and billing)?
Often, using an experienced application integration company is most appealing for everyone. IDI is based around providing reliable and cost-effective integrations using APIs or other transfer methods. IDI has been using vendors' APIs for several years with our Time Bank™ solution. Time Bank has been used by more than 25,000 companies over the last 20+ years. Our team works with our partners' implementation teams and clients to deliver the integration solutions on-time without burdening the client's valuable internal resources with new development and ongoing support.
We’re often asked, "Couldn’t we just do this integration work?" The easy answer is "Yes." However, the more strategic question is, "Should we be investing in this development and support?" Most companies we work with are satisfied that they looked to a proven company like IDI so they can focus on their business.