Document Properties
Kbid
2X8913
Last Modified
16-Jun-2022
Added to KB
08-Nov-2018
Public Access
Everyone
Status
Online
Doc Type
Guidelines, Concepts & Cookbooks
Product
  • IOM 2.9
  • IOM 3.0
  • IOM 3.1
  • IOM 3.2
  • IOM 3.3
  • IOM 3.4
  • IOM 3.5
  • IOM 3.6
  • IOM 3.7
  • IOM 4.0

Concept - IOM Customer Emails

Table of Contents


Product Version

3.0

Product To Version


Status

1 Introduction

Intershop Order Management (IOM) has the ability to send emails 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 emails within the IOM. This document is aimed at project developers.

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 Emails to Customers

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

The following diagram shows four selected use cases in which an email could be part of an actor's action.


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 - Operate Intershop Order Management 3.X (or later) for more information.

4 Processes

4.1 Overview

IOM has the ability to send emails 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 emails to customers of a shop.

4.2 Business Process Customization

The sending of emails to customers is a process that must be configured. By default, after the initial setup of IOM, there is no configuration that uses the email sending process. Using the IOM Business Process Configuration Framework and the IOM Event Framework it is possible to configure the time at which business processes and process tasks send emails to customers. Also, the shop, supplier, and type of email can be configured. For business processes where the sending of a customer email can be useful, see Processes for Email 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 email after a process task. I.e., an email to confirm an order can be sent after the process Order Capture & Validation or after a fulfillment location was assigned (Order Reservation Process). The process of sending email 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 Emails for an exemplary configuration.


4.3 Process Sending Email Notifications

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

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

Transmission

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


5 Email Templates

Email templates are used to visually design the message content of emails. Templates consist of the two major components design and content information. Design is used to give emails a pleasant view. This includes a header, a body, and a footer section, to list products and prices in tables or to visualize information on order status and more. Design will be described, e.g., on a basic HTML level using HTML and CSS. The content information itself like the 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 email 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 junk-mail classification at several mail clients.

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

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 that can be used as content information by default see Reference - IOM Customer Emails.

5.3 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 email that should be sent, e.g., invoice information in case of an invoice mail or dispatch information in case of a dispatch email. Please see Reference - IOM Customer Emails for more information.

Configuration of Email Sending

5.4 Basic Steps

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

  1. In the Event Registry Configuration defines 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 email events only.
  2. The MailEvent Registry Configuration defines which type of email should be sent and which decision bean should be executed, i.e., a dispatch email when a dispatch has been processed.
  3. In the Mail Transmission Configuration define a set of parameters that are used within the email creation. This includes the sender's email address, the sender's name as well as the template names for the subject, email content, and more. The Mail Template Locations will be referenced here for the selected type of email, 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.5 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.

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 method(s) of the bean can check simple facts like existing attributes, but also complex facts.

A default decision bean - SendEmailDeciderBean - is available. For implementing a custom decision bean please see Cookbook - IOM Customer Emails.

6.2 Execution Bean Keys

The final sending requires a configuration that maps the sender's email address, templates, and more key parameters to a communication partner. Please see Reference - IOM Customer Emails and Cookbook - IOM Customer Emails 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
Tickets