# Webhook Testing Made Easy

DevFeed: [Webhook Testing Made Easy](<https://devfeed.tech/articles/webhook-testing-made-easy-1265.md>)

Original publisher: [Read original article](<https://shopify.engineering/17488436-webhook-testing-made-easy>)

Author: Shopify Engineering

Published: 2011-08-30T17:32:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [Web app](<https://devfeed.tech/topics/webapp.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [github](<https://devfeed.tech/tags/github.md>), [local](<https://devfeed.tech/tags/local.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [server](<https://devfeed.tech/tags/server.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [sign-in](<https://devfeed.tech/tags/sign-in.md>)

## AI overview

This article explains how to test webhooks during development when a publicly accessible endpoint is required. It introduces PostCatcher, which provides a unique webhook URL and displays incoming POST requests in real time, and LocalTunnel, a Ruby gem and web app that forwards a local port through a public URL.

## Source excerpt

Webhooks are fantastic. We use them here at Shopify to notify API users of all sorts of important events. Order creation, product modification, and even app uninstallation all cause webhooks to be fired. They're a really neat way to avoid the problem of polling, which is annoying for app developers and API providers alike. The trouble with Webhooks is that you need a publicly visible URL to handle them. Unlike client-side redirects, webhooks originate directly from the server.