Skip to content

AI Chat API ​

Quick Reference

  • Base URL: https://insights.omisell.com/api/v1/ai
  • Auth: Authorization: Omi <token>
  • Content-Type: application/json

Endpoints Overview ​

MethodEndpointMô tảAuth
POST/api/v1/ai/chatGửi câu hỏi AIYes

POST /api/v1/ai/chat ​

Gửi câu hỏi bằng ngôn ngữ tự nhiên. Backend phân tích intent, generate SQL, execute, và trả kết quả kèm visualization hints.

Request Body ​

FieldTypeRequiredMô tả
questionstringYesCâu hỏi bằng ngôn ngữ tự nhiên
insight_codestringNoMã insight (nếu muốn context cụ thể)
granularitystringNoMức thời gian: day, week, month, quarter, year
filtersRecord<string, unknown>NoBộ lọc bổ sung

Source: (src/app/shared/models/api.models.ts — AIChatRequest)

Response Body (200 OK) ​

FieldTypeMô tả
mode'insight' | 'free_query'Chế độ xử lý
intentstringIntent được nhận diện
explanationstringGiải thích kết quả (Markdown)
dataDataRow[]Dữ liệu trả về
chart_hintChartHint?Gợi ý visualization
query_codestring?Mã insight (nếu mode=insight)
query_namestring?Tên insight
sql_usedstring?Câu SQL đã thực thi
alertsAlert[]?Cảnh báo (info/warning/critical)
execution_status'success' | 'blocked' | 'error'Trạng thái thực thi
execution_time_msnumber?Thời gian xử lý (ms)
error_messagestring?Thông báo lỗi (nếu error)

Source: (src/app/shared/models/api.models.ts — AIChatResponse)

Sub-types ​

ChartHint:

FieldTypeMô tả
chart_typeChartTypebar, line, pie, stacked_bar, grouped_bar, area, heatmap
x_columnstringCột trục X
y_columnsstring[]Các cột trục Y
titlestringTiêu đề biểu đồ

Alert:

FieldTypeMô tả
level'info' | 'warning' | 'critical'Mức độ
messagestringNội dung cảnh báo

Examples ​

cURL
bash
curl -X POST "https://insights.omisell.com/api/v1/ai/chat" \
  -H "Authorization: Omi <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "question": "Doanh thu 7 ngày qua"
  }'
JavaScript (fetch)
javascript
const response = await fetch('https://insights.omisell.com/api/v1/ai/chat', {
  method: 'POST',
  headers: {
    'Authorization': `Omi ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    question: 'Doanh thu 7 ngày qua',
  }),
});
const data = await response.json();
// data.explanation, data.data, data.chart_hint
Response Example (Success)
json
{
  "mode": "insight",
  "intent": "revenue_overview",
  "explanation": "Doanh thu 7 ngày qua theo ngày...",
  "data": [
    { "date": "2026-04-08", "revenue": 15200000, "orders": 48 },
    { "date": "2026-04-09", "revenue": 18500000, "orders": 52 }
  ],
  "chart_hint": {
    "chart_type": "line",
    "x_column": "date",
    "y_columns": ["revenue"],
    "title": "Doanh thu 7 ngày qua"
  },
  "query_code": "O1-01",
  "query_name": "Tổng quan doanh số đa kênh",
  "alerts": [
    { "level": "info", "message": "Doanh thu tăng 12% so với tuần trước" }
  ],
  "execution_status": "success",
  "execution_time_ms": 450
}

Source: (src/app/core/services/api.service.ts:42-44)

Liên kết ​

Hệ thống tài liệu Boxme AI Insight — Powered by CodyMaster DocKit