Trí tuệ nhân tạo
tri tue nhan taoCài đặt AI tự chủ theo tổ chức, kết nối BYOK, mô hình, ngân sách và phân loại giao dịch. cai dat ai tu chu theo to chuc, ket noi byok, mo hinh, ngan sach va phan loai giao dich.Cài đặt AI tự chủ theo tổ chức, kết nối BYOK, mô hình, ngân sách và phân loại giao dịch.
Endpoint
Phần tiêu đề “Endpoint”| Method | Path | Tóm tắt | Quyền | Nhóm tốc độ | Tương tác |
|---|---|---|---|---|---|
GET | /v1/ai/budget | Ngân sách và giới hạn chi phí AI của tổ chức | ai.budget.write | read | Scalar |
PUT | /v1/ai/budget | Cập nhật ngân sách và giới hạn chi phí AI | ai.budget.write | write | Scalar |
GET | /v1/ai/connections | Danh sách kết nối AI (BYOK & Platform) | ai.connection.manage | read | Scalar |
POST | /v1/ai/connections | Tạo kết nối AI riêng (BYOK) | ai.connection.manage | write | Scalar |
PATCH | /v1/ai/connections/{id} | Cập nhật kết nối AI | ai.connection.manage | write | Scalar |
DELETE | /v1/ai/connections/{id} | Xoá kết nối AI | ai.connection.manage | write | Scalar |
GET | /v1/ai/connections/{id}/models | Danh sách mô hình và khả năng của kết nối | ai.connection.manage | read | Scalar |
POST | /v1/ai/connections/{id}:probe | Dò khả năng của mô hình (structured output, tool calling, embedding dim) | ai.connection.manage | write | Scalar |
POST | /v1/ai/connections/{id}:test | Kiểm tra kết nối AI 6 bước | ai.connection.manage | write | Scalar |
GET | /v1/ai/models | Danh mục mô hình AI (đồng bộ từ models.dev) | ai.connection.manage | read | Scalar |
GET | /v1/ai/settings | Cài đặt chế độ AI của tổ chức | ai.connection.manage | read | Scalar |
PUT | /v1/ai/settings | Cập nhật chế độ AI của tổ chức | ai.connection.manage | write | Scalar |
GET | /v1/ai/task-assignments | Danh sách gán mô hình theo tác vụ | ai.task.assign | read | Scalar |
PUT | /v1/ai/task-assignments | Gán kết nối và mô hình cho tác vụ AI | ai.task.assign | write | Scalar |
GET | /v1/ai/usage | Thống kê sử dụng AI theo ngày, kết nối và tác vụ | ai.usage.read | read | Scalar |
Chi tiết endpoint
Phần tiêu đề “Chi tiết endpoint”GET /v1/ai/budget
Phần tiêu đề “GET /v1/ai/budget”Ngân sách và giới hạn chi phí AI của tổ chức
Quyền: ai.budget.write- Nhóm tốc độ:
read - Phản hồi thành công
200: Ngân sách AI. —object,application/json - Mã lỗi: chỉ các mã lỗi chung ở Tổng quan
curl -sS -X GET "https://api.dongtien.pro/v1/ai/budget" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/ai/budget");import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import get_ai_budget
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = get_ai_budget.sync(client=dt.client)PUT /v1/ai/budget
Phần tiêu đề “PUT /v1/ai/budget”Cập nhật ngân sách và giới hạn chi phí AI
Quyền: ai.budget.write- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Ngân sách AI sau cập nhật. —object,application/json - Mã lỗi riêng của endpoint:
conflict
curl -sS -X PUT "https://api.dongtien.pro/v1/ai/budget" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "monthly_cost_cap_vnd": 4500000, "on_cap": "pause"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.PUT("/v1/ai/budget", { body: { "monthly_cost_cap_vnd": 4500000, "on_cap": "pause" },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import update_ai_budget
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = update_ai_budget.sync( client=dt.client, body={ "monthly_cost_cap_vnd": 4500000, "on_cap": "pause", }, )GET /v1/ai/connections
Phần tiêu đề “GET /v1/ai/connections”Danh sách kết nối AI (BYOK & Platform)
Quyền: ai.connection.manage Cần xác thực lại gần đây- Nhóm tốc độ:
read - Phản hồi thành công
200: Danh sách kết nối AI. —object[],application/json - Mã lỗi riêng của endpoint:
step_up_required
curl -sS -X GET "https://api.dongtien.pro/v1/ai/connections" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/ai/connections");import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import list_ai_connections
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_ai_connections.sync(client=dt.client)POST /v1/ai/connections
Phần tiêu đề “POST /v1/ai/connections”Tạo kết nối AI riêng (BYOK)
Mã hoá khoá API bằng AES-256-GCM. URL được kiểm tra qua net-guard (chặn SSRF).
Quyền: ai.connection.manage Cần xác thực lại gần đây- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
201: Kết nối AI vừa tạo. —object,application/json - Mã lỗi riêng của endpoint:
step_up_required,conflict
curl -sS -X POST "https://api.dongtien.pro/v1/ai/connections" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "provider": "openai_compatible", "kind": "chat", "name": "Gateway AI nội bộ", "base_url": "https://ai.congty.vn/v1", "connect_mode": "public", "api_key": "sk-demo-1234567890abcdef"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/ai/connections", { body: { "provider": "openai_compatible", "kind": "chat", "name": "Gateway AI nội bộ", "base_url": "https://ai.congty.vn/v1", "connect_mode": "public", "api_key": "sk-demo-1234567890abcdef" },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import create_ai_connection
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = create_ai_connection.sync( client=dt.client, body={ "provider": "openai_compatible", "kind": "chat", "name": "Gateway AI nội bộ", "base_url": "https://ai.congty.vn/v1", "connect_mode": "public", "api_key": "sk-demo-1234567890abcdef", }, )PATCH /v1/ai/connections/{id}
Phần tiêu đề “PATCH /v1/ai/connections/{id}”Cập nhật kết nối AI
Nếu thay đổi base_url, connect_mode, extra_headers hoặc query_params mà không gửi kèm khoá mới, khoá cũ bị xoá, kết nối chuyển về state 'new' và máy chủ trả 422 key_required (việc xoá khoá vẫn được lưu).
- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Kết nối AI sau cập nhật. —object,application/json - Mã lỗi riêng của endpoint:
step_up_required,resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | AiConnectionId | Mã kết nối AI (aip_…). |
curl -sS -X PATCH "https://api.dongtien.pro/v1/ai/connections/$ID" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "connect_mode": "public"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.PATCH("/v1/ai/connections/{id}", { params: { path: { "id": "aip_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, }, body: { "connect_mode": "public" },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import update_ai_connection
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = update_ai_connection.sync( id="aip_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client, body={ "connect_mode": "public", }, )DELETE /v1/ai/connections/{id}
Phần tiêu đề “DELETE /v1/ai/connections/{id}”Xoá kết nối AI
Quyền: ai.connection.manage Cần xác thực lại gần đây- Nhóm tốc độ:
write - Phản hồi thành công
200: Đã xoá kết nối. —object,application/json - Mã lỗi riêng của endpoint:
step_up_required,resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | AiConnectionId | Mã kết nối AI (aip_…). |
curl -sS -X DELETE "https://api.dongtien.pro/v1/ai/connections/$ID" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.DELETE("/v1/ai/connections/{id}", { params: { path: { "id": "aip_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import delete_ai_connection
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = delete_ai_connection.sync(id="aip_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)GET /v1/ai/connections/{id}/models
Phần tiêu đề “GET /v1/ai/connections/{id}/models”Danh sách mô hình và khả năng của kết nối
Quyền: ai.connection.manage Cần xác thực lại gần đây- Nhóm tốc độ:
read - Phản hồi thành công
200: Danh sách mô hình đã ghi nhận. —object[],application/json - Mã lỗi riêng của endpoint:
step_up_required,resource_not_found
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | AiConnectionId | Mã kết nối AI (aip_…). |
curl -sS -X GET "https://api.dongtien.pro/v1/ai/connections/$ID/models" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/ai/connections/{id}/models", { params: { path: { "id": "aip_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import list_ai_connection_models
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_ai_connection_models.sync(id="aip_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)POST /v1/ai/connections/{id}:probe
Phần tiêu đề “POST /v1/ai/connections/{id}:probe”Dò khả năng của mô hình (structured output, tool calling, embedding dim)
Quyền: ai.connection.manage Cần xác thực lại gần đây- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Kết quả dò khả năng mô hình. —object,application/json - Mã lỗi riêng của endpoint:
step_up_required,resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | AiConnectionId | Mã kết nối AI (aip_…). |
curl -sS -X POST "https://api.dongtien.pro/v1/ai/connections/$ID:probe" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model_id": "gpt-4o-mini"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/ai/connections/{id}:probe", { params: { path: { "id": "aip_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, }, body: { "model_id": "gpt-4o-mini" },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import probe_ai_connection
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = probe_ai_connection.sync( id="aip_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client, body={ "model_id": "gpt-4o-mini", }, )POST /v1/ai/connections/{id}:test
Phần tiêu đề “POST /v1/ai/connections/{id}:test”Kiểm tra kết nối AI 6 bước
Thực hiện kiểm tra 6 bước: SSRF net-guard -> DNS/TLS -> Xác thực -> Liệt kê models -> Thử 1 token -> Probe.
Quyền: ai.connection.manage Cần xác thực lại gần đây- Nhóm tốc độ:
write - Phản hồi thành công
200: Kết quả kiểm tra kết nối. —object,application/json - Mã lỗi riêng của endpoint:
step_up_required,resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | AiConnectionId | Mã kết nối AI (aip_…). |
curl -sS -X POST "https://api.dongtien.pro/v1/ai/connections/$ID:test" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/ai/connections/{id}:test", { params: { path: { "id": "aip_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import test_ai_connection
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = test_ai_connection.sync(id="aip_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)GET /v1/ai/models
Phần tiêu đề “GET /v1/ai/models”Danh mục mô hình AI (đồng bộ từ models.dev)
Quyền: ai.connection.manage- Nhóm tốc độ:
read - Phản hồi thành công
200: Danh mục mô hình AI. —object[],application/json - Mã lỗi: chỉ các mã lỗi chung ở Tổng quan
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
provider | query | Không | string | — |
curl -sS -X GET "https://api.dongtien.pro/v1/ai/models" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/ai/models");import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import list_ai_model_catalog
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_ai_model_catalog.sync(client=dt.client)GET /v1/ai/settings
Phần tiêu đề “GET /v1/ai/settings”Cài đặt chế độ AI của tổ chức
Chế độ AI (off/platform/byok), data_mode (platform_ok/byok_only) và chính sách fallback.
Quyền: ai.connection.manage Cần xác thực lại gần đây- Nhóm tốc độ:
read - Phản hồi thành công
200: Cấu hình AI của tổ chức. —object,application/json - Mã lỗi riêng của endpoint:
step_up_required
curl -sS -X GET "https://api.dongtien.pro/v1/ai/settings" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/ai/settings");import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import get_ai_settings
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = get_ai_settings.sync(client=dt.client)PUT /v1/ai/settings
Phần tiêu đề “PUT /v1/ai/settings”Cập nhật chế độ AI của tổ chức
Cập nhật chế độ AI, data_mode và fallback. Bắt buộc xác thực tăng cường (step-up).
Quyền: ai.connection.manage Cần xác thực lại gần đây- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Cấu hình AI sau cập nhật. —object,application/json - Mã lỗi riêng của endpoint:
step_up_required,conflict
curl -sS -X PUT "https://api.dongtien.pro/v1/ai/settings" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "mode": "off", "data_mode": "platform_ok"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.PUT("/v1/ai/settings", { body: { "mode": "off", "data_mode": "platform_ok" },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import update_ai_settings
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = update_ai_settings.sync( client=dt.client, body={ "mode": "off", "data_mode": "platform_ok", }, )GET /v1/ai/task-assignments
Phần tiêu đề “GET /v1/ai/task-assignments”Danh sách gán mô hình theo tác vụ
Quyền: ai.task.assign- Nhóm tốc độ:
read - Phản hồi thành công
200: Danh sách gán tác vụ AI. —object[],application/json - Mã lỗi: chỉ các mã lỗi chung ở Tổng quan
curl -sS -X GET "https://api.dongtien.pro/v1/ai/task-assignments" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/ai/task-assignments");import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import list_ai_task_assignments
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_ai_task_assignments.sync(client=dt.client)PUT /v1/ai/task-assignments
Phần tiêu đề “PUT /v1/ai/task-assignments”Gán kết nối và mô hình cho tác vụ AI
Quyền: ai.task.assign- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Gán tác vụ sau cập nhật. —object,application/json - Mã lỗi riêng của endpoint:
conflict
curl -sS -X PUT "https://api.dongtien.pro/v1/ai/task-assignments" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "task": "classify_transaction", "connection_id": "aip_0f5k2m9q4h7t3n8r6v1w0x5yz0", "model": "gpt-4o-mini", "fallback": []}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.PUT("/v1/ai/task-assignments", { body: { "task": "classify_transaction", "connection_id": "aip_0f5k2m9q4h7t3n8r6v1w0x5yz0", "model": "gpt-4o-mini", "fallback": [] },});import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import update_ai_task_assignments
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = update_ai_task_assignments.sync( client=dt.client, body={ "task": "classify_transaction", "connection_id": "aip_0f5k2m9q4h7t3n8r6v1w0x5yz0", "model": "gpt-4o-mini", "fallback": [], }, )GET /v1/ai/usage
Phần tiêu đề “GET /v1/ai/usage”Thống kê sử dụng AI theo ngày, kết nối và tác vụ
Quyền: ai.usage.read- Nhóm tốc độ:
read - Phản hồi thành công
200: Số liệu sử dụng AI. —object,application/json - Mã lỗi: chỉ các mã lỗi chung ở Tổng quan
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
days | query | Không | integer | — |
curl -sS -X GET "https://api.dongtien.pro/v1/ai/usage" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/ai/usage");import os
from dongtien import DongTienfrom dongtien_api.api.tri_tue_nhan_tao import get_ai_usage
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = get_ai_usage.sync(client=dt.client)