The first, and in practice the preferable, option for implementing direct integrations is to use the universal OData protocol (short for open data protocol). 1C products, in particular 1C:Enterprise version 8.3.5 and later, come with built-in OData support, an open web protocol for querying, adding, deleting, and updating data. OData allows resource operations through HTTP requests and returns responses in XML and JSON formats.
This is a universal protocol used not only by 1C but also by other systems.
As a result, the systems in the environment will more easily understand the received data.
To use the OData protocol, you need to enable support for it in the 1C settings.
After that, the system will automatically create a REST interface for data exchange between 1C and other systems. The integration can then be connected to it, and data export and import can be configured.
If the system is older than version 8.3.5 (for example, 8.2), you will not be able to use the universal OData protocol.
You will have to build an API and integration for each connected system.
Building APIs is the standard way to set up communication between two systems.
But it is worth remembering that APIs are written by people.
And the people involved were different, with different experience and different ways of thinking.
They can even solve the same task in different ways
As a result, if you have a dozen systems integrated with 1C and several 1C developers, you will very likely end up with a zoo of ten or more APIs.
Each of them is written with its own logic, operates according to its own logic, and in the future must be further developed, yes, again according to its own logic.
After every 1C update, your team will have to separately adapt each API to the latest changes and the API's internal logic. Best case, the same specialist who developed the API will do it, since it will be easier for them to reconstruct their own reasoning when writing the code. Worst case, from a time perspective, it will be a completely new specialist who uses different approaches to API development.
The “wild zoo” problem can be addressed by imposing strict API design standards, though in practice that does not always work, or by artificially reducing the number of integrations.
We saw an example of such a reduction in one of our projects.
To reduce the “wild zoo” in the 1C source system, the system where supplier product data was stored, the company's developers implemented a chained integration. Bitrix collected stock, pricing, product, and similar data from other systems and sent it to the 1C source system. The 1C source system then passed all product data to the 1C system responsible for offline retail.
A part of the initial information flowed from it into 1C, which was responsible for the online storefront. On the one hand, this reduced the number of integrations overall. On the other hand, each additional link made the landscape more vulnerable and created more room for errors and data loss.
Any failure in the integration or in an intermediate system caused information to get stuck and not reach the next stages.