Skip to content

Catalog

All routes below are Public on http://localhost:5000. Localized strings follow Accept-Language (ar / ar-* → Arabic, otherwise English).

Bootstrap

MethodPathPurpose
GET/v1/initLaunch snapshot
GET/v1/homeHome sections (slides, shelves, offers)

Call GET /v1/init on app launch. Auth is optional: send Bearer when signed in.

results on init

FieldMeaning
store.name, store.taglineAlready localized
store.maintenanceMode, store.maintenanceMessageWhen true, block cart/order/wishlist writes
store.paymentMethod toggles (checkout still only cod / wallet)
store.loyalty, store.proProgram flags and perks
store.assistant.enabled, store.assistant.allowGuestsWhether to show chat / allow guests
store.supportContact, store.socialMediaFooter / contact
userPublic customer, or null
wishlistProductIdsFor heart state; empty when guest
cart.offersOffers currently applicable to the cart
deliveryCurrent mode (delivery | pickup), branch, zone (fees in fils), optional addressId
content.popupsLocalized marketing popups

Categories, brands, collections

MethodPathPurpose
GET/v1/categoriesCategory tree / list
GET/v1/categories/:slugCategory detail
GET/v1/brandsBrand list
GET/v1/brands/:slugBrand detail
GET/v1/collectionsCollection list
GET/v1/collections/:slugCollection detail

Catalog reads use slug, not id.

Products

MethodPathAuthPurpose
GET/v1/productsPublicSearch / filter list
GET/v1/products/:slugPublicProduct detail
GET/v1/products/:slug/reviewsPublicReviews + rating average

List query

QueryNotes
page, limitPagination (limit max 100)
categorySlug, brandSlug, collectionSlugScope
searchFree text
tagTag slug
inStock, onSaleBooleans
minPrice, maxPriceFils
sortnewest | price_asc | price_desc | name | discount_desc

Response results is { data, pagination }. Prices on cards are fils. Availability can change after delivery / pickup is selected.

Recipes, offers, pages, plans

MethodPathPurpose
GET/v1/recipesRecipe list
GET/v1/recipes/:slugRecipe detail
GET/v1/offersActive offers (branch-aware when delivery is selected)
GET/v1/pages/:slugCMS / legal page (about, faq, privacy, …)
GET/v1/subscription-plansPublic Pro plans + enabled + perks

Reviews (write)

MethodPathAuthBody
POST/v1/reviewsCustomerproductId, orderId, rating, optional title, body
PATCH/v1/reviews/:reviewIdCustomerPartial rating, title, body

Customers can only review products from their own orders. rating is 1–5.