वेबहुकधर्मः। अन्तःपेटिकायां (१८ नव) उपभोगः। अत्र बहिः पक्षं कथं बोधयति। webhook, HMAC, SSRF। न sync partner hang; वेबहुकधर्मः।
English (minimizable)
After inbox (18 Nov), this post covers webhooks: HMAC signing, at-least-once with receiver dedupe, backoff and DLQ, SSRF-safe URLs, secret rotation, quick-ack receivers, delivery logs and outbox-born fanout versus internal pub/sub.
पूर्ण-शीर्षकम् / Full title
वेबहुकधर्मः: A Metrical Codification of Webhooks (with English glosses)
English · overview and topics (minimizable)
What this post is about
Webhooks deliver event notifications as signed HTTP callbacks to external subscriber endpoints.
Topics covered
- Push vs endless poll
- HMAC and timestamp signs
- At-least-once reality
- Backoff and DLQ
- SSRF-safe URLs
- Secret and schema rotation
- Fast ack async work
- Per-attempt delivery logs
- Outbox not request path
- Pub/sub vs webhook vs inbox
Sanskrit title
वेबहुकधर्मः = vebhuk-dharmaḥ “dharma of webhooks”.
English
Minimizable; Sanskrit-first.
परम्परा-सन्धिः / Series links
| पूर्वं / Prior | अत्र / Adds | न पुनः / Does not repeat |
|---|---|---|
| अन्तःपेटिकाधर्मः (१८ नव) | inbox | receiver dedupe |
| बहिर्लेखनपटलः (२८ सितम्बे) | outbox | birth deliveries |
| प्रकाशनसदस्यता (२६ अक्टो) | pub/sub | internal bus |
| कुञ्जीप्रबन्धनम् (१९ अक्टो) | secrets | signing keys |
| इदम् | webhook external push | - |
ग्राह्य-त्याज्य-विवेकः / Keep and avoid
ग्राह्यम् / Keep
१. HMAC+timestamp signatures: reject spoof/replay
२. document at-least-once: receiver idempotent
३. backoff then DLQ: no tight loop
४. allowlist URLs: block SSRF ranges
५. rotate secrets with overlap: schema versions
६. ack fast process async: receiver side
७. enqueue via outbox: not user request path
त्याज्यम् / Avoid
- unsigned webhook trust
- open URL fetch to link-local metadata
- call partner HTTP inside checkout transaction
अध्याय-योजना / Chapter plan
| प्रकरणम् | विषयः | छन्दः | श्लोकाः |
|---|---|---|---|
| १ | मङ्गलं बीजं च / Opening | अनुष्टुभ् | २ |
| २ | मूलतत्त्वानि / Core | अनुष्टुभ् | २ |
| ३ | मुख्यविधिः / Method | उपजाति | १ |
| ४ | रक्षा · विधिः / Guards | अनुष्टुभ् | २ |
| ५ | विवेक · सीमा / Judgment | अनुष्टुभ् | २ |
| ६ | पूर्वसन्धिः / Series links | उपजाति | १ |
| ७ | उपसंहारः / Close | अनुष्टुभ् | २ |
पारिभाषिक-कोशः / Glossary
| Modern English | संस्कृतम् | Note |
|---|---|---|
| webhook | वेबहुक / webhook | |
| HMAC | हैशसंदेशचिह्नम् | |
| SSRF | सर्वरपार्श्वअनुरोधजालम् | |
| delivery attempt | प्रसवाभ्यासः | |
| subscriber URL | सदस्यURL | |
| signing secret | हस्ताक्षररहस्यम् | |
| Replay | पुनःप्रसारः | |
| DLQ | मृतपङ्क्तिः | |
| allowlist | अनुमतिसूची | |
| callback | प्रत्याह्वानम् |
श्लोकः १ (अनुष्टुभ्)
वेबहुकधर्मस्तस्माद् बहिःसूचना ॥१॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
घटना यदि बहिः पक्षे कथयितव्या तदा पुश मार्गो जायते ।
वेबहुकधर्मस्तस्माद् बहिःसूचना ॥१॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| घटना | event |
| बहिः | outside |
| पक्षे | party |
| कथयितव्या | to be told |
| पुश | push |
| मार्गः | path |
| जायते | arises |
| वेबहुकधर्मः | webhook dharma |
| बहिःसूचना | outer notice |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| वेबहुकधर्मः | webhook dharma |
| बहिःसूचना | outbound notice |
English sense
Webhooks push event HTTP callbacks to subscriber URLs so external systems learn changes without polling forever.
Context / topic
Topic: why webhooks. Distinct from pub/sub inside your mesh and from polling APIs.
वृत्तमिति: ८-८-८-८।
श्लोकः २ (अनुष्टुभ्)
unsigned trust मिथ्या ॥२॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
sign payloads HMAC timestamp ।
unsigned trust मिथ्या ॥२॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| sign | sign |
| payloads | payloads |
| HMAC | HMAC |
| timestamp | timestamp |
| unsigned | unsigned |
| trust | trust |
| मिथ्या | false |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| HMAC sign | authenticity |
| unsigned | spoof risk |
English sense
Sign bodies with a shared secret and timestamp so receivers reject forgeries and pure replays.
Context / topic
Topic: signing.
वृत्तमिति: ८-८-८-८।
श्लोकः ३ (अनुष्टुभ्)
exactly-once delivery myth ॥३॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
at-least-once + receiver inbox ।
exactly-once delivery myth ॥३॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| at-least-once | at-least-once |
| receiver | receiver |
| inbox | inbox |
| exactly-once | exactly-once |
| delivery | delivery |
| myth | myth |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| receiver inbox | dedupe |
| exactly-once myth | network lies |
English sense
Deliver at least once and document idempotent receivers. Promise of perfect once-only HTTP is a myth under retries.
Context / topic
Topic: delivery.
वृत्तमिति: ८-८-८-८।
श्लोकः ४ (अनुष्टुभ्)
tight loop receiver burn ॥४॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
retry with backoff and give-up DLQ ।
tight loop receiver burn ॥४॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| retry | retry |
| backoff | backoff |
| give-up | give-up |
| DLQ | DLQ |
| tight | tight |
| loop | loop |
| receiver | receiver |
| burn | burn |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| backoff give-up | polite sender |
| tight loop | abuse |
English sense
Retry failed deliveries with exponential backoff then park to a dead store with operator visibility.
Context / topic
Topic: retries.
वृत्तमिति: ८-८-८-८।
श्लोकः ५ (उपजाति)
allowlist ।
open URL fetch
शस्त्रम् ॥५॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
SSR F protect receiver URLs
allowlist ।
open URL fetch
शस्त्रम् ॥५॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| SSRF | SSRF |
| protect | protect |
| receiver | receiver |
| URLs | URLs |
| allowlist | allowlist |
| open | open |
| URL | URL |
| fetch | fetch |
| शस्त्रम् | weapon |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| allowlist SSRF | safe egress |
| open fetch | cloud metadata risk |
English sense
Validate subscriber URLs against private ranges and metadata endpoints. Open webhooks are SSRF guns.
Context / topic
Topic: SSRF.
वृत्तमिति: एकादशाक्षराः पादाः।
श्लोकः ६ (अनुष्टुभ्)
forever one secret ऋणम् ॥६॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
subscription versioning and secret rotate ।
forever one secret ऋणम् ॥६॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| subscription | subscription |
| versioning | versioning |
| secret | secret |
| rotate | rotate |
| forever | forever |
| one | one |
| secret | secret |
| ऋणम् | debt |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| rotate secrets | dual valid window |
| forever one | breach sticky |
English sense
Version event schemas and rotate signing secrets with overlap windows so receivers can migrate.
Context / topic
Topic: lifecycle.
वृत्तमिति: ८-८-८-८।
श्लोकः ७ (अनुष्टुभ्)
receiver long sync hang ॥७॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
timeout short; async heavy work ।
receiver long sync hang ॥७॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| timeout | timeout |
| short | short |
| async | async |
| heavy | heavy |
| work | work |
| receiver | receiver |
| long | long |
| sync | sync |
| hang | hang |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| short timeout | sender health |
| long sync | mutual stall |
English sense
Receivers should ack quickly and process asynchronously. Long synchronous handlers stall the delivery fleet.
Context / topic
Topic: receiver design.
वृत्तमिति: ८-८-८-८।
श्लोकः ८ (अनुष्टुभ्)
blind fire अन्धता ॥८॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
delivery logs per attempt status ।
blind fire अन्धता ॥८॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| delivery | delivery |
| logs | logs |
| per | per |
| attempt | attempt |
| status | status |
| blind | blind |
| fire | fire |
| अन्धता | blindness |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| per attempt log | support debug |
| blind fire | no forensics |
English sense
Persist attempt history for customer support and abuse forensics.
Context / topic
Topic: audit.
वृत्तमिति: ८-८-८-८।
श्लोकः ९ (अनुष्टुभ्)
sync webhook in API latency ॥९॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
fanout via outbox not request path ।
sync webhook in API latency ॥९॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| fanout | fanout |
| outbox | outbox |
| not | not |
| request | request |
| path | path |
| sync | sync |
| webhook | webhook |
| API | API |
| latency | latency |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| outbox fanout | reliable birth |
| sync in API | latency couple |
English sense
Enqueue webhook deliveries from an outbox after commit. Firing partner HTTP inside the user request couples their outage to yours.
Context / topic
Topic: architecture.
वृत्तमिति: ८-८-८-८।
श्लोकः १० (उपजाति)
वेबहुक external push ।
अन्तःपेटिका
receiver dedupe ॥१०॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
प्रकाशनं internal bus
वेबहुक external push ।
अन्तःपेटिका
receiver dedupe ॥१०॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| प्रकाशनम् | publish |
| internal | internal |
| bus | bus |
| वेबहुक | webhook |
| external | external |
| push | push |
| अन्तःपेटिका | inbox |
| receiver | receiver |
| dedupe | dedupe |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| प्रकाशनम् | pub/sub |
| अन्तःपेटिका | inbox |
English sense
Internal pub/sub is mesh messaging; webhooks are external HTTPS pushes; receivers still need inbox-style dedupe.
Context / topic
Topic: series distinctions.
सन्धिः: प्रकाशन अभ्यन्तर; हुक बहिःHTTPS; पेटिका द्विःमा।
वृत्तमिति: एकादशाक्षराः पादाः।
श्लोकः ११ (अनुष्टुभ्)
एभिर्वेबहुकधर्मो बहिःसूचनासमन्वितः ॥११॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
sign retry SSRF rotate async-outbox पञ्चकम् ।
एभिर्वेबहुकधर्मो बहिःसूचनासमन्वितः ॥११॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| sign | sign |
| retry | retry |
| SSRF | SSRF |
| rotate | rotate |
| async-outbox | async-outbox |
| पञ्चकम् | five-set |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| पञ्चकम् | sign retry SSRF rotate async-outbox |
English sense
Five limbs: signed payloads, backoff retries with DLQ, SSRF-safe URLs, secret and schema rotation and outbox-born async delivery.
Context / topic
Topic: checklist.
वृत्तमिति: ८-८-८-८।
श्लोकः १२ (अनुष्टुभ्)
मितं बहिःपुशं क्रियायोग्यं तन्त्रधर्मः स उच्यते ॥१२॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
इति वेबहुकधर्मसारो बहिःसूचनासमन्वितः ।
मितं बहिःपुशं क्रियायोग्यं तन्त्रधर्मः स उच्यते ॥१२॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| इति | thus |
| वेबहुकधर्मसारः | webhook essence |
| बहिःसूचना | outer notice |
| मितम् | measured |
| बहिःपुशम् | outer push |
| क्रियायोग्यम् | operable |
| तन्त्रधर्मः | system dharma |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| मितं बहिःपुशम् | measured outer push |
| तन्त्रधर्मः | platform dharma |
English sense
Closing: push outward with signatures, patience and no open SSRF doors.
Context / topic
Topic: close.
उपसंहारन्यायः: चिह्नं देहि; पुनर्प्रयतस्व मितम्; URLं रक्ष।
वृत्तमिति: ८-८-८-८।
श्लोकसूची / Verse index
१. Why webhooks
२. Signing
३. Delivery
४. Retries
५. SSRF
६. Rotate
७. Receiver
८. Logs
९. Outbox path
१०. Series
११. Five limbs
१२. Close
सन्दर्भाः / References
- Prior: inbox 2026-11-18; outbox 2026-09-28; pub/sub 2026-10-26.
- Domain: webhooks.
- English minimizable; Sanskrit-first.
- Style: no em dash; no Oxford comma in English clauses.