Explorar el Código

企业微信-获取群发记录列表 (#621)

* 企业微信-客户联系-统计管理

* 企业微信-客户联系-统计管理

* 企业微信-客户联系-统计管理

* debug

* rollback

* debug

* debug

* 获取用户信息

* token

* json.Marshal错误输出

* debug

* bugfix

* 企业微信-通讯录管理相关接口

* 企业微信-通讯录管理

* 企业微信-通讯录管理

* 企业微信-通讯录管理

* 企业微信-[联系我]方式新增和查询

* 企业微信-[联系我]方式新增和获取

* 企业微信-[联系我]方式更新

* 企业微信-[联系我]方式列表、删除

* json.Marshal错误输出

* 已实现接口bug修改

* 历史接口bugfix

* 历史接口bugfix

* comment

* 企业微信:客户联系-消息推送;素材管理-上传图片

* fix

* 企业微信-获取群发记录列表

Co-authored-by: wang.yu <wangyu@uniondrug.com>
markwang hace 3 años
padre
commit
bbbada1b44
Se han modificado 2 ficheros con 54 adiciones y 2 borrados
  1. 1 0
      doc/api/work.md
  2. 53 2
      work/externalcontact/msg.go

+ 1 - 0
doc/api/work.md

@@ -73,6 +73,7 @@ host: https://qyapi.weixin.qq.com/
 |     获取企业已配置的「联系我」列表      | POST      |  /cgi-bin/externalcontact/list_contact_way      | YES        | (r *Client) ListContactWay  | MARKWANG  |
 |     删除企业已配置的「联系我」方式      | POST      |  /cgi-bin/externalcontact/del_contact_way      | YES        | (r *Client) DelContactWay  | MARKWANG  |
 |          创建企业群发          | POST      |  /cgi-bin/externalcontact/add_msg_template      | YES        | (r *Client) AddMsgTemplate  | MARKWANG  |
+|          获取群发记录列表          | POST      |  /cgi-bin/externalcontact/get_groupmsg_list_v2      | YES        | (r *Client) GetGroupMsgListV2  | MARKWANG  |
 |          获取群发成员发送任务列表          | POST      |  /cgi-bin/externalcontact/get_groupmsg_task      | YES        | (r *Client) GetGroupMsgTask  | MARKWANG  |
 |          获取企业群发成员执行结果          | POST      |  /cgi-bin/externalcontact/get_groupmsg_send_result      | YES        | (r *Client) GetGroupMsgSendResult  | MARKWANG  |
 |          发送新客户欢迎语          | POST      |  /cgi-bin/externalcontact/send_welcome_msg      | YES        | (r *Client) SendWelcomeMsg  | MARKWANG  |

+ 53 - 2
work/externalcontact/msg.go

@@ -9,6 +9,8 @@ import (
 const (
 	// AddMsgTemplateURL 创建企业群发
 	AddMsgTemplateURL = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/add_msg_template?access_token=%s"
+	// GetGroupMsgListV2URL 获取群发记录列表
+	GetGroupMsgListV2URL = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_groupmsg_list_v2?access_token=%s"
 	// GetGroupMsgTaskURL 获取群发成员发送任务列表
 	GetGroupMsgTaskURL = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_groupmsg_task?access_token=%s"
 	// GetGroupMsgSendResultURL 获取企业群发成员执行结果
@@ -98,6 +100,55 @@ func (r *Client) AddMsgTemplate(req *AddMsgTemplateRequest) (*AddMsgTemplateResp
 	return result, nil
 }
 
+// GetGroupMsgListV2Request 获取群发记录列表请求
+type GetGroupMsgListV2Request struct {
+	ChatType   string `json:"chat_type"`
+	StartTime  int    `json:"start_time"`
+	EndTime    int    `json:"end_time"`
+	Creator    string `json:"creator,omitempty"`
+	FilterType int    `json:"filter_type"`
+	Limit      int    `json:"limit"`
+	Cursor     string `json:"cursor"`
+}
+
+// GetGroupMsgListV2Response 获取群发记录列表响应
+type GetGroupMsgListV2Response struct {
+	util.CommonError
+	NextCursor   string      `json:"next_cursor"`
+	GroupMsgList []*GroupMsg `json:"group_msg_list"`
+}
+
+// GroupMsg 群发消息
+type GroupMsg struct {
+	MsgID       string        `json:"msgid"`
+	Creator     string        `json:"creator"`
+	CreateTime  int           `json:"create_time"`
+	CreateType  int           `json:"create_type"`
+	Text        MsgText       `json:"text"`
+	Attachments []*Attachment `json:"attachments"`
+}
+
+// GetGroupMsgListV2 获取群发记录列表
+// see https://developer.work.weixin.qq.com/document/path/93338#%E8%8E%B7%E5%8F%96%E7%BE%A4%E5%8F%91%E8%AE%B0%E5%BD%95%E5%88%97%E8%A1%A8
+func (r *Client) GetGroupMsgListV2(req *GetGroupMsgListV2Request) (*GetGroupMsgListV2Response, error) {
+	var (
+		accessToken string
+		err         error
+	)
+	if accessToken, err = r.GetAccessToken(); err != nil {
+		return nil, err
+	}
+	var response []byte
+	if response, err = util.PostJSON(fmt.Sprintf(GetGroupMsgListV2URL, accessToken), req); err != nil {
+		return nil, err
+	}
+	result := &GetGroupMsgListV2Response{}
+	if err = util.DecodeWithError(response, result, "GetGroupMsgListV2"); err != nil {
+		return nil, err
+	}
+	return result, nil
+}
+
 // GetGroupMsgTaskRequest 获取群发成员发送任务列表请求
 type GetGroupMsgTaskRequest struct {
 	MsgID  string `json:"msgid"`
@@ -120,7 +171,7 @@ type Task struct {
 }
 
 // GetGroupMsgTask 获取群发成员发送任务列表
-// see https://developer.work.weixin.qq.com/document/path/93338
+// see https://developer.work.weixin.qq.com/document/path/93338#%E8%8E%B7%E5%8F%96%E7%BE%A4%E5%8F%91%E6%88%90%E5%91%98%E5%8F%91%E9%80%81%E4%BB%BB%E5%8A%A1%E5%88%97%E8%A1%A8
 func (r *Client) GetGroupMsgTask(req *GetGroupMsgTaskRequest) (*GetGroupMsgTaskResponse, error) {
 	var (
 		accessToken string
@@ -165,7 +216,7 @@ type Send struct {
 }
 
 // GetGroupMsgSendResult 获取企业群发成员执行结果
-// see https://developer.work.weixin.qq.com/document/path/93338
+// see https://developer.work.weixin.qq.com/document/path/93338#%E8%8E%B7%E5%8F%96%E4%BC%81%E4%B8%9A%E7%BE%A4%E5%8F%91%E6%88%90%E5%91%98%E6%89%A7%E8%A1%8C%E7%BB%93%E6%9E%9C
 func (r *Client) GetGroupMsgSendResult(req *GetGroupMsgSendResultRequest) (*GetGroupMsgSendResultResponse, error) {
 	var (
 		accessToken string