Technical Glossary

Webhook

Definition: HTTP callback mechanism that sends real-time notifications when specific events occur, enabling event-driven integrations between services without polling.

— Source: NERVICO, Product Development Consultancy

What is a Webhook

A webhook is an HTTP communication mechanism where a service automatically sends a notification to another service when a specific event occurs. Unlike the traditional model where a client periodically checks for updates (polling), with webhooks the server “pushes” information to the client the moment the event happens. They are also known as “reverse APIs” or “HTTP callbacks.”

They are the standard mechanism for real-time integrations between modern web services.

How they work

The receiving service registers a callback URL with the sending service, specifying which events it is interested in. When one of those events occurs, the sender constructs a payload (typically JSON) with the event data and sends an HTTP POST request to the registered URL. The receiver processes the request and returns an HTTP status code (200 to confirm receipt).

Robust webhook systems implement retries with exponential backoff when the receiver does not respond, cryptographic signatures (HMAC) to verify the sender’s authenticity, and replay mechanisms to resend lost events.

Why they matter

Webhooks eliminate the need for polling, which is inefficient because most queries return “nothing new.” With webhooks, the receiving system only processes information when there is actually something new. This reduces resource consumption, latency between the event and the reaction, and simplifies integration architecture.

Practical example

An e-commerce system integrates Stripe for payments. Instead of querying the Stripe API every second to check if a payment has completed, it configures a webhook at the URL https://api.example.com/webhooks/stripe. When a customer completes a payment, Stripe sends a POST with the payment_intent.succeeded event that includes the amount, currency, and order identifier. The system receives the notification in real time and triggers product shipment. If the server does not respond, Stripe retries up to 3 times with increasing intervals.

Need help with product development?

We help you accelerate your development with cutting-edge technology and best practices.