Important

You are browsing the documentation for version 4.2 of OroCommerce, OroCRM and OroPlatform, which is no longer maintained. Security Support ends in January 2024. Read version 5.0 (the latest LTS version) of the Oro documentation to get the updated 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 }