长勺 · 开放平台

让消息连接业务
让服务抵达用户

用 Webhook 推送群消息,用智能客服接待网站访客。
两种接入方式,延伸你的业务沟通。

两条路径,一次连接
业务系统HTTP POST →长勺群聊
你的网站嵌入组件 →智能客服

从一条通知,到一次有回应的咨询

01 / 群聊 Webhook

把业务通知送进群聊

适合监控告警、构建部署、订单状态和任务通知。由你的服务端发起 HTTP POST 请求,群成员在长勺中接收消息。

HTTP + JSON文字 / 图文请求去重

三步完成接入

  1. 在群聊中创建推送

    使用群主账号,进入目标群的「消息推送」,填写名称和简介。每个群最多创建 5 个 Webhook。

  2. 保存专属地址

    创建或重新生成时,复制完整 Webhook 地址。把它作为服务端配置 WEBHOOK_URL 保存;地址中的 key 是调用凭证,不要写入网页或公开仓库。

  3. 发送第一条文字消息

    在终端中设置 WEBHOOK_URL 为刚复制的完整地址,再执行下方示例。每个新业务事件使用新的 request_id,同一事件重试时复用原值。

cURL · 文字消息
curl --request POST "$WEBHOOK_URL" \
  --header 'Content-Type: application/json' \
  --data '{
    "msgtype": "text",
    "request_id": "deploy-20260918-0001",
    "text": {
      "content": "**部署完成**\n服务已更新,点击[查看详情](https://example.com/releases/1)",
      "mentioned_all": false
    }
  }'

消息格式与返回值

文字消息字段
字段类型说明
msgtypestring必填,文字为 text,图文为 news
request_idstring建议提供。8–64 位,支持英文字母、数字及 ._:-;不传时系统生成,客户端重试无法据此去重。
text.contentstring文字消息必填,最多 1024 个字符,支持轻量 Markdown。
text.mentioned_user_idsnumber[]可选,最多指定 20 位当前群成员的用户 ID。
text.mentioned_allboolean可选,是否 @全体成员,默认为 false。

轻量 Markdown 支持粗体、行内代码、代码块、引用、列表、分隔线及 HTTP/HTTPS 链接。标题、表格、远程图片和 HTML 不按富文本执行。

图文消息示例 JSON

将请求正文换成下面的 JSON。当前展示第一篇文章,链接 url 与可选封面 picurl 必须使用 HTTPS。

JSON · 图文消息
{
  "msgtype": "news",
  "request_id": "release-20260918-0001",
  "news": {
    "articles": [{
      "title": "新版本已发布",
      "description": "查看本次更新内容",
      "url": "https://example.com/releases/1",
      "picurl": "https://example.com/images/release.png"
    }]
  }
}
成功返回示例
{
  "errcode": 0,
  "errmsg": "ok",
  "msgid": "1234567890123456789"
}

errcode=0 表示消息已受理,msgid 为字符串形式的消息 ID。请检查 JSON 中的 errcode,不要只判断 HTTP 状态码;受理成功不代表所有成员已经阅读。

轻量 Markdown:语法与完整示例

Webhook 文字消息默认按轻量 Markdown v1 展示。保持 msgtype: "text",把 Markdown 写入 text.content,无需使用额外的 markdown 消息类型。

支持的 Markdown 语法
语法写法用途与规则
粗体**部署完成**强调关键状态
行内代码服务:`api-service`标注服务名、命令或字段
代码块```text
status: ok
```
用三个反引号包围多行内容
引用> 本次发布已完成单行提示或补充说明
无序列表- 服务已更新
- 健康检查通过
每行以 -、+ 或 * 加空格开头
有序列表1. 检查服务
2. 查看日志
每行以数字和 . 或 ) 加空格开头
分隔线---单独一行的 ---、___ 或 ***
链接[查看详情](https://example.com/releases/1)仅 HTTP / HTTPS 链接

先将 WEBHOOK_URL 设置为群聊推送提供的完整地址,再执行下面的请求。JSON 中使用 \n 表示换行;由程序生成正文时,交给 JSON 序列化工具处理转义。请为新的业务事件更换 request_id

cURL · Markdown 通知
curl --request POST "$WEBHOOK_URL" \
  --header 'Content-Type: application/json' \
  --data '{
  "msgtype": "text",
  "request_id": "markdown-20260918-0001",
  "text": {
    "content": "**部署完成**\n> 生产环境健康检查通过\n\n- 服务:`api-service`\n- 版本:`2.2.2`\n\n1. 检查服务状态\n2. 查看发布日志\n\n```text\nstatus: ok\n```\n\n---\n[查看发布详情](https://example.com/releases/1)",
    "mentioned_all": false
  }
}'
查看原始 Markdown 与上方请求内容一致
Markdown 原文
**部署完成**
> 生产环境健康检查通过

- 服务:`api-service`
- 版本:`2.2.2`

1. 检查服务状态
2. 查看发布日志

```text
status: ok
```

---
[查看发布详情](https://example.com/releases/1)
消息效果示意 · 实际字体与间距随客户端调整

部署完成

生产环境健康检查通过
  • 服务:api-service
  • 版本:2.2.2
  1. 检查服务状态
  2. 查看发布日志
status: ok

查看发布详情

不支持标题、表格、远程图片、HTML、脚本、数学公式和复杂嵌套;这些内容按普通文字显示,不执行或加载。Markdown 标记也计入 1024 字符上限。通知、会话摘要、搜索和引用摘要会转为纯文本,不能依赖粗体等格式传递唯一信息。

调用限制与错误处理

20 次 / 分钟每个 Webhook 的发送频率
1024 字符单条文字消息上限
20 位成员单条消息指定 @ 的上限
常见业务错误码
errcode含义处理建议
93000地址或 key 无效检查推送是否启用,以及密钥是否已重置。
93001群不可用检查群是否仍存在并有有效成员。
93002请求格式不正确核对消息类型、字段、成员 ID 和 HTTPS 链接。
93003文字内容过长缩短文字到 1024 个字符以内。
45009发送过于频繁控制发送速率,延后重试。
93005 / 93099服务暂时不可用退避重试,同一业务事件复用 request_id。

02 / 智能客服

把网站访客接入你的服务

在长勺中配置客服,再将生成的代码放进网站。访客无需登录,可发送文字、表情和图片;客服在长勺中接待咨询。

访客免登录三种展示模式AI 跟随账号管家设置

先配置,再复制代码

  1. 创建专属客服

    在长勺的「智能客服」中创建客服,填写名称和欢迎语,开启服务。

  2. 配置接待入口

    按需设置浮窗图标、主题颜色、电话和微信联系方式。AI 能力跟随当前账号的管家设置。

  3. 复制「嵌入第三方」代码

    选择全屏、移动端或浮窗模式,复制客服配置页生成的完整代码。下面的 YOUR_SERVICE_ID 仅为占位符,必须替换为你自己的客服 ID。

选择网站中的展示方式

浮窗模式

适合官网、商城和业务页面。在 </body> 前加入脚本,每个页面加载一次。

HTML · 浮窗模式
<!-- 将 YOUR_SERVICE_ID 替换为客服配置页提供的服务 ID -->
<script async
  src="https://web.cszn.cc/support/embed.js"
  data-service="YOUR_SERVICE_ID"
  data-frame="https://api.cszn.cc/im/support-public/frame/YOUR_SERVICE_ID?mode=float"
></script>
全屏模式 独立客服页面

将 iframe 放进客服页面容器,填满可用区域。

HTML · 全屏模式
<iframe
  src="https://api.cszn.cc/im/support-public/frame/YOUR_SERVICE_ID?mode=fullscreen"
  title="在线客服"
  referrerpolicy="origin"
  style="width:100%;height:100dvh;min-height:480px;border:0;display:block"
></iframe>
移动端模式 手机网站

适合移动站点的客服页面。容器宽度跟随手机视口,保留足够高度供访客输入。

HTML · 移动端模式
<iframe
  src="https://api.cszn.cc/im/support-public/frame/YOUR_SERVICE_ID?mode=mobile"
  title="在线客服"
  referrerpolicy="origin"
  style="width:100%;height:100dvh;min-height:480px;border:0;display:block"
></iframe>

上线前,检查这四项

  • 客服已开启,名称与欢迎语显示正确。
  • 服务 ID 与配置页一致,代码示例中的占位符已替换。
  • 使用网站实际域名打开页面,确认脚本与 iframe 能正常加载。
  • 由测试访客发送一条咨询,在长勺端确认收到消息并回复。

如果网站启用了 CSP,请允许 https://web.cszn.cc 的脚本,以及 https://api.cszn.cc 的 frame 和连接。保留 iframe 的 referrerpolicy="origin";服务暂停后,访客页面会显示暂停状态。

常见问题

接入时你可能想知道

Webhook 是发送消息,还是接收群事件?

这里的群聊 Webhook 用于由外部系统向长勺群发送通知,不是订阅群消息事件的回调接口。

Webhook 地址泄露了怎么办?

由群主停用推送或重新生成密钥,再更新服务端配置。旧地址会失效;不要在网页、公开仓库或日志中展示完整 key。

智能客服的服务 ID 可以放进网页吗?

可以。服务 ID 是公开嵌入标识。请直接使用客服配置页生成的代码,不要把账号登录 Token 或其他业务密钥放进网站。

为什么客服没有显示或无法连接?

先确认客服已启用、服务 ID 正确,并检查浏览器是否拦截了脚本、iframe 或网络连接。如果页面有 CSP,按上方说明添加对应来源。

我还没有长勺账号,如何开始?

下载长勺并登录。Webhook 需要目标群的群主权限;智能客服需要先在账号中创建客服服务。

从你的第一个接入开始

打开长勺,配置群聊推送或创建专属客服。

下载长勺 ↗