原文:https://sendgrid.com/blog/webhook-vs-api-whats-difference/
什么是API?
API代表应用程序编程接口(Application Programming Interface),但这是什么意思?与其讨论它是什么,我更愿意谈论API可以做什么。 API可以共享数据或功能。例如,您可以使用某位置 API,通过位置或名称查找餐馆,拉出大量关于每个地方的数据。然后,您可以将其与地图API相结合,将其用作显示数据的界面。
向API发出请求的程序员将收到响应。例如,使用我们(译注:sendgrid)的Web API发送电子邮件,您将通过请求传递电子邮件内容。如果一切顺利,您将收到一个声明成功的回应。
什么是Webhook?
有时候人们称 webhooks 为反向API,但也许更准确地说,一个webhook可以让你跳过一步。对于大多数API,有一个请求,然后是一个响应。 Webhook不需要任何请求,它只在数据可用时发送它。
要使用webhook,您可以向提供该服务的公司注册一个URL。该URL是您的应用程序中接受数据并执行某些操作的地方。在某些情况下,您可以告诉提供者您希望接收数据的情况。每当有新事物时,webhook将会发送到您的URL。
Webhooks 示例
解析Webhook图
SendGrid有两个不同的webhooks,与每个方向电子邮件流相关的:
- 事件
Event Webhook
提供有关您发送的电子邮件的数据,例如 邮件退回(bounce)和收件人点击链接时。 - 入站解析
Inbound parse webhook
允许您的应用程序在消息进入后立即收到电子邮件。
一些非SendGrid webhooks:
- Twilio的网络挂钩会向您的应用发送短信和语音电话。
- DropBox刚刚宣布提供关于Dropbox中文件更改的实时通知。
- Metwit在其天气API中添加了Webhooks,以便在特定位置发生特定类型的天气时提供通知。 它启发了我的帖子,为什么 每个API都需要webhooks 。
希望能给你一些关于webhook是什么以及它与API有什么不同的想法。
现在是时候开始用这些webhook做某事了。 这里有四件事情可以用于webhooks,包括在本地机器上测试或连接到其他服务。