Giai đoạn công việc cuối đến cuối · Các hướng dẫn
Webhooks và tích hợp dựa trên sự kiện
Thiết lập kết nối web xuất phát, một máy nhận an toàn, bảo vệ trùng lặp và phục hồi các sự kiện bị bỏ lỡ thông qua API.
Webhooks làm giảm độ trễ thay đổi nhưng không thay thế nguồn thật.
Các sự tích hợp dựa trên sự kiện và dịch vụ hậu thuẫn01
Định nghĩa các sự kiện và sở hữu
Bắt đầu với một sự kiện kinh doanh như một đơn đặt hàng mới hoặc thay đổi, thay đổi cổ phiếu hoặc thay thế giá. Định nghĩa hành động của chủ sở hữu dữ liệu và người nhận cho mỗi sự kiện.
Giữ tải trọng webhook ban đầu riêng biệt với mô hình bình thường của bạn trong một thời gian hạn chế. Nó cho phép chơi lại sau khi tích hợp đã được sửa chữa.
Phiên bản bộ xử lý nội bộ của bạn. Một trường tùy chọn mới không được phá vỡ phân tích của cấu trúc sự kiện đã biết.
02
Xây dựng máy thu HTTP an toàn
- 1
Giới hạn yêu cầu
Chỉ chấp nhận các phương pháp và loại nội dung cần thiết, áp dụng giới hạn kích thước cơ thể và sử dụng thời gian đọc ngắn.
- 2
Kiểm tra nguồn
Sử dụng bí mật trong một URL không được liệt kê hoặc tiêu đề có thể cấu hình và thêm lọc cửa API. Đừng tin vào User-Agent một mình.
- 3
Cứ tiếp tục sự kiện
Cung cấp tải trọng và khóa giảm trùng lặp trong một giao dịch, sau đó trả lời thành công nhanh chóng.
- 4
Quá trình không đồng bộ
Gọi ERP, WMS và các hệ thống khác từ hàng thay vì yêu cầu HTTP tiếp nhận.
Một phản ứng chậm làm tăng thời gian và nguy cơ giao hàng trùng lặp.
app.post('/selsup/events/secret-path', async (request, response) => {
const eventKey = createStableEventKey(request.body);
const inserted = await inbox.insertOnce(eventKey, request.body);
response.sendStatus(inserted ? 202 : 200);
});
03
Tái bản, sắp xếp và khử bản
Sử dụng một nhận dạng sự kiện ổn định khi có; nếu không lấy một khóa từ loại thực thể, ID thực thể , thời gian sửa đổi và một hash dữ liệu có ý nghĩa.
Các sự kiện có thể đến không theo thứ tự. So sánh được sửa đổiTang trước khi viết hoặc tải lại thực thể hiện tại thông qua API.
Trả lại trạng thái thành công cho một sự kiện đã được xử lý. Nếu không người gửi có thể tiếp tục thử lại công việc hoàn thành.
Một bảng các sự kiện tiếp theo với eventKey, trạng thái và kiểm toán cố gắng độc đáo đơn giản hóa việc sao chép, chơi lại và kiểm tra.
04
Khôi phục các sự kiện bị bỏ lỡ
Thực hiện các kết hợp API định kỳ ngay cả khi các webhook khỏe mạnh. Sử dụng modifiedDate với chồng chéo cho các đơn đặt hàng và một kho hoặc kiểm tra SKU thay đổi cho hàng tồn kho.
Sau khi máy nhận ngừng hoạt động, hãy thoát hộp thư đến và yêu cầu thay đổi cho cửa sổ ngừng hoạt hình hoàn chỉnh.
Các điểm cuối API liên quan
GET/api/order/findKhôi phục thay đổi lệnhGET/api/wms/stock/findTương thích các thay đổi cổ phiếu
05
Quản lý vòng đời webhook
Khám phá URL hoạt động, loại sự kiện, biên nhận thành công cuối cùng và error mới nhất trong tích hợp của bạn. Điều này cho phép chẩn đoán mà không cần truy cập trực tiếp vào nhật ký máy chủ.
Trước khi thay thế hoặc xóa một URL, hãy xác minh rằng người nhận mới chấp nhận các sự kiện. Tháo lại bí mật cũ sau khi di chuyển.
Các điểm cuối API liên quan
GET/api/webhook/Xem xét các webhook được cấu hìnhDELETE/api/webhook/{webhookId}Xóa một webhook