|
@@ -9,6 +9,8 @@ import (
|
|
|
const (
|
|
const (
|
|
|
// AddMsgTemplateURL 创建企业群发
|
|
// AddMsgTemplateURL 创建企业群发
|
|
|
AddMsgTemplateURL = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/add_msg_template?access_token=%s"
|
|
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 获取群发成员发送任务列表
|
|
|
GetGroupMsgTaskURL = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_groupmsg_task?access_token=%s"
|
|
GetGroupMsgTaskURL = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_groupmsg_task?access_token=%s"
|
|
|
// GetGroupMsgSendResultURL 获取企业群发成员执行结果
|
|
// GetGroupMsgSendResultURL 获取企业群发成员执行结果
|
|
@@ -98,6 +100,55 @@ func (r *Client) AddMsgTemplate(req *AddMsgTemplateRequest) (*AddMsgTemplateResp
|
|
|
return result, nil
|
|
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 获取群发成员发送任务列表请求
|
|
// GetGroupMsgTaskRequest 获取群发成员发送任务列表请求
|
|
|
type GetGroupMsgTaskRequest struct {
|
|
type GetGroupMsgTaskRequest struct {
|
|
|
MsgID string `json:"msgid"`
|
|
MsgID string `json:"msgid"`
|
|
@@ -120,7 +171,7 @@ type Task struct {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetGroupMsgTask 获取群发成员发送任务列表
|
|
// 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) {
|
|
func (r *Client) GetGroupMsgTask(req *GetGroupMsgTaskRequest) (*GetGroupMsgTaskResponse, error) {
|
|
|
var (
|
|
var (
|
|
|
accessToken string
|
|
accessToken string
|
|
@@ -165,7 +216,7 @@ type Send struct {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetGroupMsgSendResult 获取企业群发成员执行结果
|
|
// 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) {
|
|
func (r *Client) GetGroupMsgSendResult(req *GetGroupMsgSendResultRequest) (*GetGroupMsgSendResultResponse, error) {
|
|
|
var (
|
|
var (
|
|
|
accessToken string
|
|
accessToken string
|