Quyền được quên (RTBF) cho cửa hàng dữ liệu cho phép bạn tuyên bố các khóa và cửa hàng dữ liệu nào lưu giữ dữ liệu của người dùng. Khi Roblox xử lý một yêu cầu RTBF cho trò chơi của bạn, hệ thống sử dụng các mẫu đó để tự động xóa dữ liệu phù hợp. Bạn có thể cấu hình các mẫu một cách trực quan thông qua Trình quản lý Cửa hàng Dữ liệu trong Creator Hub, hoặc qua API Cấu hình Open Cloud Configs API.
RTBF tự động
Để sử dụng xử lý RTBF tự động, bạn phải định nghĩa các mẫu xóa. Các mẫu này cho Roblox biết cửa hàng dữ liệu hoặc khóa nào thuộc về một người dùng cụ thể. Bạn có thể có tối đa 100 mẫu để xác định dữ liệu người dùng của mình.
Mẫu xóa
RTBF tự động hoạt động bằng cách so khớp các mẫu. Bạn định nghĩa một mẫu cho dữ liệu người dùng của mình bằng cách sử dụng một mã thông báo {UserId}. Khi Roblox nhận được một yêu cầu quyền được quên, hệ thống sẽ thay thế mã thông báo đó bằng ID thực tế của người yêu cầu và quét các cửa hàng dữ liệu của bạn để tìm các kết quả phù hợp để xóa.
Yêu cầu đủ điều kiện
Để một mục đủ điều kiện xóa tự động, nó phải đáp ứng các tiêu chí sau:
- Loại lưu trữ — Dữ liệu người dùng nên được lưu trữ trong một cửa hàng dữ liệu tiêu chuẩn hoặc một cửa hàng dữ liệu có thứ tự. Việc xóa toàn bộ một cửa hàng dữ liệu chỉ được hỗ trợ cho các cửa hàng dữ liệu tiêu chuẩn.
- Định danh — ID người dùng phải là một phần của Name hoặc Scope của cửa hàng dữ liệu hoặc khóa.
- Định dạng — ID phải có thể xác định được qua một mẫu chuỗi tĩnh (ví dụ: User_{UserId}).
Cấu hình RTBF tự động qua Trình quản lý Cửa hàng Dữ liệu
Creator Hub cung cấp một giao diện trực quan để quản lý các mẫu RTBF của bạn mà không cần sử dụng dòng lệnh.
Điều hướng đến Creator Hub.
Chọn trò chơi mà bạn muốn cấu hình.
Trong menu điều hướng bên trái, vào Cấu hình ⟩ Trình quản lý Cửa hàng Dữ liệu.
Chọn tab Xóa RTBF.
Nhấp vào Tạo Mẫu.
Chọn Loại (Cửa Hàng Dữ Liệu Chuẩn, Khóa Chuẩn, hoặc Khóa Có Thứ Tự).
Nhập các trường tương ứng với mẫu của bạn bằng mã thông báo {UserId} (ví dụ: PlayerInventory_{UserId}). Mã thông báo này phân biệt chữ hoa chữ thường.
Kiểm tra kỹ lưỡng đầu ra mẫu và nhấp vào Tạo.

Cấu hình RTBF tự động qua API Cấu hình
Bạn cũng có thể quản lý các mẫu RTBF một cách lập trình thông qua API Cấu hình Open Cloud. Điều này hữu ích cho việc tự động hóa hoặc quản lý các mẫu với quy mô lớn.
Trong Bảng điều khiển Creator, tạo hoặc chỉnh sửa khóa API để bao gồm quyền universe:read và universe:write cho mỗi vũ trụ mà bạn muốn tự động hóa xóa RTBF. Để biết thêm chi tiết, xem Quản lý khóa API.
Các mẫu được lưu trữ dưới dạng cấu hình JSON có tên là user_data_templates. Có hai loại chính:
- Mẫu khóa — Xác định các khóa cụ thể. Yêu cầu data_store_type (STANDARD hoặc ORDERED), data_store_name, và key_pattern. scope_pattern là tùy chọn nhưng được khuyến nghị.
- Mẫu cửa hàng dữ liệu — Xác định toàn bộ cửa hàng dữ liệu. Yêu cầu data_store_type (hiện tại chỉ hỗ trợ STANDARD) và data_store_pattern.
Đối với cả hai loại mẫu, mã thông báo {UserId} được thay thế bằng ID của người dùng khi một yêu cầu RTBF được xử lý.
Cấu hình mẫu{"user_data_templates": [{"key_template": {"data_store_type": "STANDARD","data_store_name": "PlayerInventory","key_pattern": "User_{UserId}","scope_pattern": "Scope_{UserId}"}},{"key_template": {"data_store_type": "ORDERED","data_store_name": "PlayerLeaderboard","key_pattern": "User_{UserId}","scope_pattern": "global"}},{"data_store_template": {"data_store_type": "STANDARD","data_store_pattern": "Player_{UserId}_Save"}}]}Tiếp theo, gửi yêu cầu PUT qua Open Cloud Configs API. Trong các ví dụ sau, hãy thay thế <API_KEY> và <UNIVERSE_ID> trong mỗi yêu cầu, và gửi tất cả các yêu cầu đến kho lưu trữ DataStoresConfig.
Tạo một bản nháp thông qua yêu cầu PUT định nghĩa cấu hình của bạn. Nếu một bản nháp đã tồn tại, yêu cầu này sẽ ghi đè lên nó.
curl --location --request PUT 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft:overwrite' \--header 'x-api-key: <API_KEY>' \--header 'Content-Type: application/json' \--data-raw '{"entries": {"user_data_templates": [{"key_template": {"data_store_type": "STANDARD","data_store_name": "PlayerInventory","key_pattern": "User_{UserId}","scope_pattern": "Scope_{UserId}"}},{"key_template": {"data_store_type": "ORDERED","data_store_name": "PlayerLeaderboard","key_pattern": "User_{UserId}","scope_pattern": "global"}},{"data_store_template": {"data_store_type": "STANDARD","data_store_pattern": "Player_{UserId}_Save"}}]}}'Xác minh bản nháp của bạn thông qua yêu cầu GET để lấy và xem lại bản nháp trước khi nó được phát hành.
curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft' \--header 'x-api-key: <API_KEY>'Sau khi xác minh, gửi yêu cầu POST này để xuất bản. Cách duy nhất để hoàn tác hành động này là khôi phục phiên bản trước đó. Hành động này cũng yêu cầu tài khoản liên kết với khóa API phải đủ điều kiện để xuất bản trò chơi.
curl --location --request POST 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/publish' \--header 'x-api-key: <API_KEY>' \--header 'Content-Type: application/json' \--data-raw '{"deploymentStrategy": "Immediate"}'Sau khi xuất bản, xác nhận cấu hình đã hoạt động với yêu cầu GET này.
curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/full' \--header 'x-api-key: <API_KEY>'
Thực tiễn tốt nhất
- Phân biệt chữ hoa chữ thường — Sử dụng mã thông báo {UserId} chính xác trong các mẫu của bạn. Các biến thể như {userId} sẽ không được chấp nhận.
- Xác minh thủ công — So sánh các mẫu của bạn với việc sử dụng Luau của bạn đang hoạt động bằng cách sử dụng Trình quản lý Cửa hàng Dữ liệu trong Creator Hub trước khi bạn xuất bản cấu hình.
- Phạm vi mặc định — Nếu một cửa hàng dữ liệu sử dụng phạm vi mặc định, hãy thiết lập scope_pattern thành "global" trong mẫu khóa.
- Kiểm tra quy trình từ đầu đến cuối trên một trò chơi thử nghiệm — Để xác thực hoàn toàn các mẫu của bạn, hãy xem xét việc tạo một trò chơi thử nghiệm và tài khoản giả lập, làm đầy nó bằng dữ liệu giả cho ID người dùng của tài khoản đó, yêu cầu RTBF trên tài khoản giả, và đảm bảo rằng dữ liệu được xóa khi tài khoản đó được xử lý.
- Xác nhận việc xóa — Sau khi triển khai trên trò chơi thực của bạn, khi một yêu cầu RTBF xuất hiện trong tin nhắn Roblox của bạn, xác minh rằng dữ liệu tương ứng được xóa trong vòng 30 ngày.