🆕 #1370 企业微信第三方应用客户管理里的获取客户详情接口增加新的接口实现

This commit is contained in:
Binary Wang 2020-01-09 18:51:46 +08:00
parent ea06197107
commit 26ddf1d3c6
4 changed files with 60 additions and 9 deletions

View File

@ -24,25 +24,54 @@ public interface WxCpExternalContactService {
* </pre>
*
* @param userId 外部联系人的userid
* @return .
* @deprecated 建议使用 {@link #getContactDetail(String)}
*/
@Deprecated
WxCpUserExternalContactInfo getExternalContact(String userId) throws WxErrorException;
/**
* 获取外部联系人列表.
* 获取客户详情.
* <pre>
* 企业可通过此接口获取指定成员添加的客户列表
* 客户是指配置了客户联系功能的成员所添加的外部联系人
* 没有配置客户联系功能的成员所添加的外部联系人将不会作为客户返回
* 第三方应用需拥有企业客户权限
* 第三方应用调用时返回的跟进人follow_user仅包含应用可见范围之内的成员
*
* 企业可通过此接口根据外部联系人的userid如何获取?拉取客户详情
*
* 请求方式GETHTTPS
* 请求地址https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get?access_token=ACCESS_TOKEN&external_userid=EXTERNAL_USERID
*
* 权限说明
*
* 企业需要使用客户联系secret或配置到可调用应用列表中的自建应用secret所获取的accesstoken来调用accesstoken如何获取
* 第三方/自建应用调用时返回的跟进人follow_user仅包含应用可见范围之内的成员
* </pre>
*
* @param userId 外部联系人的userid
* @param userId 外部联系人的userid注意不是企业成员的帐号
* @return .
* @throws WxErrorException .
*/
WxCpUserExternalContactInfo getContactDetail(String userId) throws WxErrorException;
/**
* 获取客户列表.
* <pre>
* 企业可通过此接口获取指定成员添加的客户列表客户是指配置了客户联系功能的成员所添加的外部联系人没有配置客户联系功能的成员所添加的外部联系人将不会作为客户返回
*
* 请求方式GETHTTPS
* 请求地址https://qyapi.weixin.qq.com/cgi-bin/externalcontact/list?access_token=ACCESS_TOKEN&userid=USERID
*
* 权限说明
*
* 企业需要使用客户联系secret或配置到可调用应用列表中的自建应用secret所获取的accesstoken来调用accesstoken如何获取
* 第三方应用需拥有企业客户权限
* 第三方/自建应用只能获取到可见范围内的配置了客户联系功能的成员
* </pre>
*
* @param userId 企业成员的userid
* @return List of External wx id
* @throws WxErrorException .
*/
List<String> listExternalContacts(String userId) throws WxErrorException;
/**
* 企业和第三方服务商可通过此接口获取配置了客户联系功能的成员(Customer Contact)列表
* <pre>
@ -52,7 +81,9 @@ public interface WxCpExternalContactService {
* </pre>
*
* @return List of CpUser id
* @throws WxErrorException .
*/
@Deprecated
List<String> listFollowUser() throws WxErrorException;
}

View File

@ -25,6 +25,13 @@ public class WxCpExternalContactServiceImpl implements WxCpExternalContactServic
return WxCpUserExternalContactInfo.fromJson(responseContent);
}
@Override
public WxCpUserExternalContactInfo getContactDetail(String userId) throws WxErrorException {
final String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_CONTACT_DETAIL + userId);
String responseContent = this.mainService.get(url, null);
return WxCpUserExternalContactInfo.fromJson(responseContent);
}
@Override
public List<String> listExternalContacts(String userId) throws WxErrorException {
final String url = this.mainService.getWxCpConfigStorage().getApiUrl(LIST_EXTERNAL_CONTACT + userId);

View File

@ -110,8 +110,12 @@ public final class WxCpApiPathConsts {
}
public static class ExternalContact {
@Deprecated
public static final String GET_EXTERNAL_CONTACT = "/cgi-bin/crm/get_external_contact?external_userid=";
public static final String LIST_EXTERNAL_CONTACT = "/cgi-bin/externalcontact/list?userid=";
@Deprecated
public static final String GET_FOLLOW_USER_LIST = "/cgi-bin/externalcontact/get_follow_user_list";
public static final String GET_CONTACT_DETAIL = "/cgi-bin/externalcontact/get?external_userid=";
public static final String LIST_EXTERNAL_CONTACT = "/cgi-bin/externalcontact/list?userid=";
}
}

View File

@ -42,4 +42,13 @@ public class WxCpExternalContactServiceImplTest {
System.out.println(ret);
assertNotNull(ret);
}
@Test
public void testGetContactDetail() throws WxErrorException {
String externalUserId = this.configStorage.getExternalUserId();
WxCpUserExternalContactInfo result = this.wxCpService.getExternalContactService().getContactDetail(externalUserId);
System.out.println(result);
assertNotNull(result);
}
}