기업 계정은 주로 기업의 요구 사항을 충족하기 위해 설계되었으므로 내부 메시지 교환이 매우 중요하며, 특히 대기업의 경우 보내고 답장하는 메시지의 수가 상당해야 하므로 기업 계정과 결합하여 내부 커뮤니케이션 메시지를 구현합니다. 기업 계정은 보안에 중점을 두고 무제한 메시징을 제공한다는 특징이 있어 기업 내부 환경에 매우 적합합니다. 이 글에서는 주로 기업 계정을 사용하여 문자, 사진, 파일, 음성, 영상, 그래픽 메시지 및 기타 메시지를 보내는 방법을 소개합니다.
기업 계정의 경우 다음과 같은 기능이 있습니다.
1) 보안에 집중
– 전용 기업 커뮤니케이션 등록된 회원만이 회사 계정을 팔로우할 수 있으며, 계층적 관리자, 비밀 메시지 등 다양한 기능을 통해 회사 내부 정보의 보안을 보장합니다.
기업은 기업 정보의 사용 및 전송에 대한 보안을 보장하기 위해 팔로워 신원에 대한 자체 확인을 설정하고 2차 보안 확인을 수행할 수 있습니다.
직원이 퇴사하는 경우 회사 관리자가 주소록에서 해당 회원을 삭제할 수 있으며, 해당 회원은 자동으로 회사 계정을 언팔로우하고, 위챗의 회사 계정 기록도 삭제됩니다.
2) 애플리케이션 구성
– 기업은 기업 계정에 여러 서비스 계정을 구성할 수 있으며, 이를 통해 승인된 기업 구성원만 해당 서비스 번호를 사용할 수 있습니다.
3) 무제한 메시지
– 메시지 전송에 제한이 없으며 기업의 복잡하고 개인화된 애플리케이션 시나리오에 적응할 수 있는 완전한 관리 인터페이스와 WeChat 기본 기능을 제공합니다.
기업에서는 직원들에게 적극적으로 메시지를 보낼 수 있으며, 메시지 개수에는 제한이 없습니다.
4) 더 편리해진 사용
– 기업 계정은 WeChat에서 통합된 메시지 입구를 가지며, 사용자는 기업 계정 메시지를 더욱 편리하게 관리할 수 있습니다. WeChat 주소록은 기업 계정의 애플리케이션에 직접 액세스할 수도 있습니다.
기업 계정의 현재 콘텐츠는 자재 관리, 수동 응답 메시지, 주소록 관리, 사용자 정의 메뉴 등에 대한 자세한 내용은 아래 도표를 참조하세요.
기업 계정은 공식 계정과 마찬가지로 메시지 처리와 이벤트로 구분할 수 있습니다. 처리 처리에는 두 가지 유형의 처리 작업이 있습니다. 즉, 전송된 메시지에는 문자 메시지, 사진 메시지, 파일 메시지, 비디오 메시지, 음성 메시지, 지리적 문자 메시지, 그래픽 및 멀티미디어 메시지 등이 포함됩니다.
이벤트 처리에는 주로 팔로우 및 언팔로우 이벤트, 메뉴 클릭 유형 및 보기 유형 작업, 지리적 위치 보고 이벤트 등이 포함됩니다.
두 가지 유형의 처리 다이어그램은 다음과 같습니다.
기업 관리 배경에서도 공식 계정과 마찬가지로 해당 내용을 확인할 수 있습니다. 정보교환에 관한 기록은 문자, 그림, 지리적 위치 등을 포함하며 다음과 같습니다.
메시지는 텍스트, 이미지, 파일, 음성, 비디오, 사진 뉴스, MpNews 등 여러 유형으로 나누어져 있기 때문입니다.
따라서 이들을 각각 정의하고 캡슐화해야 합니다. 다음은 정보 객체 설계 다이어그램입니다.
기업 계정에서 보내는 메시지의 공식적인 정의는 다음과 같습니다.
기업이 직원에게 적극적으로 메시지를 보낼 수 있습니다. 메시지 양은 제한되지 않습니다.
인터페이스 호출 시에는 HTTPS 프로토콜과 JSON 데이터 패킷 형식을 사용하세요. 데이터 패킷은 암호화할 필요가 없습니다.
현재 텍스트, 사진, 음성, 비디오, 파일, 그래픽 및 기타 메시지 유형을 지원합니다. 뉴스 유형 외에도 기밀 옵션을 사용하여 다른 유형의 메시지를 보낼 수 있습니다. 기밀 메시지는 워터마크가 표시되며 수신자만 읽을 수 있습니다.
전송된 문자 메시지의 정의는 다음과 같습니다.
문자 메시지
参数 | 必须 | 说明 |
---|---|---|
touser | 否 | UserID列表(消息接收者,多个接收者用‘|’分隔)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送 |
toparty | 否 | PartyID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 |
totag | 否 | TagID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 |
msgtype | 是 | 消息类型,此时固定为:text |
agentid | 是 | 企业应用的id,整型。可在应用的设置页面查看 |
content | 是 | 消息内容 |
safe | 否 | 表示是否是保密消息,0表示否,1表示是,默认0 |
모든 메시지에는 공통 속성인 다음 메시지가 포함됩니다.
{ "touser": "UserID1|UserID2|UserID3", "toparty": " PartyID1 | PartyID2 ", "totag": " TagID1 | TagID2 ", "msgtype": "text", "agentid": "1", "text": { "content": "Holiday Request For Pony(http://www.php.cn/)" }, "safe":"0" }
따라서 이러한 공통 정보를 편리하게 전달하기 위해 기본 클래스를 정의할 수 있습니다.
touser": "UserID1|UserID2|UserID3", "toparty": " PartyID1 | PartyID2 ", "totag": " TagID1 | TagID2 ", "msgtype": "text", "agentid": "1",
그러면 아래와 같이 다른 메시지가 이 기본 클래스를 하나씩 상속할 수 있습니다.
은 결국 아래와 같은 상속 다이어그램을 형성하게 됩니다.
관련 전송 개체를 정의한 후 다음과 같이 통합 전송 인터페이스를 정의할 수 있습니다.
/// <summary> /// 企业号发送消息的基础消息内容 /// </summary> public class CorpSendBase { /// <summary> /// UserID列表(消息接收者,多个接收者用‘|’分隔)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送 /// </summary> public string touser { get; set; } /// <summary> /// PartyID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 /// </summary> public string toparty { get; set; } /// <summary> /// TagID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 /// </summary> public string totag { get; set; } /// <summary> /// 消息类型 /// </summary> public string msgtype { get; set; } /// <summary> /// 企业应用的id,整型。可在应用的设置页面查看 /// </summary> public string agentid { get; set; } /// <summary> /// 表示是否是保密消息,0表示否,1表示是,默认0 /// </summary> [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] public string safe { get; set; } }
마지막으로 인터페이스 정의에 따라 텍스트 및 기타 형태의 메시지가 구현되며, 구현 코드는 다음과 같다. 전송 프로세스에서는 암호화를 위한 암호화 클래스 호출이 필요하지 않습니다.
/// <summary> /// 企业号消息管理接口定义 /// </summary> public interface ICorpMessageApi { /// <summary> /// 发送消息。 /// 需要管理员对应用有使用权限,对收件人touser、toparty、totag有查看权限,否则本次调用失败。 /// </summary> /// <param> /// <returns></returns> CommonResult SendMessage(string accessToken, CorpSendBase data); }
해당 전송 개체를 정의한 후 통일된 메시지를 보낼 수 있습니다. 작업에는 텍스트, 그림이 포함됩니다. , 파일, 음성 및 기타 유형의 메시지. 일부 메시지는 서버에 업로드한 다음 mediaId를 기반으로 전송해야 합니다.
문자와 사진을 보내는 작업 코드는 다음과 같습니다.
/// <summary> /// 企业号消息管理实现类 /// </summary> public class CorpMessageApi : ICorpMessageApi { /// <summary> /// 发送消息。 /// 需要管理员对应用有使用权限,对收件人touser、toparty、totag有查看权限,否则本次调用失败。 /// </summary> /// <param> /// <returns></returns> public CommonResult SendMessage(string accessToken, CorpSendBase data) { CommonResult result = new CommonResult(); string urlFormat = "http://www.php.cn/{0}"; var url = string.Format(urlFormat, accessToken); var postData = data.ToJson(); //数据不用加密发送 CorpSendResult sendResult = CorpJsonHelper<corpsendresult>.ConvertJson(url, postData); if (sendResult != null) { result.Success = (sendResult.errcode == CorpReturnCode.请求成功); result.ErrorMessage = string.Format("invaliduser:{0},invalidparty:{1},invalidtag:{2}", sendResult.invaliduser, sendResult.invalidparty, sendResult.invalidtag); } return result; } }</corpsendresult>
WeChat Enterprise 계정의 최종 스크린샷은 아래와 같으며, 텍스트 테스트, 파일 테스트, 그래픽 테스트, 음성 테스트가 모두 포함됩니다. 정상입니다.
WeChat 포털의 추가 C# 개발 및 WeChat 기업 계정 메시징(텍스트, 사진, 파일, 음성, 비디오, 그래픽 메시지 등) 적용 관련 기사 PHP 중국어 홈페이지를 주목해주세요!