使用教程

  1. 注册/登录平台,进入“我的站点”创建站点
  2. 获取 API Key 与嵌入代码
  3. 在你的网站 <head> 中粘贴代码并可选配置访客标识与昵称

1. 嵌入脚本

将以下代码放入你网站的 <head>,用实际域名与 API KEY 替换:

<script>
// 可选:在加载脚本之前设置访客标识与昵称,用于去重与显示window.OCS = {
  externalId: 'user_12345', // 同一用户固定此ID  nickname: '王小明'        // 将显示在窗口标题/后台};
</script>
<script>(function(){
  var s=document.createElement('script');
  s.src='http://www.chatgonow.com/api/widget.js?key=YOUR_API_KEY';
  s.async=true;document.head.appendChild(s);
})();</script>

2. 主题与样式

在"我的站点"里可自定义:

3. 图片上传与文本发送

访客窗口支持发送文字与图片(png/jpg/gif),图片会安全地上传到平台并在后台与访客侧展示。

4. 消息速率限制

可在"我的站点"设置每分钟最多消息数,用于防止刷屏。超过阈值将提示"发送过于频繁"。

Chat API 频率限制说明:获取消息与回复消息使用相同阈值,但分别独立计数(互不占用额度)。

5. 访客去重

系统会优先使用 window.OCS.externalId 去重;未设置时自动在本地 Cookie/LocalStorage 生成并复用一个 ocs_external_id。同一站点下相同 externalId 视为同一访客。

6. 客服工作台

登录后在"我的站点"进入在线聊天工作台,实时查看访客会话、发送文字/图片、查看未读红点。

7. 开放 API

我们提供简单易用的接口,便于你将聊天数据整合到内部系统。

API 字段说明

获取消息API返回字段:

字段名 类型 说明
conversation_id string 会话ID,用于标识对话
sender_type string 发送者类型:visitor(访客)或 agent(客服)
sender_user_id string 发送者ID,访客为随机ID,客服为API Key
message_type string 消息类型:text(文本)或 image(图片)
content string 消息内容,图片消息时为空
image_url string|null 图片URL,仅图片消息时有值
created_at string 消息创建时间(格式:YYYY-MM-DD HH:MM:SS)

客服回复API请求字段:

字段名 类型 必填 说明
conversation_id integer 会话ID
content string ✓* 回复内容(与image_base64二选一)
image_base64 string ✓* Base64编码的图片(与content二选一)
agent_name string - 客服名称,默认为"客服"

* 表示 content 和 image_base64 必须提供其中一个

示例

1. 获取最近消息

请求示例
curl "http://www.chatgonow.com/api/chat_api.php?action=get_recent_messages&key=CHAT_API_KEY"
成功响应示例:
响应数据
{
  "success": true,
  "data": [
    {
      "conversation_id": "123",
      "sender_type": "visitor",
      "sender_user_id": "visitor_abc123",
      "message_type": "text",
      "content": "你好,我想咨询一下产品价格",
      "image_url": null,
      "created_at": "2024-01-15 14:30:25"
    },
    {
      "conversation_id": "123",
      "sender_type": "agent",
      "sender_user_id": "chat_xyz789",
      "message_type": "text",
      "content": "您好!很高兴为您服务,请问您想了解哪个产品的价格?",
      "image_url": null,
      "created_at": "2024-01-15 14:31:10"
    },
    {
      "conversation_id": "124",
      "sender_type": "visitor",
      "sender_user_id": "visitor_def456",
      "message_type": "image",
      "content": "",
      "image_url": "/uploads/chat_images/visitor_20240115_143200.jpg",
      "created_at": "2024-01-15 14:32:00"
    }
  ]
}
错误响应示例:
错误响应
// 缺少API Key{
  "success": false,
  "message": "missing key"
}

// 无效的API Key{
  "success": false,
  "message": "invalid key"
}

// 请求过于频繁{
  "success": false,
  "message": "too many requests, wait 3s"
}

2. 客服回复

请求示例
curl -X POST "http://www.chatgonow.com/api/chat_api.php?action=reply_as_agent&key=CHAT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"conversation_id":123,"content":"您好,我们已收到您的消息","agent_name":"客服小王"}'
成功响应示例:
响应数据
{
  "success": true
}
错误响应示例:
错误响应
// 缺少API Key{
  "success": false,
  "message": "missing key"
}

// 无效的API Key{
  "success": false,
  "message": "invalid key"
}

// 会话不存在{
  "success": false,
  "message": "conversation not found"
}

// 内容为空{
  "success": false,
  "message": "empty content"
}