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.tsAIChatRequest)

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.tsAIChatResponse)

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