Tài liệu API Reference
Giới thiệu
KN Vista API là một RESTful API cho phép ứng dụng của bạn tương tác với nền tảng KN Vista AI. API này cung cấp các endpoint theo định hướng tài nguyên, trả về phản hồi dạng JSON, và sử dụng các mã phản hồi HTTP tiêu chuẩn, cơ chế xác thực, và các động từ HTTP phổ biến.
Xác thực và Bảo mật
API Key
Tất cả các yêu cầu API đều yêu cầu xác thực bằng API Key. Để lấy API Key, vui lòng liên hệ với quản trị viên hệ thống của bạn.
API Key phải được gửi trong header Authorization của mỗi yêu cầu:
Authorization: Bearer YOUR_API_KEYEndpoint xác thực
Bạn có thể kiểm tra tính hợp lệ của API Key bằng cách sử dụng endpoint /validate:
GET /validatePhản hồi khi thành công:
{
"name": "my-api-key",
"expires_at": "1704081600000",
"company": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
"status": "active"
}Giới hạn tốc độ
KN Vista API áp dụng giới hạn tốc độ để bảo vệ hệ thống khỏi việc sử dụng quá mức. Giới hạn cụ thể sẽ được cung cấp trong header phản hồi:
X-RateLimit-Limit: Số lượng yêu cầu tối đa được phép trong khoảng thời gianX-RateLimit-Remaining: Số lượng yêu cầu còn lại trong khoảng thời gian hiện tạiX-RateLimit-Reset: Thời gian (tính bằng giây) khi giới hạn sẽ được đặt lại
Phân trang
Để hỗ trợ tập dữ liệu lớn, API sử dụng phân trang theo token tiếp tục. API giới hạn phản hồi GET nhiều bản ghi tối đa 1000 bản ghi, mặc dù người gọi có thể cung cấp giới hạn thấp hơn bằng tham số limit.
Kiểm tra giá trị thuộc tính continuation_token và next để xác định xem có thêm bản ghi hay không.
Các endpoint API
Ứng dụng (Applications)
Lấy danh sách ứng dụng
GET /applicationsTham số:
company_id(bắt buộc): ID công ty
Lấy thông tin ứng dụng theo ID
GET /applications/{id}Cập nhật thông tin cơ bản của ứng dụng
PUT /applications/{id}Mô hình AI (AI Models)
Lấy danh sách mô hình AI
GET /modelsTham số:
status(không bắt buộc): Lọc theo trạng thái mô hình (active, inactive)type(không bắt buộc): Lọc theo loại mô hình (text, image, audio)
Lấy thông tin mô hình theo ID
GET /models/{id}Đại lý (Agents)
Tạo đại lý mới
POST /agentsBody yêu cầu:
{
"name": "Tên đại lý",
"description": "Mô tả về đại lý",
"model_id": "id_của_mô_hình",
"tools": ["web_search", "code_interpreter"]
}Lấy danh sách đại lý
GET /agentsLấy thông tin đại lý theo ID
GET /agents/{id}Kiến thức (Knowledge)
Tải lên tài liệu kiến thức
POST /knowledge/uploadBody yêu cầu:
{
"file": "file_data",
"name": "Tên tài liệu",
"description": "Mô tả tài liệu"
}Lấy danh sách tài liệu kiến thức
GET /knowledgeHội thoại (Conversations)
Tạo hội thoại mới
POST /conversationsBody yêu cầu:
{
"agent_id": "id_của_đại_lý",
"messages": [
{
"role": "user",
"content": "Nội dung tin nhắn"
}
]
}Lấy danh sách hội thoại
GET /conversationsLấy thông tin hội thoại theo ID
GET /conversations/{id}Thêm tin nhắn vào hội thoại
POST /conversations/{id}/messagesBody yêu cầu:
{
"role": "user",
"content": "Nội dung tin nhắn"
}Thống kê sử dụng (Usage Statistics)
Lấy thống kê sử dụng
GET /usageTham số:
start_date(không bắt buộc): Ngày bắt đầu (YYYY-MM-DD)end_date(không bắt buộc): Ngày kết thúc (YYYY-MM-DD)type(không bắt buộc): Loại thống kê (tokens, requests, conversations)
Mã lỗi
API sử dụng mã HTTP tiêu chuẩn để chỉ ra thành công hoặc thất bại của một yêu cầu:
200 OK: Yêu cầu thành công201 Created: Tài nguyên đã được tạo thành công400 Bad Request: Yêu cầu không hợp lệ401 Unauthorized: Xác thực thất bại403 Forbidden: Không có quyền truy cập vào tài nguyên404 Not Found: Tài nguyên không tồn tại429 Too Many Requests: Vượt quá giới hạn tốc độ500 Internal Server Error: Lỗi máy chủ
Xử lý lỗi
Khi xảy ra lỗi, API sẽ trả về một đối tượng JSON với cấu trúc sau:
{
"error": {
"code": "error_code",
"message": "Mô tả lỗi",
"details": {
// Thông tin chi tiết về lỗi (nếu có)
}
}
}Môi trường
KN Vista API có sẵn trong hai môi trường:
Môi trường thử nghiệm (Sandbox)
https://api-sandbox.knvista.com/v1Môi trường sản xuất (Production)
https://api.knvista.com/v1Hỗ trợ và câu hỏi
Nếu bạn có bất kỳ câu hỏi hoặc vấn đề nào khi sử dụng KN Vista API, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi qua email support@knvista.com.