Skip to content

接入示例

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

接入前准备

信息从哪里获取用途
Authorization: Bearer <API 凭证>控制台「应用凭证 → 默认应用」所有 API 请求头
wId微信登录成功后返回指定要操作的微信实例
wcId微信登录成功后返回标识微信账号,掉线重登时沿用
Webhook 地址你的业务服务器,或临时联调地址接收微信消息和事件

TIP

还没有服务器时,先看 Webhook 本地联调。只看回调内容可以用 Webhook.site;调试本地代码可以用 ngrok 或花生壳。

示例一:发送文本消息

把下面示例中的 AuthorizationwIdwcId 替换成你的真实值:

bash
curl -X POST https://你的接口域名/sendText \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyk_your_auth" \
  -d '{
    "wId": "000001",
    "wcId": "wxid_customer001",
    "content": "你好,这是一条来自 Eyun API 的测试消息"
  }'

成功响应示例:

json
{
  "code": "1000",
  "message": "成功",
  "data": {
    "msgId": "7545678901234567890"
  }
}

继续阅读:发送文本消息

示例二:配置 Webhook

Webhook 用于接收对方发来的微信消息、群消息、系统事件等。配置成功后,Eyun 会向该地址推送一条测试消息。

bash
curl -X POST https://你的接口域名/setHttpCallbackUrl \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyk_your_auth" \
  -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. 5 分钟上手 完成登录和第一条消息发送。
  2. 配置 Webhook,确认能收到测试推送。
  3. 接入文本消息解析,再逐步接入图片、文件、视频等消息类型。
  4. 生产环境中,Webhook 接口只做验签、入队、快速返回。
  5. 使用 newMsgId 或业务唯一键做幂等处理,避免重复回调导致重复业务动作。

常见注意事项

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