Giới thiệu
Trong tháng 9 năm 2025, những cập nhật mới nhất cho API của ONLYOFFICE DocSpace và Docs đã chính thức ra mắt. Những cập nhật này không chỉ mở ra nhiều khả năng tích hợp mới mà còn cung cấp các công cụ được cải tiến và giải pháp thực tiễn nhằm tối ưu hóa quy trình làm việc của bạn. Cho dù bạn đang xây dựng quy trình tài liệu, tạo các plugin tùy chỉnh, hay kết nối ONLYOFFICE với hệ sinh thái công nghệ của bạn, những cập nhật này đều sẽ hỗ trợ bạn.
DocSpace: Ví dụ tích hợp cho Backend REST API
Cập nhật API DocSpace mới nhất bao gồm các ví dụ tích hợp toàn diện, minh họa các trường hợp sử dụng trong thực tế. Đây không chỉ là các đoạn mã mẫu – mà là những giải pháp hoàn chỉnh mà bạn có thể điều chỉnh cho các dự án của mình.
Tích hợp với Trello
-
Đồng bộ người dùng hai chiều. Tự động đồng bộ người dùng giữa DocSpace và bảng Trello. Điều này loại bỏ việc onboarding thủ công và đảm bảo sự đồng nhất của nhóm trên các nền tảng.
-
Di chuyển tài sản. Nhập các đính kèm thẻ Trello trực tiếp vào các phòng DocSpace. Kịch bản này giúp quy trình bàn giao dự án trở nên trơn tru và tập trung hóa tài liệu.
-
Phản chiếu cấu trúc dự án. Tạo các phòng DocSpace trực tiếp từ bảng Trello với tiêu đề phù hợp. Điều này rất lý tưởng cho việc duy trì tổ chức dự án thống nhất.
python
import requests
# Cấu hình ONLYOFFICE DocSpace
ONLYOFFICE_API_HOST = "your-docspace.onlyoffice.com"
ONLYOFFICE_API_KEY = "your_onlyoffice_api_key"
# Cấu hình Trello
TRELLO_API_KEY = "your_trello_api_key"
TRELLO_TOKEN = "your_trello_token"
TRELLO_BOARD_ID = "your_board_id"
ONLYOFFICE_HEADERS = {
"Authorization": f"Bearer {ONLYOFFICE_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json"
}
# Bước 1: Lấy tên bảng Trello
def get_trello_board_name(board_id):
url = f"https://api.trello.com/1/boards/{board_id}"
params = {"key": TRELLO_API_KEY, "token": TRELLO_TOKEN}
response = requests.get(url, params=params)
if response.status_code == 200:
return response.json()["name"]
else:
print(f"Lỗi khi lấy bảng Trello: {response.status_code}")
return None
# Bước 2: Tạo một phòng DocSpace với tên bảng
def create_docspace_room(room_title):
url = f"https://{ONLYOFFICE_API_HOST}/api/2.0/files/rooms"
payload = {
"title": room_title,
"roomType": 2, # Phòng hợp tác
"private": True
}
response = requests.post(url, headers=ONLYOFFICE_HEADERS, json=payload)
if response.status_code == 200:
print(f"Phòng đã được tạo: {room_title}")
return response.json()
else:
print(f"Lỗi khi tạo phòng DocSpace: {response.status_code}, {response.text}")
return None
# Chạy tích hợp
if __name__ == "__main__":
board_name = get_trello_board_name(TRELLO_BOARD_ID)
if board_name:
create_docspace_room(board_name)
Tích hợp lưu trữ đám mây
-
Kết nối với Dropbox. Những tích hợp mới với Dropbox hỗ trợ cả quy trình nhập và xuất. Xuất tệp từ DocSpace bằng cách sử dụng các URL đã ký trước để lưu trữ hoặc sao lưu. Nhập tệp trực tiếp vào các phòng cụ thể để quản lý tài liệu tập trung.
-
Tự động chia sẻ thư mục. Tự động chia sẻ các thư mục Dropbox với người dùng DocSpace hoặc thành viên nhóm, tạo cầu nối hợp tác liền mạch giữa các nền tảng.
Quy trình làm việc với Notion và Asana
-
Tích hợp người dùng Notion. Đồng bộ người dùng workspace Notion với DocSpace, đảm bảo quyền truy cập nhất quán trong hệ sinh thái tài liệu của bạn.
-
Tự động hóa dự án Asana. Tạo cấu trúc phòng DocSpace dựa trên các dự án Asana, với các thư mục tự động được tạo cho từng nhiệm vụ. Điều này tạo sự đồng bộ hoàn hảo giữa quản lý dự án và hợp tác tài liệu.
-
Lời mời dựa trên nhiệm vụ. Tự động mời những người được giao nhiệm vụ trong Asana đến các phòng DocSpace liên quan, loại bỏ việc quản lý quyền truy cập thủ công.
DocSpace: Cải tiến SDK Plugin
SDK Plugin nhận được các bản cập nhật đáng kể với cả mẫu nâng cao và cơ bản nhằm tăng tốc độ phát triển plugin.
Mẫu plugin nâng cao
- Plugin lọc theo loại tệp. Thêm khả năng lọc ngữ cảnh với giao diện modal sạch sẽ. Người dùng có thể lọc nội dung phòng theo loại tệp, cải thiện khả năng điều hướng trong môi trường tài liệu dày đặc.
- Plugin hộp thoại modal. Minh họa tích hợp thanh công cụ tùy chỉnh với các cuộc gọi API backend. Tạo tài liệu mới trực tiếp từ giao diện với các tham số do người dùng xác định.
- UI plugin cài đặt. Cung cấp cho quản trị viên các giao diện cấu hình tùy chỉnh, cho phép kiểm soát chính xác hành vi của plugin.
Mẫu thành phần cơ bản
Các mẫu cơ bản mới bao gồm các thành phần UI thiết yếu:
- Plugin API – cho thấy cách xử lý kết nối API của nền tảng.
- Thành phần Box – ví dụ về cấu hình bố cục và khoảng cách.
- Thành phần Button – triển khai phần tử tương tác.
- Thành phần ComboBox – giao diện lựa chọn dropdown.
- Thành phần Text – tùy chọn kiểu chữ và phong cách.
- Thành phần ToggleButton – điều khiển trạng thái nhị phân.
Những mẫu này cung cấp các khối xây dựng cho việc phát triển plugin phức tạp hơn, với các mẫu triển khai rõ ràng mà bạn có thể theo dõi.
Docs: Tùy chỉnh
Tham số mới suggestFeature
mang đến cho bạn khả năng kiểm soát tinh vi hơn đối với phần tử giao diện trình soạn thảo mới được thêm vào.
javascript
const config = {
editorConfig: {
customization: {
...
suggestFeature: true,
Tham số này kiểm soát khả năng hiển thị của nút menu "Gợi ý một tính năng" trong tab File. Đặt nó thành false
cho các triển khai nội bộ nơi gợi ý tính năng không liên quan, hoặc giữ true
để duy trì sự tham gia của người dùng vào việc phát triển sản phẩm.
Docs: Ví dụ về Office API mới
Để hỗ trợ các trường hợp sử dụng đa dạng, chúng tôi đã giới thiệu các mẫu tạo tài liệu mới với các ứng dụng thực tiễn.
- Số thứ tự. Tăng cường khả năng điều hướng bảng và tham chiếu hàng bằng cách thêm số thứ tự vào cột đầu tiên.
- Tạo bảng có định dạng. Tự động định dạng bảng trong quá trình tạo bằng cách thêm viền, định dạng tiêu đề và căn chỉnh văn bản trong các ô. Hoàn hảo cho báo cáo, xuất dữ liệu từ cơ sở dữ liệu, hoặc các mẫu yêu cầu định dạng gọn gàng và dễ đọc.
- Bảng tính với bộ lọc. Tạo một bảng tính có bộ lọc tiêu đề tương tác, cho phép người dùng dễ dàng sắp xếp và lọc dữ liệu để điều hướng và phân tích liền mạch.
- Chân trang với ngày và tên công ty. Tự động thêm một chân trang vào tài liệu của bạn với ngày hiện tại ở một bên và tên công ty của bạn ở bên kia. Lý tưởng cho định dạng tiêu chuẩn của biên bản, báo cáo, thư từ và mẫu.
- Bảng tự động điều chỉnh chiều rộng. Tạo một tài liệu với một bảng tự động điều chỉnh chiều rộng cột để phù hợp hoàn hảo với nội dung.
- Danh sách nhiệm vụ bằng dấu đầu dòng. Tạo một tài liệu có danh sách rõ ràng và có tổ chức, hoàn hảo cho việc phác thảo nhiệm vụ, bước hoặc yêu cầu.
- Xóa tất cả giá trị biểu mẫu. Ngay lập tức đặt lại tất cả các trường biểu mẫu trong PDF về trạng thái ban đầu để tái sử dụng, xóa nhanh hoặc hủy bỏ nhập liệu.
- Tạo biểu mẫu từ JSON. Tự động tạo biểu mẫu từ các đối tượng JSON, với các loại trường và cấu trúc được xác định bởi ngữ cảnh dữ liệu.
- Áp dụng bảng màu. Dễ dàng áp dụng bảng màu thống nhất trên toàn bộ bài thuyết trình của bạn để có một cái nhìn đồng bộ.
- Kiểm tra trùng lặp. Phát hiện và làm nổi bật các giá trị trùng lặp trong một cột đã chọn, hoàn hảo cho việc làm sạch và phân tích dữ liệu như danh sách khách hàng, đơn hàng, hoặc hồ sơ nhân viên.
Kiểm tra tất cả các mẫu Office API
Docs: Plugins và macros
Khám phá khái niệm về loại plugin được đóng gói trong ONLYOFFICE. Các plugin như vậy vẫn hoạt động trên tất cả các tài liệu đang mở và thậm chí tồn tại trong các tài liệu mới được mở cho đến khi bạn vô hiệu hóa chúng một cách thủ công. Chỉ cần nhấp vào nút Plugins nền ở thanh công cụ trên cùng để quản lý chúng. Ví dụ về các plugin như vậy bao gồm AI và Trình tạo mã QR.
Một plugin được coi là được đóng gói nếu:
- Nó được bao gồm trong phân phối sản phẩm (máy chủ/máy tính để bàn);
- Nó chưa được cập nhật, gỡ bỏ hoặc vô hiệu hóa.
Bắt đầu từ phiên bản 9.0.4, các plugin nền được đóng gói sẽ bắt đầu ngay lập tức.
Ngoài ra, chúng tôi đã giới thiệu một cải tiến cho các hàm tùy chỉnh – truy cập trực tiếp vào thông tin địa chỉ ô. Khả năng mới này cho phép thực hiện các phép toán linh hoạt và thông minh hơn, khiến các hàm tùy chỉnh của bạn trở nên đa năng hơn.
this.address
: Lấy địa chỉ của ô mà hàm tùy chỉnh đang được tính toán (ví dụ: “C5”).this.args
: Cung cấp một mảng các tham số đầu vào. Mỗi đối tượng tham số bao gồm một trường địa chỉ, xác định địa chỉ của ô nguồn (ví dụ: “A1”). Mảng được cấu trúc như sau:
javascript
[
{"address": "arg1_address"},
{"address": "arg2_address"},
...
]