Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The DI plugin, provided by Boxalino with the purpose of Shopware6 integrations, is following the documented schemas and property definitions.

Integration Strategy

The integration strategy is done per content type (product, order, user, etc) and integration mode (delta, full, instant), as described in the public wiki https://github.com/boxalino/rtux-integration-shopware/wiki/DI:-Data-Integration

...

The integration strategy is handled by the integration team.

Integration Flow

Tip

The integration flow has a generic design and is described in the base repository data-integration-doc-php https://github.com/boxalino/data-integration-doc-php/wiki/4.-Integration-Strategy

The elements part of the Data Integration strategy are:

1.Integration Handler

There is an integration handler per data type and integration mode.

  1. is aware of the integration mode & type (required header for the DI requests)

  2. is setting the required headers tm & ts for the process

  3. requires the configurations for the process

  4. is aware of the list of document handlers required for the given data sync (ex: for product - the doc_language, doc_attribute, doc_attribute_value & doc_product https://github.com/boxalino/rtux-integration-shopware/blob/3.0.0/src/Resources/config/services/di/product-console.xml#L27 )

  5. calls the “integrate” behavior of every document handler https://github.com/boxalino/data-integration-doc-php/blob/3.0.0/src/Service/Integration/Mode/FullIntegrationTrait.php#L39

  6. makes the “sync” call to the DI endpoint Sync Request

2.Document handler

  1. is aware of the document type (required header for the DI request) https://github.com/boxalino/data-integration-doc-php/blob/3.0.0/src/Service/Integration/Doc/DocOrder.php#L36

  2. is aware of the document schema https://github.com/boxalino/data-integration-doc-php/blob/3.0.0/src/Service/Integration/Doc/DocOrder.php#L45

  3. getValues() from the list of property handlers and creates the document content via addDocLine (ex: order )

  4. makes the “load” call to the DI endpoint Load Request

3.Property Handlers

  1. manages the export for a given property (ex: price)

  2. can be activated for the instant mode (via “allowInstantMode” method) (disabled by default)

  3. are added to the document handler in the Integration Layer, which makes it 100% configurable

Data Mapping

Due to the nature of the integration process, there must be done a mapping between e-shop/Shopware6 fields and the documented schema properties.

...

Every document handler, via the createDocLines() function, will generate the document data by merging the values provided by each DocSchemaHandlerIntefrace (content source), grouping them by entity ID. The output will be transformed to the document line object with Every document line/row/item is a representation of the required Data Structure (as documented by Boxalino Data Structure )

Property Handler Options

Edit the property handler in your Doc<Type>HandlerInterface service (ex: product doc handler):

...