This document aims to define the most common communications that can happen with a customer and intends to:
- Define recommendations for these different scenarios.
- Define an integration with the generated messages from your OMS.
Order confirmation refers to the usual communication that a customer gets when a purchase is done. Customer receives an email with information about:
- Order lines.
- Planned backorder.
- Remorse period, depending on the existing lines.
It is highly recommended to send this email from the Frontend, which should avoid synchronization problems or delay so the customer receives information right after the purchase is done.
For this communication your OMS uses the magento.sales.order_management.created message.
Once the shipment is delivered to the carrier provider, a communication (email, sms, instant messages) arrives to the customer with all the relevant information related to that shipment. For example:
- Tracking number and/or tracking link.
- Carrier Name.
- Affected order lines.
- Delivery address.
It is highly recommended that this communication includes a link containing information like a detailed info for the shipment, fulfillment.
For this communication your OMS uses the event magento.logistics.fulfillment_management.customer_shipment_done.
Order cancellation occurs when an order fulfils two conditions: Status=Logistic Complete and Status.code==CANCELLED.
For this communication your OMS uses the event magento.sales.order_management.updated.
A return process has different stages:
- Return authorized by Customer Service.
- Return received by warehouse.
- Refund triggered for customer.
Return authorized by Customer Service
Refers when a customer contacts the CS in order to start a RMA process, once the customer service agent check that items are electable to be returned the customer should receive a communication authorizing it and with the instructions to send the goods to the warehouse.
For this communication your OMS uses the event magento.postsales.return_management.updated. Specifically when the value is Status.code==REQUESTED in the content of the message.
Return received by the warehouse
Refers when the goods have been checked and received by the warehouse. This communication could reflect the totality of the initiated return, or a part of it, for example:
- Customer did not send all items.
- Items arrive in poor condition.
For this communication your OMS uses the event magento.postsales.return_management.received. Specifically when the value is Status.code==APPROVED in the content of the message.
Refund triggered for customer
When the system triggers a refund to a customer. Your communication depends on the used method of payment, this could take days to be displayed in the customer bank account.
For this communication your OMS uses the event magento.postsales.refund_management.updated. Specifically when the value is Status.code==PENDING RELEASE in the content of the message.
Related to this process, is required to define the refund_type, which depends on the origin of the payment event. Related to this process, is required to define the refund_type, which depends on the origin of the payment event:
- Cancellation A refund generated due to a cancellation of certain order lines when the capture applied before the shipment stage. For example, an order with two lines, where both lines are captured before logistics, and the warehouse cancels one of those lines due to an stock issue.
- Return A refund generated because the customer generates a return of certain lines. The calculation of the refund amount is directly based on the merchant configuration (shipping cost policy, service policy, or other policies). In this case, the message should contain the id of the return that generated it.
- Appeasement A discretionary credit provided by a customer service agent. For example, customer pays for a next day delivery, and due to a specific issue, customer contacts customer service, and they decide to return part of the shipping cost.