Handler webhook của bạn gọi LLM. Bên gửi ngắt kết nối trước.
Slack chờ 3 giây, Shopify 5 giây, GitHub 10 giây. Gọi LLM lâu hơn nên bên gửi ngắt kết nối. Trả lời trước, xử lý sau, hoặc để relay giữ sự kiện.
Mới nhất
14
2026.10
Ghi chép thực chiến về gửi webhook, thử lại, xác minh chữ ký, debug và phát lại, từ đội ngũ xây dựng AnyHook.
ngrok đổi URL mỗi lần khởi động lại, và bạn phải dán lại vào Stripe hay Shopify. Đặt một URL cố định ở nhà cung cấp, trỏ nó tới tunnel đang chạy hôm nay.
Tranh luận về idempotency thường dừng ở một dòng database bị trùng. Webhook đặt lịch là nơi nó dừng ở cảnh hai người cùng đến cho lịch hẹn lúc 10:00.
GitHub không thử lại (retry) lượt gửi webhook thất bại, không một lần nào. Bản ghi lượt gửi giữ ba ngày, sau đó sự kiện mất vì deploy lỗi là mất hẳn.
HubSpot không đảm bảo thứ tự, và tài liệu ghi rõ eventId không được đảm bảo là duy nhất. Mọi phản xạ bạn có từ event.id của Stripe đều sai ở đây.
Lỡ access.granted thì người dùng gửi ticket. Lỡ access.revoked thì không ai để ý: nhìn từ ngoài, mọi thứ vẫn chạy. Uptime là một cơ chế kiểm soát truy cập.
Merchant of record có thời hạn phản hồi ngắn hơn và đường cong thử lại dày hơn. Những gì thay đổi khi indie SaaS chuyển sang Paddle hay Lemon Squeezy.
Slack muốn nhận 2xx trong vòng ba giây và vô hiệu hóa event subscription nếu 95% lượt gửi thất bại trong một giờ. Một lỗi webhook người dùng nhìn thấy.
Twilio là bên gửi lớn duy nhất cho bạn cấu hình connect timeout, read timeout, tổng thời gian, số lần và chính sách thử lại. Năm núm chỉnh mà không ai vặn.
Không có Node crypto, quỹ CPU tính bằng mili giây và waitUntil không bền vững. Những gì thay đổi khi bên nhận là một Worker, từ chính ingress của AnyHook.
WooCommerce xếp webhook vào Action Scheduler trên WP-Cron, mà WP-Cron chỉ chạy khi có người vào site. Lỗi hơn năm lần liên tiếp, webhook bị vô hiệu hóa.
Hầu hết nhà cung cấp lớn gửi ít nhất một lần: bản trùng là điều chắc chắn, không phải ngoại lệ. Bốn cách làm idempotency, xếp theo mức bảo vệ tăng dần.
Chín trên mười lần là do URL test, vốn chỉ lắng nghe khi bạn đang theo dõi. Phần còn lại: chế độ phản hồi, raw body đã bị parse hoặc sự kiện bị mất.
Shopify cho endpoint của bạn năm giây, thử lại tám lần trong bốn giờ, rồi xóa subscription. Không có lỗi nào được ném ra. Đơn hàng cứ thế ngừng đến.
Stripe đã vô hiệu hóa endpoint webhook của bạn, và thời hạn khôi phục 30 ngày ngắn hơn bạn tưởng. Trình tự: bật lại, lấy bù từ Events API.
Chữ ký không xác minh được mà không rõ lý do, việc trong waitUntil biến mất, cold start ngốn thời hạn phản hồi: lỗi hay gặp trên serverless và cách xử lý.
Polling tốn request nhưng hỏng nhẹ nhàng. Webhook hiệu quả nhưng hỏng trong im lặng. Kèm mô hình lai mà phần lớn các tích hợp nghiêm túc rốt cuộc đều xây.
Nửa internet vẫn trả lời qua email: mã xác minh, biên nhận, thông báo. Một lệnh gọi không cần key cho agent một hộp thư thật, đọc lại như sự kiện webhook.
Một địa chỉ catch-all, một email handler trong Worker và khoảng sáu mươi dòng code: mọi email gửi tới domain thành một JSON POST vào pipeline HTTP sẵn có.
Nhật ký webhook trong database sửa được là lời khẳng định, chưa phải bằng chứng. AnyHook dùng chuỗi băm theo App, niêm phong hằng ngày, điểm neo công khai.
Nếu test dựng chữ ký bằng đúng công thức mà hàm xác minh kiểm tra, cả hai có thể cùng sai mà vẫn xanh. Hãy đối chiếu với SDK của nhà cung cấp.
Agent gọi được API; nhận sự kiện là nửa còn thiếu. Điều gì hỏng khi agent cần một URL webhook, và dịch vụ mà agent tự vận hành được trông ra sao.
Debug lượt gửi webhook: cần xem gì trong header, mã trạng thái, thời gian và payload khi tích hợp của bạn ngừng hoạt động.
Vì sao exponential backoff kiểu ngây thơ gây ra thundering herd, jitter khắc phục nó thế nào, và lịch thử lại chuẩn production thực sự trông ra sao.
Server của bạn ngừng hoạt động ba giờ. Stripe, GitHub và Shopify vẫn tiếp tục gửi webhook. Cách phát lại các sự kiện bị lỡ, có và không có relay.
ngrok rất tốt khi phát triển local, nhưng không phải chiến lược cho production. Đây là thứ bạn cần ngoài tunnel: staging, production và vùng xám ở giữa.
Stripe thử lại webhook thất bại trong tối đa 3 ngày. Lịch thử lại hoạt động thế nào, cái gì hỏng khi endpoint ngừng hoạt động và cách thiết kế cho nó.
Xác minh chữ ký webhook của từng nhà cung cấp: lỗi hay gặp, cách khoảng dung sai dấu thời gian hoạt động, và vì sao thử lại làm hỏng cách làm ngây thơ.
Đổi một URL là có thử lại tự động, nhật ký sự kiện đầy đủ và phát lại bằng một cú bấm. Gói Free, không cần thẻ thanh toán.