Truy cập mở vào dữ liệu chuẩn hóa 10 nhóm thông số kỹ thuật, chuỗi thời gian lịch sử giá 90 ngày và kết quả kiểm toán đánh giá AI trên schema rate.*. Phục vụ đồng thời Web Client Islands, Browser Extension MV3 trên 10 sàn/đại lý và cộng đồng nghiên cứu dữ liệu TMĐT.
Gửi truy vấn thật tới tầng BFF `/api/v1/rate/*` ngay trên trình duyệt và kiểm tra cấu trúc JSON trả về.
Truy vấn danh sách sản phẩm gốc chuẩn hóa từ rate.master_products kèm lọc theo ngành hàng, thương hiệu, RAM/ROM và điểm JReviews.
curl -X GET "https://rate.vn/api/v1/rate/products?limit=3&sort=rating_desc" \ -H "Accept: application/json"
// Bấm "Chạy thử Request trực tiếp" để xem dữ liệu JSON thực tế từ Supabase rate schema...
Tất cả các endpoint đọc dữ liệu đều hỗ trợ CORS (`Access-Control-Allow-Origin: *`) và bộ nhớ đệm biên (`Stale-While-Revalidate`).
| Method | Endpoint Path | Tham số (Query / Body) | Mô tả & Nguồn bảng dữ liệu | Cơ chế Cache & Bảo mật |
|---|---|---|---|---|
| GET | /api/v1/rate/products | category, brand, q, minPrice, maxPrice, ramGb, storageGb, minRating, sort, limit, offset | Truy vấn danh sách sản phẩm chuẩn hóa (rate.master_products) với bộ lọc đa chiều theo 10 nhóm thông số kỹ thuật và điểm JReviews. | Public (CORS Enabled) s-maxage=60, stale-while-revalidate=300 |
| GET | /api/v1/rate/products/[slug] | slug (Path param) | Trả về chi tiết sản phẩm gốc, bảng thông số 10 nhóm, danh sách gian hàng (rate.products), chuỗi lịch sử giá (rate.price_history), phân tích giảm giá ảo (discountAnalysis) và đánh giá đã lọc Seeding AI. | Public (CORS Enabled) s-maxage=60, stale-while-revalidate=300 |
| GET | /api/v1/rate/compare | slugs (Danh sách tối đa 4 slug phân cách bằng dấu phẩy) | So sánh chéo tối đa 4 sản phẩm gốc trên toàn bộ 10 nhóm thông số kỹ thuật kèm đường dẫn chuẩn hóa đa ngành hàng. | Public (CORS Enabled) s-maxage=60, stale-while-revalidate=300 |
| GET | /api/v1/rate/watchlist |
Trường specifications (JSONB) trong bảng rate.master_products tuân thủ nghiêm ngặt schema 10 nhóm dưới đây, cho phép so sánh chéo giữa các sàn mà không bị nhiễu bởi cách đặt tên tự do của người bán.
specifications.launchspecifications.bodyspecifications.displayspecifications.platformNext.js 16.3.8 Server Data Layer bọc React.cache() cùng hệ thống JSON REST API v1 phục vụ Web Client và Browser Extension MV3.
Bộ chuẩn hóa ProductNormalizer, đối sánh thực thể 3 tầng EntityMatcher, AiSpecEnricher và AiReviewAnalyzer công khai minh bạch.
Dán link sản phẩm Shopee, Lazada, Tiki hoặc đặt mức giá mục tiêu để không bao giờ mua nhầm khuyến mãi ảo.
| slugs (Danh sách tối đa 20 slug đang theo dõi) |
| Truy vấn hàng loạt giá thấp nhất hiện tại, trung vị 90 ngày và trạng thái giảm giá thật/ảo cho danh sách sản phẩm trong Watchlist. |
Public (CORS Enabled) s-maxage=30, stale-while-revalidate=120 |
| GET | /api/v1/rate/lookup | q hoặc url (Link Shopee/Lazada/Tiki hoặc từ khóa) | Phân tích đường dẫn sản phẩm hoặc gian hàng TMĐT, tự động đối chiếu với cụm sản phẩm chuẩn hóa và hồ sơ tín nhiệm gian hàng. | Public (CORS Enabled) s-maxage=30, stale-while-revalidate=120 |
| GET | /api/v1/rate/inspect | q (URL hoặc tên máy), price (Giá quan sát tùy chọn) | Trình Kiểm Định Giá & Link Sàn (/inspect): chuẩn hóa URL trên 10 sàn/đại lý, chặn phụ kiện/linh kiện, đối chiếu trung vị giá 90 ngày và trả về kết luận giá 5 mức. | Public (CORS Enabled) s-maxage=30, stale-while-revalidate=120 |
| GET | /api/v1/rate/extension/lookup | url, title, price, originalPrice, skuText | Endpoint tốc độ cao chuyên dụng cho Rate Browser Extension MV3 trên 10 sàn/đại lý (Shopee, Lazada, Tiki, TikTok Shop, CellphoneS, TGDĐ, FPT Shop, Hoàng Hà, Di Động Việt, Phong Vũ). | Public (CORS Enabled) s-maxage=30, stale-while-revalidate=120 |
| POST | /api/v1/rate/extension/ingest | Body JSON: { url, platform, title, currentPrice, originalPrice, skuText, consentGranted: true } | Cổng tiếp nhận tín hiệu sản phẩm ẩn danh từ Browser Extension MV3: kiểm duyệt cấu trúc, xóa tham số định danh cá nhân (PII) và đẩy vào hàng đợi rate.crawl_jobs. | Zero-Trust Quarantine (Opt-In Consent) no-store (Enqueue rate.crawl_jobs) |
| GET | /api/v1/rate/merchants | platform, officialOnly, q | Danh bạ gian hàng TMĐT kèm điểm Tín nhiệm kép (Dual Risk Score): DOSafe Threat Intel Risk + AI Review Seeding Risk. | Public (CORS Enabled) s-maxage=60, stale-while-revalidate=300 |
| GET | /api/v1/rate/merchants/[id] | id (UUID, slug hoặc platform_shop_id) | Hồ sơ kiểm toán chi tiết của một gian hàng, phân bổ rủi ro đánh giá AI và danh sách các sản phẩm đang niêm yết. | Public (CORS Enabled) s-maxage=60, stale-while-revalidate=300 |
| GET | /api/v1/rate/stats | Không yêu cầu tham số | Số liệu thống kê trực tiếp toàn nền tảng (số sản phẩm gốc, điểm lịch sử giá, tỷ lệ đánh giá thực chất và danh mục 5 ngành hàng). | Public (CORS Enabled) s-maxage=60, stale-while-revalidate=300 |
| GET | /api/v1/rate/openapi.json | Không yêu cầu tham số | Đặc tả kỹ thuật OpenAPI 3.1.0 chuẩn máy đọc (machine-readable JSON) cho toàn bộ các REST API v1 endpoints của Rate.vn. | Public (CORS Enabled) s-maxage=3600, stale-while-revalidate=86400 |
| POST | /api/v1/rate/reviews | Body JSON: { masterProductId, authorName, ratingStar, comment, criteriaRatings } | Gửi đánh giá cộng đồng 5 tiêu chí JReviews kèm bộ lọc chống spam/seeding tự động và cập nhật điểm trọng số. | Rate-Limited (SHA-256 Voter Hash) no-store (RPC rate.submit_community_review) |
| POST | /api/reviews/[id]/vote | Body JSON: { "action": "helpful" | "report" } | Ghi nhận bình chọn Hữu ích hoặc Báo cáo Seeding vào bảng rate.review_votes với cơ chế chống trùng theo voter_hash và kích hoạt trigger cập nhật tức thì. | Rate-Limited (SHA-256 Voter Hash) no-store (Real-time In-DB Trigger) |
specifications.memoryspecifications.camerasspecifications.audiospecifications.connectivityspecifications.batteryspecifications.miscXử lý hàng đợi bất đồng bộ qua cơ chế khóa nguyên tử PostgreSQL FOR UPDATE SKIP LOCKED tại repo Enterprise riêng biệt.
PostgreSQL 17 trên Supabase Cloud với RLS bảo vệ PII, hàm trung vị giá 90 ngày và trigger tự động tính điểm JReviews.