文档目录
快速入门指南
欢迎使用 NotifyX 消息推送平台
NotifyX 是一个多通道消息推送平台,支持企业微信、邮件、钉钉、飞书等多种通知渠道,让您的消息推送更加灵活和高效。
基本使用流程
- 登录平台并创建通道配置
- 生成API密钥
- 使用API密钥发送消息
完整的API文档和各通道配置文档请查看下方对应章节的详细说明。
API 使用文档
发送消息 API
接口地址:
POST https://www.notifyx.cn/api/v1/send/:key
请求参数:
参数名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|
title | string | 是 | 100字符 | 消息标题 |
content | string | 是 | 2000字符 | 消息内容,支持Markdown格式 |
description | string | 否 | 500字符 | 消息简介,用于在通知中展示 |
team | string | 否 | 32字符 | 群组ID,用于将消息推送到指定群组 |
响应示例:
{ "id":1743064120638044200, "message":"消息已加入队列", "status":"queued" }
代码示例:
cURL:
curl -X POST "https://www.notifyx.cn/api/v1/send/your-api-key" \ -H "Content-Type: application/json" \ -d '{ "title": "测试消息", "content": "这是一条测试消息内容", "description": "简短的消息描述", "team": "1234567890" }'
JavaScript:
fetch('https://www.notifyx.cn/api/v1/send/your-api-key', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ title: '测试消息', content: '这是一条测试消息内容', description: '简短的消息描述', team: '1234567890' }) }) .then(response => response.json()) .then(data => console.log(data));
Python:
import requests import json url = "https://www.notifyx.cn/api/v1/send/your-api-key" payload = { "title": "测试消息", "content": "这是一条测试消息内容", "description": "简短的消息描述", "team": "1234567890" } headers = {"Content-Type": "application/json"} response = requests.post(url, data=json.dumps(payload), headers=headers) print(response.json())
PHP:
<?php $url = 'https://www.notifyx.cn/api/v1/send/your-api-key'; $data = array( 'title' => '测试消息', 'content' => '这是一条测试消息内容', 'description' => '简短的消息描述', 'team' => '1234567890' ); $options = array( 'http' => array( 'header' => "Content-type: application/json\r\n", 'method' => 'POST', 'content' => json_encode($data) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); echo $result; ?>
Java:
import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class SendMessage { public static void main(String[] args) { try { String url = "https://www.notifyx.cn/api/v1/send/your-api-key"; String jsonBody = "{\"title\":\"测试消息\",\"content\":\"这是一条测试消息内容\",\"description\":\"简短的消息描述\",\"team\":\"1234567890\"}"; HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(jsonBody)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } catch (Exception e) { e.printStackTrace(); } } }
Golang:
package main import ( "bytes" "encoding/json" "fmt" "net/http" ) func main() { url := "https://www.notifyx.cn/api/v1/send/your-api-key" message := map[string]string{ "title": "测试消息", "content": "这是一条测试消息内容", "description": "简短的消息描述", "team": "1234567890" } jsonData, _ := json.Marshal(message) req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() var result map[string]interface{} json.NewDecoder(resp.Body).Decode(&result) fmt.Println(result) }
C# (.NET):
using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; using System.Text.Json; class Program { static async Task Main() { using (var client = new HttpClient()) { var url = "https://www.notifyx.cn/api/v1/send/your-api-key"; var message = new { title = "测试消息", content = "这是一条测试消息内容", description = "简短的消息描述", team = "1234567890" }; var json = JsonSerializer.Serialize(message); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(url, content); var result = await response.Content.ReadAsStringAsync(); Console.WriteLine(result); } } }
GET方式示例(适用于简单请求):
注意:GET请求参数会显示在URL中,建议仅用于简单请求或测试。生产环境中的敏感数据请使用POST方式发送。
// URL编码参数示例 https://www.notifyx.cn/api/v1/send/your-api-key?title=测试消息&content=这是一条测试消息内容&description=简短的消息描述 // JavaScript GET方式调用示例 fetch('https://www.notifyx.cn/api/v1/send/your-api-key?title=测试消息&content=这是一条测试消息内容&description=简短的消息描述') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); // Python GET方式调用示例 import requests params = { "title": "测试消息", "content": "这是一条测试消息内容", "description": "简短的消息描述", "team": "1234567890" } response = requests.get("https://www.notifyx.cn/api/v1/send/your-api-key", params=params) print(response.json())
API密钥管理
什么是API密钥?
API密钥是调用NotifyX消息推送API的凭证,每个密钥关联一个特定的通道,用于发送消息。
请妥善保管您的API密钥,密钥泄露可能导致安全风险。API密钥仅在创建时显示一次,请及时保存。
创建和管理密钥
- 登录到码达(NotifyX)控制台
- 进入【密钥配置】页面
- 点击【创建新KEY】按钮
- 填写密钥名称,选择关联的通道,设置有效期
- 点击确认创建,系统将生成并显示API密钥
- 复制并安全保存该密钥,它只会显示一次
密钥安全最佳实践
- 为不同的应用或服务创建单独的密钥,方便管理和追踪
- 定期轮换密钥,特别是在人员变动后
- 设置合理的有效期,避免长期有效的密钥带来的安全风险
- 密钥只在需要的系统中使用,避免在公共场所或不安全的系统中使用
- 如果怀疑密钥泄露,立即删除并创建新的密钥
通道配置指南
支持的通道类型

微信公众号
通过微信公众号模板消息发送通知。
配置说明:
微信公众号通道由系统全局配置,用户只需绑定微信即可接收消息。

企业微信应用
通过企业微信应用向企业成员发送消息通知。
配置所需信息:
- 企业ID (corpid)
- 应用ID (agentid)
- 应用Secret (secret)

邮件通知
通过SMTP发送邮件通知,支持HTML内容。
配置所需信息:
- SMTP服务器地址
- SMTP端口
- 邮箱用户名
- 邮箱密码或授权码

钉钉机器人
通过钉钉群机器人发送消息通知。
配置所需信息:
- Webhook URL
- 安全设置(系统默认使用"NotifyX"关键词)

企业微信机器人
通过企业微信群机器人发送消息通知。
配置所需信息:
- Webhook URL

飞书机器人
通过飞书群机器人发送消息通知。
配置所需信息:
- Webhook URL
- 安全设置(系统默认使用"NotifyX"关键词)

公众号测试号
通过公众号测试号发送消息通知。
配置说明:
1. 访问微信公众平台接口测试账号
2. 使用微信扫码登录获取测试号信息
3. 在测试号管理页面获取AppID和AppSecret
4. 关注测试号获取用户OpenID
5. 添加模板消息模板获取TemplateID,模板内容为:
标题:{{title.DATA}}
描述:{{description.DATA}}
内容:{{content.DATA}}

NotifyMe推送
通过NotifyMe APP推送消息到移动设备。
配置说明:
用户需在NotifyMe APP中配置消息通道,并获取Token,然后填入NotifyMe推送通道的配置中。
通道配置最佳实践
- 根据接收对象的使用习惯选择合适的通道
- 对于重要通知,建议配置多个通道作为备份
- 定期测试通道连通性,确保消息能及时送达
- 妥善保管各通道的敏感配置信息
- 使用企业级通道时,合理控制接收范围,避免打扰不相关人员