当前位置:首页 > 问答 > 正文

树叶云带你简单聊聊Moralis的Webhooks到底是怎么回事,入门教程一步步走

开始)

哈喽大家好,我是树叶云,今天咱们不聊那些复杂的概念,就用大白话来唠唠Moralis里的Webhooks是个啥玩意儿,并且手把手带你走一遍最简单的使用流程,保证你听完之后,能从“一脸懵”变成“哦,原来就这么回事儿!”

第一部分:Webhooks到底是个啥?别怕,就是个“送信的”

想象一下这个场景:你网上买了个东西,然后你非常关心这个包裹到了哪一步,是卖家发货了?还是已经到了你所在城市的转运中心?你当然可以每隔一小时就打开购物APP查一次物流,但这很麻烦,对不对?

这时候,如果你开启了物流通知功能,那么每当包裹状态有重要变化时(已揽收”、“已发出”、“派送中”),系统就会“叮咚”一声,主动给你手机发一条推送消息,你什么都不用做,消息就自动送上门了。

Webhooks干的就是这个“送信的”活儿。

在Moralis的世界里,你的数据库里会发生很多事情,有个新用户注册了(数据库里多了一条用户记录);或者,某个用户完成了一笔交易(数据库里的一条记录被更新了),这些事件,就像包裹的“已发货”、“已签收”一样。

树叶云带你简单聊聊Moralis的Webhooks到底是怎么回事,入门教程一步步走

如果没有Webhooks,你想知道这些事发生了没,你就得像个傻子一样,不停地去问Moralis的服务器:“哎,有新用户吗?”“现在有新用户吗?”,这种方式叫做“轮询”,效率低,还浪费资源。

而开启了Webhooks之后,你就相当于对Moralis说:“嘿,哥们儿,帮我个忙,以后只要我的数据库里一有‘新用户注册’这种事儿发生,你都不用等我问,立刻、马上,把这个消息打包成一个快递包裹,送到我指定的一个网址去。”

你指定的那个网址,就是你自己搭建的一个“收件箱”(也就是你自己的服务器上的一个特殊接口),这个“快递包裹”里,会装着所有关于这个事件的信息,比如是新哪个用户注册了、他叫什么名字、什么时候注册的等等。

Webhooks的本质就是:当某个特定事件发生时,Moralis自动向你指定的网址发送一个包含事件数据的HTTP请求。

第二部分:我们能拿Webhooks来干嘛?用处可大了!

知道了它是送信的,那它送来的信我们能干嘛用呢?用处太多了,举几个简单的例子:

树叶云带你简单聊聊Moralis的Webhooks到底是怎么回事,入门教程一步步走

  1. 发邮件或发短信:一旦有新用户注册,你的Webhooks收件箱收到消息后,可以立刻触发一个程序,给这个新用户发一封欢迎邮件,或者给你自己发个短信提醒“又来新客户啦!”。
  2. 同步数据:你在Moralis里存了用户数据,但还想在另一个系统(比如一个传统的CRM系统)里也存一份,你就可以设置一个Webhooks,每当Moralis的用户数据有变动,就自动把变动的数据“同步”到另一个系统里去。
  3. 实时更新前端界面:比如你做了一个多人的游戏,一个玩家得分了,这个得分事件会被Moralis数据库记录,Webhooks可以通知你的游戏服务器,然后服务器再告诉所有其他在线玩家的前端页面:“快看!有人得分了!赶紧更新排行榜!”
  4. 链上链下协同:这是Moralis的特色,你可以设置一个Webhooks来监听一个智能合约的特定事件,当有人在链上执行了某个操作(比如购买了你的NFT),这个事件会被Moralis的Streams API捕获,然后通过Webhooks发送给你的服务器,你的服务器就可以据此给用户发放链下的奖励或者解锁网站上的高级功能。

第三部分:入门教程一步步走

理论说再多不如动手试一下,下面我们就来创建一个最简单的Webhooks,让它监听“新用户注册”事件。

第一步:准备你的“收件箱”

你需要一个能接收Moralis发来的“快递包裹”的地方,对于入门测试来说,我们不需要自己买服务器,有个超级好用的免费工具叫 webhook.site

  1. 打开网站 webhook.site
  2. 网页会自动给你生成一个唯一的网址(URL),长得像 https://webhook.site/一串独特的字符,这个就是你的临时“收件箱”地址,把它复制下来,待会儿要用。

第二步:在Moralis管理后台设置Webhooks

  1. 登录你的 Moralis管理员后台
  2. 进入你的项目,在侧边栏找到 “Webhooks” 选项并点击。
  3. 点击 “Create Webhook” 按钮。
  4. Webhook URL:把你刚从 webhook.site 复制的那个网址粘贴到这里。
  5. Webhook Triggers(触发器):这里就是选择“什么时候给我送信”,我们选择 “Database (Realtime)” 下面的 “On New Item Created”,这意味着“当数据库里有新条目被创建时”就触发。
  6. 为了更精确,我们还可以加个过滤器,比如我们只想监听“_User”这个表的新增(因为Moralis的用户信息就存在_User表里),在 “Advanced Settings” 里,找到 “Collection” 输入框,填上 _User
  7. 其他设置可以先保持默认,然后点击 “Save”

搞定!现在你的Webhooks就设置好了,Moralis现在已经成了你的“信使”,它会死死地盯着你的数据库,特别是_User表,一旦有新人加入,它就会行动。

树叶云带你简单聊聊Moralis的Webhooks到底是怎么回事,入门教程一步步走

第三步:测试一下灵不灵

现在我们来模拟一个“新用户注册”的事件,看看Webhooks会不会工作。

  1. 回到你的Moralis管理员后台,找到 “Users” 菜单点进去。
  2. 点击 “Add User” 按钮,随便填一个用户名和密码(比如用户名叫test123),然后创建这个用户。
  3. 奇迹发生了!
  4. 迅速切换回你之前打开的 webhook.site 那个标签页,你会惊讶地发现,页面上突然多出来一条记录!这说明Moralis的“快递”已经送到了!
  5. 点击这条记录,你就能看到“快递包裹”里的全部内容了,里面会有一大段JSON格式的数据,仔细找找,你就能看到你刚刚创建的那个用户的用户名 "test123",还有他的objectId、创建时间createdAt等等所有信息。

恭喜你!你已经成功实现了人生中第一个Webhooks流程!是不是并没有想象中那么难?

总结一下

简单回顾一下:Webhooks就是一个自动化的信使,你定好规矩(什么事件),给它一个地址(往哪送),它就会在事件发生时,把详细情报打包送上门,你再用你自己的服务器(或者webhook.site这样的工具)接收这个情报,然后爱干嘛干嘛,发邮件、同步数据、更新页面,随你便。

希望这个简单的介绍和教程能帮你推开Webhooks的大门,以后当你需要让不同的系统自动联动起来的时候,别忘了你还有Webhooks这个强大的工具哦!

我是树叶云,我们下次再见! 结束)