105 lines
3.6 KiB
Markdown
105 lines
3.6 KiB
Markdown
|
|
# 测试 search_image 消息发送到 Webhook
|
||
|
|
|
||
|
|
## 方法 1: 使用测试脚本(推荐)
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /home/lxj/project/chatwoot-develop
|
||
|
|
./test_search_image_webhook.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
## 方法 2: 直接执行 curl 命令
|
||
|
|
|
||
|
|
复制以下命令到终端执行:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
curl -X POST "http://localhost:3000/api/v1/widget/messages?website_token=9n9D3JFHBorFTZLD7cQ49TMg&cw_conversation=eyJhbGciOiJIUzI1NiJ9.eyJzb3VyY2VfaWQiOiI2Njc1ZGY3Ni1jM2MxLTQwMjktODUyNi0zN2UzMjQyMDFhMzAiLCJpbmJveF9pZCI6MSwiZXhwIjoxNzg1MDU3ODU5LCJpYXQiOjE3Njk1MDU4NTl9.SW4n7hnVjleWaVjKesdA60IZ5YAkAFn-3cUzH2f9F_M&locale=zh_CN" \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-H "X-Auth-Token: eyJhbGciOiJIUzI1NiJ9.eyJzb3VyY2VfaWQiOiI2Njc1ZGY3Ni1jM2MxLTQwMjktODUyNi0zN2UzMjQyMDFhMzAiLCJpbmJveF9pZCI6MSwiZXhwIjoxNzg1MDU3ODU5LCJpYXQiOjE3Njk1MDU4NTl9.SW4n7hnVjleWaVjKesdA60IZ5YAkAFn-3cUzH2f9F_M" \
|
||
|
|
-d '{
|
||
|
|
"message": {
|
||
|
|
"content": "",
|
||
|
|
"content_type": "search_image",
|
||
|
|
"content_attributes": {
|
||
|
|
"url": "https://img.gaia888.com/image/www/test.jpg"
|
||
|
|
},
|
||
|
|
"timestamp": "Tue Jan 27 2026 17:41:08 GMT+0800 (中国标准时间)",
|
||
|
|
"referer_url": "http://localhost:3000/widget_tests"
|
||
|
|
}
|
||
|
|
}'
|
||
|
|
```
|
||
|
|
|
||
|
|
## 方法 3: 使用你提供的完整 curl 命令
|
||
|
|
|
||
|
|
```bash
|
||
|
|
curl "http://localhost:3000/api/v1/widget/messages?website_token=9n9D3JFHBorFTZLD7cQ49TMg&cw_conversation=eyJhbGciOiJIUzI1NiJ9.eyJzb3VyY2VfaWQiOiI2Njc1ZGY3Ni1jM2MxLTQwMjktODUyNi0zN2UzMjQyMDFhMzAiLCJpbmJveF9pZCI6MSwiZXhwIjoxNzg1MDU3ODU5LCJpYXQiOjE3Njk1MDU4NTl9.SW4n7hnVjleWaVjKesdA60IZ5YAkAFn-3cUzH2f9F_M&locale=zh_CN" \
|
||
|
|
-H "Accept: application/json, text/plain, */*" \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-H "X-Auth-Token: eyJhbGciOiJIUzI1NiJ9.eyJzb3VyY2VfaWQiOiI2Njc1ZGY3Ni1jM2MxLTQwMjktODUyNi0zN2UzMjQyMDFhMzAiLCJpbmJveF9pZCI6MSwiZXhwIjoxNzg1MDU3ODU5LCJpYXQiOjE3Njk1MDU4NTl9.SW4n7hnVjleWaVjKesdA60IZ5YAkAFn-3cUzH2f9F_M" \
|
||
|
|
--data-raw '{"message":{"content":"","reply_to":null,"timestamp":"Tue Jan 27 2026 17:41:08 GMT+0800 (中国标准时间)","referer_url":"http://localhost:3000/widget_tests","content_type":"search_image","content_attributes":{"url":"https://img.gaia888.com/image/www/auto_202601/test.jpg"}}}'
|
||
|
|
```
|
||
|
|
|
||
|
|
## 预期响应
|
||
|
|
|
||
|
|
成功时会返回类似:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"id": 428,
|
||
|
|
"content": "",
|
||
|
|
"content_type": "search_image",
|
||
|
|
"inbox_id": 1,
|
||
|
|
"conversation_id": 16,
|
||
|
|
"message_type": 0,
|
||
|
|
"created_at": 1769504268,
|
||
|
|
"private": false,
|
||
|
|
"content_attributes": {
|
||
|
|
"url": "https://img.gaia888.com/image/www/test.jpg"
|
||
|
|
},
|
||
|
|
"sender": {
|
||
|
|
"id": 24,
|
||
|
|
"name": "测试用户 211845",
|
||
|
|
"email": "211845@example.com",
|
||
|
|
"thumbnail": "",
|
||
|
|
"type": "contact"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## 验证步骤
|
||
|
|
|
||
|
|
1. **检查 Dashboard**:
|
||
|
|
- 访问: http://localhost:3000/app/accounts/2/inbox/1
|
||
|
|
- 查看会话列表中是否有新消息
|
||
|
|
|
||
|
|
2. **检查 Webhook 日志**:
|
||
|
|
- 查看你的 webhook 接收服务日志
|
||
|
|
- 应该看到 `content_type: "search_image"`
|
||
|
|
|
||
|
|
3. **检查 Widget**:
|
||
|
|
- 刷新 /widget_tests 页面
|
||
|
|
- 应该看到图片显示在聊天界面
|
||
|
|
|
||
|
|
## 错误排查
|
||
|
|
|
||
|
|
### 401 Unauthorized
|
||
|
|
**原因**: cw_conversation token 过期或无效
|
||
|
|
**解决**: 从 /widget_tests 页面重新获取 cookie 中的 cw_conversation 值
|
||
|
|
|
||
|
|
### 404 Not Found
|
||
|
|
**原因**: website_token 不正确
|
||
|
|
**解决**: 确认 website_token 与配置一致
|
||
|
|
|
||
|
|
### 422 Unprocessable Entity
|
||
|
|
**原因**: 请求参数格式错误
|
||
|
|
**解决**: 检查 JSON 格式和必需字段
|
||
|
|
|
||
|
|
## 参数说明
|
||
|
|
|
||
|
|
| 参数 | 值 | 说明 |
|
||
|
|
|------|-----|------|
|
||
|
|
| `content_type` | `"search_image"` | 消息类型 |
|
||
|
|
| `content` | `""` | 空字符串 |
|
||
|
|
| `content_attributes.url` | 图片 URL | 图片地址 |
|
||
|
|
| `cw_conversation` | JWT token | 会话标识 |
|
||
|
|
| `website_token` | Widget token | 网站标识 |
|