LogoMkSaaS文档
LogoMkSaaS文档
首页模板介绍入门文档环境配置
网站配置

功能集成

数据库身份验证邮件邮件订阅存储支付积分定时任务AI 功能统计分析通知验证码聊天框联盟营销

自定义

元数据字体主题图片国际化博客文档组件页面落地页用户管理

代码库

代码库IDE 设置项目结构格式化和代码检查更新代码库
X (Twitter)

通知

学习如何在 MkSaaS 中设置和使用通知

MkSaaS 支持在用户成功完成支付时发送通知。这允许您的团队在工具中接收实时订单提醒。目前,我们支持 Discord 和飞书。未来将支持更多通知渠道(如 Telegram),模块化设计使得根据需要集成其他服务变得容易。

设置

要启用通知,您需要在 .env 文件中配置以下环境变量:

.env
DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..."
FEISHU_WEBHOOK_URL="https://open.feishu.cn/open-apis/bot/v2/hook/..."

如何获取 Webhook URL

Discord

  1. 进入到 Discord 服务器并打开想要接收通知的频道。
  2. 点击齿轮图标打开 Channel Settings。
  3. 选择 Integrations > Webhooks > New Webhook。
  4. 为 webhook 设置名称和头像(可选)。
  5. 复制 Webhook URL 并将其粘贴到 .env 文件中作为 DISCORD_WEBHOOK_URL。

更多详情,请参阅 Discord Webhooks 文档。

飞书

  1. 进入到飞书群聊。
  2. 点击群名称 > Group Settings > Bot Management。
  3. 添加新的 Custom Bot 并启用 Webhooks。
  4. 复制生成的 Webhook URL 并将其粘贴到 .env 文件中作为 FEISHU_WEBHOOK_URL。

更多详情,请参阅飞书 Webhook 文档。

如果您正在设置环境,现在可以回到环境配置文档并继续。本文档的其余部分可以稍后阅读。

环境配置

设置环境变量


通知系统架构

MkSaaS 中的通知系统是模块化的,易于扩展:

discord.ts
feishu.ts
notification.ts
  • discord.ts:使用配置的 webhook 向 Discord 发送购买通知。
  • feishu.ts:使用配置的 webhook 向飞书发送购买通知。
  • notification.ts:向所有启用的渠道发送通知的中央入口点。

核心功能

  • 成功支付的实时通知
  • 开箱即用,支持 Discord 和飞书
  • 未来易于添加更多通知渠道

使用方法

要在成功支付后发送通知,请使用以下实用程序:

import { sendNotification } from '@/notification';

// 支付成功后的示例用法
await sendNotification(sessionId, customerId, userName, amount);

如果配置了相应的 webhook URL,这将自动向 Discord 和飞书发送消息。

消息格式

通知消息包含以下信息:

  • 用户名:客户的用户名
  • 金额:购买金额(美元)
  • 客户 ID:Stripe 客户 ID 用于参考
  • 会话 ID:Stripe 结账会话 ID 用于跟踪
  • 时间戳:购买发生的时间

Discord 消息

Discord 通知作为带有绿色和结构化字段的丰富嵌入发送,便于阅读。

Discord Message

飞书消息

飞书通知作为纯文本消息发送,所有购买详情格式清晰。

Feishu Message

自定义和扩展性

通知系统设计为可扩展的。要添加新的通知渠道:

  1. 在 src/notification 目录中创建新文件(例如 slack.ts)。
  2. 实现向新渠道发送消息的函数:
src/notification/slack.ts
export async function sendMessageToSlack(
  sessionId: string,
  customerId: string,
  userName: string,
  amount: number
): Promise<void> {
  try {
    const webhookUrl = process.env.SLACK_WEBHOOK_URL;

    if (!webhookUrl) {
      console.warn('SLACK_WEBHOOK_URL 未设置,跳过 Slack 通知');
      return;
    }

    // 您的 Slack 消息实现
    // ...
  } catch (error) {
    console.error('<< 发送 Slack 通知失败:', error);
  }
}
  1. 在 notification.ts 中导入并调用此函数:
src/notification/notification.ts
import { sendMessageToSlack } from './slack';

export async function sendNotification(
  sessionId: string,
  customerId: string,
  userName: string,
  amount: number
): Promise<void> {
  // 现有的 Discord 和飞书调用
  await sendMessageToDiscord(sessionId, customerId, userName, amount);
  await sendMessageToFeishu(sessionId, customerId, userName, amount);

  // 添加新的 Slack 通知
  await sendMessageToSlack(sessionId, customerId, userName, amount);
}

最佳实践

  1. 保持 Webhook URL 机密:永远不要公开暴露 Webhook URL 或将其提交到代码库。
  2. 监控执行:检查您的通知渠道以确保消息按预期执行。
  3. 错误处理:系统记录错误但不会在通知失败时中断支付流程。
  4. 速率限制:注意每个服务的 Webhook 速率限制,以避免被阻止。
  5. 测试通知:在部署到生产环境之前,在开发环境中测试您的 Webhook。
  6. 扩展性:添加新通知渠道时遵循现有模式。

视频教程

下一步

现在您了解了如何在 MkSaaS 中使用通知,您可能想要探索这些相关功能:

邮件

配置邮件服务

身份验证

配置用户身份验证

统计分析

配置统计分析服务

存储

配置存储服务

统计分析

学习如何在您的 MkSaaS 网站中设置和使用各种统计分析工具

验证码

学习如何在 MkSaaS 中设置和使用验证码

目录

设置
如何获取 Webhook URL
Discord
飞书
通知系统架构
核心功能
使用方法
消息格式
Discord 消息
飞书消息
自定义和扩展性
最佳实践
视频教程
下一步