View FAQ →
Developer Reference

Webhooks & Event Subscriptions

TackQuote emits real-time HTTP POST webhooks whenever quote states change. Subscribe your internal ERPs, CRMs, or custom microservices to quote events.

1. HMAC SHA-256 Signature Verification

Every webhook request includes an X-TackQuote-Signature header. Verify signature validity using your tenant's webhook signing secret:

const crypto = require('crypto');

function verifyWebhook(payloadBody, signatureHeader, secret) {
  const hmac = crypto
    .createHmac('sha256', secret)
    .update(payloadBody, 'utf8')
    .digest('hex');
  
  return crypto.timingSafeEqual(
    Buffer.from(signatureHeader),
    Buffer.from(`sha256=${hmac}`)
  );
}

2. Supported Event Types

Event NameDescription
quote.createdEmitted when a new quote draft is initialized by a sales rep or storefront RFQ.
quote.sentEmitted when a quote digital proposal is dispatched to a buyer email address.
quote.viewedEmitted when a buyer opens their interactive proposal portal link.
quote.negotiatedEmitted when a buyer requests custom line item quantity or pricing adjustments.
quote.signedEmitted when a buyer signs the proposal with an ESIGN-compliant digital signature.
quote.acceptedEmitted when deposit payment or Net Terms credit checkout is completed.