உண்மையான ஒருங்கிணைப்பின் முதுகெலும்பு வெப்ஹுக்குகள். புதிய ஆர்டர் வந்ததா என ஒவ்வொரு 30 வினாடிக்கும் API-ஐக் கேட்பதற்குப் பதிலாக URL பதிவுசெய்யுங்கள்; நிகழ்ந்தவுடன் LetBuyy அனுப்பும்.
கிடைக்கும் நிகழ்வு வகைகள்

- order.created, order.updated, order.fulfilled, order.cancelled
- payment.captured, payment.failed, payment.refunded
- product.created, product.updated, product.deleted
- inventory.low_stock, inventory.out_of_stock
- customer.created, customer.updated
- checkout.abandoned, checkout.completed
வெப்ஹுக்கைப் பதிவுசெய்தல்
POST /v1/webhooks
{
"url": "https://yourapp.com/webhooks/letbuyy",
"events": ["order.created", "payment.captured"],
"secret": "your_webhook_secret"
}கையொப்பச் சரிபார்ப்பு—மிக முக்கியம்
ஒவ்வொரு வெப்ஹுக்கிலும் X-LetBuyy-Signature தலைப்பு உள்ளது. செயலாக்குவதற்கு முன் சரிபாருங்கள். உங்கள் வெப்ஹுக் ரகசியத்தைக் கொண்டு மூலக் கோரிக்கை உள்ளடக்கத்தை HMAC-SHA256 மூலம் LetBuyy கையொப்பமிடுகிறது.
import { createHmac, timingSafeEqual } from "crypto"
function verifyWebhook(body: string, signature: string, secret: string): boolean {
const expected = createHmac("sha256", secret)
.update(body)
.digest("hex")
const signatureBuffer = Buffer.from(signature, "hex")
const expectedBuffer = Buffer.from(expected, "hex")
return signatureBuffer.length === expectedBuffer.length &&
timingSafeEqual(signatureBuffer, expectedBuffer)
}timingSafeEqual பயன்படுத்துங்கள்
HMAC கையொப்பங்களை ஒப்பிட string equality (===) பயன்படுத்தாதீர்கள்; நேர வேறுபாட்டுத் தாக்குதலுக்கு இடமளிக்கும். மேலுள்ளபடி crypto.timingSafeEqual பயன்படுத்துங்கள்.
நம்பகத்தன்மை முறைகள்

- 5 வினாடிக்குள் HTTP 200 வழங்கி, கடினச் செயல்களைப் பின்னணியில் செய்யுங்கள்
- தோல்வியுற்ற வழங்கல்களை LetBuyy மீண்டும் முயலும்: 1 நிமிடம், 5 நிமிடங்கள், 30 நிமிடங்கள், 2 மணி, 24 மணி
- X-LetBuyy-Webhook-ID தலைப்பிலுள்ள ID மூலம் idempotency அமல்படுத்துங்கள்
- செயலாக்கத்திற்கு முன் மூலத் தரவைச் சேமித்து பிழையின்போது மீண்டும் இயக்க வழிசெய்யுங்கள்
- கண்காணிப்பிற்கு /webhooks/health முனையை வழங்குங்கள்


