|
@@ -21,6 +21,7 @@ const (
|
|
|
GetMsgUrl = "https://qyapi.weixin.qq.com/cgi-bin/kf/sync_msg?access_token=ACCESS_TOKEN"
|
|
GetMsgUrl = "https://qyapi.weixin.qq.com/cgi-bin/kf/sync_msg?access_token=ACCESS_TOKEN"
|
|
|
GetSessionStateUrl = "https://qyapi.weixin.qq.com/cgi-bin/kf/service_state/get?access_token=ACCESS_TOKEN"
|
|
GetSessionStateUrl = "https://qyapi.weixin.qq.com/cgi-bin/kf/service_state/get?access_token=ACCESS_TOKEN"
|
|
|
UpdateSessionStateUrl = "https://qyapi.weixin.qq.com/cgi-bin/kf/service_state/trans?access_token=ACCESS_TOKEN"
|
|
UpdateSessionStateUrl = "https://qyapi.weixin.qq.com/cgi-bin/kf/service_state/trans?access_token=ACCESS_TOKEN"
|
|
|
|
|
+ SendMsgOnEventUrl = "https://qyapi.weixin.qq.com/cgi-bin/kf/send_msg_on_event?access_token=ACCESS_TOKEN"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
// 自定义封装企业微信的API接口
|
|
// 自定义封装企业微信的API接口
|
|
@@ -327,3 +328,39 @@ func (a *WxApi) GetSessionState(openKfid, externalUserid string) (err error, d G
|
|
|
d = data
|
|
d = data
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+// 发送文字欢迎语
|
|
|
|
|
+func (a *WxApi) SendMsgOnEvent(code string, msg string) (err error, d SendMsgOnEventResp) {
|
|
|
|
|
+ err = a.refreshAccessToken()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ url := SendMsgOnEventUrl
|
|
|
|
|
+ url = strings.ReplaceAll(url, "ACCESS_TOKEN", a.accessToken)
|
|
|
|
|
+ body := SendMsgOnEventParam{
|
|
|
|
|
+ Code: code,
|
|
|
|
|
+ Msgtype: "text",
|
|
|
|
|
+ }
|
|
|
|
|
+ body.Text.Content = msg
|
|
|
|
|
+ bts, _ := json.Marshal(body)
|
|
|
|
|
+ res, err := http.Post(url, "application/json", bytes.NewReader(bts))
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ defer res.Body.Close()
|
|
|
|
|
+ bodyBts, err := ioutil.ReadAll(res.Body)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ var data SendMsgOnEventResp
|
|
|
|
|
+ err = json.Unmarshal(bodyBts, &data)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ if data.Errcode != 0 {
|
|
|
|
|
+ err = errors.New(fmt.Sprintf("errcode: %v,errmsg: %v", data.Errcode, data.Errmsg))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ d = data
|
|
|
|
|
+ return
|
|
|
|
|
+}
|