YeboShops Route Map
Complete API endpoint documentation for the YeboShops backend.
Route Overview
All routes are mounted from app.ts:
typescript
// Authentication & Users
app.use('/auth', authRoutes);
app.use('/users', userRoutes);
// Shops & Products
app.use('/shops', shopRoutes);
app.use('/products', productRoutes);
app.use('/comments', commentRoutes);
// Search & Discovery
app.use('/search', searchRoutes);
app.use('/search/conversational', conversationalSearchRoutes);
app.use('/feed', feedRoutes);
// Payments & Wallet
app.use('/secure-payments', securePaymentRoutes);
app.use('/wallet', walletRoutes);
// Communication
app.use('/chats', chatRoutes);
app.use('/conversations', conversationsRoutes);
app.use('/notifications', notificationRoutes);
// Social Features
app.use('/follows', followRoutes);
app.use('/shares', sharesRoutes);
app.use('/unified-action', unifiedActionRoutes);
// Admin & System
app.use('/admin', adminRoutes);
app.use('/reports', reportRoutes);
app.use('/countries', countryRoutes);
app.use('/media', mediaRoutes);
app.use('/webhooks', webhookRoutes);
app.use('/internal', internalRoutes);
// Dashboard & Blog
app.use('/api/dashboard', dashboardRoutes);
app.use('/api/blog', blogRoutes);
app.use('/api/billing', billingRoutes);Authentication Routes /auth
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | /signup | Register new user | ❌ |
POST | /verify-signup-otp | Verify OTP for signup | ❌ |
POST | /resend-signup-otp | Resend signup OTP | ❌ |
POST | /login | Login with phone/password | ❌ |
POST | /refresh | Refresh access token | 🔒 |
POST | /logout | Logout user | 🔒 |
POST | /request-password-reset | Request password reset | ❌ |
POST | /verify-password-reset-otp | Verify reset OTP | ❌ |
POST | /reset-password | Reset password | ❌ |
User Routes /users
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /me | Get current user profile | 🔒 |
PUT | /me | Update current user | 🔒 |
DELETE | /me | Delete account | 🔒 |
GET | /me/stats | Get user statistics | 🔒 |
GET | /me/favorites | Get favorited products | 🔒 |
GET | /me/bookmarks | Get bookmarked products | 🔒 |
GET | /me/follows | Get followed shops | 🔒 |
GET | /:userId | Get user by ID | ❌ |
GET | /:userId/shops | Get user's shops | ❌ |
Shop Routes /shops
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | / | Create new shop | 🔒 |
GET | / | List all shops | ❌ |
GET | /my | Get current user's shops | 🔒 |
GET | /:shopId | Get shop by ID | ❌ |
GET | /slug/:slug | Get shop by slug | ❌ |
PUT | /:shopId | Update shop | 🔒 |
DELETE | /:shopId | Delete shop | 🔒 |
GET | /:shopId/products | Get shop's products | ❌ |
GET | /:shopId/stats | Get shop statistics | 🔒 |
GET | /:shopId/reviews | Get shop reviews | ❌ |
POST | /:shopId/reviews | Create shop review | 🔒 |
Product Routes /products
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | / | Create new product | 🔒 |
GET | / | List products | ❌ |
GET | /feed | Get product feed | ❌ |
GET | /:productId | Get product by ID | ❌ |
GET | /slug/:slug | Get product by slug | ❌ |
PUT | /:productId | Update product | 🔒 |
DELETE | /:productId | Soft delete product | 🔒 |
POST | /:productId/restore | Restore deleted product | 🔒 |
GET | /:productId/comments | Get product comments | ❌ |
POST | /:productId/comments | Add comment | 🔒 |
GET | /:productId/stats | Get product statistics | ❌ |
GET | /:productId/similar | Get similar products | ❌ |
Secure Payment Routes /secure-payments
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | / | Create secure payment | 🔒 |
GET | / | Get user's payments | 🔒 |
GET | /:paymentId | Get payment details | 🔒 |
POST | /:paymentId/accept | Accept payment (seller) | 🔒 |
POST | /:paymentId/refuse | Refuse payment (seller) | 🔒 |
POST | /complete | Complete with code | 🔒 |
POST | /:paymentId/dispute | Open dispute | 🔒 |
POST | /:paymentId/cancel | Cancel payment | 🔒 |
GET | /lookup/:code | Lookup by completion code | 🔒 |
Wallet Routes /wallet
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | / | Get wallet info | 🔒 |
GET | /balance | Get balance details | 🔒 |
GET | /transactions | Get transaction history | 🔒 |
POST | /deposit | Deposit funds | 🔒 |
POST | /withdraw | Withdraw funds | 🔒 |
Chat Routes /chats
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | / | Get user's chats | 🔒 |
POST | / | Create/send message | 🔒 |
GET | /:chatId | Get chat by ID | 🔒 |
GET | /:chatId/messages | Get chat messages | 🔒 |
POST | /:chatId/read | Mark messages as read | 🔒 |
GET | /check | Check chat exists | 🔒 |
GET | /unread | Get unread counts | 🔒 |
Search Routes /search
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | / | Search products | ❌ |
GET | /products | Search with filters | ❌ |
GET | /shops | Search shops | ❌ |
GET | /suggestions | Get search suggestions | ❌ |
GET | /trending | Get trending searches | ❌ |
POST | /conversational | AI conversational search | ❌ |
Feed Routes /feed
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | / | Get product feed | ❌ |
GET | /personalized | Get personalized feed | 🔒 |
GET | /trending | Get trending products | ❌ |
GET | /categories | Get category feed | ❌ |
Unified Action Routes /unified-action
Single endpoint for common actions (like, favorite, bookmark, follow):
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | / | Perform action | 🔒 |
Request Body:
typescript
{
action: 'like' | 'unlike' | 'favorite' | 'unfavorite' |
'bookmark' | 'unbookmark' | 'follow' | 'unfollow',
entityType: 'product' | 'shop' | 'user',
entityId: string
}Notification Routes /notifications
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | / | Get notifications | 🔒 |
GET | /unread-count | Get unread count | 🔒 |
POST | /:id/read | Mark as read | 🔒 |
POST | /read-all | Mark all as read | 🔒 |
DELETE | /:id | Delete notification | 🔒 |
Admin Routes /admin
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /stats | Platform statistics | 🔒 Admin |
GET | /users | List all users | 🔒 Admin |
GET | /shops | List all shops | 🔒 Admin |
GET | /products | List all products | 🔒 Admin |
GET | /payments | List all payments | 🔒 Admin |
PUT | /users/:id | Update user | 🔒 Admin |
PUT | /shops/:id | Update shop | 🔒 Admin |
PUT | /products/:id | Update product | 🔒 Admin |
Webhook Routes /webhooks
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | /media-processed | AI media processing complete | API Key |
POST | /payment | Payment gateway webhook | API Key |
Internal Routes /internal
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST | /embeddings/batch | Batch generate embeddings | API Key |
GET | /embeddings/stats | Embedding statistics | API Key |
POST | /embeddings/rebuild | Rebuild embedding index | API Key |
Blog Routes /api/blog
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /posts | Get blog posts | ❌ |
GET | /posts/:slug | Get post by slug | ❌ |
POST | /posts | Create post | API Key |
PUT | /posts/:id | Update post | API Key |
DELETE | /posts/:id | Delete post | API Key |
Dashboard Routes /api/dashboard
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /metrics | Get platform metrics | API Key |
GET | /analytics | Get analytics data | API Key |