ShopGo Partners

Webhook

Đăng ký chủ đề, xác minh chữ ký, thử lại và tự tắt.

Xác minh chữ ký

Mỗi lần gửi có header X-ShopGo-Hmac-Sha256 = base64(HMAC-SHA256(raw body, client secret)), cùng X-ShopGo-Topic, X-ShopGo-Shop-Domain, X-ShopGo-Webhook-Id và X-ShopGo-Api-Version. Trong 24 giờ sau khi đổi khóa, hãy chấp nhận cả khóa cũ.

const digest = crypto.createHmac('sha256', secret).update(rawBody).digest('base64');
const ok = crypto.timingSafeEqual(Buffer.from(digest), Buffer.from(req.get('X-ShopGo-Hmac-Sha256')));

Thử lại và tự tắt

Trả 2xx trong 5 giây. Lỗi được thử lại tối đa 10 lần trong 24 giờ; đăng ký lỗi liên tục 24 giờ bị tắt và đối tác nhận email. Thứ tự không được đảm bảo — dùng trường updated_at và event ID để loại trùng.