Dược Nam Việt — API Documentation

Go Fiber v2 • MySQL 8.0 • JWT Auth • RESTful

Trang chủ Bán lẻ Bán sỉ Admin Chat Debug Health
0 APIs0 đã test0%
Đang tải...
⚠️ Chưa Login

Thông tin Server

OSUbuntu 24.04 LTS
BackendGo 1.24 + Fiber v2.52
DatabaseMySQL 8.0 (GORM ORM)
AuthJWT Bearer Token (HS256)
Process ManagerPM2
Web ServerNginx 1.24 + SSL (Let's Encrypt)
Node.jsv20.20 (Frontend SSR)

Subdomains

Trang chủduocnamviet.site → :3010
Admin Paneladmin.duocnamviet.site → :3013
API Docsapi.duocnamviet.site → :8080
Bán lẻ (B2C)banle.duocnamviet.site → :3011
Bán sỉ (B2B)bansi.duocnamviet.site → :3012
phpMyAdminmysql.duocnamviet.site

Cấu trúc thư mục

Backend/opt/duocnamviet.site/backend/
Frontend/opt/duocnamviet.site/frontend/
Admin/opt/duocnamviet.site/admin/
Bán lẻ/opt/duocnamviet.site/banle/
Bán sỉ/opt/duocnamviet.site/bansi/
Uploads/opt/duocnamviet.site/uploads/
API Docs/opt/duocnamviet.site/api/
Nginx Configs/etc/nginx/sites-available/
SSL Certs/etc/letsencrypt/live/duocnamviet.site/
Scripts/opt/duocnamviet.site/scripts/

Ports & Services

Backend (Go):8080 (PM2: backend)
Frontend (Next.js):3010 (PM2: frontend)
Admin (Next.js):3013 (PM2: admin)
Bán lẻ (Next.js):3011 (PM2: banle)
Bán sỉ (Next.js):3012 (PM2: bansi)
MySQL:3306
Nginx HTTP:80 (→ 301 HTTPS)
Nginx HTTPS:443
PHP-FPMunix socket (php8.3-fpm)

Hướng dẫn kết nối API

1. Base URL

https://api.duocnamviet.site

2. Đăng nhập lấy Token

POST /api/auth/login
Content-Type: application/json

{
  "username": "admin",
  "password": "123456"
}

→ Response: { "success": true, "data": { "access_token": "eyJ...", "refresh_token": "eyJ..." } }

3. Gửi request có Auth

GET /api/products
Authorization: Bearer eyJ...your_access_token...
Content-Type: application/json

4. Frontend connect (Next.js)

// src/services/api.ts
const API_URL = 'https://api.duocnamviet.site';
// hoặc trong .env.local:
NEXT_PUBLIC_API_URL=https://api.duocnamviet.site

5. Response format chuẩn

// Thành công:
{ "success": true, "data": { ... } }

// Lỗi:
{ "success": false, "error": "Mô tả lỗi" }

// Phân trang:
{ "success": true, "data": { "data": [...], "total": 100, "page": 1, "limit": 20 } }

6. Upload ảnh

- Ảnh sản phẩm lưu tại: /opt/duocnamviet.site/uploads/products/
- URL truy cập: https://duocnamviet.site/uploads/products/ten-anh.jpg
- Hỗ trợ: jpg, jpeg, png, webp (max 10MB)
- Trong request body gửi URL ảnh vào field "images": ["https://...url1", "https://...url2"]

Hệ thống Roles

Role CodeTênQuyền hạn
super_adminSuper AdminToàn quyền hệ thống
adminQuản trị viênQuản lý users, sản phẩm, đơn hàng, kho, nhân sự, tài chính, marketing, y tế, bài viết, cài đặt
warehouseKho hàngQuản lý sản phẩm, danh mục, kho hàng, phiếu nhập/xuất
salesBán hàngQuản lý đơn hàng, khách hàng
accountantKế toánGiao dịch thu chi, hóa đơn VAT
marketingMarketingChiến dịch, voucher, bài viết
doctorBác sĩHồ sơ khám bệnh