This reference gives a list of available data that are required to configure customer e-mails of the IOM. The data will be referenced to complete the related concept and cookbook. This document is aimed at project developers.
Term | Description |
---|---|
Communication partner | A 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 | The abbreviation for Intershop Order Management |
Transmission | An internal object of IOM that represents the requests and content for external communication. |
Sending an e-mail can be attached to a business process (event). The following list shows all processes where sending a customer e-mail can be useful.
Please refer to the database documentation for all processes (ProcessDO) and all invoicing types (TransmissonTypeDefDO) that are supported by the application by default.
Please also have a look at the specification of the transmission REST API. Here a complete list of all transmission types can be found - Overview - Intershop Order Management REST API.
Process | Description of E-mail Event | Type of E-mail | Transmission Type (as configured in the Database) |
---|---|---|---|
CheckOrderQueue | Send e-mail if order received. | Order confirmation | SEND_CUSTOMER_MAIL_ORDER |
PrepareOrderResponseQueue | Send e-mail if order is approved. | Order confirmation | SEND_CUSTOMER_MAIL_ORDER |
OrderTransmissionedQueue | Send e-mail if order is successfully exported for suppliers. | Order commissioned confirmation | SEND_CUSTOMER_MAIL_ORDER_COMMISSIONED |
CloseDispatchQueue | Send e-mail for delivery confirmation. | Delivery confirmation | SEND_CUSTOMER_MAIL_DISPATCH |
Send e-mail including download links for non-physical items. | A not physical item can be downloaded | SEND_CUSTOMER_MAIL_DISPATCH_IMMATERIAL | |
Send e-mail as delivery confirmation including an attached invoice. | Delivery confirmation including attached invoice | SEND_CUSTOMER_MAIL_DISPATCH_INVOICE | |
CloseReturnQueue | Send e-mail as cancellation confirmation. | Cancellation | SEND_CUSTOMER_MAIL_RETURN_CAN |
Send e-mail as recall confirmation. | Recall mail | SEND_CUSTOMER_MAIL_RETURN_RCL | |
Send e-mail in case of inversion, i.e., wrong shipping address. | Inversion mail | SEND_CUSTOMER_MAIL_RETURN_INV | |
Send e-mail on general return. | Return to sender | SEND_CUSTOMER_MAIL_RETURN_RET | |
Send e-mail in case of defects. | Return of defect items | SEND_CUSTOMER_MAIL_RETURN_DEF | |
Send e-mail as cancellation on customer demand. | Cancellation on customer demand | SEND_CUSTOMER_MAIL_RETURN_RCL010 | |
Send e-mail as cancellation due to end of life (EOL). | Cancellation due to end of life (EOL) | SEND_CUSTOMER_MAIL_RETURN_RCL020 | |
Send e-mail as cancellation due to missing stock. | Cancellation due to missing stock | SEND_CUSTOMER_MAIL_RETURN_RCL021 | |
Send e-mail if payment not received. | Payment not received | SEND_CUSTOMER_MAIL_RETURN_RCL045 | |
Send e-mail as cancellation due to suspicion of defraud. | Cancellation due to suspicion of defraud | SEND_CUSTOMER_MAIL_RETURN_RCL980 | |
Send e-mail if return including an attached credit note. | Return mail including an attached credit note | SEND_CUSTOMER_MAIL_RETURN_CREDITNOTE | |
Send e-mail if return in case of cancelation. | SEND_CUSTOMER_MAIL_RETURN_CAN_CREDITNOTE | ||
Send e-mail if return in case of recall. | SEND_CUSTOMER_MAIL_RETURN_RCL_CREDITNOTE | ||
Send e-mail if return in case of inverse. | SEND_CUSTOMER_MAIL_RETURN_INV_CREDITNOTE | ||
Send e-mail if return in case of return. | SEND_CUSTOMER_MAIL_RETURN_RET_CREDITNOTE | ||
Send e-mail if return in case of defect. | SEND_CUSTOMER_MAIL_RETURN_DEF_CREDITNOTE | ||
Send e-mail if return in case of cancelation by customer request. | SEND_CUSTOMER_MAIL_RETURN_RCL010_CREDITNOTE | ||
Send e-mail if return in case of cancelation by shop because of EOL. | SEND_CUSTOMER_MAIL_RETURN_RCL020_CREDITNOTE | ||
Send e-mail if return in case of missing payment. | SEND_CUSTOMER_MAIL_RETURN_RCL045_CREDITNOTE | ||
Send e-mail if return in case of cancelation due to suspected fraud. | SEND_CUSTOMER_MAIL_RETURN_RCL980_CREDITNOTE | ||
Send e-mail if return in case of cancelation due to missing inventory. | SEND_CUSTOMER_MAIL_RETURN_RCL021_CREDITNOTE | ||
Send e-mail if return was rejected. | Return rejected | SEND_CUSTOMER_MAIL_RETURN_REJECTED | |
Send e-mail if refund for return was done. | Return refunded | SEND_CUSTOMER_MAIL_RETURN_REFUNDED | |
CloseInvoicingQueue | Send e-mail including an invoice. | Invoice | SEND_CUSTOMER_MAIL_INVOICE |
Send e-mail including a credit note. | Credit note | SEND_CUSTOMER_MAIL_CREDITNOTE | |
Note Cronjob It must not be registered as an event. | Send e-mail as a payment reminder. | Payment reminder | SEND_CUSTOMER_MAIL_PAYMENT_REMINDER |
Note OMT | Send e-mail with an attached return label document. | Document transmission | SEND_CUSTOMER_MAIL_RETURN_LABEL |
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 Event | Used Template | |
---|---|---|
Subject | Message Content | |
A credit note was created. | creditNoteSubject.vm | creditNoteMessage.vm |
An order has been shipped. | dispatchSubject.vm | dispatchMessage.vm |
A download for a non-physical item is available. | immaterialDispatchSubject.vm | immaterialDispatchMessage.vm |
The invoice for an order was created. | invoiceSubject.vm | invoiceMessage.vm |
An order has been received initially. | orderSubject.vm | orderMessage.vm |
Reminder of an open payment. | paymentReminderSubject.vm | paymentReminderMessage.vm |
Confirmation of an order after a successful assignment of a supplier. | responseSubject.vm | responseMessage.vm |
Sending of an e-mail on demand that contains a return label. | returnLabelSubject.vm | returnLabelMessage.vm |
An order was canceled by the customer. | returnSubject_can_rcl.vm | returnMessage_can_rcl.vm |
An order was canceled by the shop because items are not deliverable. | returnSubject_rcl020mail.vm | returnMessage_rcl020mail.vm |
A return from the customer has been received. | returnSubject_ret_def_inv.vm | returnMessage_ret_def_inv.vm |
A return announcement has been created, accepted or rejected. | returnAnnouncementSubject.vm | returnAnnouncementMessage.vm |
All customer mail templates are hosted in the folder $OMS_HOME/var/templates/mails_customers/ of the backend server.
Refer to Guide - IOM Shop Onboarding for information about $OMS_HOME.
To print 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 sent, e.g., invoice information in case of an invoice mail or dispatch information in case of a dispatch e-mail. The following table represents the mapping of data that can be accessed from UserMailLO
within the template depending on an exemplary business event/ used object class.
Info
Exemplary Business Event | Java Class |
---|---|
An order was received. | ShopUserMailOrderLO |
An invoice was created after receiving an order or after a dispatch was processed. | ShopUserMailInvoicingLO |
A response to fulfill an order from the supplier was received. | ShopUserMailResponseLO |
A dispatch has been processed. | ShopUserMailDispatchLO |
A return of items was noted, i.e., by a supplier or warehouse. | ShopUserMailReturnLO |
A return request was accepted. | ShopUserMailReturnAnnouncementLO |
Note
The diagram is showing the last version and only major classes to get an impression. For details please use the attached JavaDoc.
Please inspect the attached JavaDoc for all data that can be used.
ProcessDefDO
defines a set of business processes that are available within the IOM by default. As described in Concept - IOM Customer E-Mails, the business processes can be customized by using the listed processes as an extension point. Also see Cookbook - IOM Customer Emails. Please refer to the database documentation for more details.
ObjectTypeDefDO
contains a list of types of business objects that are available in the IOM. Please refer to the database documentation for more details.
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 Reference - IOM Database Documentation.
TransmissionTypeDefDO
contains a list of types of transmission objects that are available in the IOM. TransmissionTypeDefDO
represents the requests and content for an external communication and partially a subset of configuration. The message types reflecting the transmission within the order log. RoleDefDO
contains a list of different message receivers which are predefined for each type of TransmissionTypeDefDO
. All transmission types prefixed with SEND_CUSTOMER_MAIL_ of TransmissionTypeDefDO
can be used.
Please refer to the database documentation for more details.
The final sending requires a configuration that maps sender e-mail address, templates and more key parameters to a communication partner. All transmission types use with prefix SEND_CUSTOMER_MAIL_* of TransmissionTypeDefDO can be used. Please see the databse documentation for all transmission types (TransmissionTypeDefDO) that are supported by the application by default.
Also see Database Relations to figure out the relations.
The following keys are available - some of them are mandatory:
Key (ExecutionBeanKeyDefDO.parameterKey) | ID of Key | Description | Required | Exemplary Value (ExecutionBeanValueDO.parameterValue) | Execution Bean | ||
---|---|---|---|---|---|---|---|
shopEmailAddress | 1200 | Address of the related shop that shoul be used in the e-mail. | true | info@myShop.com | shopCustomerMailSenderBean | ||
shopEmailSenderName | 1201 | Name of the related shop that should be used in the e-mail. | false | My Shop | |||
bccEmailAddress | 1202 | Blind copy address. | false | ||||
defaultReceiverAddress | 1203 | Default reciever of the e-mail if not given. | false | ||||
subjectTemplate | 1204 | Template to be used for the e-mail subject. | true | orderSubject.vm | |||
messageTemplate | 1205 | Template to be used for the e-mail body. | true | orderMessage.vm | |||
plainTextMessageTemplate | 1206 | Template to be used for the plain text version next to the e-mail body. | false | orderMessage_plainText.vm | |||
mimeType | 1206 | Mime type of the e-mail. | false | text/html | |||
attachmentFilename | 1207 | Name of an attached file. | false | yourOrder_01234.pdf |
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.