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 }