customer state
This commit is contained in:
parent
9dde0e0fa0
commit
c7d7be7320
|
@ -25,6 +25,10 @@ type CustomerMessage struct {
|
||||||
SyncTime int64
|
SyncTime int64
|
||||||
Content string
|
Content string
|
||||||
}
|
}
|
||||||
|
type CustomerState struct {
|
||||||
|
State int
|
||||||
|
Servicer string
|
||||||
|
}
|
||||||
|
|
||||||
type AppCustomer struct {
|
type AppCustomer struct {
|
||||||
App
|
App
|
||||||
|
@ -59,6 +63,45 @@ func (a *AppCustomer) AccountList() ([]*CustomerAccount, error) {
|
||||||
return accounts, nil
|
return accounts, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *AppCustomer) SetCustomerState(openKfid, externalUserid string, state *CustomerState) error {
|
||||||
|
reqUrl := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/kf/service_state/trans?access_token=%s", a.GetToken())
|
||||||
|
params := make(map[string]interface{})
|
||||||
|
params["external_userid"] = externalUserid
|
||||||
|
params["open_kfid"] = openKfid
|
||||||
|
params["service_state"] = state.State
|
||||||
|
params["servicer_userid"] = state.Servicer
|
||||||
|
reqBody, _ := json.Marshal(params)
|
||||||
|
rspBody, err := util.HttpPostJson(reqUrl, nil, reqBody)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
_, err = a.GetResult(rspBody)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (a *AppCustomer) GetCustomerState(openKfid, externalUserid string) (*CustomerState, error) {
|
||||||
|
reqUrl := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/kf/service_state/get?access_token=%s", a.GetToken())
|
||||||
|
params := make(map[string]interface{})
|
||||||
|
params["external_userid"] = externalUserid
|
||||||
|
params["open_kfid"] = openKfid
|
||||||
|
reqBody, _ := json.Marshal(params)
|
||||||
|
rspBody, err := util.HttpPostJson(reqUrl, nil, reqBody)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
result, err := a.GetResult(rspBody)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
state := new(CustomerState)
|
||||||
|
state.State = cast.ToInt(result["service_state"])
|
||||||
|
state.Servicer = cast.ToString(result["servicer_userid"])
|
||||||
|
return state, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (a *AppCustomer) SendCustomerText(toUser, openKfId, content string) error {
|
func (a *AppCustomer) SendCustomerText(toUser, openKfId, content string) error {
|
||||||
reqUrl := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/kf/send_msg?access_token=%s", a.GetToken())
|
reqUrl := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/kf/send_msg?access_token=%s", a.GetToken())
|
||||||
params := make(map[string]interface{})
|
params := make(map[string]interface{})
|
||||||
|
|
Loading…
Reference in New Issue