Important
You are browsing upcoming documentation for version 6.0 of OroCommerce, OroCRM, and OroPlatform, scheduled for release in 2024. 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\Bundle\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\Bundle\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\Bundle\DemoBundle\Integration\PrestashopProductConnector
tags:
- { name: oro_integration.connector, type: product, channel_type: presta_shop }