Webhook 如何工作的描述来自 http://webhooks.pbwiki.com/ -
它们如何工作?
通过让用户为各种事件指定 URL,应用程序将在事件发生时将数据 POST 到这些 URL...除此之外,您还可以:
- 通过电子邮件、IRC、Jabber 等向您或任何人创建通知
- 将数据放到另一个应用程序中(实时数据同步)
- 处理数据并使用应用程序的 API 重新发布
- 验证数据并可能阻止其被应用程序使用
谁在使用网络钩子?
DevjaVu、BitBucket、GitHub、Shopify、Versionshelf、PayPal (IPN)、Jott(链接)、IMified、PBwiki、Facebook(某种平台)、Mailhook.org、SMTP2Web、Astrotrain、Notifixious、Assembla、ZenDesk、Google Code
你知道 webhooks 有什么好的用途吗?
AlertGrid 是 webhook 使用者。您可以将其配置为接受来自任何来源的 http 呼叫,并在 http 回调中的参数满足您的条件或 http 呼叫被触发时向指定的人或一组人(全球范围内有效!)发出警报(电子邮件、短信、电话)。预期但它没有发生(某种“心跳”监控)。有一个可视化编辑器可让您轻松创建规则。
除了通过短信或电子邮件通知人们之外,它还可以通过向现有应用程序的 API 发送 http 请求来通知他们。
它还可以可视化在http回调中接收到的数据并显示历史记录。
不幸的是,维基百科并不是已知实现的最新列表。我有自己的列表,当我开始重新组织它时,我会将其放在 wiki 上。当前列表中未提及的一些:
我知道 shopify 现在使用 webhooks 非常成功。通过扩展,fetchapp 也使用它们。 您要么发送 xml 文件,要么接收一个 xml 文件并对其执行您自己的处理逻辑。
哦,链接中的shopify wiki 有完整的文章介绍如何在您的应用程序中实现它。
OfficeAutopilot 有一个有趣的 webhooks 版本。他们使用规则界面来触发 API 帖子。 可以响应任何系统事件而触发..电子邮件打开、点击、页面访问、购买等。
举例来说,您想从任何 API(例如 twitter、facebook 等)获取数据。 它不是每隔几分钟/几秒轮询一次数据,而是在可用时将数据发布到指定的 URL。
通过使用此功能,您将避免不必要的轮询,例如您轮询但数据尚未存在。
StorageRoom是一个基于JSON的CMS,支持webhooks,以便您可以通知其他服务或在您自己的服务器上进行一些手动处理。
(请注意:我自己创建了该服务)
如果您想将一个支持 webhook 的服务连接到另一服务的 API,您可以查看 IronWorker 的 webhook 支持。这是一篇博客文章,介绍了如何将 github webhook 连接到 HipChat:
http://blog.iron.io/2012/04/one-webhook-to-rule-them-all-one-url.html
这里还有一些其他示例,其中一个采用 chargify 回调并发布到 Campfire。