docs: add loyalty points guide (#12130)
* docs: add loyalty points guide * remove og
This commit is contained in:
1 parent
9851598dae
commit
fe48f825f8
21 files changed
+16727
-12749
No files matched your search
+14525
-12734
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -46,7 +46,7 @@ Medusa doesn't provide product reviews out-of-the-box, but Medusa's framework fa
|
|||||||
|
|
||||||
You can follow this guide whether you're new to Medusa or an advanced Medusa developer.
|
You can follow this guide whether you're new to Medusa or an advanced Medusa developer.
|
||||||
|
|
||||||
### Summary
|
## Summary
|
||||||
|
|
||||||
By following this tutorial, you'll learn how to:
|
By following this tutorial, you'll learn how to:
|
||||||
|
|
||||||
@@ -187,7 +187,7 @@ The `Review` data model has the following properties:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
|
|
||||||
Learn more about defining data model properties in the [Property Types documentation](/learn/fundamentals/data-models/property-types).
|
Learn more about defining data model properties in the [Property Types documentation](!docs!/learn/fundamentals/data-models/properties).
|
||||||
|
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
|
|||||||
@@ -6058,7 +6058,7 @@ export const generatedEditDates = {
|
|||||||
"app/nextjs-starter/guides/revalidate-cache/page.mdx": "2025-03-18T08:47:59.628Z",
|
"app/nextjs-starter/guides/revalidate-cache/page.mdx": "2025-03-18T08:47:59.628Z",
|
||||||
"app/storefront-development/cart/totals/page.mdx": "2025-03-27T14:47:14.252Z",
|
"app/storefront-development/cart/totals/page.mdx": "2025-03-27T14:47:14.252Z",
|
||||||
"app/storefront-development/checkout/order-confirmation/page.mdx": "2025-03-27T14:29:45.669Z",
|
"app/storefront-development/checkout/order-confirmation/page.mdx": "2025-03-27T14:29:45.669Z",
|
||||||
"app/how-to-tutorials/tutorials/product-reviews/page.mdx": "2025-03-19T13:00:56.901Z",
|
"app/how-to-tutorials/tutorials/product-reviews/page.mdx": "2025-04-09T14:06:19.147Z",
|
||||||
"app/troubleshooting/api-routes/page.mdx": "2025-03-21T07:17:56.248Z",
|
"app/troubleshooting/api-routes/page.mdx": "2025-03-21T07:17:56.248Z",
|
||||||
"app/troubleshooting/data-models/default-fields/page.mdx": "2025-03-21T06:59:06.775Z",
|
"app/troubleshooting/data-models/default-fields/page.mdx": "2025-03-21T06:59:06.775Z",
|
||||||
"app/troubleshooting/medusa-admin/blocked-request/page.mdx": "2025-03-21T06:53:34.854Z",
|
"app/troubleshooting/medusa-admin/blocked-request/page.mdx": "2025-03-21T06:53:34.854Z",
|
||||||
@@ -6073,6 +6073,7 @@ export const generatedEditDates = {
|
|||||||
"app/integrations/guides/algolia/page.mdx": "2025-03-27T18:00:49.330Z",
|
"app/integrations/guides/algolia/page.mdx": "2025-03-27T18:00:49.330Z",
|
||||||
"app/integrations/guides/magento/page.mdx": "2025-03-28T06:46:40.800Z",
|
"app/integrations/guides/magento/page.mdx": "2025-03-28T06:46:40.800Z",
|
||||||
"app/js-sdk/auth/overview/page.mdx": "2025-03-28T08:05:32.622Z",
|
"app/js-sdk/auth/overview/page.mdx": "2025-03-28T08:05:32.622Z",
|
||||||
|
"app/how-to-tutorials/tutorials/loyalty-points/page.mdx": "2025-04-16T07:10:11.789Z",
|
||||||
"references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.plugin/page.mdx": "2025-04-11T09:04:55.084Z",
|
"references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.plugin/page.mdx": "2025-04-11T09:04:55.084Z",
|
||||||
"references/js_sdk/admin/Customer/methods/js_sdk.admin.Customer.createAddress/page.mdx": "2025-04-11T09:04:54.010Z",
|
"references/js_sdk/admin/Customer/methods/js_sdk.admin.Customer.createAddress/page.mdx": "2025-04-11T09:04:54.010Z",
|
||||||
"references/js_sdk/admin/Customer/methods/js_sdk.admin.Customer.deleteAddress/page.mdx": "2025-04-11T09:04:54.015Z",
|
"references/js_sdk/admin/Customer/methods/js_sdk.admin.Customer.deleteAddress/page.mdx": "2025-04-11T09:04:54.015Z",
|
||||||
|
|||||||
@@ -819,6 +819,10 @@ export const filesMap = [
|
|||||||
"filePath": "/www/apps/resources/app/how-to-tutorials/tutorials/abandoned-cart/page.mdx",
|
"filePath": "/www/apps/resources/app/how-to-tutorials/tutorials/abandoned-cart/page.mdx",
|
||||||
"pathname": "/how-to-tutorials/tutorials/abandoned-cart"
|
"pathname": "/how-to-tutorials/tutorials/abandoned-cart"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"filePath": "/www/apps/resources/app/how-to-tutorials/tutorials/loyalty-points/page.mdx",
|
||||||
|
"pathname": "/how-to-tutorials/tutorials/loyalty-points"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"filePath": "/www/apps/resources/app/how-to-tutorials/tutorials/product-reviews/page.mdx",
|
"filePath": "/www/apps/resources/app/how-to-tutorials/tutorials/product-reviews/page.mdx",
|
||||||
"pathname": "/how-to-tutorials/tutorials/product-reviews"
|
"pathname": "/how-to-tutorials/tutorials/product-reviews"
|
||||||
|
|||||||
@@ -2400,7 +2400,7 @@ const generatedgeneratedCommerceModulesSidebarSidebar = {
|
|||||||
"isPathHref": true,
|
"isPathHref": true,
|
||||||
"type": "category",
|
"type": "category",
|
||||||
"title": "Server Guides",
|
"title": "Server Guides",
|
||||||
"autogenerate_tags": "server+customer",
|
"autogenerate_tags": "customer+server",
|
||||||
"autogenerate_as_ref": true,
|
"autogenerate_as_ref": true,
|
||||||
"sort_sidebar": "alphabetize",
|
"sort_sidebar": "alphabetize",
|
||||||
"description": "Learn how to use the Customer Module in your customizations on the Medusa application server.",
|
"description": "Learn how to use the Customer Module in your customizations on the Medusa application server.",
|
||||||
@@ -2417,7 +2417,7 @@ const generatedgeneratedCommerceModulesSidebarSidebar = {
|
|||||||
"loaded": true,
|
"loaded": true,
|
||||||
"isPathHref": true,
|
"isPathHref": true,
|
||||||
"type": "ref",
|
"type": "ref",
|
||||||
"title": "Loyalty Points",
|
"title": "Implement Loyalty Points",
|
||||||
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points",
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points",
|
||||||
"children": []
|
"children": []
|
||||||
}
|
}
|
||||||
@@ -5957,7 +5957,7 @@ const generatedgeneratedCommerceModulesSidebarSidebar = {
|
|||||||
"isPathHref": true,
|
"isPathHref": true,
|
||||||
"type": "category",
|
"type": "category",
|
||||||
"title": "Server Guides",
|
"title": "Server Guides",
|
||||||
"autogenerate_tags": "server+order",
|
"autogenerate_tags": "order+server",
|
||||||
"autogenerate_as_ref": true,
|
"autogenerate_as_ref": true,
|
||||||
"sort_sidebar": "alphabetize",
|
"sort_sidebar": "alphabetize",
|
||||||
"description": "Learn how to use the Order Module in your customizations on the Medusa application server.",
|
"description": "Learn how to use the Order Module in your customizations on the Medusa application server.",
|
||||||
@@ -5966,16 +5966,16 @@ const generatedgeneratedCommerceModulesSidebarSidebar = {
|
|||||||
"loaded": true,
|
"loaded": true,
|
||||||
"isPathHref": true,
|
"isPathHref": true,
|
||||||
"type": "ref",
|
"type": "ref",
|
||||||
"title": "Implement Quote Management",
|
"title": "Implement Loyalty Points",
|
||||||
"path": "https://docs.medusajs.com/resources/examples/guides/quote-management",
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points",
|
||||||
"children": []
|
"children": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"loaded": true,
|
"loaded": true,
|
||||||
"isPathHref": true,
|
"isPathHref": true,
|
||||||
"type": "ref",
|
"type": "ref",
|
||||||
"title": "Loyalty Points",
|
"title": "Implement Quote Management",
|
||||||
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points",
|
"path": "https://docs.medusajs.com/resources/examples/guides/quote-management",
|
||||||
"children": []
|
"children": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -12771,7 +12771,7 @@ const generatedgeneratedCommerceModulesSidebarSidebar = {
|
|||||||
"isPathHref": true,
|
"isPathHref": true,
|
||||||
"type": "category",
|
"type": "category",
|
||||||
"title": "Server Guides",
|
"title": "Server Guides",
|
||||||
"autogenerate_tags": "server+promotion",
|
"autogenerate_tags": "promotion+server",
|
||||||
"autogenerate_as_ref": true,
|
"autogenerate_as_ref": true,
|
||||||
"sort_sidebar": "alphabetize",
|
"sort_sidebar": "alphabetize",
|
||||||
"description": "Learn how to use the Promotion Module in your customizations on the Medusa application server.",
|
"description": "Learn how to use the Promotion Module in your customizations on the Medusa application server.",
|
||||||
@@ -12788,7 +12788,7 @@ const generatedgeneratedCommerceModulesSidebarSidebar = {
|
|||||||
"loaded": true,
|
"loaded": true,
|
||||||
"isPathHref": true,
|
"isPathHref": true,
|
||||||
"type": "ref",
|
"type": "ref",
|
||||||
"title": "Loyalty Points",
|
"title": "Implement Loyalty Points",
|
||||||
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points",
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points",
|
||||||
"children": []
|
"children": []
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -358,6 +358,15 @@ const generatedgeneratedHowToTutorialsSidebarSidebar = {
|
|||||||
"description": "Learn how to use prices from external systems for products.",
|
"description": "Learn how to use prices from external systems for products.",
|
||||||
"children": []
|
"children": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"loaded": true,
|
||||||
|
"isPathHref": true,
|
||||||
|
"type": "link",
|
||||||
|
"title": "Loyalty Points System",
|
||||||
|
"path": "/how-to-tutorials/tutorials/loyalty-points",
|
||||||
|
"description": "Learn how to implement a loyalty points system in your Medusa store.",
|
||||||
|
"children": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"loaded": true,
|
"loaded": true,
|
||||||
"isPathHref": true,
|
"isPathHref": true,
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ export const customerSidebar = [
|
|||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
title: "Server Guides",
|
title: "Server Guides",
|
||||||
autogenerate_tags: "server+customer",
|
autogenerate_tags: "customer+server",
|
||||||
autogenerate_as_ref: true,
|
autogenerate_as_ref: true,
|
||||||
sort_sidebar: "alphabetize",
|
sort_sidebar: "alphabetize",
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -85,6 +85,13 @@ While tutorials show you a specific use case, they also help you understand how
|
|||||||
description:
|
description:
|
||||||
"Learn how to use prices from external systems for products.",
|
"Learn how to use prices from external systems for products.",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "link",
|
||||||
|
title: "Loyalty Points System",
|
||||||
|
path: "/how-to-tutorials/tutorials/loyalty-points",
|
||||||
|
description:
|
||||||
|
"Learn how to implement a loyalty points system in your Medusa store.",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: "ref",
|
type: "ref",
|
||||||
title: "Magento Migration",
|
title: "Magento Migration",
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export const orderSidebar = [
|
|||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
title: "Server Guides",
|
title: "Server Guides",
|
||||||
autogenerate_tags: "server+order",
|
autogenerate_tags: "order+server",
|
||||||
autogenerate_as_ref: true,
|
autogenerate_as_ref: true,
|
||||||
sort_sidebar: "alphabetize",
|
sort_sidebar: "alphabetize",
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export const promotionSidebar = [
|
|||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
title: "Server Guides",
|
title: "Server Guides",
|
||||||
autogenerate_tags: "server+promotion",
|
autogenerate_tags: "promotion+server",
|
||||||
autogenerate_as_ref: true,
|
autogenerate_as_ref: true,
|
||||||
sort_sidebar: "alphabetize",
|
sort_sidebar: "alphabetize",
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -71,6 +71,10 @@ export const admin = [
|
|||||||
"title": "paymentCollection",
|
"title": "paymentCollection",
|
||||||
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/paymentCollection"
|
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/paymentCollection"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "plugin",
|
||||||
|
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/plugin"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "priceList",
|
"title": "priceList",
|
||||||
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/priceList"
|
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/priceList"
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ export const cart = [
|
|||||||
"title": "Send Abandoned Cart Notification",
|
"title": "Send Abandoned Cart Notification",
|
||||||
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/abandoned-cart"
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/abandoned-cart"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "Implement Loyalty Points",
|
||||||
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "Create Cart Context in Storefront",
|
"title": "Create Cart Context in Storefront",
|
||||||
"path": "https://docs.medusajs.com/resources/storefront-development/cart/context"
|
"path": "https://docs.medusajs.com/resources/storefront-development/cart/context"
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ export const customer = [
|
|||||||
"title": "Extend Customer",
|
"title": "Extend Customer",
|
||||||
"path": "https://docs.medusajs.com/resources/commerce-modules/customer/extend"
|
"path": "https://docs.medusajs.com/resources/commerce-modules/customer/extend"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "Implement Loyalty Points",
|
||||||
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "Manage Customer Addresses in Storefront",
|
"title": "Manage Customer Addresses in Storefront",
|
||||||
"path": "https://docs.medusajs.com/resources/storefront-development/customers/addresses"
|
"path": "https://docs.medusajs.com/resources/storefront-development/customers/addresses"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ export * from "./logger.js"
|
|||||||
export * from "./notification.js"
|
export * from "./notification.js"
|
||||||
export * from "./order.js"
|
export * from "./order.js"
|
||||||
export * from "./payment.js"
|
export * from "./payment.js"
|
||||||
|
export * from "./plugin.js"
|
||||||
export * from "./pricing.js"
|
export * from "./pricing.js"
|
||||||
export * from "./product-category.js"
|
export * from "./product-category.js"
|
||||||
export * from "./product-collection.js"
|
export * from "./product-collection.js"
|
||||||
|
|||||||
@@ -71,6 +71,10 @@ export const jsSdk = [
|
|||||||
"title": "paymentCollection",
|
"title": "paymentCollection",
|
||||||
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/paymentCollection"
|
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/paymentCollection"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "plugin",
|
||||||
|
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/plugin"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "priceList",
|
"title": "priceList",
|
||||||
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/priceList"
|
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/priceList"
|
||||||
|
|||||||
@@ -39,6 +39,10 @@ export const order = [
|
|||||||
"title": "Implement Quote Management",
|
"title": "Implement Quote Management",
|
||||||
"path": "https://docs.medusajs.com/resources/examples/guides/quote-management"
|
"path": "https://docs.medusajs.com/resources/examples/guides/quote-management"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "Implement Loyalty Points",
|
||||||
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "Checkout Step 5: Complete Cart",
|
"title": "Checkout Step 5: Complete Cart",
|
||||||
"path": "https://docs.medusajs.com/resources/storefront-development/checkout/complete-cart"
|
"path": "https://docs.medusajs.com/resources/storefront-development/checkout/complete-cart"
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
export const plugin = [
|
||||||
|
{
|
||||||
|
"title": "plugin",
|
||||||
|
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/plugin"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -19,6 +19,10 @@ export const promotion = [
|
|||||||
"title": "Extend Promotion",
|
"title": "Extend Promotion",
|
||||||
"path": "https://docs.medusajs.com/resources/commerce-modules/promotion/extend"
|
"path": "https://docs.medusajs.com/resources/commerce-modules/promotion/extend"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "Implement Loyalty Points",
|
||||||
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "getActionsToComputeFromPromotionsStep",
|
"title": "getActionsToComputeFromPromotionsStep",
|
||||||
"path": "https://docs.medusajs.com/resources/references/medusa-workflows/steps/getActionsToComputeFromPromotionsStep"
|
"path": "https://docs.medusajs.com/resources/references/medusa-workflows/steps/getActionsToComputeFromPromotionsStep"
|
||||||
|
|||||||
@@ -59,6 +59,10 @@ export const server = [
|
|||||||
"title": "Abandoned Cart Notification",
|
"title": "Abandoned Cart Notification",
|
||||||
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/abandoned-cart"
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/abandoned-cart"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "Loyalty Points",
|
||||||
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "Product Reviews",
|
"title": "Product Reviews",
|
||||||
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/product-reviews"
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/product-reviews"
|
||||||
|
|||||||
@@ -27,6 +27,10 @@ export const tutorial = [
|
|||||||
"title": "Abandoned Cart Notification",
|
"title": "Abandoned Cart Notification",
|
||||||
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/abandoned-cart"
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/abandoned-cart"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "Loyalty Points",
|
||||||
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/loyalty-points"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "Product Reviews",
|
"title": "Product Reviews",
|
||||||
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/product-reviews"
|
"path": "https://docs.medusajs.com/resources/how-to-tutorials/tutorials/product-reviews"
|
||||||
|
|||||||
Reference in new issue
Block a user