| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package kf
- import (
- "encoding/json"
- "fmt"
- "github.com/silenceper/wechat/v2/util"
- )
- const (
- customerBatchGetAddr = "https://qyapi.weixin.qq.com/cgi-bin/kf/customer/batchget?access_token=%s"
- )
- // CustomerBatchGetOptions 客户基本信息获取请求参数
- type CustomerBatchGetOptions struct {
- ExternalUserIDList []string `json:"external_userid_list"` // external_userid列表
- }
- // CustomerSchema 微信客户基本资料
- type CustomerSchema struct {
- ExternalUserID string `json:"external_userid"` // 微信客户的external_userid
- NickName string `json:"nickname"` // 微信昵称
- Avatar string `json:"avatar"` // 微信头像。第三方不可获取
- Gender int `json:"gender"` // 性别
- UnionID string `json:"unionid"` // unionid,需要绑定微信开发者帐号才能获取到,查看绑定方法: https://open.work.weixin.qq.com/kf/doc/92512/93143/94769#%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E5%BE%AE%E4%BF%A1%E5%AE%A2%E6%88%B7%E7%9A%84unionid
- }
- // CustomerBatchGetSchema 获取客户基本信息响应内容
- type CustomerBatchGetSchema struct {
- util.CommonError
- CustomerList []CustomerSchema `json:"customer_list"` // 微信客户信息列表
- InvalidExternalUserID []string `json:"invalid_external_userid"` // 无效的微信客户ID
- }
- // CustomerBatchGet 客户基本信息获取
- func (r *Client) CustomerBatchGet(options CustomerBatchGetOptions) (info CustomerBatchGetSchema, err error) {
- var (
- accessToken string
- data []byte
- )
- if accessToken, err = r.ctx.GetAccessToken(); err != nil {
- return
- }
- if data, err = util.PostJSON(fmt.Sprintf(customerBatchGetAddr, accessToken), options); err != nil {
- return
- }
- if err = json.Unmarshal(data, &info); err != nil {
- return
- }
- if info.ErrCode != 0 {
- return info, NewSDKErr(info.ErrCode, info.ErrMsg)
- }
- return info, nil
- }
|