196 lines
7.0 KiB
Plaintext
196 lines
7.0 KiB
Plaintext
import { AcademicCapSolid, BoltSolid } from "@medusajs/icons"
|
|
|
|
export const metadata = {
|
|
title: `Commerce Automation Recipe`,
|
|
}
|
|
|
|
# {metadata.title}
|
|
|
|
This recipe provides the general steps to implement commerce automation with Medusa.
|
|
|
|
## Overview
|
|
|
|
Commerce automation is essential for businesses to save costs, provide a better user experience, and avoid manual, repetitive tasks that lead to human errors. Businesses utilize automation in different domains, including marketing, customer support, and order management.
|
|
|
|
Medusa provides the necessary architecture and tools to implement commerce automation for order management, customer service, and more. You can perform an asynchronous action when an event is triggered, schedule a job that runs at a specified interval, and more.
|
|
|
|
---
|
|
|
|
## Re-Stock Notifications
|
|
|
|
Customers may be interested in a product that is currently out of stock. The following guide explains how to add restock notifications in your Medusa application:
|
|
|
|
<Card
|
|
href="/recipes/commerce-automation/restock-notification"
|
|
title="Restock Notification Guide"
|
|
text="Learn how to implement restock notifications in the Medusa application."
|
|
icon={AcademicCapSolid}
|
|
/>
|
|
|
|
---
|
|
|
|
## Automated Customer Support
|
|
|
|
Customer support is essential to build a store's brand and customer loyalty. This can include integrating with third-party services or automating notifications sent to customers when changes happen related to their orders, returns, exchanges, and more.
|
|
|
|
You can use the Notification Module to send notifications when an action is triggered, such as when a customer or their order is updated.
|
|
|
|
<Note title="Tip">
|
|
|
|
The [Events reference](../../events-reference/page.mdx) shows an extensive list of events triggered for each commerce module.
|
|
|
|
</Note>
|
|
|
|
Medusa also provides Notification Module Providers that integrate with third-party services, such as SendGrid.
|
|
|
|
<CardList items={[
|
|
{
|
|
href: "/architectural-modules/notification",
|
|
title: "Notification Module",
|
|
text: "Learn about the Notification Module.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
{
|
|
href: "!docs!/learn/fundamentals/events-and-subscribers",
|
|
title: "Create Subscriber",
|
|
text: "Learn how to create a subscriber to handle events.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
]} />
|
|
|
|
---
|
|
|
|
## Automatic Data Synchronization
|
|
|
|
As your commerce store grows, you'll likely need to synchronize data across different systems. For example, you need to synchronize data with an ERP system or a data warehouse.
|
|
|
|
To implement that:
|
|
|
|
- Create a workflow that implements the synchronization steps, along with retry and rollback logic.
|
|
- Create a scheduled job that executes the workflow automatically at the specified time pattern.
|
|
|
|
<Card
|
|
href="!docs!/learn/fundamentals/scheduled-jobs"
|
|
title="Create a Scheduled Job"
|
|
text="Learn how to create a scheduled job in Medusa."
|
|
icon={AcademicCapSolid}
|
|
/>
|
|
|
|
---
|
|
|
|
## Order Management Automation
|
|
|
|
Using Medusa's architecture and commerce features, you can automate a large amount of order management functionalities.
|
|
|
|
To handle events within an order flow and automate actions, create a subscriber. For example, create a subscriber that listens to the `order.placed` event and automatically creates a fulfillment if predefined conditions are met.
|
|
|
|
<CardList items={[
|
|
{
|
|
href: "!docs!/learn/fundamentals/events-and-subscribers",
|
|
title: "Create a Subscriber",
|
|
text: "Learn how to create a subscriber in Medusa.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
{
|
|
href: "/events-reference",
|
|
title: "Events Reference",
|
|
text: "Check out triggered events by each commerce module.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
]} />
|
|
|
|
---
|
|
|
|
## Automated RMA Flow
|
|
|
|
Businesses must optimize their Return Merchandise Authorization (RMA) flow to ensure a good customer experience and service. By automating the flow, customers request to return their received items, and businesses quickly support them.
|
|
|
|
Medusa's commerce features are geared towards automating RMA flows and ensuring a good customer experience:
|
|
|
|
- Customers can create order returns from the storefront. Merchants then receive a notification and handle the return from the Medusa Admin.
|
|
- Merchants can make order changes and request the customer's approval for them. The customer can also send any additional payment if necessary.
|
|
- Every order-related action triggers an event, which you can listen to with a subscriber. This allows you to handle order events to automate actions.
|
|
|
|
<CardList items={[
|
|
{
|
|
href: "/commerce-modules/orders",
|
|
title: "Order Module",
|
|
text: "Learn about the Order Module and its features.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
{
|
|
href: "!docs!/learn/fundamentals/events-and-subscribers",
|
|
title: "Create a Subscriber",
|
|
text: "Learn how to create a subscriber in Medusa.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
]} />
|
|
|
|
---
|
|
|
|
## Customer Segmentation
|
|
|
|
Businesses use customer segmentation to organize customers into different groups and then apply different price rules to these groups.
|
|
|
|
Medusa's commerce modules provide the necessary features to implement this use case:
|
|
|
|
- The Customer Module provides a customer groups feature to organize customers into customer groups.
|
|
- The Pricing Module provides the features to specify prices based on a condition, such as the group of the customer.
|
|
|
|
For example, to group customers with over twenty orders:
|
|
|
|
1. Create a subscriber that listens to the `order.placed` event.
|
|
2. If the customer has more than 20 orders, add them to the VIP customer group.
|
|
|
|
<CardList items={[
|
|
{
|
|
href: "/commerce-modules/customer",
|
|
title: "Customer Module",
|
|
text: "Learn about the Customer Module and its features.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
{
|
|
href: "/commerce-modules/pricing",
|
|
title: "Pricing Module",
|
|
text: "Learn about the Pricing Module and its features.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
{
|
|
href: "!docs!/learn/fundamentals/events-and-subscribers",
|
|
title: "Create a Subscriber",
|
|
text: "Learn how to create a subscriber in Medusa.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
{
|
|
href: "/events-reference",
|
|
title: "Events Reference",
|
|
text: "Check out triggered events by each commerce module.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
]} />
|
|
|
|
---
|
|
|
|
## Marketing Automation
|
|
|
|
In your commerce store, you may utilize marketing strategies that encourage customers to make purchases. For example, you send a newsletter when new products are added to your store.
|
|
|
|
To do that, create a subscriber that listens to the `product.created`, and send an email to subscribed customers with tools like SendGrid or Mailchimp.
|
|
|
|
You can also create a scheduled job that checks whether the number of new products has exceeded a set threshold, then sends out the newsletter.
|
|
|
|
<CardList items={[
|
|
{
|
|
href: "!docs!/learn/fundamentals/events-and-subscribers",
|
|
title: "Create a Subscriber",
|
|
text: "Learn how to create a subscriber in Medusa.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
{
|
|
href: "!docs!/learn/fundamentals/scheduled-jobs",
|
|
title: "Scheduled Jobs",
|
|
text: "Learn how to create a scheduled job in Medusa.",
|
|
icon: AcademicCapSolid,
|
|
},
|
|
]} />
|