Important
You are browsing the documentation for version 4.2 of OroCommerce, OroCRM and OroPlatform, which is no longer maintained. Read version 5.1 (the latest LTS version) of the Oro documentation to get up-to-date information.
See our Release Process documentation for more information on the currently supported and upcoming releases.
Configuration Reference¶
Channel Type Definition¶
Channel type - a type of the application/service to connect. Channel - an instance of the configured channel type with enabled connectors.
The responsibility of a channel is to split transport/connectors into groups by a third party application type. To define you own channel type, create a class that implements Oro\Bundle\IntegrationBundle\Provider\ChannelInterface and then register it as a service with the oro_integration.channel tag with a unique type key.
Example
acme.demo_integration.provider.prestashop.channel:
class: Acme\DemoBundle\Integration\PrestashopChannel
tags:
- { name: oro_integration.channel, type: presta_shop }
The integration type can also bring an icon that will be shown in the type selector. For this purposes, the type class should implement Oro\Bundle\IntegrationBundle\Provider\IconAwareIntegrationInterface and method getIcon() should return a valid path to the image for Symfony assets helper.
Transport Definition¶
The responsibility of transport is providing communication between the connector and the channel, it should perform read/write operations to the third party systems.
To define you own transport, create a class that implements Oro\Bundle\IntegrationBundle\Provider\TransportInterface and register it as a service with the oro_integration.transport tag that contains a unique type key and a channel_type key that shows what channel type it can be used for.
Example
acme.demo_integration.provider.db_transport:
class: Acme\DemoBundle\Integration\PrestashopTransport
tags:
- { name: oro_integration.transport, type: db, channel_type: presta_shop }
Connector Definition¶
Channel connector is responsible for bringing data in and defining compatible channel types.
To define you own connector, create a class that implements Oro\Bundle\IntegrationBundle\Provider\ConnectorInterface and register it as a service with the oro_integration.connector tag that contains a type key (unique for the channel) and a channel_type key that shows what channel type it can be used for.
Example
acme.demo_integration.provider.prestashop_product.connector:
class: Acme\DemoBundle\Integration\PrestashopProductConnector
tags:
- { name: oro_integration.connector, type: product, channel_type: presta_shop }