Đồng bộ dữ liệu người dùng qua HTTP API

Đồng bộ dữ liệu người dùngCommunity Edition+

Lấy API key

Tham khảo API keys, cần đảm bảo vai trò được gán cho API key có quyền đồng bộ dữ liệu người dùng.

Mô tả API

Ví dụ

curl 'https://localhost:13000/api/userData:push' \
  -H 'Authorization: Bearer <token>' \
  --data-raw '{"dataType":"user","records":[]}' # request body xem mô tả chi tiết bên dưới

Endpoint

POST /api/userData:push

Định dạng dữ liệu người dùng

UserData

Tên tham sốKiểuMô tả
dataType'user' | 'department'Bắt buộc, loại dữ liệu được đẩy, đẩy dữ liệu người dùng điền user
matchKey'username' | 'email' | 'phone'Tùy chọn, sẽ dựa trên field được cung cấp và giá trị field tương ứng trong dữ liệu đẩy để truy vấn người dùng đã có trong hệ thống nhằm khớp
recordsUserRecord[]Bắt buộc, mảng các bản ghi dữ liệu người dùng

UserRecord

Tên tham sốKiểuMô tả
uidstringBắt buộc, định danh duy nhất của dữ liệu người dùng nguồn, dùng để liên kết dữ liệu gốc nguồn và người dùng hệ thống. Không thay đổi đối với cùng một người dùng.
nicknamestringTùy chọn, nickname người dùng
usernamestringTùy chọn, username
emailstringTùy chọn, email người dùng
phonestringTùy chọn, số điện thoại
departmentsstring[]Tùy chọn, mảng uid phòng ban mà người dùng thuộc về
isDeletedbooleanTùy chọn, bản ghi có bị xóa hay không
<field>anyTùy chọn, dữ liệu các field tự tạo khác trong bảng người dùng

Định dạng dữ liệu phòng ban

Info

Điều kiện đẩy dữ liệu phòng ban là phải cài đặt và kích hoạt plugin Phòng ban.

DepartmentData

Tên tham sốKiểuMô tả
dataType'user' | 'department'Bắt buộc, loại dữ liệu được đẩy, đẩy dữ liệu phòng ban điền department
recordsDepartmentRecord[]Bắt buộc, mảng các bản ghi dữ liệu phòng ban

DepartmentRecord

Tên tham sốKiểuMô tả
uidstringBắt buộc, định danh duy nhất của dữ liệu phòng ban nguồn, dùng để liên kết dữ liệu gốc nguồn và phòng ban hệ thống. Không thay đổi đối với cùng một phòng ban.
titlestringBắt buộc, tiêu đề phòng ban
parentUidstringTùy chọn, uid phòng ban cấp trên
isDeletedbooleanTùy chọn, bản ghi có bị xóa hay không
<field>anyTùy chọn, dữ liệu các field tự tạo khác trong bảng phòng ban

:::info

  1. Đẩy dữ liệu nhiều lần là idempotent.
  2. Nếu khi đẩy phòng ban, phòng ban cha chưa được tạo, sẽ không thể liên kết được. Bạn có thể đẩy lại dữ liệu.
  3. Nếu khi đẩy người dùng, phòng ban chưa được tạo, sẽ không thể liên kết được phòng ban thuộc về. Bạn có thể đẩy lại dữ liệu người dùng sau khi đã đẩy dữ liệu phòng ban. :::