{ id, type, createdAt, data } — xem Tổng quan. Trang này mô tả phần data.
Nguyên tắc chung:
- Mã, không phải ID nội bộ.
documentIdlà mã hồ sơ bạn cấp,transactionIdlà mã tiến trình,documentUuidlà UUID công khai. - Tương thích tiến. Hệ thống có thể thêm trường mới vào
data. Bộ parse của bạn phải bỏ qua trường chưa biết thay vì báo lỗi. metadataluôn là bản echo củametadatabạn gửi khi tạo hồ sơ ({}nếu không gửi).
relatedParties
Có trong data của mọi event notification.* và document.*. Cho biết ai tạo hồ sơ và những ai đã xử lý tính đến thời điểm gửi event — đủ để bạn tự gửi thông báo cho người liên quan.
object | null
Người tạo hồ sơ. Luôn là tài khoản của tổ chức (
type: "internal"); với hồ sơ tạo qua API là tài khoản tích hợp.array
Mỗi phần tử là một lần xử lý (duyệt/ký hoặc từ chối), sắp theo
actedAt tăng dần. Một người xử lý nhiều bước sẽ xuất hiện nhiều lần. Mảng rỗng khi chưa ai xử lý (ví dụ event giao việc của bước đầu tiên).relatedParties không bao giờ chứa credentials. Bước quá hạn không tạo actor, vì không ai thực sự xử lý.Event notification.*
Năm event dùng chung một cấu trúc; notification.task_completed có thêm actor và nextStep.
Trường chung
Khác nhau giữa các event
step: bước vừa giao (task_assigned_*), bước vừa xong (task_completed), bước bị từ chối (task_rejected);nullởprocess_finished.signUrl: link mở công việc ký ởtask_assigned_*; link mở hồ sơ ở ba event còn lại.
recipients[] của task_rejected và process_finished không gồm người tạo hồ sơ. Lấy người tạo ở relatedParties.creator.recipients[]
Ba biến thể của
credentials: null (không có tài khoản) · { userName, password: null } · { userName, password }.
Bước mời người ký bằng số điện thoại có email: null và phone có giá trị. Luôn kiểm tra trường nào khác null rồi mới chọn kênh gửi.
Ví dụ
- task_assigned_external
- task_assigned_internal
- task_completed
- task_rejected
- process_finished
Một bước được giao cho người ký bên ngoài.
Event document.*
document.completed
relatedParties.actors — thực tế chứa mọi lần xử lý, cấu trúc như mục trên.
files[] được thiết kế tương thích tiến: bạn có thể bỏ qua các type chưa nhận diện, cho phép hệ thống thêm loại file mới mà không phá vỡ tích hợp cũ. ecmNodeUuid chính là fileUuid dùng cho endpoint tải file.
document.rejected
document.completed ở chỗ: không có bản ký hoàn chỉnh trong files[] (chỉ file đầu vào và đính kèm), không có signedCount, và có thêm:
Event webhook.test
Payload và cách kiểm thử: xem Tổng quan — webhook.test.
