Skip to content

Reviews, wishlist and receipts ​

13. Reviews ​

Source: routes/v1/review_route.js → review_controller.js, plus user_review_route.ts.

#EndpointAuthHandlerParams
13.1POST /api/v1/user/mobile/reviewCustomeraddReviewbody payload: overallRating ✅ (1–5), productId ✅ (number), authCode ✅ (string), title, text, assets (string)
13.2PUT /api/v1/user/mobile/reviewCustomerupdateReviewbody payload: reviewId ✅ (number), overallRating (1–5), title, text, assets
13.3GET /api/v1/user/mobile/review/:reviewIdCustomergetReviewByIdpath reviewId (number) ✅
13.4GET /api/v1/mobile/review/product/:productIdBrandgetAllReviewspath productId (number) ✅
13.5POST /api/v1/mobile/review/product-slugBrandgetAllReviewsByProductSlugbody payload: slug ✅ (string)
13.6GET /api/v1/user/mobile/review/product/:productId/allowCustomercheckReviewForProductpath productId (number) ✅ — call before showing the review form

13.7 POST /api/v1/user/mobile/user-review/create — metric-based review ​

Auth: Customer · Handler: addUserReview (user_review_controller.ts) Body payload: overall_rating ✅ (1–5), productId ✅ (number), review_metric ✅ (array of { id ✅, rating ✅, comments }), title, description.

13.1/13.2 (review) and 13.7 (user-review) are two different review systems on different tables. authCode is mandatory for 13.1 — you can only review a product you scanned.


14. Wishlist ​

Source: routes/v1/wishlist_route.js → wishlist_controller.js · Auth: Customer on all.

EndpointHandlerParams
POST /api/v1/user/mobile/wishlist/createaddToWishlistbody payload: productId ✅ (number)
GET /api/v1/user/mobile/wishlistgetUserWishlistnone
DELETE /api/v1/user/mobile/wishlist/:wishlistIdremoveWishlistpath wishlistId (number) ✅
DELETE /api/v1/user/mobile/wishlistemptyWishlistnone

15. Receipts ​

Source: routes/v1/receipt_route.js → receipt_controller.js · Auth: Customer on all.

15.1 POST /api/v1/user/mobile/receipt ​

Handler: addUserReceipt · Body payload:

fieldtypereqnotes
userReceiptstring✅receipt image URL (upload it first via §20)
sourceenum✅values of receipt_source_types: self, meadow, retail
listed_hub_idnumber—store it was bought from
brl_idnumber—links the receipt to a scan

15.2 GET /api/v1/user/mobile/user-receipts ​

Handler: getReceiptsForCustomer · Query: limit, offset, status (keys of receiptStatusTypes: PENDING, APPROVED, REJECTED).

15.3 GET /api/v1/user/mobile/receipt-count ​

Handler: getAllReceiptStatusCount · No params. Counts per status.

Batch platform, Shopify app and API documentation