Skip to content

Commit 3cf92b6

Browse files
committed
feature:支持会话状态变更和接待状态变更事件
1 parent 2f60246 commit 3cf92b6

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

syncmsg/message.go

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,31 @@ type MsgSendFailEvent struct {
128128
OpenKFID string `json:"open_kfid"` // 客服账号ID
129129
ExternalUserID string `json:"external_userid"` // 客户UserID
130130
FailMsgID string `json:"fail_msgid"` // 发送失败的消息msgid
131-
FailType uint32 `json:"fail_type"` // 失败类型。0-未知原因 10-用户拒收
131+
FailType uint32 `json:"fail_type"` // 失败类型。0-未知原因 1-客服账号已删除 2-应用已关闭 4-会话已过期,超过48小时 5-会话已关闭 6-超过5条限制 7-未绑定视频号 8-主体未验证 9-未绑定视频号且主体未验证 10-用户拒收
132+
} `json:"event"` // 事件消息
133+
}
134+
135+
// ReceptionistStatusChangeEvent 客服人员接待状态变更事件
136+
type ReceptionistStatusChangeEvent struct {
137+
BaseMessage
138+
MsgType string `json:"msgtype"` // 消息类型,此时固定为:event
139+
Event struct{
140+
EventType string `json:"event_type"` // 事件类型。此处固定为:servicer_status_change
141+
ReceptionistUserID string `json:"servicer_userid"` // 客服人员userid
142+
Status uint32 `json:"status"` // 状态类型。1-接待中 2-停止接待
143+
} `json:"event"`
144+
}
145+
146+
// SessionStatusChangeEvent 会话状态变更事件
147+
type SessionStatusChangeEvent struct {
148+
BaseMessage
149+
MsgType string `json:"msgtype"` // 消息类型,此时固定为:event
150+
Event struct{
151+
EventType string `json:"event_type"` // 事件类型。此处固定为:session_status_change
152+
OpenKFID string `json:"open_kfid"` // 客服账号ID
153+
ExternalUserID string `json:"external_userid"` // 客户UserID
154+
ChangeType uint32 `json:"change_type"` // 变更类型。1-从接待池接入会话 2-转接会话 3-结束会话
155+
OldReceptionistUserID string `json:"old_servicer_userid"` // 老的客服人员userid。仅change_type为2和3有值
156+
NewReceptionistUserID string `json:"new_servicer_userid"` // 新的客服人员userid。仅change_type为1和2有值
132157
} `json:"event"` // 事件消息
133158
}

syncmsg/syncmsg.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,16 @@ func (r Message) GetEnterSessionEvent() (info EnterSessionEvent, err error) {
8383
func (r Message) GetMsgSendFailEvent() (info MsgSendFailEvent, err error) {
8484
err = json.Unmarshal(r.OriginData, &info)
8585
return info, err
86+
}
87+
88+
// GetReceptionistStatusChangeEvent 客服人员接待状态变更事件
89+
func (r Message) GetReceptionistStatusChangeEvent() (info ReceptionistStatusChangeEvent, err error) {
90+
err = json.Unmarshal(r.OriginData, &info)
91+
return info, err
92+
}
93+
94+
// GetSessionStatusChangeEvent 会话状态变更事件
95+
func (r Message) GetSessionStatusChangeEvent() (info SessionStatusChangeEvent, err error) {
96+
err = json.Unmarshal(r.OriginData, &info)
97+
return info, err
8698
}

0 commit comments

Comments
 (0)