using System; using System.Collections.Generic; using System.Text; namespace WeiXinKfSDK.Response { public class SyncMsgResponse : WxKfBaseResponse { /// /// 下次调用带上该值,则从当前的位置继续往后拉,以实现增量拉取。 强烈建议对该字段入库保存,每次请求读取带上,请求结束后更新。避免因意外丢,导致必须从头开始拉取,引起消息延迟。 /// public string next_cursor { get; set; } /// /// 是否还有更多数据。0-否;1-是 不能通过判断msg_list是否空来停止拉取,可能会出现has_more为1,而msg_list为空的情况 /// public int has_more { get; set; } /// /// 消息列表 /// public List msg_list { get; set; } } public class SyncMsgListDto { /// /// 消息ID /// public string msgid { get; set; } /// /// 客服帐号ID /// public string open_kfid { get; set; } /// /// 客户UserID /// public string external_userid { get; set; } /// /// 消息发送时间 /// public long send_time { get; set; } /// /// 消息来源。3-客户回复的消息 4-系统推送的消息 /// public int origin { get; set; } /// /// 对不同的msgtype,有相应的结构描述,下面进一步说明 /// public string msgtype { get; set; } /// /// 事件消息 /// public EnterEventDto Event { get; set; } /// /// 文本消息 /// public WxTextDto text { get; set; } } public class WxTextDto { public string content { get; set; } public string menu_id { get; set; } } public class EnterEventDto { /// /// 事件类型。此处固定为:enter_session /// public string event_type { get; set; } /// /// 客服账号ID /// public string open_kfid { get; set; } /// /// 客户UserID /// public string external_userid { get; set; } /// /// 进入会话的场景值,获取客服帐号链接开发者自定义的场景值 /// public string scene { get; set; } /// /// 进入会话的自定义参数,获取客服帐号链接返回的url,开发者按规范拼接的scene_param参数 /// public string scene_param { get; set; } /// /// 如果满足发送欢迎语条件(条件为:用户在过去48小时里未收过欢迎语,且未向客服发过消息),会返回该字段。 /// public string welcome_code { get; set; } /// /// 进入会话的视频号信息,从视频号进入会话才有值 /// public EnterEventDtoChannel wechat_channels { get; set; } } public class EnterEventDtoChannel { /// /// 视频号小店名称,视频号场景值为4、5时返回此项 /// public string nickname { get; set; } /// /// 视频号场景值。1:视频号主页,2:视频号直播间商品列表页,3:视频号商品橱窗页,4:视频号小店商品详情页,5:视频号小店订单页 /// public int scene { get; set; } } }