Hi, we are Trilix. Today we would to talk to you about REST API integration between the Akeneo PIM system and Magento 2.
This is the first article in a series of blog posts that deal with integrations in the current eCommerce ecosystem.
Modern applications rarely live in isolation. Whether your PIM application should communicate with an ERP system, your eCommerce platform needs to synchronize data with your PIM application or your CRM application shall connect to a help desk system, any system benefits from integrating other applications.
In this article we talk about two specific systems and about our approach to connect them.
Magento 2With more than 250,000 merchants around the globe selling all different kind of products and driving innovation, Magento is the most popular eCommerce platform in the world.
Akeneo PIMAkeneo is a great product information management (PIM) system which centralizes and harmonizes all your marketing and technical information for product listings and catalogs.
Before we will discuss how Akeneo integrates into Magento 2 we would like to focus on answering the next question first:
Why do we need a PIM system at all?
A PIM system solves one of the biggest problems of online marketing: the data quality. 30% of the data in catalogs used by retailers and manufacturers for replenishment of stock are not valid. As a result 25 minutes per stock keeping unit are spent per year on manual data cleaning. In contrast, data synchronization takes only 4 minutes per item which saves 20 person months for every 10.000 items. Approximately 15% to 20% of the operating budget is spent in businesses on cleaning “dirty data”.
The top data quality issues B2B marketers face:
- ~15% of duplicate data
- ~10% of invalid values or ranges
- ~8% of incomplete data
How can we deal with such issues?
What is generally needed is a productivity tool that makes your teams more efficient and keeps it focused on data quality, a tool which centralizes product information and streamlines workflows. That tool is a PIM system.
Of course there is the possibility to use the internal PIM system in Magento and in most of cases it will be sufficient. But consider the following use cases:
- You need to collect product information from several sources.
- Magento provides only one sales channel but you want to sell the same products also on Amazon, Ebay or another platform.
- You need to divide responsibilities to teams based on their expertise. For example, one team should manage only the media of the product data and another prices.
- You have product data translated into different languages.
All of those tasks can be really difficult to handle within the given scope of Magento. Does that entail that Magento is flawed? No, because the main purpose of Magento is to cover sales flows. And it copes with this task magnificently. Each of the mentioned tasks, however, can be solved by using a PIM system. Moreover, you can benefit from a PIM system as follows:
- Reduce time to bring your products to market by up to 400%.
- Increase your sales between 15% and 50%.
- Reduce product returns by up to 23%.
- Reduce customer inquiries by up to 27%.
If you are thinking about implementing a PIM system make sure Akeneo is among your candidates! Akeneo truely assists you in keeping your data clean and organized. It was made to handle tons of information including stock keeping units, images, product descriptions and attributes. Even if you have hundreds of thousands of stock keeping units or are editing data with multiple teams, you can manage it with Akeneo and save time that can be spent focussing on other tasks. You have better things to do than spending hours on copying and pasting product information within Excel tables!
Magento 2 & Akeneo Symbiosis
We have set up numerous eCommerce implementations and gained deep knowledge about it. During the last years we have broadened our scope by additionally implementing Akeneo PIM systems. From our experience it turned out that Akeneo is a scalable, robust and great system to work with. Both systems are open source software that are approved by large communities. We are convinced that the combined usage of Akeneo and Magento 2 will bring eCommerce businesses to the next level. In order to realize this we first need to have a tool which enables the communication between both systems. In the last couple of years several requests from clients reached us who wanted to use both Akeneo and Magento. Almost immediately these were followed by the next main question:
Let’s consider possible approaches to integrate systems in general:
- Shared Database. All applications use the same database. In the case of Magento 2 and Akeneo this approach will not work, because both applications use their own databases.
- Messaging. Each application is connected to a messaging system and exchanges data by using messages.
- File transfer. Each application produces files of shared data for others to consume and vice versa.
- Communication via API
Each of the last three approaches can be theoretically used to integrate Magento 2 and Akeneo. Every possibility has its advantages and disadvantages (since this topic is really interesting we will address it in detail in a future article). Moreover, we assume that a hybrid of all approaches is considered to lead to the most efficient integration.
Developing the Trilix Integration Akeneo to Magento 2 (Pim2Magento)
In what follows we would like to share with you how we arrived at the Pim2Magento integration. Taking the needs of our customers into account we started by defining main requirements as goals:
- Stability & Reliability. The issue of data quality exists throughout the life of any data integration system. Therefore, the integration should transfer data in an efficient and sustainable way. The user should have the possibility to see the results of any data transfer in real time. Occurring issues during the data transfer should be traceable for the user reporting why, when & where (in Magento or Akeneo) the issue emerged.
- Scalability. The integration should handle large and complex datasets.
- Independence. Dependencies between both applications should be minimized, so that each can evolve without causing problems to the other. For example, a customization within Magento (installation of new extensions, development of additional functionalities, etc.) should have no effect on the operability of the integration.
- Frequent data update. Sometimes the lack of frequent synchronization can be a disaster. The integration should offer a reliable way to transfer catalog data to Magento that is being changed frequently in Akeneo.
We were able to achieve these goals by creating an Akeneo PIM bundle (i.e. Pim2Magento) which connects to Magento 2 via REST API. As a result the choice of using the RESTful architecture comes with the following benefits:
- RESTful as lightweight Web Services. The RESTful architecture can be considered as a reaction to the heavy SOAP based architectural standards. The main emphasis in REST-based Web services is simple point-to-point communication.
- Simplicity. The uniform interface in REST architectural style is very user-friendly.
- Scalability. Since there is no information exchange between clients and servers, the RESTful architecture can be used to scale the services very high by additional server nodes.
- Reliability. REST is very reliable because the whole system does not fail even if there are errors between communicating components.
Finally, with Pim2Magento you can import the following data from Akeneo to Magento 2:
- Attributes and their options
- Products (with media)
Thank you for reading this article and stay tuned! In the next blog post we will talk about our roadmap and the performance of Pim2Magento.