Bỏ qua để đến nội dung

Agent Tokens API Reference

Thông tin nhanh

  • Mục đích: Cấp phát và quản lý token cho AI Agent (OpenFang/OpenClaw)
  • Auth (manage): JWT Bearer token (Admin routes, RBAC: settings:r/w)
  • Auth (use): Header X-Agent-Token trên Agent API endpoints
  • Security: Token hash SHA-256, hiển thị một lần duy nhất
  • Rate Limit: Cấu hình per-token (10-1000 req/phút)

Xem thêm: Agent API · Webhooks · SOP Cài đặt Agent

ScopeQuyềnDùng cho
leads:readTìm kiếm, đọc leadscrm_search
leads:writeTạo mới, cập nhật leadscrm_create_lead, crm_update_lead
bookings:readĐọc bookingscrm_get_bookings
bookings:writeTạo/cập nhật bookings(reserved)
calls:readĐọc call logs(reserved)
calls:writeGhi nhận cuộc gọicrm_log_call
customers:readĐọc customers(reserved)
customers:writeTạo/cập nhật customers(reserved)
messages:writeGửi/log tin nhắncrm_send_message
analytics:readĐọc analyticscrm_get_analytics
*Toàn quyềnFull access
TypeMô tả
openfangToken cho OpenFang agent
openclawToken cho OpenClaw agent
customToken cho hệ thống tích hợp khác

GET /api/settings/agent-tokens

Auth: JWT Bearer · RBAC: settings:r

Response 200:

{
"agent_tokens": [
{
"id": "uuid",
"name": "Sales Agent - OpenFang",
"token_prefix": "agent_abc123d",
"scopes": ["leads:read", "leads:write", "calls:write", "analytics:read"],
"rate_limit": 60,
"agent_type": "openfang",
"is_active": true,
"last_used_at": "2026-03-17T09:30:00Z",
"created_at": "2026-03-15T10:00:00Z",
"created_by_name": "Admin"
}
]
}
POST /api/settings/agent-tokens

Auth: JWT Bearer · RBAC: settings:w

Request Body:

{
"name": "Sales Agent - OpenFang",
"scopes": ["leads:read", "leads:write", "calls:write", "messages:write", "analytics:read"],
"rate_limit": 60,
"agent_type": "openfang"
}
FieldTypeBắt buộcMô tả
namestringTên mô tả token
scopesstring[]Danh sách scopes (default: ["leads:read"])
rate_limitnumberRequests/phút (default: 60, min: 10, max: 1000)
agent_typestringopenfang, openclaw, custom (default: custom)

Response 201:

{
"agent_token": {
"id": "uuid",
"name": "Sales Agent - OpenFang",
"token": "agent_abc123def456ghi789...",
"token_prefix": "agent_abc123d",
"scopes": ["leads:read", "leads:write", "calls:write", "messages:write", "analytics:read"],
"rate_limit": 60,
"agent_type": "openfang",
"created_at": "2026-03-17T10:00:00Z"
},
"message": "Save this token now. It will not be shown again."
}
DELETE /api/settings/agent-tokens/:id

Auth: JWT Bearer · RBAC: settings:w

Response 200:

{ "ok": true }

  1. Principle of Least Privilege: Chỉ cấp scopes cần thiết. Ví dụ agent chỉ làm analytics → chỉ cần analytics:read.
  2. Separate tokens per agent: Mỗi agent/hệ thống nên có token riêng để audit và thu hồi riêng lẻ.
  3. Monitor last_used_at: Token lâu không dùng nên thu hồi.
  4. Rate limit phù hợp: Agent chạy cron 30 phút → 60 req/phút đủ. Agent real-time chat → tăng lên 200-500.
  5. Xử lý 429: Khi bị rate limit, đợi 60 giây rồi thử lại.