Danh mục thao tác

Tạo / sửa mẫu tin

library.templates.saveMCP:library_templates_saveBộ công cụ: Thiết lập tự chạy

Create or change a message template (spintax {a|b} and variables like {name}; optional media).

Cần Idempotency-Key
Quyền: Thiết lập tự chạy

Gọi bằng REST v2

curl -X POST https://zl.builera.app/api/public/v2/ops/library.templates.save \
  -H "Authorization: Bearer za_live_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"name":"Nguyễn Văn A","content":"Chào anh, em gửi thông tin ạ","scope":"workspace"}'

Mỗi khoá/kết nối tối đa 300 lệnh đọc và 60 lệnh ghi mỗi phút. Gọi lại cùng Idempotency-Key trả đúng kết quả cũ, không làm lại.

Gọi qua MCP

{
  "method": "tools/call",
  "params": {
    "name": "library_templates_save",
    "arguments": {
      "name": "Nguyễn Văn A",
      "content": "Chào anh, em gửi thông tin ạ",
      "scope": "workspace"
    }
  }
}

Thêm https://zl.builera.app/mcp vào ứng dụng AI rồi cho phép kết nối; AI chỉ thấy công cụ trong bộ bạn chọn.

Kết quả

HTTP 200
{ "status": "succeeded", "operationId": "…", "data": { … } }

Ví dụ đầu vào

{
  "name": "Nguyễn Văn A",
  "content": "Chào anh, em gửi thông tin ạ",
  "scope": "workspace"
}

Thay mã (id) mẫu bằng mã thật lấy từ các thao tác liệt kê/tìm kiếm.

Lược đồ đầu vào (JSON Schema)

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "content": {
      "type": "string",
      "maxLength": 5000
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 30
      },
      "maxItems": 10,
      "default": []
    },
    "scope": {
      "type": "string",
      "enum": [
        "workspace",
        "private"
      ]
    },
    "mediaIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "maxItems": 5,
      "default": []
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 1,
      "description": "The `revision` you read; if it changed meanwhile the save answers conflict instead of overwriting."
    }
  },
  "required": [
    "name",
    "content",
    "scope"
  ],
  "additionalProperties": false
}

Cùng bộ công cụ