Document Properties
Kbid2X8913
Last Modified22-Jun-2020
Added to KB08-Nov-2018
Public AccessEveryone
StatusOnline
Doc TypeGuidelines, Concepts & Cookbooks
Product
  • IOM 2.9
  • IOM 2.15
  • IOM 2.16
  • IOM 2.17
  • IOM 3.0

Concept - IOM Customer E-mails

1 Introduction

Intershop Order Management (IOM) has the ability to send e-mails to customers of a shop at various times, e.g., on order creation or the dispatch or return of products. This document describes the basic concepts of how to manage customer e-mails within the IOM. The target audience are partners, consultants and developers of Intershop.

1.1 Glossary

TermDescription
Communication partnerA relation from IOM to an external 3rd-party system with which a defined communication exists, e.g., a shop, supplier or payment provider.
Also named partner in this document.
IOM Business Process Configuration Framework

A framework to extend or modify the default business processes of IOM

IOM Event Framework

A framework to extend or modify the default business processes of IOM based on events

IOMThe abbreviation for Intershop Order Management
TransmissionAn internal object of IOM that represents the requests and content for an external communication

1.2 References

2 Sending E-mails to Customers

Today, e-mails are indispensable in contact with customers. In the context of e-commerce, e-mails enable business owners and systems to interact automatically with customers and provide information about process statuses. Furthermore, e-mails are legally relevant. Depending on the requirements of the business owner, e-mails are sent at various times within a business process. Also design and branding are defined by the business owner. This leads to the need of a high flexibility of customer e-mails features of the IOM.

The following diagram shows four selected use cases in which an e-mail could be part of an actors action.

IOM Customer Emails - Overview

3 Preconditions

The IOM requires an existing mail server that processes internal and external emails sent from IOM via the SMTP protocol. Please see Guide - Setup Intershop Order Management 2.9 (or later) for more information.

4 Processes

4.1 Overview

IOM has the ability to send e-mails to customers of a shop at various times, e.g., on order creation or the dispatch or return of products and more. Therefore several configurations are required to fulfill the requirements of the business owner like domain, time to send, custom preconditions or design.

The following sections will explain the major concepts and how they are used to send e-mails to customers of a shop.

4.2 Business Process Customization

The sending of e-mails to customers is a process that must be configured. By default, after the initial setup of IOM, there is no configuration that uses the e-mail sending process. Using the IOM Business Process Configuration Framework and the IOM Event Framework it is possible to configure the time at which business process and process task send e-mails to customers. Also the shop, supplier and type of e-mail can be configured. For business processes where the sending of a customer e-mail can be useful, see Processes for E-mail Events.

The following model shows the standard Order Business Process of IOM which controls the complete order capture, validation, approval, routing and submission of an order to the selected fulfillment location. As an example, several points of customization of the business process are marked which show the additional sending of an e-mail after a process task. I.e., an e-mail to confirm an order can be send after the process Order Capture & Validation or after a fulfillment location was assigned (Order Reservation Process). The process of sending e-mail notifications is provided by the IOM and can be used as seen in the diagram.

Business Process Customization

This exemplary customization can be configured in any other business process of the IOM too. Please see Cookbook - IOM Customer E-Mails for an exemplary configuration.


OMS BP - 01 - Order Business Process

4.3 Process Sending E-mail Notifications

The following diagram shows the major tasks of the process that sends e-mail notifications to customers. Essentially, it consists of three steps:

  1. If configured for a partner relation to send e-mails, a transmission object will be created.
  2. The method of the transmission will be determined.
  3. If transmission method is PUSH, the transmission will be rendered and send to the customer. For rendering configured templates are used.
    Other methods will not end in a rendering and sending at this time.

Transmission

A transmission represents the requests and content for an external communication. Here an e-mail is represented by an instance of ShopCustomerMailTransmissionDO.

OMS BP - Send E-mail Notification Process


5 E-mail Templates

E-mail templates are used to visually design the message content of e-mails. Templates consist of the two major components design and content information. Design is used to give e-mails a pleasant view. This includes a header, a body and a footer section, to list products and prices in tables or to visualize information of order status and more. Design will be described, e.g., on a basic HTML-level using HTML and CSS. The content information itself like order number, customer addresses or total sales prices represent the major information. Content information is inserted into templates using variables. Both, design and content information, are mixed within the templates and transformed into the final e-mail text by a template engine.

An additional plain text version can be added to the designed HTML. Therefore a separate template can be addressed.

Using a plain text version is optional, but it is recommended to prevent from junk-mail classification at several mail clients.

IOM uses the Java-based template engine of The Apache Velocity Project | Velocity Engine 1.7.

5.1 Template Orchestration

Templates can be organized within a complex folder structure if preferred. For example different companies/brands can have their own folders. They can be restricted from foreign access.

For example, in the best case, copying a brand's folder will create a new set of templates where just some variables must be changed.

5.2 Default Templates


IOM comes with an initial set of customer mail templates that can be used as a blueprint for customization. See var/templates/mails_customers/*.vm to inspect the templates.

The following table lists all initial templates. Each mail requires a template for subject and a template for the message content.

Exemplary Business EventUsed Template
SubjectMessage Content
A credit note was created.creditNoteSubject.vmcreditNoteMessage.vm
An order has been shipped.dispatchSubject.vmdispatchMessage.vm
A download for a non-physical item is available.immaterialDispatchSubject.vmimmaterialDispatchMessage.vm
The invoice for an order was created.invoiceSubject.vminvoiceMessage.vm
An order has been received initially.orderSubject.vmorderMessage.vm
Reminder of an open payment.paymentReminderSubject.vmpaymentReminderMessage.vm
Confirmation of an order after a successful assignment of a supplier.responseSubject.vmresponseMessage.vm
Sending of an e-mail on demand that contains a return label.returnLabelSubject.vmreturnLabelMessage.vm
An order was canceled by the customer.returnSubject_can_rcl.vmreturnMessage_can_rcl.vm
An order was canceled by the shop because items are not deliverable.returnSubject_rcl020mail.vmreturnMessage_rcl020mail.vm
A return from the customer has been received.returnSubject_ret_def_inv.vmreturnMessage_ret_def_inv.vm
A return announcement has been created, accepted or rejected.returnAnnouncementSubject.vmreturnAnnouncementMessage.vm

For a list of variables which can be used as content information by default see Reference - IOM Customer E-mails.

5.3 Register Templates - Deprecated

Removed with 2.9.5.0

The template registration process was removed with version 2.9.5.0.

The registration of template files is not required any longer but can still be used to assign the location of templates to configurations. Therefore call the URI http://<host>:<port>/control/InitializeDocumentLayouts of a running back-end server. The call will register all new locations of template files. The templates can then be referenced in configurations. Alternatively, a redeploy of the artifact bakery.control can be used.

Note

Template storage - Parsing on the fly

With this version, templates are not parsed and stored to the database any longer (only their location is stored). They will be parsed on the fly if requested.

Only the first level of the template folder is registered.

5.4 Template Data

To print content information into the templates, a predefined object UserMailLO is available. UserMailLO offers a large set of information depending on the type of e-mail that should be send, e.g., invoice information in case of an invoice mail or dispatch information in case of a dispatch e-mail. Please see Reference - IOM Customer E-mails for more information.To support images or other resources at the e-mail client, the variable mailResourcesBaseUrl can be used. Therefore the cluster property is.oms.mail.resources.base.url must be set, see Guide - Setup Intershop Order Management 2 (or later).

Configuration of E-mail Sending

5.5 Basic Steps

The sending of e-mails to customers is a process that must be configured. By default, after the initial setup of IOM, there is no configuration that uses the e-mail sending process. The following list shows the major steps of how to configure processes and properties to enable a customized sending of customer e-mails. The attached diagram is an excerpt of database entities that shows the relations of the configurations. Also see Cookbook - IOM Customer E-Mails for a detailed guide including selected solutions and Guide - IOM Shop Onboarding, section Customer E-mails.

  1. In the Event Registry Configuration define a listener that will act each time the business process event occurs. The event listener has to be of type MailEventManagerBean (MAIL_EVENT_MANAGER_BEAN), which will listen especially for e-mail events only.
  2. The MailEvent Registry Configuration defines which type of e-mail should be sent and which decision bean should be executed, i.e., a dispatch e-mail when a dispatch has been processed.
  3. In the Mail Transmission Configuration define a set of parameters that are used within the e-mail creation. This includes the sender's email address, the sender's name as well as the template names for subject, e-mail content and more. The Mail Template Locations will be referenced here for the selected type of e-mail, i.e., dispatchSubject.vm, dispatchMessage.vm and dispatchMessage_plainText.vm for the processed dispatch. This configuration has to be linked to a Communication Partner exclusively, a shop for example.
    If the template is located in a sub-folder it must be configured directly.

5.6 Database Relations

The following diagram is an excerpt of database entities that shows the relations of the configurations which are used to enable the sending of e-mails. Also see Configuration of E-mail Sending for more details about configuration and Reference - IOM Database Documentation.

Customer Email Configuration - ERM

6 Further Notes

6.1 Decision Beans

A decision bean is a filter that reflects whether an action should be processed or not. The major parameter is a business object like an order, a dispatch or a return. The methods of the bean can check simple facts like existing e-mail addresses but also complex facts. A default decision bean - SendEmailDeciderBean - is available. For implementing a custom decision bean please see Cookbook - IOM Customer E-Mails.

6.2 Execution Bean Keys

The final sending requires a configuration that maps sender e-mail address, templates and more key parameters to a communication partner. Please see Reference - IOM Customer E-mails and Cookbook - IOM Customer E-Mails for more information.

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets