enobis/module-wmd-connector v0.6.1

WMD Connector Extensions

Introduction

The "WmD-Connector"-Extensions integrates the "Wir machen Druck"-Order-API into Magento2.x. The connector creates jobs (orders) in the "WmD"-system, synchronises order-status and creates shipments for delivered products.

Use the "WmD"-Connector to create orders for

  • standard products
  • products with static print files
  • products with personalized print files (GraFx Publisher Support).

Supported product types are

  • simple products
  • virtual products
  • configurable products

Features

Integration flows

The connector integrates the API into the following flows.

Job-/ Order integration

Jobs- (orders) are created either automatically by a cronjob or manually from the backend of Magento. Order are generated from the Magento order data which includes

  • userdata (firstname, lastname, email)
  • shipping address data
  • item / product data

Important: Orders in the WmD-System are generated for each Magento order item separately. Each Magento-lineitem refers to a separate order-id of the WmD-System. As reference, the order-id is stored to the lineitem of Magento (field: "external_info_one").

Prerequisites The connector only creates orders for lineitems with the corresponding vendor "WmD"! Please check additional documentation below regarding "Vendor-Extension".

Order Status Sync

Order-Status are synchronized back to Magento either automatically by a cronjob or manually from the backend of Magento.

With the order generation, the lineitem-status is set to "exported_to_wmd" as default. With the first status synchronization, the "WmD"-status are stored to the lineitem (field: "external_status"). Additionally the "promised arrival date" is stored too (field: external_info_two").

Status updates are checked either manually or automatically via cron. During this status update the connector determines open orders which may have an status update necessary.

Criterias:

  • External Status on lineitem is <> '' (only for orders which are not exported)
  • External Status on lineitem is <> 'Manually' (mark for manually processed order itemds)
  • External Status on lineitem is <> 'Canceled' (mark for manually canceled order items)
  • Ordered quantities <> Shipped quantities
  • Order Status <> complete
  • Order has no invoice

Shipment Creation (Upcoming feature)

The WmD-Connector creates shipments for orders which are in the status "shipped". The during status update process, the connector creates

Visual Integration

Backend

At the order lineitem additional external information is stored, after the order is created and synced.

Option Description
External Status: E.g. "ProductionRejected" or "new". Initially the status is called "exported_to_wmd" until the first sync updates the lineitem which the status of WmD.
External Info One: E.g. 94e68ea7-1cd3-40e6-bd1b-4d24bbc1b3ea (WmD OrderId)
External Info Two: E.g. 2025-05-02 (Promised Arrival Date)
External Logging: unused at this moment
External Comment: unused at this moment
External Url: unused at this moment

Storefront

At the order lineitem available external information is shown to the customer.

Option Description
External Status: E.g. "ProductionRejected" or "new". Initially the status is called "exported_to_wmd" until the first sync updates the lineitem which the status of WmD.
External Info One: E.g. 94e68ea7-1cd3-40e6-bd1b-4d24bbc1b3ea (WmD OrderId)
External Info Two: E.g. 2025-05-02 (Promised Arrival Date)
External Logging: unused at this moment
External Comment: unused at this moment
External Url: unused at this moment

Configuration

General Setup

(Stores->Configuration->Enobis->WmD Connector)

Option Type Description
Enable WmD Connector Module Yes/ No Enable or Disable Connector
Authorization Base Url String https://oauth.cimpress.io/v2/token (Default)
Authorization Client Id String Provided by WmD
Authorization Client Secret String Provided by WmD
Api Base Url String https://orders.staging.api.erfolgreich-drucken.de/v1/
Delivery Option String Delivery Options which are used for creating orders. Like "Standard (Non-Guaranteed)" (Default)
Production Time String Delivery Options which are used for creating orders. Like "Standard and Next Day" (Default)
Show WmD Export Button for Backend Orders Yes/ No Show "WmD Export"-Button in Backend (Sales->Order)"
Show WmD Sync Button for Backend Orders Yes/ No Show "WmD Sync"-Button in Backend (Sales->Order)"
Vendor Code Dropdown Select Vendor entity for order generation
Enable Automatic Export and Sync Yes, No Enable automatic cron export and sync.
Schedule (cron syntax) String */1 * * * *

Invoice & Return Address

Orders are created which these static information for invoice and return labels.

Option Description
Company Name Used for invoice and as return address
First Name Used for invoice and as return address
Last Name Used for invoice and as return address
Email: Used for invoice and as return address
Phone number: Used for invoice and as return address
Country: Used for invoice and as return address
ZIP/Postal Code: Used for invoice and as return address
City: Used for invoice and as return address
Street: Used for invoice and as return address
VAT Id: Used for invoice and as return address

Delivery Address

Orders are created by default with customer-, shipping-address and product-/item data. In some scenarios you won't deliver personal contact-data like email and telephone to the API. In this case you can replace the personlized data with static data.

Option Type Description
Enable Static Email Yes, No(Default) If activated, a different static email-address is sent to WMD for order creation
Enable Static Phone Yes, No(Default) If activated, a different telephone number is sent to WMD for order creation

Product configuration

The following product attributes are created by the extension.

Option Type Description
wmd_ enabled Yes, No Enables/ Disable product for WmD-Order Creation
wmd_ product _id String ProductId of your WmD Product
wmd_ qty_ unit Selectbox Default-Values 1, 50, 100, 250, 500
wmd_ file_ url String ProductId of your WmD Product

Additional attributes for order creation are automatically used if they have a "wmd_"-prefix. Like

Option Type Label Description
wmd_ color Selectbox Color Different colors

Supported types attribute are text, textarea and selectbox.

Important:

  • The API requires a 100% matching definion of the product attributes! The Product_id is not enough!
  • The label of the attributes must match with the attribute definiton 100%* - the attribute label is the criteria to match with the API.
  • Only attributes with the prefix "wmd_" are used for the API
  • Use selectbox attributes to avoid spelling mistakes. If the attribute value doesn't match 100%, the order creation will fail!
  • Create different attribute sets for different kinds of products!* - The attribute definiton need to match with the corresponding product definition of "Wir machen Druck."

Required extensions

The required submodules are installed automatically.

"enobis/module-wmd-connector-log"
"enobis/module-external-item-status"
"enobis/module-vendor"

WmD-Connector Logger

The "WmD-Connector Logger" stores data for later analysis and debugging. The logfiles are stored in the database and are accessible from "Reports->WmD-Connector->Wmd-Connector Log"

Features

The "WmD-Connector Logger" shows all requests and responses to and from the "WmD"-API.

Option Type Description
Id Unique
Storeview Storeview
Request Method Post / Get Type of Request
Request Url String Endpoint of API
Request Data String Data send to API
Result Code String Code as result from API like 201 (success) or 422 (error)
Result Message String Message as result from API
Result Data String Data as result from API

General Setup

(Stores->Configuration->Enobis->WmD Connector Log)

Option Type Description
Enabled Yes/ No Enable or Disable WmD-Connector Logger

External-Item-Status

The "external-item-status"-extension creates additional attributes for orders and order-items.

For more information, please refer to the documentation of the extension here!

Vendor-Extension

The "vendor"-extension sends information (email) to external vendors/ suppliers for a better supply chain. Vendors can be managed from the backend and be applied to products. Vendor emails contain only the relevant information of each vendor. Together with the "WmD-Connector"-extension only "WmD"-orders are created for the relevant (WmD) vendor, in order to ignore irellevant orders.

For more information, please refer to the documentation of the extension here!

Prerequisites

Our extensions are not available via the magento-marketplace or packagist.org! The extensions are only available via a (private) repository!

In order to get access, a valid license-agreement is required!

If you have no access to our repositories, please contact us!

Install & Update

To install the extension use composer via ssh:

composer require enobis/module-xxx

To update extension use composer via ssh:

composer update enobis/module-xxx

Afterwards you have to complete your Magento2.x installation by

php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento cache:clean
php bin/magento indexer:reindex

Changelog & Roadmap

No changelog & roadmap available!

Support

If you need help, please get in touch with us by sending an email to support@enobis.de.

Changelog

0.6.1 (2026-04-14)

  • 2026-04-14 Logging removed from the module (f0cec06)

  • 2026-04-14 Version: 0.6.1 (c090b9e)

    • Logging removed from the module

0.6.0 (2026-03-23)

  • 2026-03-23 Tweak code (6bb530a)

    Allow PHP 8.3

  • 2026-03-23 Version 0.6.0 (76fefa6)

    Allow PHP 8.3

    #14375

0.5.5 (2025-11-05)

  • 2025-11-05 Optimize and neutralize wording (8a516c5)

  • 2025-11-05 Version 0.5.5 (362094d)

    Optimize and neutralize wording

0.5.4 (2025-08-29)

  • 2025-08-29 Fix product does not exist exception for ordered configurable child products that are deleted after the order was placed, such orders are now skipped (a231b9c)

  • 2025-08-29 Version 0.5.4 (0f0ad30)

    Fix product does not exist exception for ordered configurable child products that are deleted after the order was placed, such orders are now skipped

0.5.3 (2025-07-10)

  • 2025-07-10 Add cron export order (242e2fa)

    Optimize cron sync order

  • 2025-07-10 Version 0.5.3 (2996f82)

    Add cron export order Optimize cron sync order

0.5.2 (2025-07-04)

  • 2025-07-04 Add automatic shipment creation (b032e79)

    Add customer email notification for created shipments

  • 2025-07-04 Version 0.5.2 (016debb)

    Add automatic shipment creation Add customer email notification for created shipments

0.5.1 (2025-06-26)

  • 2025-06-26 Add configurable function for overwriting the delivery-address email to a fixed value (c7f8a93)

    Add configurable function for overwriting the delivery-address phone to a fixed value

  • 2025-06-26 Version 0.5.1 (c7da2cc)

    Add configurable function for overwriting the delivery-address email to a fixed value Add configurable function for overwriting the delivery-address phone to a fixed value

0.5.0 (2025-05-14)

  • 2025-05-14 Add check for existing shipping address before exporting to wmd (cdae3ec)

    Add additional file logger for debug logging of e.g. cron tasks to var/log/wmd-connector.log Optimize cron based order sync, don't sync orders that have a state completed or canceled

  • 2025-05-14 Version 0.5.0 (868c38b)

    Add check for existing shipping address before exporting to wmd Add additional file logger for debug logging of e.g. cron tasks to var/log/wmd-connector.log Optimize cron based order sync, don't sync orders that have a state completed or canceled

0.4.9 (2025-05-12)

  • 2025-05-12 Add additional checks before exporting to wmd (27cce26)

    Check if wmd_enabled is turned on Check if wmd_product_id is not empty Add product attribute wmd_enabled Remove enobis/module-chili-document-variant requirement

  • 2025-05-12 Version 0.4.9 (3859d9d)

    Add additional checks before exporting to wmd Check if wmd_enabled is turned on Check if wmd_product_id is not empty Add product attribute wmd_enabled Remove enobis/module-chili-document-variant requirement

0.4.8 (2025-05-12)

  • 2025-05-12 Add support for non chili wmd product, without file (d821a40)

    Add support for non chili wmd product, with static file Add support for configurable products (currently all wmd product attributes are generated from the child product)

  • 2025-05-12 Version 0.4.8 (3932776)

    Add support for non chili wmd product, without file Add support for non chili wmd product, with static file Add support for configurable products (currently all wmd product attributes are generated from the child product)

0.4.7 (2025-05-08)

  • 2025-05-08 Add enable/disable configuration for automatic cron export and sync (b910c8f)

  • 2025-05-08 Add wmd_qty_unit product attribute (044ec7d)

  • 2025-05-08 Version 0.4.7 (bb66bdf)

    Add enable/disable configuration for automatic cron "export and sync" Add wmd_qty_unit product attribute

0.4.6 (2025-04-28)

  • 2025-04-28 Add chili document variant download urls (c62de75)

  • 2025-04-28 Version 0.4.6 (9a92fa2)

    Add chili document variant download urls

0.4.5 (2025-04-24)

  • 2025-04-24 Add function sync_order (c7267f3)

    Read order info from wmd
    Update external state and promised_arrival_date to magento order item
    
  • 2025-04-24 Version 0.4.5 (4cab924)

    Add function sync_order Read order info from wmd Update external state and promised_arrival_date to magento order item

0.4.4 (2025-04-24)

  • 2025-04-24 Add function get_wmd_attributes (8df9763)

    Generates a list of attributes for wmd, from all attributes assigned to the product with wmd_ prefix
    Attribute type should be one of the following: "Text Field", "Text Area", "Dropdown"
    Attribute code must start with wmd_ e.g. wmd_material, the attribute_code is not transferred to wmd and only used internally
    Attribute default label is the name that is transfered to wmd e.g. Material
    Attribute value for dropdown is generated from admin/global option value e.g. Acrylic Glass - White
    

    Optimization of error handling and error display for backend users

  • 2025-04-24 Version 0.4.4 (9fd6583)

    Add function get_wmd_attributes Generates a list of attributes for wmd, from all attributes assigned to the product with wmd_ prefix Attribute type should be one of the following: "Text Field", "Text Area", "Dropdown" Attribute code must start with wmd_ e.g. wmd_material, the attribute_code is not transferred to wmd and only used internally Attribute default label is the name that is transfered to wmd e.g. Material Attribute value for dropdown is generated from admin/global option value e.g. Acrylic Glass - White Optimization of error handling and error display for backend users

0.4.3 (2025-04-23)

  • 2025-04-23 Add logging and reporting wmd api requests (e2758c1)

  • 2025-04-23 Version 0.4.3 (3e16959)

    Add logging and reporting wmd api requests

0.4.2 (2025-04-22)

  • 2025-04-22 Add wmd_product_id product attribute (594d152)

    Add wmd product tab

  • 2025-04-22 Version 0.4.2 (80cfe9b)

    Add wmd_product_id product attribute Add wmd product tab

0.4.1 (2025-04-17)

  • 2025-04-17 Add base functions for online price calculation (c94cc19)

  • 2025-04-17 Version 0.4.1 (6082345)

    Add base functions for online price calculation

0.4.0 (2025-04-07)

  • 2025-04-07 Add Translations (93fae09)

  • 2025-04-07 Add Delivery Option and Production Time (7ae10d6)

  • 2025-04-07 cleanup (702db47)

  • 2025-04-07 Add Export Order (a88d295)

  • 2025-04-07 Version 0.4.0 (b839414)

    Add basic functionalities for tests

0.3.0 (2025-04-03)

  • 2025-04-03 Add addresses to store configuration (08cffb6)

    Add vendor to store configuration Add export and sync buttons to order

  • 2025-04-03 Version 0.3.0 (107c039)

    Add addresses to store configuration Add vendor to store configuration Add export and sync buttons to order

0.2.0 (2025-04-03)

  • 2025-04-03 Add Base Client and Cron (d86d1b2)

  • 2025-04-03 Version 0.2.0 (4c332a2)

    Add Base Client and Cron

0.1.0 (2025-04-02)

  • 2025-04-02 Version 0.1.0 (b0ff480)

    Initial version