위챗 공개 계정은 기업 계정의 개념을 이어 태그 관리 기능을 추가해, 팔로우하는 팬들을 위한 태그 관리 설정이 가능해 더욱 편리한 그룹 관리 기능을 구현한다. 개발자는 사용자 태그 관리의 관련 인터페이스를 사용하여 공개 계정 태그에 대한 생성, 쿼리, 수정, 삭제 및 기타 작업을 수행할 수 있으며 사용자를 위해 태그를 지정하고 취소할 수도 있습니다. 이 에세이에서는 주로 C#을 사용하여 공개 계정의 새로운 기능을 캡슐화하고 태그의 관리 기능을 실현하는 방법을 소개합니다.
1. 라벨 기능 소개
1) 라벨 기능은 그룹화 기능을 대체하고 사용자 속성의 다차원 정의를 지원합니다
운영자는 로그인할 수 있습니다. 공개 플랫폼 백그라운드에서 왼쪽 메뉴의 "사용자 관리"를 클릭하면 팔로우한 사용자를 관리할 수 있습니다. 사용자 중 한 명 오른쪽에 있는 "태그" 아이콘을 클릭하면 체크가 팝업됩니다. 상자를 사용하여 사용자에게 태그를 빠르게 추가할 수 있으며 태그 추가 확인란은 새 태그를 직접 생성하는 것을 지원합니다.
또한 태그 기능 인터페이스도 업데이트되었습니다. 개발자는 인터페이스를 호출하여 태그 및 사용자 작업을 구현할 수 있습니다. 동시에 고급 그룹 메시징 인터페이스와 개인화된 메뉴 인터페이스는 이미 태그 기반 작업을 지원합니다.
2) 사용자 카드 최적화, 다양한 시나리오에서 사용자 아바타 및 대화형 데이터 보기 지원, 사용자에 대한 운영자의 친숙도 및 관리 효율성 향상
이번 이슈에서는 메시지 수, 댓글, 감사 등 새로운 인터랙티브 데이터를 추가하고 사용자의 집중 시간을 표시하며 사용자의 아바타 이미지 보기를 지원하여 운영자와 사용자 사이의 거리를 줄이는 데 도움이 됩니다. 또한 사용자를 직접 관리할 수 있는 '감사 기능'과 '메시지 관리' 시나리오를 지원해 관리 효율성을 높인다.
2. 태그 인터페이스 캡슐화
태그 인터페이스는 태그 관리와 사용자 관리의 두 부분으로 나누어집니다. 공개 계정은 최대 100개까지 태그를 생성할 수 있습니다. 레이블 기능은 현재 사용자에 대해 최대 3개의 레이블을 지정할 수 있는 공개 계정을 지원합니다.
태그 관리에는 다음이 포함됩니다.
1) 태그 생성 2) 공개 계정에서 생성된 태그 가져오기 3) 태그 편집 4) 태그 삭제 5) 태그 아래에 팬 가져오기 사용자 관리 목록
태그에는 다음이 포함됩니다.
1) 일괄 사용자 태그 지정 2) 일괄 사용자 태그 해제 3) 사용자에 대한 태그 목록 가져오기
다음은 여러 인터페이스 캡슐화에 대한 관련 소개입니다.
먼저 기존 방식대로 관련 인터페이스와 구현 관계를 아래 그림과 같이 정의합니다.
해당 인터페이스 설명에 따르면 레이블 인터페이스 정의를 구현할 수 있습니다. C# 코드는 다음과 같습니다.
/// <summary> /// 微信标签管理的API接口 /// 开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建、查询、修改、删除等操作,也可以对用户进行打标签、取消标签等操作。 /// </summary> public interface ITagApi { /// <summary> /// 创建标签 /// 一个公众号,最多可以创建100个标签。 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <param name="name">标签名(30个字符以内)</param> /// <returns></returns> TagJson CreateTag(string accessToken, string name); /// <summary> /// 获取公众号已创建的标签 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <returns></returns> List<TagCountJson> GetTagList(string accessToken); /// <summary> /// 编辑标签 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <param name="id">标签ID</param> /// <param name="name">标签名称</param> /// <returns></returns> CommonResult UpdateTag(string accessToken, int id, string name); /// <summary> /// 删除标签 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <param name="id">标签ID</param> /// <returns></returns> CommonResult DeleteTag(string accessToken, int id); /// <summary> /// 获取标签下粉丝列表 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <param name="id">标签ID</param> /// <param name="name">标签名称</param> /// <returns></returns> GetTagResult GetTag(string accessToken, int id, string next_openid = null); /// <summary> /// 批量为用户打标签 /// 标签功能目前支持公众号为用户打上最多三个标签。 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <param name="tagid">标签ID</param> /// <param name="openid_list">粉丝列表</param> /// <returns></returns> CommonResult BatchTagging(string accessToken, int tagid, List<string> openid_list); /// <summary> /// 批量为用户取消标签 /// 标签功能目前支持公众号为用户打上最多三个标签。 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <param name="tagid">标签ID</param> /// <param name="openid_list">粉丝列表</param> /// <returns></returns> CommonResult BatchUntagging(string accessToken, int tagid, List<string> openid_list); /// <summary> /// 获取用户身上的标签列表 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <param name="openid">用户OpenID</param> /// <returns></returns> List<int> GetIdList(string accessToken, string openid); }
여러 인터페이스의 공식 정의 데이터를 살펴보겠습니다.
1) 태그 생성 인터페이스
인터페이스 호출 요청 설명
http 요청 방법: POST(https 프로토콜을 사용하세요)
https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESS_TOKEN
POST 데이터 형식: JSON
POST 데이터 예:
{ "tag" : { "name" : "广东"//标签名 } }
반환 설명(정상적으로 반환된 json 데이터 패킷의 예)
{ "tag":{ "id":134,//标签id "name":"广东" } }
이런 방식으로 반환된 데이터를 전달하는 엔터티 클래스를 정의할 수 있습니다.
/// <summary> /// 标签信息 /// </summary> public class TagJson { /// <summary> /// 标签id,由微信分配 /// </summary> public int id { get; set; } /// <summary> /// 标签名,UTF8编码 /// </summary> public string name { get; set; } }
이렇게 태그 생성을 위한 전체 구현 코드는 다음과 같습니다.
/// <summary> /// 创建标签 /// 一个公众号,最多可以创建100个标签。 /// </summary> /// <param name="accessToken">调用接口凭证</param> /// <param name="name">标签名(30个字符以内)</param> /// <returns></returns> public TagJson CreateTag(string accessToken, string name) { var url = string.Format("https://api.weixin.qq.com/cgi-bin/tags/create?access_token={0}", accessToken); var data = new { tag = new { name = name } }; var postData = data.ToJson(); var result = JsonHelper<TagCreateResult>.ConvertJson(url, postData); return result != null ? result.tag : null; }
2 ) 공개 생성 태그 가져오기
인터페이스 호출 요청 설명
http 요청 방법: GET(https 프로토콜을 사용하세요)
https: / /api.weixin.qq.com/cgi-bin/tags/get?access_token=ACCESS_TOKEN
반환 데이터 형식: JSON 반환 데이터 예:
{ "tags":[{ "id":1, "name":"黑名单", "count":0 //此标签下粉丝数 },{ "id":2, "name":"星标组", "count":0 },{ "id":127, "name":"广东", "count":5 } ] }
이런 방식으로 반환 값을 List
/// <summary> /// 标签信息和统计数量 /// </summary> public class TagCountJson : TagJson { /// <summary> /// 此标签下粉丝数 /// </summary> public int count { get; set; } }
이렇게 하면 JSON 구문 분석을 통해 해당 데이터를 반환할 수 있습니다. 관련 작업은 위 인터페이스와 유사하므로 자세히 설명하지 않습니다.
C# 위챗에서 개발한 위챗 공용 계정 태그 관리 기능에 대한 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!