Skip to content

接入示例 ​

本页提供当前推荐的最小接入示例:调用 REST API 发送消息,并通过 Webhook 接收微信消息。新项目请按本页方式接入。

接入前准备 ​

信息从哪里获取用途
{BASE_URL}控制台文档中心,复制完整 API 地址所有请求的地址前缀
Authorization: Bearer <你的调用凭证>控制台「应用凭证 → 默认应用」所有 API 请求头
wId微信登录成功后返回指定用哪个已登录的微信发
接收方 wcId好友微信 ID、群 ID,或文件传输助手 filehelper指定发给谁
回调地址你的业务服务器,或临时联调地址接收微信消息和事件

TIP

还没有服务器时:只想看推送原文,在控制台应用凭证页右栏「收进来」点「开始实时查看」;要调试本地代码,按 Webhook 本地联调用 eyun 命令行转发到本机。

示例一:发送文本消息 ​

把 {BASE_URL}、调用凭证和 wId 换成你的真实值。先发给文件传输助手,手机上能直接看到:

bash
curl -X POST "{BASE_URL}/sendText" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <你的调用凭证>" \
  -d '{
    "wId": "<你的实例 ID>",
    "wcId": "filehelper",
    "content": "你好,这是一条来自 Eyun API 的测试消息"
  }'

成功响应示例:

json
{
  "code": "1000",
  "message": "处理成功",
  "data": {
    "type": 1,
    "msgId": 2562652205,
    "newMsgId": 4482117376572170921,
    "createTime": 1641457769,
    "wcId": "filehelper"
  }
}

newMsgId 最长 19 位,JavaScript 里按字符串保存,见大整数。

继续阅读:发送文本消息。

示例二:配置 Webhook ​

Webhook 用于接收对方发来的微信消息、群消息、系统事件等。推荐在控制台「收进来」配置;已有程序要用接口配置时,按下面调用。调用时 Eyun 会先往这个地址推一条测试消息,发不通就返回失败,地址不会保存。

bash
curl -X POST "{BASE_URL}/setHttpCallbackUrl" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <你的调用凭证>" \
  -d '{
    "httpUrl": "https://api.your-company.com/eyun/webhook",
    "type": 2
  }'

成功响应示例:

json
{
  "code": "1000",
  "message": "设置成功",
  "data": null
}

继续阅读:设置回调地址。

示例三:Node.js 接收 Webhook ​

下面是一个最小可运行的 Node.js Webhook 服务,用于本地联调。

js
const http = require("http")

const server = http.createServer((req, res) => {
  if (req.method !== "POST" || req.url !== "/webhook") {
    res.writeHead(404, { "Content-Type": "application/json" })
    res.end(JSON.stringify({ error: "not found" }))
    return
  }

  let body = ""
  req.on("data", chunk => {
    body += chunk
  })

  req.on("end", () => {
    console.log("收到 Eyun Webhook:")

    try {
      const payload = JSON.parse(body)
      console.dir(payload, { depth: null })
    } catch (error) {
      console.log(body)
    }

    res.writeHead(200, { "Content-Type": "application/json" })
    res.end(JSON.stringify({ code: 0, message: "ok" }))
  })
})

server.listen(3000, () => {
  console.log("Webhook listening on http://127.0.0.1:3000/webhook")
})

启动服务:

bash
node webhook-demo.js

本地自测:

bash
curl -X POST http://127.0.0.1:3000/webhook \
  -H "Content-Type: application/json" \
  -d '{"messageType":"00000","data":{"content":"test"}}'

如果终端能打印 JSON,说明本地回调服务可用。下一步按 Webhook 本地联调 把本地接口临时暴露给 Eyun。

推荐接入顺序 ​

  1. 按 快速开始 完成登录和第一条消息发送。
  2. 配置 Webhook,确认能收到测试推送。
  3. 接入文本消息解析,再逐步接入图片、文件、视频等消息类型。
  4. 生产环境中,Webhook 接口只做验签、入队、快速返回。
  5. 使用 newMsgId 或业务唯一键做幂等处理,避免重复回调导致重复业务动作。

常见注意事项 ​

问题建议
通过 API 主动发送消息后没有回调正常。只有对方或群成员发来的消息才会触发回调
本地服务能收到 curl,但收不到 Eyun 推送检查公网地址是否可访问,路径是否带 /webhook
Webhook 偶尔重复业务侧按 newMsgId 做幂等
回调处理耗时较长先返回成功,耗时逻辑放入异步队列