Appearance
接入示例
本页提供当前推荐的最小接入示例:调用 REST API 发送消息,并通过 Webhook 接收微信消息。新项目请按本页方式接入。
接入前准备
| 信息 | 从哪里获取 | 用途 |
|---|---|---|
Authorization: Bearer <API 凭证> | 控制台「应用凭证 → 默认应用」 | 所有 API 请求头 |
wId | 微信登录成功后返回 | 指定要操作的微信实例 |
wcId | 微信登录成功后返回 | 标识微信账号,掉线重登时沿用 |
| Webhook 地址 | 你的业务服务器,或临时联调地址 | 接收微信消息和事件 |
TIP
还没有服务器时,先看 Webhook 本地联调。只看回调内容可以用 Webhook.site;调试本地代码可以用 ngrok 或花生壳。
示例一:发送文本消息
把下面示例中的 Authorization、wId、wcId 替换成你的真实值:
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。
推荐接入顺序
- 按 5 分钟上手 完成登录和第一条消息发送。
- 配置 Webhook,确认能收到测试推送。
- 接入文本消息解析,再逐步接入图片、文件、视频等消息类型。
- 生产环境中,Webhook 接口只做验签、入队、快速返回。
- 使用
newMsgId或业务唯一键做幂等处理,避免重复回调导致重复业务动作。
常见注意事项
| 问题 | 建议 |
|---|---|
| 通过 API 主动发送消息后没有回调 | 正常。只有对方或群成员发来的消息才会触发回调 |
| 本地服务能收到 curl,但收不到 Eyun 推送 | 检查公网地址是否可访问,路径是否带 /webhook |
| Webhook 偶尔重复 | 业务侧按 newMsgId 做幂等 |
| 回调处理耗时较长 | 先返回成功,耗时逻辑放入异步队列 |