1
This commit is contained in:
@@ -20,6 +20,8 @@ const (
|
||||
MsgTypeTemplateCard = "template_card" // 模板卡片消息(文本型/图文型/按钮型/投票型/多项选择型)
|
||||
)
|
||||
|
||||
const EnterpriseAgentid = 1000005 // 企业应用的id
|
||||
|
||||
// EnterpriseSendMsgReq 发送企业微信文本卡片消息请求参数
|
||||
type EnterpriseSendMsgReq struct {
|
||||
Touser string `json:"touser"` // 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)
|
||||
@@ -52,7 +54,7 @@ type EnterpriseSendMsgRes struct {
|
||||
ResponseCode string `json:"response_code"` // 仅消息类型为“按钮交互型”,“投票选择型”和“多项选择型”的模板卡片消息返回,应用可使用response_code调用更新模版卡片消息接口,72小时内有效,且只能使用一次
|
||||
}
|
||||
|
||||
// SendMsgToUser 将消息发送给企业微信用户
|
||||
// SendMsgToUser 将消息发送给企业微信用户 msgtype = textcard
|
||||
func (a *API) SendMsgToUser(msg *EnterpriseSendMsgReq) error {
|
||||
a.CheckAccessTokenExpiresIn()
|
||||
param := utils.Struct2Map(msg, "", false)
|
||||
@@ -71,3 +73,74 @@ func (a *API) SendMsgToUser(msg *EnterpriseSendMsgReq) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 发送文本消息
|
||||
type SendTextMsgReq struct {
|
||||
Touser string `json:"touser"`
|
||||
Toparty string `json:"toparty"`
|
||||
Totag string `json:"totag"`
|
||||
Msgtype string `json:"msgtype"`
|
||||
Agentid int `json:"agentid"`
|
||||
Text struct {
|
||||
Content string `json:"content"`
|
||||
} `json:"text"`
|
||||
Safe int `json:"safe"`
|
||||
EnableIdTrans int `json:"enable_id_trans"`
|
||||
EnableDuplicateCheck int `json:"enable_duplicate_check"`
|
||||
DuplicateCheckInterval int `json:"duplicate_check_interval"`
|
||||
}
|
||||
|
||||
// SendMsgToUserTypeText 发送文本消息给用户
|
||||
func (a *API) SendMsgToUserTypeText(msg *SendTextMsgReq) error {
|
||||
a.CheckAccessTokenExpiresIn()
|
||||
param := utils.Struct2Map(msg, "", false)
|
||||
data, err := a.AccessAPI(WeChatBaseApi, SendMsgToUser, http.MethodPost, param)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
result := &EnterpriseSendMsgRes{}
|
||||
if err := utils.Map2StructByJson(data, result, false); err != nil {
|
||||
return err
|
||||
}
|
||||
if result.Errcode != 0 {
|
||||
return errors.New(result.Errmsg)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 发送文本消息
|
||||
type SendMarkdownMsgReq struct {
|
||||
Touser string `json:"touser"`
|
||||
Toparty string `json:"toparty"`
|
||||
Totag string `json:"totag"`
|
||||
Msgtype string `json:"msgtype"`
|
||||
Agentid int `json:"agentid"`
|
||||
Markdown struct {
|
||||
Content string `json:"content"`
|
||||
} `json:"markdown"`
|
||||
Safe int `json:"safe"`
|
||||
EnableIdTrans int `json:"enable_id_trans"`
|
||||
EnableDuplicateCheck int `json:"enable_duplicate_check"`
|
||||
DuplicateCheckInterval int `json:"duplicate_check_interval"`
|
||||
}
|
||||
|
||||
// SendMsgToUserMarkdown 发送makedown消息
|
||||
func (a *API) SendMsgToUserMarkdown(msg *SendMarkdownMsgReq) error {
|
||||
a.CheckAccessTokenExpiresIn()
|
||||
param := utils.Struct2Map(msg, "", false)
|
||||
data, err := a.AccessAPI(WeChatBaseApi, SendMsgToUser, http.MethodPost, param)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
result := &EnterpriseSendMsgRes{}
|
||||
if err := utils.Map2StructByJson(data, result, false); err != nil {
|
||||
return err
|
||||
}
|
||||
if result.Errcode != 0 {
|
||||
return errors.New(result.Errmsg)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user