Skip to content

API Package

Package gom Workflow, Skill độc lập và MCP để cấp xuống công ty. Chỉ Super Admin sử dụng nhóm API này.

Đọc Package

Automation API không có GET /api/v1/packages. Dùng:

  • GET /api/v1/catalog để lấy danh sách Package.
  • GET /api/v1/packages/{packageId} để lấy chi tiết một Package.

packageId nhận numeric ID hoặc business ID cũ. Nên ưu tiên numeric ID từ trường numeric_id.

bash
export PACKAGE_ID="1"

# Danh sách Package cùng Workflow, Skill, MCP và công ty đang dùng
curl --fail-with-body \
  -H "Authorization: Bearer $NEXUS_API_KEY" \
  "$NEXUS_URL/api/v1/catalog"

# Chi tiết một Package
curl --fail-with-body \
  -H "Authorization: Bearer $NEXUS_API_KEY" \
  "$NEXUS_URL/api/v1/packages/$PACKAGE_ID"

Hai request đọc không dùng -X GET, không gửi body và không cần Idempotency-Key.

Endpoint

MethodPathScopeChức năng
GET/api/v1/catalogplatform.catalog.readDanh sách toàn bộ catalog.
GET/api/v1/packages/{packageId}platform.catalog.readChi tiết Package.
POST/api/v1/packagesplatform.catalog.manageTạo Package.
PUT/api/v1/packages/{packageId}platform.catalog.manageThay toàn bộ cấu hình Package.
DELETE/api/v1/packages/{packageId}platform.catalog.manageXóa draft chưa dùng hoặc ngừng Package.

Tạo Package

bash
curl --fail-with-body -X POST \
  -H "Authorization: Bearer $NEXUS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "id": "sales.customer-service",
    "display_name": "Chăm sóc khách hàng",
    "description": "Tra cứu và theo dõi khách hàng.",
    "status": "active",
    "client": "opencode",
    "workflows": ["sales.customer-profile"],
    "skills": ["sales.customer-lookup"],
    "mcp": [1],
    "companies": [{"company_id":"00000000-0000-4000-8000-000000000101"}]
  }' \
  "$NEXUS_URL/api/v1/packages"

status nhận draft, active hoặc inactive. Package active phải có ít nhất một Workflow, Skill hoặc MCP. Package draft không được cấp cho công ty.

Cập nhật Package

PUT là full replacement: gửi lại cả tên, mô tả, trạng thái, Workflow, Skill, MCP và công ty muốn giữ.

bash
curl --fail-with-body -X PUT \
  -H "Authorization: Bearer $NEXUS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "display_name": "Chăm sóc khách hàng",
    "description": "Tra cứu, theo dõi và tổng hợp đơn hàng.",
    "status": "active",
    "client": "opencode",
    "workflows": ["sales.customer-profile","sales.order-summary"],
    "skills": ["sales.customer-lookup"],
    "mcp": [1],
    "companies": [{"company_id":"00000000-0000-4000-8000-000000000101"}]
  }' \
  "$NEXUS_URL/api/v1/packages/$PACKAGE_ID"

Xóa hoặc ngừng Package

bash
curl --fail-with-body -X DELETE \
  -H "Authorization: Bearer $NEXUS_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  "$NEXUS_URL/api/v1/packages/$PACKAGE_ID"

Draft chưa được cấp sẽ bị xóa. Package đã dùng sẽ chuyển sang inactive và bị thu hồi khỏi các công ty.