介绍
Smooch-core 是一款集成了 Smooch 服务的 Node.js 库。它允许开发者使用 Node.js 来访问 Smooch 的后台服务,包括发送消息、获取用户信息、创建 Webhook 等等。
本文将会带领大家了解 Smooch-core 的使用方法,并提供一些示例代码供参考。
安装
你可以通过 npm 安装 smooch-core:
npm install --save smooch-core
当然,你也可以在 GitHub 获取源代码,不过我们推荐您使用 npm 安装方式。
使用
初始化
要使用 Smooch 服务,您需要先创建一个 Smooch 应用并获取其 API。接下来,我们可以使用这个 API 来实例化一个 smooch-core 对象:
const Smooch = require('smooch-core'); // 初始化 Smooch 对象 const smooch = new Smooch({ keyId: 'your_key_id', secret: 'your_secret', scope: 'app' });
在这里,keyId
和 secret
是您在 Smooch 控制台上创建的 API 密钥对应的 ID 和 Secret。scope
可以设置为您的应用程序 ID。
注意,您需要在 Smooch 控制台上启用 Webhook 并将其指向您的服务器地址(server_url)。
发送消息
使用 Smooch-core,我们可以方便地向用户发送消息。以下代码示例演示了如何使用 Smooch-core 发送一个文本消息:
-- -------------------- ---- ------- -- -------- ----------------------------------- - ----- ------- ----- ------- ------ ----- -- -------------- -- - ---------------------- -- ---------- -- - ----------------- ---
在上面的代码中,userId
是您要向其发送消息的用户 ID。
除了文本消息,Smooch 还支持发送图片、文件以及其他类型的消息,您可以通过修改 "type" 的属性值来发送不同类型的消息。
获取用户信息
我们不仅可以使用 Smooch-core 来向用户发送消息,还可以获取用户的详细信息。以下代码演示了如何获取用户的基本信息:
// 获取用户信息 smooch.appUsers.get(userId) .then(response => { console.log(response); }) .catch(err => { console.log(err); });
在上面的代码中,userId
是您要获取信息的用户 ID。
Smooch 还支持获取用户的设备信息、事件列表等等,更多详情请参考 Smooch API 文档。
创建 Webhook
通常情况下,我们希望 Smooch 向我们的服务器发送消息通知,如新消息、用户加入、用户离开等等。要实现这个功能,我们需要在 Smooch 控制台上创建一个 Webhook,以便向我们的服务器发送消息。
以下代码演示了如何使用 Smooch-core 创建一个 Webhook:
-- -------------------- ---- ------- -- ---- ------- ------------------------ ------- --------------------------------- --------- ------------------- ----------------------- -------------------- -- -------------- -- - ---------------------- -- ---------- -- - ----------------- ---
在上面的代码中,"target" 是您的服务器地址,"triggers" 是要监听的事件数组。当 Smooch 发生了一个指定的事件后,它将发送一个 POST 请求到您的服务器并提供详细信息。
Smooch 还支持修改 Webhook、获取 Webhook 列表等等,更多详情请参考 Smooch API 文档。
结尾
通过本文,我们学习了如何使用 Smooch-core 库来与 Smooch 服务进行交互。我们了解了如何发送消息、获取用户信息以及创建 Webhook。
在实际中,我们可以使用 Smooch-core 制作一个聊天机器人、在线客服等等。希望本文对于您的工作和学习有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65022