Wikipedia, which very laconically gives a description that an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components.
Why is it necessary and where is it used?
- frontend – backend integration
- integration website with mobile applications on iOS / Android
- integration website with other sites / services: 1C, ERP, SRM, CRM
Front-End and Back-End Integration
Many online stores, websites and their frameworks already have their own template or theme, where the front part is implemented, so why integrate or come up with something that already exists? Not every integration or solution will be relevant in any particular case. The decision to implement and use a particular technology does not come spontaneously, but is a solution to some task.In our case, there is a task to maximally speed up the online store on CMS Magento.
Under acceleration it means to reduce the loading time of the pages of the store from 1.5 seconds to 0.2 seconds. CMS Magento has a “strong” and rich in backend features, extensibility, scalability, but the frontend can be loaded for a long time.
Timeline for the work of classes and functions when loading a category with goods
All main pages are created earlier, they are divided into logical modules: main page, category, product, basket, personal cabinet, content is delivered to the browser in the form of JSON data, which, depending on the frequency of change and importance, can be saved for example in Redis.
The advantage of this solution is certainly speed and safety. Such a store will be difficult to crack or try to pick up a password to the admin panel, which by the way will be absent :) To administer this store, you can use a separate domain and address (URL)
SQL queries to the database will also be absent, because we get ready-made, JSON-generated data with which Java Script works.
Such a solution can be useful for:
- First of all for fashion sites, there are basically only media data and a bit of text, and in fact such sites are SPA (single page application)
- Goods delivery services or ordering services
- Any websites and online stores that identify themselves as one-page applications or are focused on the speed of the orders
The downside of this approach is, of course, a long time for implementation and, accordingly, a high cost.
The solution can include such a stack of technologies: Angular, React, Modernizr, jQuery
Integration of a website or store with a mobile application via IPA
Now the number of mobile users is growing very rapidly. A large number of online stores already have their own mobile application, through which you can track order information (basically the status: processing, delivery, canceled), edit your credentials, contact the manager. Functions are not very demanded or not at all demanded, but nevertheless, аttempts to capture a client are present on all fronts.
There are more “serious” mobile applications that not only clone some of the features of the online store, but also expand and supplement it with other, special mobile application features.
For example, for an online store that sells sports nutrition, it will be very useful to have a mobile application through which a client can find a coach and choose a program of sports nutrition, and receive notices about food on a schedule. In addition, allow the user to select a convenient type for notifications: SMS, Push notification, Email
To accomplish this task, you will need to integrate the application with the online store through the API to communicate information about products, customers, trainers, and a meal schedule.
Integration of the website with other services, such as 1C, ERP, SRM, CRM
API can be used not only to implement applications for interaction with the user / client, but also to integrate into the business logic of applications that are responsible for the business processes of the enterprise. Usually, need to download such data as information about orders, customers, the history of page visits, geo-data, IP addresses, data about browsers and devices.
If you need to develop an API or integrate with the application, develop documentation or architecture, we will help you and advise you. You just need to contact us.