SelSup Developers

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.

5 Các phầnHướng dẫn nhà phát triển

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ẫn

01

Đị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. 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. 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. 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. 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.

!
Giữ đường phản ứng ngắ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.

Mô hình máy nhận tối thiểu · JavaScript
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.

i
Mô hình hộp thư đến

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.

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.