It is very common today that we have information spread over several systems. For a product, we can, for example, have product information in a PIM (Product Information Management), information about sales of the product and price in an ERP (Enterprise Resource Planning / Business system) and documents and images connected to the product in a DAM (Digital Asset Management).
All information about a product in one place
In order to easily access the overall picture of the product, we can gather all the information in one place. We should think about how we want to consume the information and based on that store it in a way so that we can easily and quickly access what we need when we need it. We at 3bits have in many solutions chosen to work with Elasticsearch to make this type of information available. It is a free and open search engine that is very fast and completely flexible. The flexibility allows us to store and search for the information in exactly the way we need.
Depending on the user case, we can temporarily store the collected data in a database or save it directly in a search engine such as Elasticsearch or other NOSQL storage. If there is a need to refine or enrich the information before we make it available, we can build on our own warehouse to administer this.
Automatically collect information via integrations from different systems
The last step is that we build an API (Application Programming Interface) that retrieves information from the search engine. APIs are used to enable applications and systems to talk to each other.
In the API, we can have several endpoints, for example one to retrieve product information. The endpoint can have different input parameters to provide the opportunity to retrieve and search for products in the way you need. It could be lookup on specific product ID, search by name or maybe different filters on properties. The solution is completely as needed and can be expanded and changed as the business develops and the needs change.
A big advantage of this architecture is that you get all your product data gathered in one place and available to all systems that may need it. It can be used both internally and externally. Some examples could be e-commerce, apps and customer portals. It is enough to update the information in the source system and it flows out to all other systems that use it through the API. This way, we can be sure to always have the latest information available everywhere and avoid updating in several places.
Bring back information
Through the API, we can also build functions that go in the other direction. We can envision a function for sending an order from E-commerce to the business system. In this case, we add an endpoint to the API to place orders. Underlying it talks to business systems via one of the interfaces that the business system provides.
Document the API
To document the API so that it is easy to understand and work with for several parties, we use OpenAPI Specification and Swagger UI.
OpenAPI specification is a standard for describing an API and Swagger UI visualizes the specification and provides the opportunity to interact and test the API. The rules make it easy to communicate so that it is clear how questions and answers are to be interpreted.
We have built many integrations with Rest API / Web API over the years. We are happy to tell you more about how APIs can be used to simplify and reduce administrative work for your business.