Bỏ qua điều hướng
Blog

Gia hạn webhook: theo dõi subscription để không bỏ sót thay đổi

Gia hạn webhook cần quản lý subscription ID, hạn hết, quyền và mốc đối soát. Xử lý missed hoặc removed theo API thay vì nghĩ endpoint200 là vẫn nhận đủ.

Chia sẻFacebookLinkedInZalo
Gia hạn webhook: theo dõi subscription để không bỏ sót thay đổi
Nội dung bài viết

Gia hạn webhook là việc duy trì quyền đăng ký nhận thay đổi từ hệ thống nguồn. Endpoint của doanh nghiệp có thể vẫn trả HTTP 200, nhưng nếu subscription ở phía nhà cung cấp đã hết hạn, sự kiện mới không còn được gửi tới. Vì vậy, kiểm tra máy chủ nhận webhook hoạt động không đủ chứng minh hệ thống đang nhận đủ thông báo.

Gia hạn webhook khác kiểm tra endpoint

Endpoint health cho biết nơi nhận có đáp ứng hay không. Subscription health cho biết phía nguồn còn đăng ký đúng tài nguyên, loại thay đổi và quyền cần thiết hay không. Coverage cho biết các thay đổi trong một khoảng đã được đối chiếu đầy đủ chưa. Ba câu hỏi này cần được theo dõi riêng, không gom thành một đèn xanh “webhook OK”.

Microsoft Graph có lifecycle notifications như reauthorizationRequired, subscriptionRemoved và missed cho những tài nguyên hỗ trợ. Đây là hành vi của Graph, không phải cam kết chung của mọi nhà cung cấp webhook. Trước tích hợp phải xác định API đang dùng có hạn đăng ký, cơ chế gia hạn, tín hiệu vòng đời và đường đọc lại dữ liệu nào.

Sổ subscription phải đủ để khôi phục

Nhóm Thông tin cần giữ Mục đích
Phạm vi Subscription ID, tài nguyên, loại thay đổi Không gia hạn nhầm đối tượng
Hiệu lực Hạn hết, lần gia hạn, kết quả readback Phân biệt gửi yêu cầu với đã gia hạn
Danh tính Ứng dụng/quyền sở hữu, người phụ trách Xử lý quyền thay đổi
Đối soát Mốc dữ liệu và khoảng chưa xác nhận Khôi phục thay đổi bị bỏ lỡ

Không lưu secret trực tiếp trong sổ vận hành rộng quyền. Nếu có client state hoặc thông tin xác thực cần bảo vệ, tham chiếu kho bí mật phù hợp và ghi trạng thái kiểm tra, không sao chép giá trị thật. Cũng cần biết subscription thuộc tài khoản hoặc ứng dụng nào để việc bàn giao nhân sự không làm mất khả năng gia hạn.

gia hạn webhook: Hiệu lực đăng ký và khoảng trống dữ liệu
Minh họa thiết kế biên tập; không phải giao diện đã triển khai hay kết quả kiểm thử thực tế.

Ví dụ giả định: không có sự kiện trong một buổi

Một hệ thống thường nhận thông báo cập nhật hồ sơ, nhưng cả buổi không có sự kiện. Endpoint vẫn phản hồi tốt. Có ít nhất hai khả năng: nguồn thực sự không có thay đổi hoặc subscription không còn hoạt động. Chỉ dùng số sự kiện bằng không không thể kết luận bên nào đúng. Cần kiểm tra subscription và đối chiếu dữ liệu nguồn theo quyền đã được cấp.

Nếu xác nhận đăng ký bị gỡ, tạo lại subscription chỉ giải quyết luồng tương lai. Khoảng từ mốc dữ liệu đã xác nhận đến khi đăng ký mới hoạt động vẫn cần đối soát. Với API hỗ trợ delta query hoặc cơ chế thay đổi tương đương, dùng theo hợp đồng của nó. Không giả định luôn có lịch sử sự kiện vô hạn để phát lại.

Gia hạn thành công phải có xác nhận

Lịch gia hạn cần chừa thời gian xử lý lỗi, nhưng khoảng chừa không nên được sao chép thành một giá trị chung cho mọi loại tài nguyên. Sau yêu cầu gia hạn, đọc phản hồi hoặc readback để xác nhận hạn hiệu lực mới. Nếu timeout, giữ trạng thái chưa rõ rồi tra cứu trước khi tạo hàng loạt đăng ký thay thế.

Khi tạo lại, cần tránh nhiều subscription chồng nhau mà bộ nhận không xử lý được trùng. Đối chiếu ID và phạm vi hiện hành trước khi dọn đăng ký cũ. Việc xóa subscription cũng là thay đổi có tác động; không xóa chỉ vì một dòng log nói lỗi gia hạn khi nguồn đã thực sự chấp nhận yêu cầu.

Nghiệm thu cả khoảng trống thông báo

Ca cần chuẩn bị gồm quyền bị thu hồi, yêu cầu gia hạn mất phản hồi, subscription bị gỡ và tín hiệu missed được hỗ trợ. Cần kiểm tra hệ thống có mở ngoại lệ, xác định khoảng chưa xác nhận và đối soát lại hay không. Bằng chứng phải tách “đăng ký mới hoạt động” khỏi “dữ liệu lịch sử đã khớp”. Đây là kế hoạch kiểm tra, không phải log chạy thật.

Nếu cần Onter khảo sát tích hợp, hãy cung cấp tài liệu subscription của nhà cung cấp và một sổ vòng đời đã che bí mật. Phạm vi cụ thể có thể là lịch gia hạn, màn hình cảnh báo hoặc đối soát khoảng trống; không nhất thiết cần thay cơ chế xử lý webhook đang hoạt động tốt.

Đọc thêm theo vấn đề liên quan: Webhook đến sai thứ tự: giữ đúng trạng thái nghiệp vụ.

Đọc thêm theo vấn đề liên quan: Đồng bộ tăng dần: xử lý bản ghi đã xóa trước khi chốt dữ liệu.

Trao đổi phạm vi phát triển và tích hợp tại dịch vụ gia công phần mềm Onter. Tài liệu mẫu cần được che thông tin nhạy cảm trước khi chia sẻ.

Nguồn kỹ thuật

Tài liệu chính thức cho chủ đề gia hạn webhook. Quy trình, bảng kiểm và ví dụ trong bài là đề xuất biên tập; chưa phải log triển khai hay chứng nhận sản phẩm.

Tài khoản Onter

Đăng nhập rồi tiếp tục việc đang làm.

Mở trang đăng nhập riêng nếu trình duyệt chưa hiển thị biểu mẫu.

Contact Me on Zalo