sendmsg.go 990 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package kf
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/silenceper/wechat/v2/util"
  6. )
  7. const (
  8. //发送消息
  9. sendMsgAddr = "https://qyapi.weixin.qq.com/cgi-bin/kf/send_msg?access_token=%s"
  10. )
  11. // SendMsgSchema 发送消息响应内容
  12. type SendMsgSchema struct {
  13. util.CommonError
  14. MsgID string `json:"msgid"` // 消息ID。如果请求参数指定了msgid,则原样返回,否则系统自动生成并返回。不多于32字节, 字符串取值范围(正则表达式):[0-9a-zA-Z_-]*
  15. }
  16. // SendMsg 获取消息
  17. func (r *Client) SendMsg(options interface{}) (info SendMsgSchema, err error) {
  18. var (
  19. accessToken string
  20. data []byte
  21. )
  22. accessToken, err = r.ctx.GetAccessToken()
  23. if err != nil {
  24. return
  25. }
  26. data, err = util.PostJSON(fmt.Sprintf(sendMsgAddr, accessToken), options)
  27. if err != nil {
  28. return
  29. }
  30. if err = json.Unmarshal(data, &info); err != nil {
  31. return
  32. }
  33. if info.ErrCode != 0 {
  34. return info, NewSDKErr(info.ErrCode, info.ErrMsg)
  35. }
  36. return info, nil
  37. }