/// <summary> /// 获取设备及用户信息 /// </summary> /// <param name="accessToken"></param> /// <param name="ticket">摇周边业务的ticket,可在摇到的URL中得到,ticket生效时间为30分钟,每一次摇都会重新生成新的ticket</param> /// <param name="timeOut"></param> /// <returns></returns> public static GetShakeInfoResult GetSuiteToken(string accessToken, string ticket, int timeOut = Config.TIME_OUT) { var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/shakearound/getshakeinfo?access_token={0}", accessToken.AsUrlData()); var data = new { ticket = ticket }; return CommonJsonSend.Send<GetShakeInfoResult>(null, url, data, CommonJsonSendType.POST, timeOut); }
/// <summary> /// openid转换成userid接口 /// </summary> /// <param name="accessToken"></param> /// <param name="openId"></param> /// <param name="timeOut"></param> /// <returns></returns> public static ConvertToUserIdResult ConvertToUserId(string accessToken, string openId, int timeOut = Config.TIME_OUT) { var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/convert_to_userid?access_token={0}", accessToken.AsUrlData()); var data = new { openid = openId }; return CommonJsonSend.Send<ConvertToUserIdResult>(null, url, data, CommonJsonSendType.POST, timeOut); }
/// <summary> /// 获取企业号管理员登录信息 /// </summary> /// <param name="providerAccessToken">服务提供商的accesstoken</param> /// <param name="authCode">oauth2.0授权企业号管理员登录产生的code</param> /// <param name="timeOut">代理请求超时时间(毫秒)</param> /// <returns></returns> public static GetLoginInfoResult GetLoginInfo(string providerAccessToken, string authCode, int timeOut = Config.TIME_OUT) { string url = "https://qyapi.weixin.qq.com/cgi-bin/service/get_login_info?provider_access_token={0}"; var data = new { auth_code = authCode }; return CommonJsonSend.Send<GetLoginInfoResult>(providerAccessToken, url, data, CommonJsonSendType.POST, timeOut); }
/// <summary> /// 获取第三方平台access_token /// </summary> /// <param name="componentAppId">第三方平台appid</param> /// <param name="componentAppSecret">第三方平台appsecret</param> /// <param name="componentVerifyTicket">微信后台推送的ticket,此ticket会定时推送,具体请见本页末尾的推送说明</param> /// <param name="timeOut"></param> /// <returns></returns> public static ComponentAccessTokenResult GetComponentAccessToken(string componentAppId, string componentAppSecret, string componentVerifyTicket, int timeOut = Config.TIME_OUT) { var url = "https://api.weixin.qq.com/cgi-bin/component/api_component_token"; var data = new { component_appid = componentAppId, component_appsecret = componentAppSecret, component_verify_ticket = componentVerifyTicket }; return CommonJsonSend.Send<ComponentAccessTokenResult>(null, url, data, CommonJsonSendType.POST, timeOut); }
/// <summary> /// 邀请成员关注 /// </summary> /// <param name="accessToken">企业的access_token</param> /// <param name="toUser">成员ID列表,多个接收者用‘|’分隔,最多支持1000个。</param> /// <param name="toParty">部门ID列表,多个接收者用‘|’分隔,最多支持100个。</param> /// <param name="toTag">标签ID列表,多个接收者用‘|’分隔。</param> /// <param name="inviteTips">推送到微信上的提示语(只有认证号可以使用)。当使用微信推送时,该字段默认为“请关注XXX企业号”,邮件邀请时,该字段无效。</param> /// <param name="callBack">回调信息。任务完成后,通过callback推送事件给企业。具体请参考应用回调模式中的相应选项</param> /// <param name="timeOut"></param> /// post数据格式: /// { /// "touser":"******", /// "toparty":"xxx|xxx", /// "totag":"xxx|xxx", /// "invite_tips":"xxx", /// "callback": /// { /// "url": "xxx", /// "token": "xxx", /// "encodingaeskey": "xxx" /// } /// } /// <returns></returns> public static AsynchronousJobId BatchInviteUser(string accessToken, string toUser, string toParty, string toTag, string inviteTips, Asynchronous_CallBack callBack, int timeOut = Config.TIME_OUT) { var url = "https://qyapi.weixin.qq.com/cgi-bin/batch/inviteuser?access_token={0}"; var data = new { touser = toUser, toparty = toParty, totag = toTag, invite_tips = inviteTips, callback = callBack }; return CommonJsonSend.Send<AsynchronousJobId>(accessToken, url, data, CommonJsonSendType.POST, timeOut); }
/// <summary> /// 全量覆盖部门 /// CSV模板下载地址:http://qydev.weixin.qq.com/batch_party_sample.csv /// 注意事项: /// 1.文件中存在、通讯录中也存在的部门,执行修改操作 /// 2.文件中存在、通讯录中不存在的部门,执行添加操作 /// 3.文件中不存在、通讯录中存在的部门,当部门为空时,执行删除操作 /// 4.CSV文件中,部门名称、部门ID、父部门ID为必填字段,部门ID必须为数字;排序为可选字段,置空或填0不修改排序 /// </summary> /// <param name="accessToken"></param> /// <param name="mediaId">上传的csv文件的media_id</param> /// <param name="callBack">回调信息。任务完成后,通过callback推送事件给企业。具体请参考应用回调模式中的相应选项</param> /// <param name="timeOut"></param> /// post数据格式: /// { /// "media_id":"xxxxxx", /// "callback": /// { /// "url": "xxx", /// "token": "xxx", /// "encodingaeskey": "xxx" /// } /// } /// <returns></returns> public static AsynchronousJobId BatchReplaceParty(string accessToken, string mediaId, Asynchronous_CallBack callBack, int timeOut = Config.TIME_OUT) { var url = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceparty?access_token={0}"; var data = new { media_id = mediaId, callback = callBack }; return CommonJsonSend.Send<AsynchronousJobId>(accessToken, url, data, CommonJsonSendType.POST, timeOut); }
/// <summary> /// 获取应用提供商凭证 /// </summary> /// <param name="corpId"></param> /// <param name="providerSecret"></param> /// <param name="timeOut"></param> /// <returns></returns> public static ProviderTokenResult GetProviderToken(string corpId, string providerSecret, int timeOut = Config.TIME_OUT) { var url = "https://qyapi.weixin.qq.com/cgi-bin/service/get_provider_token"; var data = new { corpid = corpId, provider_secret = providerSecret }; return CommonJsonSend.Send<ProviderTokenResult>(null, url, data, CommonJsonSendType.POST, timeOut); }
/// <summary> /// 获取预授权码 /// </summary> /// <param name="componentAppId">第三方平台方appid</param> /// <param name="componentAccessToken"></param> /// <param name="timeOut"></param> /// <returns></returns> public static PreAuthCodeResult GetPreAuthCode(string componentAppId, string componentAccessToken, int timeOut = Config.TIME_OUT) { var url = string.Format( "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token={0}", componentAccessToken); var data = new { component_appid = componentAppId }; return CommonJsonSend.Send<PreAuthCodeResult>(null, url, data, CommonJsonSendType.POST, timeOut); }
/// <summary> /// 获取企业号管理员登录信息 /// </summary> /// <param name="providerAccessToken">服务提供商的accesstoken</param> /// <param name="loginTicket">通过get_login_info得到的login_ticket, 24小时有效</param> /// <param name="target">登录跳转到企业号后台的目标页面,目前有:agent_setting、send_msg、contact</param> /// <param name="agentid">授权方应用id</param> /// <param name="timeOut">代理请求超时时间(毫秒)</param> /// <returns></returns> public static GetLoginUrlResult GetLoginUrl(string providerAccessToken, string loginTicket,string target,int agentid,int timeOut = Config.TIME_OUT) { string url = "https://qyapi.weixin.qq.com/cgi-bin/service/get_login_url?provider_access_token={0}"; var data = new { login_ticket = loginTicket, target = target, agentid = agentid }; return CommonJsonSend.Send<GetLoginUrlResult>(providerAccessToken, url, data, CommonJsonSendType.POST, timeOut); }