Appearance
AI Connectors API
Quick Reference
- Base URL:
https://insights.omisell.com/api/v1/ai/connectors- Auth:
Authorization: Omi <token>- Content-Type:
application/json
Endpoints Overview
| Method | Endpoint | Mô tả | Auth |
|---|---|---|---|
| GET | /api/v1/ai/connectors | Danh sách connectors | Yes |
| POST | /api/v1/ai/connectors | Thêm connector | Yes |
| DELETE | /api/v1/ai/connectors/{provider} | Xoá connector | Yes |
| POST | /api/v1/ai/connectors/test | Test connection | Yes |
GET /api/v1/ai/connectors
Danh sách AI connectors đã cấu hình.
Response (200 OK): AIConnector[]
| Field | Type | Mô tả |
|---|---|---|
provider | string | Mã provider (openrouter, openai, anthropic, google, custom) |
api_key_masked | string | API key đã mask (sk-or-***...***) |
is_active | boolean | Đang active? (chỉ 1 connector active) |
created_at | string | Thời gian tạo |
model | string? | Model ID đã chọn |
model_label | string? | Tên hiển thị model |
Source: (api.service.ts:76-78)
POST /api/v1/ai/connectors
Thêm connector mới. Nếu provider đã tồn tại, sẽ ghi đè.
Request Body: AIConnectorCreateRequest
| Field | Type | Required | Mô tả |
|---|---|---|---|
provider | string | Yes | openrouter, openai, anthropic, google, custom |
api_key | string | Yes | API key (plaintext — backend sẽ mask) |
model | string? | No | Model ID |
Response (201 Created): AIConnector
Source: (api.service.ts:80-82)
Request Example
json
{
"provider": "openrouter",
"api_key": "sk-or-v1-abc123...",
"model": "anthropic/claude-sonnet-4-6"
}DELETE /api/v1/ai/connectors/:provider
Xoá connector theo provider.
Parameters
| Name | Location | Type | Required | Mô tả |
|---|---|---|---|---|
provider | path | string | Yes | Mã provider |
Response: 204 No Content
Source: (api.service.ts:84-86)
POST /api/v1/ai/connectors/test
Test connection với AI provider trước khi lưu.
Request Body: AIConnectorTestRequest
| Field | Type | Required | Mô tả |
|---|---|---|---|
provider | string | Yes | Mã provider |
api_key | string | Yes | API key để test |
model | string | Yes | Model ID để test |
base_url | string? | No | Custom base URL (chỉ cho provider custom) |
Response (200 OK): AIConnectorTestResponse
| Field | Type | Mô tả |
|---|---|---|
success | boolean | Kết nối thành công? |
message | string | Thông báo chi tiết |
latency_ms | number? | Thời gian phản hồi (ms) |
Source: (api.service.ts:88-93)
Request Example
json
{
"provider": "openrouter",
"api_key": "sk-or-v1-abc123...",
"model": "anthropic/claude-sonnet-4-6"
}Response Example (Success)
json
{
"success": true,
"message": "Connection successful. Model responded in 350ms.",
"latency_ms": 350
}Response Example (Failure)
json
{
"success": false,
"message": "Invalid API key. Please check your credentials.",
"latency_ms": null
}Supported Providers
| Provider | ID | API Key Format | Models |
|---|---|---|---|
| OpenRouter | openrouter | sk-or-... | Multi-provider (Claude, DeepSeek, GPT...) |
| OpenAI | openai | sk-... | GPT-4o, GPT-4 |
| Anthropic | anthropic | sk-ant-... | Claude Opus, Claude Sonnet |
google | AIza... | Gemini Pro, Gemini Flash | |
| Custom | custom | Any | OpenAI-compatible endpoints |
Source: (src/app/core/models/ai-providers.ts:1-222)
Liên kết
- API Index — Tổng quan API
- AI Chat API — Sử dụng AI chat sau khi setup
- SOP: Cài đặt — Hướng dẫn cấu hình