other.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. if accessToken, err = r.ctx.GetAccessToken(); err != nil {
  30. return
  31. }
  32. if data, err = util.HTTPGet(fmt.Sprintf(corpQualification, accessToken)); err != nil {
  33. return info, err
  34. }
  35. if err = json.Unmarshal(data, &info); err != nil {
  36. return
  37. }
  38. if info.ErrCode != 0 {
  39. return info, NewSDKErr(info.ErrCode, info.ErrMsg)
  40. }
  41. return info, nil
  42. }