Class WeChatWorkMessageApiService
java.lang.Object
com.bytedesk.wechat.work.kefu.message.WeChatWorkMessageApiService
企业微信客服消息服务实现类
https://developer.work.weixin.qq.com/document/path/94670
- Author:
- jackning
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final HttpRestService
private final MessageRestService
private final IMessageSendService
private final RedisWeChatWorkService
private final SpringAIServiceRegistry
private final ThreadRestService
private final UidUtils
private final UploadRestService
private final VisitorRestService
private final WeChatWorkCustomerService
private final WeChatWorkKefuServicerService
private final WeChatWorkSessionApiService
private final WeChatWorkTokenService
private final WeChatWorkUploadService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate VisitorRequest
buildVisitorRequest
(WeChatWorkCustomerResponse customerResponse, WeChatWorkMessageResponse.WeChatWorkMessage message, String corpId, String appSecret, String workgroupUid, String orgUid) 根据企业微信客户详情构建访客请求对象private String
getAvailableServicerUserId
(String corpId, String appSecret, String openKfid) 获取可用的接待人员IDprivate void
处理名片消息private void
处理日程消息private void
处理视频号消息private void
处理视频号订单消息private void
处理视频号商品消息private void
处理进入会话事件private void
处理事件消息private void
处理文件消息private void
处理图片消息private void
处理链接消息private void
处理位置消息private void
处理会议消息private void
处理聊天记录消息void
processMessage
(WeChatWorkMessageResponse.WeChatWorkMessage message, String corpId, String appSecret, String workgroupUid, String orgUid) 处理单个消息void
processMessages
(List<WeChatWorkMessageResponse.WeChatWorkMessage> messages, String corpId, String appSecret, String workgroupUid, String orgUid) 处理消息private void
处理小程序消息private void
处理菜单消息private void
处理消息发送失败事件private void
处理笔记消息private void
处理拒收客户消息变更事件private void
处理接待人员撤回消息事件private void
处理接待人员状态变更事件private void
处理会话状态变更事件private void
处理文本消息private void
处理用户撤回消息事件private void
处理视频消息void
processVisitorMessage
(WeChatWorkMessageResponse.WeChatWorkMessage message, String corpId, String appSecret, String workgroupUid, String orgUid) 处理访客消息,包括获取访客详情、创建或更新访客信息、请求会话private void
处理语音消息private void
sendEventWelcomeMessage
(String msgCode, String corpId, String appSecret, String content) 发送事件响应欢迎消息sendMsgmenuMessage
(WeChatWorkMessageResponse.WeChatWorkMessage message, ThreadProtobuf thread, String corpId, String appSecret, String content) 发送菜单消息给企业微信客户private void
sendSessionMessage
(WeChatWorkMessageResponse.WeChatWorkMessage message, ThreadProtobuf thread, String corpId, String appSecret, String content) 发送会话消息sendTextMessage
(WeChatWorkMessageResponse.WeChatWorkMessage message, ThreadProtobuf thread, String corpId, String appSecret, String content) 发送文本消息给企业微信客户private void
sendToCustomerService
(WeChatWorkMessageResponse.WeChatWorkMessage message, VisitorResponse visitor, ThreadProtobuf thread, String workgroupUid, String orgUid) 将企业微信客服消息发送到客服系统syncMsg
(String corpId, String appSecret, String cursor, String token, Integer limit, Integer voiceFormat, String openKfid, String workgroupUid, String orgUid) 从企业微信服务器同步消息 weChatWorkKfMessageService.syncMsg(corpID, appSecret, null, tokenRef[0], 1000, 0, openKfIdRef[0]);
-
Field Details
-
weChatWorkTokenService
-
httpRestService
-
weChatWorkCustomerService
-
visitorRestService
-
weChatWorkKfSessionService
-
messageSendService
-
springAIServiceRegistry
-
uidUtils
-
threadRestService
-
redisWeChatWorkService
-
messageRestService
-
weChatWorkKefuServicerService
-
weChatWorkUploadService
-
uploadRestService
-
-
Constructor Details
-
WeChatWorkMessageApiService
public WeChatWorkMessageApiService()
-
-
Method Details
-
syncMsg
public WeChatWorkMessageResponse syncMsg(String corpId, String appSecret, String cursor, String token, Integer limit, Integer voiceFormat, String openKfid, String workgroupUid, String orgUid) 从企业微信服务器同步消息 weChatWorkKfMessageService.syncMsg(corpID, appSecret, null, tokenRef[0], 1000, 0, openKfIdRef[0]);- Parameters:
cursor
- 上一次调用时返回的next_cursor,第一次拉取可以不填, 若不填,从最近3天内最早的消息开始返回token
- 回调事件返回的token字段,10分钟内有效limit
- 期望请求的数据量,默认值和最大值都为1000voiceFormat
- 语音消息类型,0-Amr 1-Silk,默认0openKfid
- 指定拉取某个客服账号的消息- Returns:
- 同步消息结果
-
processMessages
public void processMessages(List<WeChatWorkMessageResponse.WeChatWorkMessage> messages, String corpId, String appSecret, String workgroupUid, String orgUid) 处理消息- Parameters:
messages
- 消息列表corpId
- 企业IDappSecret
- 应用密钥
-
processMessage
public void processMessage(WeChatWorkMessageResponse.WeChatWorkMessage message, String corpId, String appSecret, String workgroupUid, String orgUid) 处理单个消息- Parameters:
message
- 单个消息corpId
- 企业IDappSecret
- 应用密钥
-
processTextMessage
处理文本消息 -
processImageMessage
处理图片消息 -
processVoiceMessage
处理语音消息 -
processVideoMessage
处理视频消息 -
processFileMessage
处理文件消息 -
processLocationMessage
处理位置消息 -
processLinkMessage
处理链接消息 -
processBusinessCardMessage
处理名片消息 -
processMiniprogramMessage
处理小程序消息 -
processEventMessage
处理事件消息 -
processEnterSessionEvent
处理进入会话事件 -
processMsgSendFailEvent
处理消息发送失败事件 -
processServicerStatusChangeEvent
处理接待人员状态变更事件 -
processSessionStatusChangeEvent
处理会话状态变更事件 -
processUserRecallMsgEvent
处理用户撤回消息事件 -
processServicerRecallMsgEvent
处理接待人员撤回消息事件 -
processRejectCustomerMsgSwitchChangeEvent
private void processRejectCustomerMsgSwitchChangeEvent(WeChatWorkMessageResponse.WeChatWorkMessage message) 处理拒收客户消息变更事件 -
processVisitorMessage
public void processVisitorMessage(WeChatWorkMessageResponse.WeChatWorkMessage message, String corpId, String appSecret, String workgroupUid, String orgUid) 处理访客消息,包括获取访客详情、创建或更新访客信息、请求会话- Parameters:
message
- 企业微信消息corpId
- 企业IDappSecret
- 应用密钥workgroupUid
- 工作组IDorgUid
- 组织ID
-
buildVisitorRequest
private VisitorRequest buildVisitorRequest(WeChatWorkCustomerResponse customerResponse, WeChatWorkMessageResponse.WeChatWorkMessage message, String corpId, String appSecret, String workgroupUid, String orgUid) 根据企业微信客户详情构建访客请求对象- Parameters:
customerResponse
- 企业微信客户详情message
- 企业微信消息corpId
- 企业ID- Returns:
- 访客请求对象
-
sendSessionMessage
private void sendSessionMessage(WeChatWorkMessageResponse.WeChatWorkMessage message, ThreadProtobuf thread, String corpId, String appSecret, String content) 发送会话消息- Parameters:
message
- 企业微信消息corpId
- 企业IDappSecret
- 应用密钥content
- 消息内容
-
sendEventWelcomeMessage
private void sendEventWelcomeMessage(String msgCode, String corpId, String appSecret, String content) 发送事件响应欢迎消息- Parameters:
msgCode
- 事件消息的codecorpId
- 企业IDappSecret
- 应用密钥content
- 消息内容
-
sendTextMessage
public WeChatWorkSessionResponse sendTextMessage(WeChatWorkMessageResponse.WeChatWorkMessage message, ThreadProtobuf thread, String corpId, String appSecret, String content) 发送文本消息给企业微信客户- Parameters:
message
- 企业微信消息对象,用于获取openKfid和externalUseridcorpId
- 企业IDappSecret
- 应用密钥content
- 要发送的文本内容- Returns:
- 发送结果,包含消息ID等信息
-
sendToCustomerService
private void sendToCustomerService(WeChatWorkMessageResponse.WeChatWorkMessage message, VisitorResponse visitor, ThreadProtobuf thread, String workgroupUid, String orgUid) 将企业微信客服消息发送到客服系统- Parameters:
message
- 企业微信消息visitorId
- 访客IDthreadUid
- 会话IDnickname
- 访客昵称avatar
- 访客头像URL
-
getAvailableServicerUserId
获取可用的接待人员ID- Parameters:
corpId
- 企业IDappSecret
- 应用密钥openKfid
- 客服账号ID- Returns:
- 第一个可用的接待人员ID,如果没有则返回null
-
processChannelsShopProductMessage
处理视频号商品消息 -
processChannelsShopOrderMessage
处理视频号订单消息 -
processMergedMsgMessage
处理聊天记录消息 -
processChannelsMessage
处理视频号消息 -
processMeetingMessage
处理会议消息 -
processCalendarMessage
处理日程消息 -
processNoteMessage
处理笔记消息
-