52 lines
2.1 KiB
Go
52 lines
2.1 KiB
Go
package dto
|
||
|
||
import "github.com/gogf/gf/v2/frame/g"
|
||
|
||
// WebhookReceiveReq 接收平台消息请求
|
||
type WebhookReceiveReq struct {
|
||
g.Meta `path:"/:platform" method:"post" tags:"Webhook" summary:"接收平台消息" dc:"接收小红书/抖音等平台推送的用户消息"`
|
||
Platform string `p:"platform" v:"required#平台标识不能为空" dc:"平台标识(xiaohongshu/douyin/kuaishou)"`
|
||
UserId string `json:"userId" v:"required#用户ID不能为空" dc:"平台用户ID"`
|
||
AccountId string `json:"accountId" dc:"客服账号ID"`
|
||
Content string `json:"content" v:"required#消息内容不能为空" dc:"消息内容"`
|
||
MsgId string `json:"msgId" dc:"平台消息ID(用于去重)"`
|
||
Timestamp int64 `json:"timestamp" dc:"消息时间戳"`
|
||
}
|
||
|
||
type WebhookReceiveRes struct {
|
||
Success bool `json:"success" dc:"是否成功"`
|
||
MsgId string `json:"msg_id,omitempty" dc:"消息ID"`
|
||
}
|
||
|
||
// WebhookCallbackReq 平台回调验证请求(部分平台需要)
|
||
type WebhookCallbackReq struct {
|
||
g.Meta `path:"/:platform/verify" method:"get" tags:"Webhook" summary:"回调验证" dc:"平台回调验证(部分平台接入时需要)"`
|
||
Platform string `p:"platform" dc:"平台标识"`
|
||
Signature string `p:"signature" dc:"签名"`
|
||
Timestamp string `p:"timestamp" dc:"时间戳"`
|
||
Nonce string `p:"nonce" dc:"随机数"`
|
||
Echostr string `p:"echostr" dc:"回显字符串"`
|
||
}
|
||
|
||
type WebhookCallbackRes struct {
|
||
g.Meta `mime:"text/plain"`
|
||
}
|
||
|
||
// ConversationListReq 对话记录查询请求
|
||
type ConversationListReq struct {
|
||
g.Meta `path:"/history" method:"get" tags:"Webhook" summary:"查询对话记录" dc:"查询用户历史对话记录"`
|
||
UserId string `p:"user_id" v:"required#用户ID不能为空" dc:"用户ID"`
|
||
Limit int64 `p:"limit" d:"20" dc:"返回数量(默认20)"`
|
||
}
|
||
|
||
type ConversationListRes struct {
|
||
List []*ConversationItem `json:"list" dc:"对话记录列表"`
|
||
}
|
||
|
||
type ConversationItem struct {
|
||
Question string `json:"question" dc:"用户问题"`
|
||
Answer string `json:"answer" dc:"AI回复"`
|
||
MsgTime string `json:"msgTime" dc:"消息时间"`
|
||
SessionId string `json:"sessionId" dc:"会话ID"`
|
||
}
|