bebo231312312321

Untitled

Sep 7th, 2025
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /sys/dashboard/stats
  2.  
  3.  
  4. {
  5.   "stats": {
  6.     "totalOrders": 247,
  7.     "pendingOrders": 34,
  8.     "completedOrders": 189,
  9.     "cancelledOrders": 24,
  10.     "totalRevenue": 6175,
  11.     "averageRating": 4.7,
  12.     "totalReviews": 89,
  13.     "uniqueVisitors": 3456,
  14.     "todayVisitors": 127
  15.   },
  16.   "monthlyData": [
  17.     {
  18.       "name": "Яну",
  19.       "orders": 45,
  20.       "revenue": 1125,
  21.       "visitors": 890
  22.     }
  23.     // ... за всички месеци
  24.   ],
  25.   "orderStatusDistribution": [
  26.     {
  27.       "status": "completed",
  28.       "count": 189,
  29.       "percentage": 76.5
  30.     },
  31.     {
  32.       "status": "pending",
  33.       "count": 34,
  34.       "percentage": 13.8
  35.     },
  36.     {
  37.       "status": "cancelled",
  38.       "count": 24,
  39.       "percentage": 9.7
  40.     }
  41.   ],
  42.   "recentActivity": [
  43.     {
  44.       "id": 1,
  45.       "type": "order",
  46.       "message": "Нова поръчка от Мария Петрова",
  47.       "timestamp": "2025-09-07T10:30:00Z",
  48.       "status": "pending",
  49.       "orderId": "ORD-001"
  50.     }
  51.     // ... още активности
  52.   ],
  53.   "growthMetrics": {
  54.     "ordersGrowth": 12, // %
  55.     "revenueGrowth": 8,  // %
  56.     "visitorsGrowth": 15 // %
  57.   }
  58. }
  59.  
  60.  
  61.  
  62.  
  63. fetchOrders(filters) → GET /sys/orders
  64.  
  65. филтъри
  66. {
  67.   search: "мария",           // търсене в име, имейл, телефон, ID
  68.   status: "pending",         // pending/completed/cancelled
  69.   dateFrom: "2024-11-01",   // от дата
  70.   dateTo: "2024-11-30",     // до дата  
  71.   page: 1,                  // pagination
  72.   limit: 10                 // записи на страница
  73. }
  74.  
  75. структура
  76. {
  77.   id: 'ORD-001',                    // уникален номер
  78.   customerName: 'Мария Петрова',    // от OrderSection formData
  79.   email: '[email protected]',       // от OrderSection formData
  80.   phone: '+359 888 123 456',        // от OrderSection formData
  81.   address: 'София, ул. Витоша 15', // от OrderSection formData
  82.   city: 'София',                   // от OrderSection formData
  83.   quantity: 2,                     // от OrderSection formData
  84.   totalPrice: 50,                  // изчислено (quantity * 25)
  85.   bookTitle: 'Пепел от детството', // константа
  86.   paymentMethod: 'cash_on_delivery', // константа
  87.   status: 'pending',               // pending/completed/cancelled
  88.   createdAt: '2024-11-15T10:30:00Z',
  89.   updatedAt: '2024-11-15T10:30:00Z',
  90.   completedAt: null                 // когато status = completed
  91. }
  92.  
  93. Backend API отговор трябва да е:
  94. javascript{
  95.   "orders": [...],           // масив с поръчки
  96.   "totalCount": 156,         // общ брой за pagination
  97.   "currentPage": 1,
  98.   "totalPages": 16,
  99.   "hasNext": true,
  100.   "hasPrev": false
  101. }
  102.  
  103.  
  104. fetchRatingsData() → GET /sys/reviews
  105.  
  106. {
  107.   "stats": {
  108.     "totalReviews": 125,
  109.     "averageRating": 4.6,
  110.     "pendingReviews": 15,
  111.     "approvedReviews": 89,
  112.     "rejectedReviews": 12,
  113.     "hiddenReviews": 9
  114.   },
  115.   "reviews": [
  116.     {
  117.       "id": "REV-001",
  118.       "name": "Мария Петрова",
  119.       "rating": 5,
  120.       "comment": "Изключителна книга! Много емоционална...",
  121.       "status": "pending",  // pending/approved/rejected/hidden
  122.       "createdAt": "2024-11-15T14:30:00Z",
  123.       "isAnonymous": false,
  124.       "helpful": 0,
  125.       "approvedAt": null,
  126.       "rejectedAt": null,
  127.       "hiddenAt": null
  128.     }
  129.     // ... още отзиви
  130.   ],
  131.   "ratingDistribution": [
  132.     {
  133.       "rating": 5,
  134.       "count": 67,
  135.       "percentage": 53.6
  136.     },
  137.     {
  138.       "rating": 4,
  139.       "count": 32,
  140.       "percentage": 25.6
  141.     }
  142.     // ... за всички рейтинги 1-5
  143.   ],
  144.   "monthlyReviews": [
  145.     {
  146.       "month": "Яну",
  147.       "reviews": 8,
  148.       "avgRating": 4.2
  149.     },
  150.     {
  151.       "month": "Фев",
  152.       "reviews": 12,
  153.       "avgRating": 4.4
  154.     }
  155.     // ... за всички месеци
  156.   ],
  157.   "pagination": {
  158.     "currentPage": 1,
  159.     "totalPages": 15,
  160.     "totalCount": 125,
  161.     "hasNext": true,
  162.     "hasPrev": false
  163.   }
  164. }
  165.  
  166.  
  167. sendEmailToCustomer(emailData) → POST /sys/emails/send
  168. {
  169.   "to": "[email protected]",
  170.   "subject": "Потвърждение на вашата поръчка",
  171.   "message": "Здравейте,\n\nБлагодарим ви за поръчката...",
  172.   "type": "order_update"  // добавя се от context
  173. }
  174.  
  175. sendBulkEmail(bulkData) → POST /sys/emails/bulk-send
  176. {
  177.   "recipients": ["all_customers"],  // или масив с имейли
  178.   "subject": "Промоционално съобщение",
  179.   "message": "Здравейте,\n\nБихте ли се заинтересували...",
  180.   "type": "campaign"
  181. }
  182. Варианти за recipients:
  183. javascript// Всички клиенти
  184. "recipients": ["all_customers"]
  185.  
  186. // Само клиенти с поръчки  
  187. "recipients": ["customers_with_orders"]
  188.  
  189. // Персонализиран списък
  190.  
  191. generateReport(reportType, period) → GET /sys/reports/{reportType}?period={period}
  192. Report типове:
  193.  
  194. overview - общ преглед
  195. sales - продажби
  196. traffic - трафик
  197. reviews - отзиви
  198.  
  199. структура на отговора
  200. {
  201.   "reportType": "overview", // или "sales", "traffic", "reviews"
  202.   "period": "30d",          // или "7d", "3m", "1y"
  203.   "generatedAt": "2024-11-15T10:30:00Z",
  204.  
  205.   "data": {
  206.     // === OVERVIEW СЕКЦИЯ ===
  207.     "overview": {
  208.       "totalOrders": 247,           // РЕАЛНО - от orders таблица
  209.       "totalRevenue": 6175,         // РЕАЛНО - сума от completed orders
  210.       "totalReviews": 89,           // РЕАЛНО - брой approved reviews
  211.       "averageRating": 4.6,         // РЕАЛНО - средна оценка от reviews
  212.       "totalVisitors": 15847,       // MOCK - нужен visitor tracking
  213.       "conversionRate": 1.56        // MOCK - orders/visitors * 100
  214.     },
  215.  
  216.     // === SALES ДАННИ ===
  217.     "salesData": [
  218.       {
  219.         "month": "Яну",             // месец на кирилица
  220.         "orders": 18,               // РЕАЛНО - брой orders за месеца
  221.         "revenue": 450,             // РЕАЛНО - приходи за месеца
  222.         "target": 500               // MOCK - предварително зададена цел
  223.       },
  224.       {
  225.         "month": "Фев",
  226.         "orders": 25,
  227.         "revenue": 625,
  228.         "target": 600
  229.       }
  230.       // ... за всички 12 месеца
  231.     ],
  232.  
  233.     // === TRAFFIC ДАННИ ===
  234.     "trafficData": [
  235.       {
  236.         "date": "01.11",            // дата DD.MM формат
  237.         "visitors": 234,            // MOCK - уникални посетители
  238.         "pageviews": 567,           // MOCK - прегледи на страници
  239.         "sessions": 198             // MOCK - брой сесии
  240.       },
  241.       {
  242.         "date": "02.11",
  243.         "visitors": 267,
  244.         "pageviews": 634,
  245.         "sessions": 223
  246.       }
  247.       // ... за последните 7-30 дни според period
  248.     ],
  249.  
  250.     // === REVIEWS РАЗПРЕДЕЛЕНИЕ ===
  251.     "reviewsData": [
  252.       {
  253.         "rating": 5,                // рейтинг 1-5
  254.         "count": 48,                // РЕАЛНО - брой отзиви с този рейтинг
  255.         "percentage": 53.9          // РЕАЛНО - изчислен процент
  256.       },
  257.       {
  258.         "rating": 4,
  259.         "count": 26,
  260.         "percentage": 29.2
  261.       },
  262.       {
  263.         "rating": 3,
  264.         "count": 11,
  265.         "percentage": 12.4
  266.       },
  267.       {
  268.         "rating": 2,
  269.         "count": 3,
  270.         "percentage": 3.4
  271.       },
  272.       {
  273.         "rating": 1,
  274.         "count": 1,
  275.         "percentage": 1.1
  276.       }
  277.     ],
  278.  
  279.     // === ТОП СТРАНИЦИ ===
  280.     "topPages": [
  281.       {
  282.         "page": "/",                // URL на страницата
  283.         "views": 5432,              // MOCK - брой прегледи
  284.         "percentage": 31.2          // MOCK - процент от общите прегледи
  285.       },
  286.       {
  287.         "page": "/order",
  288.         "views": 3456,
  289.         "percentage": 19.8
  290.       },
  291.       {
  292.         "page": "/reviews",
  293.         "views": 2567,
  294.         "percentage": 14.7
  295.       },
  296.       {
  297.         "page": "/about",
  298.         "views": 1789,
  299.         "percentage": 10.3
  300.       },
  301.       {
  302.         "page": "/contact",
  303.         "views": 1234,
  304.         "percentage": 7.1
  305.       }
  306.     ]
  307.   }
  308. }
Advertisement
Add Comment
Please, Sign In to add comment