These endpoints handle customer-facing wishlist management, product reviews, and personalised product recommendations. All endpoints are guest-accessible and accept a Medusa customer ID for personalised responses.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/aerele/medusa_integration/llms.txt
Use this file to discover all available pages before exploring further.
Handle wishlist
POST Guestcustom_medusa_wishlist) on the Website Item, keyed by medusa_customer_id. Each item in the request is processed independently and returns its own status.
Request body
One or more Medusa product IDs to process. A single string is treated as a one-item list.
Medusa customer ID of the wishlist owner.
Set to
1 to add items to the wishlist. Mutually exclusive with is_remove.Set to
1 to remove items from the wishlist. Mutually exclusive with is_add.Response
Returns an array with one entry per item code processed.The Medusa product ID that was processed.
Result for this item:
"success", "skipped", or "error".Human-readable description of the result. Examples:
"Customer added to wishlist""Customer removed from wishlist""Customer already in wishlist"(when adding a duplicate)"Customer not in wishlist"(when removing a non-existent entry)"Item not found"(when the Medusa ID does not match any Website Item)
Example
Add review to website item
POST Guestcustomer_id), the review is updated in place. The custom_overall_rating on the Website Item is recalculated after every save.
Ratings are stored internally as rating / 5 (a 0–1 float) but accepted as integers 1–5.
To update only likes or dislikes on an existing review, pass
likes or dislikes along with the review_id. The endpoint will skip the rating update and return immediately after saving the like/dislike counts.Request parameters
Medusa product ID. Resolved to the Website Item via
medusa_id.Medusa customer ID. Used to identify existing reviews.
Display name of the reviewer.
Review text body.
External review ID from the Medusa storefront. Stored for reference.
Star rating from 1 to 5. Minimum value is 1 (values below 1 are clamped to 1). Stored internally as
rating / 5.Review date in
YYYY-MM-DD format.Number of likes on an existing review. When provided alongside
review_id, only likes/dislikes are updated.Number of dislikes on an existing review.
Response
Returns a plain string on success:"Review added successfully"— a new review was created."Review updated successfully"— an existing review was updated.
Example
Fetch relevant items
POST Guest- Variant items — other Website Items sharing the same parent (
custom_parent_website_item). - Manually linked recommendations — items listed in the
recommended_itemschild table of the product. - Same-collection items — all other published products in the same item group and its descendants, sorted by total sales quantity (descending).
Request body
Medusa product ID of the product being viewed.
Collection title (ERPNext Item Group name) of the product. Used to fetch same-collection items.
Medusa customer ID. Used to set
is_wishlisted on each returned item.Response
Returns an array of product objects. The source product (product_id) is excluded from the results.
Medusa product ID.
Medusa variant ID.
Product display name.
ERPNext item code.
Item group name.
Absolute image URL.
Overall rating (0–5).
1 if wishlisted, 0 otherwise.
Whether the item has child variants.
Standard selling price (0 if hidden).
Customer-specific price, or 0.
Example
Fetch relevant collection products
POST GuestThe Product Collection is refreshed by the
add_top_selling_items_to_collection scheduled job. The contents reflect historical sales totals from submitted Sales Invoices.Request body
ERPNext Item Group name. The endpoint walks up the group hierarchy to find the top-level category (
Dental, Medical, Infection Control, or Medical Laboratory IVD) and returns products curated for that category.Response fields
The resolved top-level category name (e.g.
"Dental").Products sorted by sales count, descending.