other.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package kf
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/silenceper/wechat/v2/util"
  6. )
  7. const (
  8. // 获取视频号绑定状态
  9. corpQualification = "https://qyapi.weixin.qq.com/cgi-bin/kf/get_corp_qualification?access_token=%s"
  10. )
  11. // CorpQualificationSchema 获取视频号绑定状态响应内容
  12. type CorpQualificationSchema struct {
  13. util.CommonError
  14. WechatChannelsBinding bool `json:"wechat_channels_binding"` // 当企业具有绑定成功的视频号时,返回true,否则返回false。 1. 企业申请绑定视频号且由视频号管理员确认后,才为绑定成功状态 2. 至少有一个绑定成功的视频号就会返回true
  15. }
  16. // GetCorpQualification 获取视频号绑定状态
  17. // 微信客服可接待的客户数,和企业是否已完成主体验证、是否绑定视频号相关。
  18. //
  19. // 企业未完成主体验证时,微信客服仅可累计接待100位客户
  20. // 企业已验证但未绑定视频号时,微信客服仅可累计接待10000位客户
  21. // 企业已验证且已绑定视频号时,微信客服可接待的客户数不受限制
  22. //
  23. // 开发者可获取状态后,在应用等地方提示企业去完成主体验证或绑定视频号。
  24. func (r *Client) GetCorpQualification() (info CorpQualificationSchema, err error) {
  25. var (
  26. accessToken string
  27. data []byte
  28. )
  29. accessToken, err = r.ctx.GetAccessToken()
  30. if err != nil {
  31. return
  32. }
  33. data, err = util.HTTPGet(fmt.Sprintf(corpQualification, accessToken))
  34. if err != nil {
  35. return info, err
  36. }
  37. if err = json.Unmarshal(data, &info); err != nil {
  38. return
  39. }
  40. if info.ErrCode != 0 {
  41. return info, NewSDKErr(info.ErrCode, info.ErrMsg)
  42. }
  43. return info, nil
  44. }