-
请问单机部署IVS1800支持API对接吗?比如想二次开发,不是用IVS1800自带的iclient或者OMU Portal, 因为实际场景中需要用客户自己的客户端和web后台展示IVS1800的人脸识别和车辆分析的功能,请问IVS1800有接口开放出来吗?
-
使用Roma开发一个接口在LiveData阶段测试都没有问题,但是授权后在API网关却没有返回数据以下是截图:
-
表1 AbnormalResultDTO 数据结构参数类型描述error_codeString错误返回码error_msgString错误描述request_idString请求唯一标识表2 错误码参考错误码错误描述000000001服务器正忙000000002服务器正忙000000003服务器正忙000000004会话超时,请重新登录000000008系统正在升级,暂时不可访问。如对您造成不便,十分抱歉000000010服务器正忙111070001请求错误111070002对不起,您的权限不足,请联系企业管理员111070003系统处理失败111070004鉴权失败111070005会议不存在111070006个人云会议室不存在111070007会议接入号不存在111070008会议通知失败111070009会议密码不能为空111070010权限不足,无法查看会议111070101系统处理失败111071001系统处理失败111071002系统处理失败111071003创建会议失败,请稍后重试111071004云会议室不允许来宾在主持人入会前入会111071005会议时间冲突,请到“我的会议”查看该时段已预订的会议111071007会议不存在111071008查询会议列表失败111071011会议尚未开始111071013会议开始时间不能早于系统当前时间111071014会议开始时间超出最大预订时间范围111071052会议被锁定,请稍后重试111071053会议被锁定,请稍后重试111071058当前会议还未召开,请耐心等待111071059与会方数超出上限111071060企业未配置并发会议资源,无法使用个人会议ID和随机会议ID发起会议111071063您未被分配云会议室,无法创建会议111071064会议时间冲突,无法创建会议111071065正在召开会议,无法编辑会议详情111071066与会方数量超出上限111071067会议正在召开中,不允许取消会议111071069您选定的时间中没有会议111071070周期会议子会议不允许修改直播房间111071071结束会议失败111071072会议已经结束111072001申请会议资源失败111072002释放会议资源失败111072003会议正在结束111072004正在创建会议111072005会议尚未开始111072006会议已经结束111072007邀请与会方失败111072008与会方不存在111072009挂断与会方失败111072010功能还在建设中,敬请期待111072011会议状态错误111072012会场会控操作失败111072013云会议室当前正在被其他会议使用111072014会议已结束111072015会议尚未开始111072016会议不存在111072020当前会议不支持录制111072021录播资源不足111072031与会人的呼叫号码、手机号和邮箱不能同时为空111072050会议被锁定111072065会议ID不存在或密码错误,请确认后重试111073001用户不存在111073002部门不存在111073003查询用户信息失败111073004部门名称格式错误111073005查询部门失败111073006网络不佳,请稍后重试111073007当前云会议室无法使用,请联系企业管理员111074001会议主持人已经存在111074002无会议主持人权限111074003延长会议失败,会议已达到最大时长111074004延长会议失败,服务处理异常111075001系统处理失败111075002系统处理失败111080001请求消息参数错误111080002用户无权限进行该操作111080003系统处理失败111080004与会方不存在或已被删除111081001与会方正在通话中111081002与会方所在会议不存在或已结束111081003系统申请会议资源出错111081004系统释放会议资源出错111081005系统申请会议资源出错111081006认证失败111081007会议已经被锁定111081008当前会议尚未开始,请耐心等待111082001暂不支持该会议操作112010001系统处理失败112010002系统处理失败112010003系统处理失败112010004系统处理失败112010006系统处理失败(错误码:112010006)112010008系统处理失败112010014系统处理失败(错误码:112010014)112100009查询失败112100010删除失败112100012认证失败112100022直播房间名称已存在112100025直播地址已存在112100026直播房间已被占用,请返回“创建会议 > 高级参数”界面重新选择112100027该直播房间已删除,请返回“创建会议 > 高级参数”界面重新选择112100030音视频推流地址已存在112100031辅流演示推流地址已存在112100033正在使用直播房间,删除或修改失败112100034保存成功。与会方已达上限(500方),请调整与会方数量112100040禁止修改备站点配置112100044系统内部错误115021001系统会议资源不足115021002系统处理失败115021003系统处理失败115021004系统会议资源不足115022001企业会议资源不足115025001该直播房间已被占用,请返回“创建会议 > 高级参数”界面重新选择115025002该直播房间已删除,请返回“创建会议 > 高级参数”界面重新选择115025003系统处理失败(错误码:15025003)115029001系统处理失败115029002系统处理失败115029003系统处理失败115029999系统处理失败118000000会议密码错误118000001会话超时,请重新登录201000000无效的TOKEN201000001系统正忙,请稍后重试201000002请求eSight重定向服务器失败,请检查对接配置、eSight重定向服务器是否正常201000003请求短信邮件服务器失败,请检查对接短信邮件是否正常201000004Id为空201000005数据不存在201000006该手机号的国家码错误201000007邮箱地址不能为空201000008邮箱地址和手机号不能同时为空201000009请求ECS失败,请检查对接配置和ECS服务器是否正常201000010请求云盘失败,请检查对接配置201000011请求nginx地址失败,请检查对接配置201000012备用站点仅支持部分查询操作。201000013OBS服务请求失败201000014未选择上传的隐私声明201000015上传隐私声明失败201000016上传的隐私声明语言错误201000017隐私声明下载失败201000018文件未上传201000019请求PushCenter失败,请检查对接配置和PushCenter服务器是否正常201000020请求PushCenter失败,请检查参数配置201000021当前正在更新SP或企业的资源,请稍后重试201010000SP不存在201010001SP名称已存在201010002SP域名已存在201010003租户ID已存在201010004SP下已存在企业,不能删除201010005最大子企业数不得少于SP已创建的企业数201010007SP的资源数不能少于代管企业的资源总数201020000企业不存在201020001企业名称已存在201020002企业域名已存在201020003租户ID已存在201020004企业已分配的会议资源总数超过您购买的会议资源,请检查分配给该企业的会议资源数量201020005SP无电话外呼权限,无法为其下企业配置该权限201020006您能创建的企业数量已超过最大限制,如有需要,请前往华为云会议官网购买更多资源201020007企业下还存在用户或终端,无法删除201020008企业数量超过系统限制201020009直播房间名称已存在201020011敏感词数量超过最大值201020020企业用户账号数不能少于已添加的用户数201020021企业的硬件终端数量不能少于已添加的硬件终端数201020022企业管理员邮箱已存在201020023开启云盘后,企业管理员邮箱不能为空201030000部门不存在201030001同级部门名称已存在201030002添加部门超时,请稍后重试201030003部门层级超过最大值201030004父部门不能是自己或其子部门201030005部门下存在用户或硬件终端,不能删除201030006不能删除最高级部门201030007该部门的子部门数量超过最大值201030008同一个企业下,部门编码重复201030009指定可访问的部门列表为空或部分部门不存在201040000用户不存在201040001帐号已存在201040002用户邮箱和手机号不能都为空201040003仅支持普通用户升级为企业管理员201040004禁止删除默认管理员201040005用户总数超过限制,请检查购买的会议用户数201040006该帐号不是普通企业成员或硬终端用户201040007验证码校验失败201040008账号非管理员201040009用户不存在201040011验证码已发送,请稍后重试201040012验证码校验失败次数超过上限,您的帐号已被锁定,请稍后重试201040013身份验证已超时,请返回上一步通过手机或邮箱验证身份201040014该用户不允许删除。201040015邮箱地址不能为空201040016密码安全性低,请设置其他密码201040017用户ID已存在201040018第三方电子白板接入账号数量已达上限,请检查企业购买的会议资源201040019免费注册用户已达上限201040020用户的邮箱或手机已存在201040021第三方帐号已存在201040022禁止停用、启用或删除该用户201040023当前企业用户或电子白板正在被系统停用或启用,请稍后再试201040025该手机号的国家码错误201040026邮箱地址不能为空201040027邮箱地址和手机号不能同时为空201050000设备不存在201050001SN码已存在201050002设备名称已存在201050003支持激活码的设备,其管理员手机和邮箱不能都为空201050004设备类型不支持激活码201050005终端总数超过限制,请检查购买的硬件终端资源201050006您购买的硬件终端资源不足,不能激活使用201050007暂不支持该终端类型,请检查系统配置201050008该设备型号不支持投影码201050009该设备型号须配置投影码生成模式201050010一天内重置设备激活码次数已达到最大值(5次)201050011当前企业该类型设备正在被系统停用或启用,请稍后再试201060000会议接入号不存在201060001会议类型与鉴权类型不匹配201060002会议接入号已存在,请确认后重试201060003会议接入号不作为前缀,例如已存在接入号+86571,则新的接入号不能为+8657或+865711201060004会议接入号已存在201060005SP名下没有该会议接入号201060006会议接入号已分配给SP下属企业,无法直接回收201060007删除失败。该会议接入号已分配给SP,请回收后再删除201060008修改失败,已有会议接入号使用该号码前缀201060009会议接入号与前缀不匹配201070000号码池不存在201070001起始号码与结束号码长度不一致或起始号码大于结束号码201070002新增号段与现有号段有部分号码重复,请检查号段区间201070003该号段已被企业使用,不能修改或删除201070004系统没有空闲号码,请稍后重试201070010修改失败,已有号码段使用该号码前缀201070011起始号码或结束号码与号码前缀不匹配,或与号码前缀相同201080000云会议室不存在201080001启用云会议室失败,请检查购买的云会议室套餐资源201080002个人会议ID已经被使用,请刷新页面重试201080003该个人会议ID无效201080004云会议室未分配给该用户201080005删除云会议室失败,云会议室数量不能少于购买的套餐数量201080006主持人密码和来宾密码不能相同201080007起始与结束ID长度不一致或起始ID大于结束ID201080008云会议室ID段已存在201080009云会议室ID段已分配,不能修改或删除201080010系统无可用的云会议室ID201080011初始化云会议室ID或个人会议ID超时,请检查系统ID段是否充足。201080012一个硬终端只能分配一个云会议室201080013当前仅支持分配云会议室给TE10、TE20、HUAWEI Board、HUAWEI Bar 500及HUAWEI Box系列硬件终端201080014无可用的云会议室201090000专用云会议室套餐不存在201090001专用云会议室套餐包名称已存在201090002云会议室套餐分配冲突201090003云会议室套餐包分配后,名称不能修改201090004云会议室套餐未分配给该SP201090005可分配的云会议室套餐超过限制,请检查购买的云会议室套餐资源201090006系统管理员分配给SP的专用云会议室套餐数量少于SP已分配给企业的数量201090007专用云会议室资源已分配给企业,SP无法回收201090008SP管理员分配给企业的专用云会议室套餐数量,不能少于企业已分配给用户的数量201090010专用云会议室套餐包已分配给SP,不能删除201090011给企业分配的云会议室个数,每次不能超过1000个201090012云会议室套餐未分配给该企业201100000文件大小超过限制201100001文件大小超过限制201100002文件格式错误201100003文件内容为空201100004文件内容为空或文件格式不符合要求201100005文件行数超过限制201100006相同类型的任务正在运行,请稍后重试201100007任务未结束,记录不能删除201100008不支持校验该表201100010导入失败,用户已经存在201100012导入的文件与系统提供的模板不匹配,请下载最新的模板201110000分组不存在201110001同级分组名称已存在201110002分组层级超过最大值201110003每级分组数量超过最大值201110004父分组不能是自己或其子分组201110005该分组下存在企业,不能删除201110006不能删除根分组201120000企业资源ID不存在201120001SP资源不足,无法分配给企业201120002企业内资源ID重复201120003资源的过期时间应大于当前时间201120004资源操作禁止编辑201130000文件下载失败201130001未选择上传的隐私声明201130002上传隐私声明失败201130003上传隐私声明输入参数错误201130004下载输入参数错误201130005下载的文件不存在201130006下载的文件不存在201130007文件大小不能超过2M201130008文件类型不是.docx201200001应用名称已存在201200002应用名称为空201200003该应用不存在201200004插件应用不存在201200005该APP下存在关联应用,请先删除关联应用201200006该插件应用已存在201200007插件应用名称已存在202010002没有操作权限202010007数据已存在202030001部门代码不存在,无法查询部门相关信息202040001更新头像失败,请重试206010000用户名或密码错误206010005登录超时,请重新登录206010007帐号未激活,无权限登录206010008用户信息不存在或者未激活,无权登录206010010获取验证码失败206010011验证码不能为空206010012验证码校验失败206010013跳转登录失败206010022SSO登录失败206010023当前企业域名或帐户不支持SSO登录206010026企业域名已被使用206010028请使用SSO登录206020000鉴权信息无效206030000系统中不存在该用户206030001验证码错误或失效,请重新获取206030002验证码错误206030003发送验证码失败206030004请{{sendLeftTime}}秒后重新发送206030005系统不支持修改密码206030006旧密码错误206030007新密码长度不符合要求206030008密码复杂度不满足要求206030009设置的密码不能与最近旧密码相同206030010密码不能包含3个以上重复字符206030011修改密码后,5分钟内不能更新密码206030012密码不能与帐号或其逆序帐号相同206030013新密码相较于旧密码至少要有两个不同的字符206030014密码格式不正确206030015用户已被锁定,请{{lockLeftTime}}秒后重试206030016您当前没有权限重置密码206030017鉴权失败206030018一天内忘记密码次数已达到最大值(10次)206030019验证码输入错误次数超过最大值,请重新获取206030020发送短信失败206030021发送邮件失败206030022发送重置密码失败206030023发送验证码失败206030024发送短信失败,所属企业没有发送短信权限206030025您的公司未开通短信业务,发送验证码失败。请通过邮箱获取验证码。206030027一天内重置密码次数已达到最大值(5次)206030028系统已开启SSO登录,不支持修改密码209000001服务器正忙209000002会话超时,请重新登录209000003对不起,您没有权限进行此操作209000004此用户已被锁定,请{{time}}秒后重试209000005会话超时,请重新登录209000006网络不佳,请稍后重试209000007用户不存在11070001请求非法11070002权限不足11070003系统处理失败18000000用户鉴权失败18000001usg token 鉴权失败18000002usg 鉴权 账号锁定11070005会议不存在11070006VMR个人会议室不存在11070007接入号不存在11070008会议通知失败11070009需要鉴权密码11070010用户无权查看会议11070100获取召开会议异常11070101开始会议异常11070102申请IVR资源异常11070103开始IVR会议异常11070104申请会场资源异常11070105开始子会议异常11070106创建级联通道异常11070107移动会场申请资源异常11070108开启会议异常11070109获取召开vmr会议异常11070110邀请会场异常11070111请求token为空11070112重命名会场异常11070113会场挂断异常11070114会场批量挂断异常11070115删除与会者异常11070116批量删除与会者异常11070117预定周期会议异常11070118修改周期会议异常11070119创建周期会议异常11070120区域信息获取失败11071001系统处理失败11071002系统处理失败11071003会议号不存在11071004VMR会议不允许来宾在主持人入会前入会11071005VMR会议冲突11071006VMR会议时长不足11071007会议不存在11071008查询会议列表失败11071009不支持修改VMR会议为立即会议11071010不支持修改VMR标识11071011VMR会议未到准备时间点11071012非VMR会议11071013会议开始时间小于系统当前时间11071014会议开始时间超出最大预约时间范围11071015会议时长超出范围11071016参数为空11071017与会方数超出范围11071018媒体类型非法11071019会议类型非法11071020周期会议时,必须携带周期会议参数11071021会议时长超出范围11071022会议主题超长11071023groupuri超长11071024邮箱地址不合法11071025手机号不合法11071026部门名称过长11071027入会欢迎词开关不在范围内11071028入会提示音开关不在范围内11071029离会提示音开关不在范围内11071030会议提醒非法11071031会议是否启用网络录制取值非法11071032会议是否自动启动录制取值非法11071033会预定者的用户类型非法11071034加密类型非法11071035语言非法11071036是否自动延长会议取值非法11071037vmrid超长11071038录播类型非法11071039主流直播地址超长11071040辅流直播地址超长11071041周期会议时,起始日期为空11071042周期会议时,结束日期为空11071043周期会议时,周期类型非法11071044周期会议时,interval非法11071045周期会议时,point为空11071046周期会议时,point非法11071047vmrFlag非法11071048recordAuxStream非法11071049multiStreamFlag非法11071050audienceFlag非法11071051直播频道ID不存在11071052匿名登录锁定11071053链接登录锁定11071054会议ID不足11071055会议ID申请失败11071056会议ID释放失败11071057直播房间已被占用11071058VMR会议来宾不允许激活会议11071059与会方超出专用VMR套餐的最大与会人数11071060企业未购买会议并发方数,不允许预约随机ID/固定ID会议11071061参数校验失败11071062JSON转换失败11071063非VMR会议室拥有者11071064VMR会议冲突,当前已有会议正在召开11071065会议正在召开中,不允许编辑会议11071066预约/修改会议,与会人数超出上限11071067会议正在召开中,不允许取消会议11071068会议密码加密失败11071069您的选定时间中没有会议11071070周期会议子会议不允许修改直播房间11071071结束在线会议失败11071072会议已结束不能入会11072001申请资源失败11072002释放资源失败11072003会议正在结束11072004会议正在开始11072005会议还未开始11072006会议已经结束11072007邀请会场失败11072008会场不存在11072009挂断会场失败11072010功能不支持11072011会议状态非法11072012会场会控操作失败11072013当前VMR会议非目标会议11072014VMR会议已过期11072015VMR会议还未开始11072016会议不存在11072020非录播会议不支持录制11072021录制资源不足11072022录播调动失败11072023会议中没有与会人11072024请确保会议中已有会场入会11072025语音会议不支持该功能11072026语音会场不支持该操作11072027手动设置的多画面中无法显示语音会场11072028手动设置的多画面中需最少设置一个会场11072029手工设置的多画面最多只允许一个辅流子画面11072030声控多画面模式下,每个子画面最多只允许一个用户11072031与会者的入会号码不允许为空11072032与会者的入会号码长度超过系统允许的最大值(127字符)11072033与会者的入会号码格式非法(支持SIP、TEL号码格式)11072034与会者的名称长度超过系统允许的最大值(96字符)11072035与会者的角色类型不在系统允许的取值范围内[0,2]11072036与会者的邮箱地址长度超过系统允许的最大值(96字符)11072037与会者的手机号码长度超过系统允许的最大值(127字符)11072038与会者入会后是否静音的取值不在系统允许的取值范围内[0,1]11072039与会者是否自动邀请的取值不在系统允许的取值范围内[0,1]11072040主持人选看类型取值不在系统允许的取值范围内[0,2]11072041设置多画面检查:设置多画面方式取值不在系统允许的取值范围内[0,1]11072042轮询显示时间取值不在系统允许的取值范围内[10,120]11072043画面类型不允许为空11072044画面类型非法11072045开关项取值不在系统允许的取值范围内[0,1]11072046与会者的名称不允许为空11072047与会者的名称超过系统允许的最大值(64字符)11072048不支持多画面,请联系管理员开启MCU配置11072049等待响应超时,您可以重新尝试11072050会议被锁定11072051会议显示模式为空11072052会议显示模式不在系统允许的取值范围内{Fixed, VAS}11072053会议画面类型不在系统允许的取值范围内[0,1]11072054横幅或字幕类型为空11072055横幅或字幕的内容为空11072056横幅或字幕的内容长度超过2000字节11072057请求消息体为空11072058子画面索引大于画面总数11072059会议中没有主持人11072060当前普通与会方类型不支持该操作11072061当前主持人正在轮询观看会场,不能单独选看其他会场或会议多画面11072062当前主持人与会方类型不支持该操作11072063录制资源重新申请错误码11072064失败次数过多,帐号被锁定,请({{time}}) 秒后重试11072065会议ID不存在或密码错误,请确认后重试11072066企业未购买录播空间11072067企业录播空间已满11072068启动直播失败11072069不允许指定会议主持人举手发言11072070来宾不允许进行该操作11072071仅能对自己进行操作11072072没有会控能力的与会者不允许设置为主持人11072073推送消息已过期11072074云下会场不能成为主持人11073001用户不存在11073002组织不存在11073003用户非法11073004组织非法11073005查询组织失败11073006申请匿名账号失败11073007专用VMR会议室状态不可用11074001会议主持人已经存在11074002无会议主持人权限11074003延长会议失败,会议已达到最大时长11074004延长会议失败,服务处理异常11075001系统处理失败11075002系统处理失败11075003json转换异常11076001会场被终端主持人挂断11076002会场被portal管理员挂断11076003超出VMR最大与会方数11076004企业并发数不足11076005会场无响应11076006会场不存在11076007会场离线11076008会场正忙11076009会场拒绝接听11076010会场挂断11076011媒体资源不足11076012PSTN服务未开通11076013申请地址本鉴权信息失败11076014SIP呼叫超时11076099通用错误11077001RSE设备信息不存在11078000没有可用Region11078001没有可用Global11078002多region 分发region错误11079000大参数查询xml解析失败11079001匿名账号分配xml解析失败11080001请求消息参数错误11080002用户无权限进行该操作11080003系统处理失败11080004会场不存在或已被删除11081001会场正在通话中11081002会场所在会议不存在或已结束11081003系统申请资源出错11081004系统释放资源出错11081005系统申请资源出错11081006认证失败11081007会议已经被锁定11081008会议未到入会时间11082001不支持该会控11083001RSE设备不存在11089002链接入会XML解析失败11090001数据入会失败11090002数据入会超时15029999系统处理失败15029001系统处理失败15029002系统处理失败15029003系统处理失败15021001系统资源不足15021002系统处理失败15021003系统处理失败15021004系统处理失败15021005系统资源不足15021006系统处理失败15022001企业资源不足15022003企业资源不足15025001直播房间已被占用,请返回“创建会议 > 高级参数”界面重新选择15025002该直播房间已删除,请返回“创建会议 > 高级参数”界面重新选择15025003系统处理失败(释放直播房间失败)12010004系统处理失败12010003系统处理失败12010002系统处理失败12010001系统处理失败12010005系统处理失败12010006系统处理失败12010007系统处理失败12010008系统处理失败12010009系统处理失败12010010系统处理失败12010011系统处理失败12010012系统处理失败12010013系统处理失败12010014系统处理失败0成功12100000业务处理异常12100001密码不能为空!12100002参数格式异常12100003数据未获取到12100004数据重复12100006请求的类型不支持12100007保存通知模板失败12100008保存数据失败12100009查询数据失败12100010删除数据失败12100011需要重置密码12100012旧密码错误12100013新密码不能与旧密码相同!12100014密码复杂度不够,安全性低12100015长度不符合要求12100016RSE在会议中12100017RSE待删除12100018查询会议列表失败12100019用户已被锁定,请稍后重新登录12100020json转换异常12100021参数校验失败12100022频道名称已存在12100023修改系统配置项失败,会议ID前缀重复!12100024修改系统配置项失败,会议ID前缀只能增加,不能修改和删除!12100025直播房间地址已存在12100026直播房间已被使用12100027直播房间不存在12100028直播房间释放失败12100029请求缺失头域12100030音视频推流地址已存在12100031辅流演示推流地址已存在12100032密码安全性低,请设置其他密码12100033直播房间被占用时,修改/删除操作失败12100034因为与会者数量超出上限只保存部分
-
查询历史会议信息管理员或普通用户可以通过该接口查询指定历史会议详情。管理员可以查询管理权限域内的所有会议,普通用户仅能查询当前帐号管理的会议。请求格式说明请求方式: GET (HTTPS)请求地址: https://open.welink.huaweicloud.com/api/meeting/v1/queryhistoryconferencedetail认证方式: access_token,请参考获取access_token。请求头部:Content-Type: application/json x-wlk-Authorization: access_token请求参数说明: 参数名参数说明类型必选confuuid会议uuidString是pageIndex指定返回的与会者列表的页面索引。该值必须大于0,默认为1。Int是pageSize指定返回的与会者记录数,默认值由会议AS定义,内置会议和MediaX默认是20Int是condition查询用来当做关键词的字符串,范围限定为1~128个字符。String否userId用户帐号String否type0:不区分终端和与会人。1:分页查询区分终端和与会人,结果合并返回。2:单独查询终端和与会人,结果单独返回。默认值为“0”。Int否queryType当“type”为“2”时,该字段有效。0:查询与会人。1:查询终端。默认值为“0”。Int否请求示例: curl -X GET \ 'https://open.welink.huaweicloud.com/api/meeting/v1/queryhistoryconferencedetail?confuuid=ed0fe325f97211e9bf928171462e3479&pageIndex=1&pageSize=202&userId=zhangshan@example &queryType=0 HTTP/1.1' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: dc63dfa2-d338-47f4-84d9-c23be8c33200' \响应格式说明返回结果示例: { "code" :"0", "message" :"Success", "data" :{ "conferenceData" :{ "conferenceID" :"914016429", "mediaTypes" :"Data,Voice,HDVideo", "subject" :"张三的会议", "size" :1, "timeZoneID" :"56", "startTime" :"2019-10-29 01:42", "endTime" :"2019-10-29 01:46", "accessNumber" :"+9911110086", "language" :"zh-CN" , "passwordEntry" :[ { "conferenceRole" :"chair", "password" :"8054" }, { "conferenceRole":"general", "password" :"" } ], "userid" :"admin@autotestworkplace", "scheduserName" :"张三", "multiStreamFlag" :1, "conferenceType" :0, "confType" :"IMMEDIATELY", "isAutoMute" :0, "isAutoRecord" :0, "guestJoinUri":"https://bmeeting.huaweicloud.com:36443/#/j/914016429", "recordType" :0, "recordAuxStream" :0, "confConfigInfo" :{ "inviteMode" :"AUTO_INVITE", "prolongLength" :15, "dispatchMode":"AUTO_DISPATCH", "isGuestFreePwd" :true, "isSendNotify" :false, "isSendSms" :false, "isAutoMute" :false }, "vmrFlag" :0, "scheduleVmr" :false, "isHasRecordFile" :false, "partAttendeeInfo":[ { "phone":"+9911110005370", "name":"zhangshan", "role":0, "isMute":0, "type":"normal" } ], "terminlCount" :0, "normalCount" :1, "deptName" :"研发部 " }, "data" :{ "pageIndex" :1, "pageSize" :202, "totalCount" :1, "countTotal" :false, "totalPages" :0, "lastPage" :false, "nextPage" :0, "firstPage" :false, "prePage" :0, "orderBySetted" :false, "offset" :0, "data" :[ { "participantID":"+991111xxxxx", "name":"zhangshan", "role":1, "state":"MEETTING", "attendeeType":"normal", "accountId":"zhangshan@example", "email":"zhangshan@example.com", "sms":"+861895xxxxxx", "deptName":"研发部", "userUUID":" zhangshan@example" } ] } } }返回参数说明:参数名必选类型参数说明code是string数据正常返回“0”,如果发生错误,会返回对应的错误码message否string返回信息,包括接口请求发生错误时的详细信息data否ConferenceDetail返回数据,见ConferenceDetail数据结构:ConferenceDetail数据结构:参数名必选类型参数说明conferenceData否ConferenceInfo会议信息,参见ConferenceInfo数据结构:data否PageParticipant与会者列表,参见PageParticipant数据结构:PageParticipant数据结构:参数名必选类型参数说明pageIndex是Int第几页pageSize是Int每页的记录数totalCount是Int总记录数countTotal否boolean取值:“true/false”totalPages否Int总页数lastPage否boolean是否是最后一页,取值:“true/false”nextPage否Int下一页是第几页firstPage否boolean是否是第一页,取值:“true/false”prePage否Int上一页是第几页sort否String[0..*]排序字段orderBySetted否String是否设置排序字段,取值:“true/false”offset否Int记录数偏移,这一页之前共有多少条data是ParticipantInfo[0..*]会议列表,参见ParticipantInfo数据结构:ParticipantInfo数据结构:参数名必选类型参数说明participantID否String与会者唯一标识。(最长32字符)name否String与会者的名称(昵称)subscriberID否String与会者的号码role否Int会议中的角色。1:会议主席0:普通与会者state否String用户状态。MEETTING:会议中CALLING:正在呼叫JOINING:正在加入会议ALREADY_LEFT:已经离开NOT_EXIST:用户不存在BUSY:被叫用户忙NO_RESPONSE:用户无应答REFUSED:用户拒绝接听FAILED:呼叫失败(前面没有包含的失败情况)目前固定返回MEETTING状态,无其他状态。address否StringAttendee中的addressattendeeType否String默认值由会议AS定义。号码类型枚举值如下:“normal”:语音、高清、标清与会者地址(默认)“telepresence”:智真与会者地址类型,单屏、三屏智真均属此类。“terminal”:会议室或硬终端“outside”:外部与会人“anonymous”:匿名入会“mobile”:软终端用户手机,“telephone”:软终端用户固定电话phone2否String当attendeeType为telepresence时,且设备为三屏智真,则该字段填写左屏号码phone3否String当attendeeType为telepresence时,且设备为三屏智真,则该字段填写右屏号码email否String邮件地址。最大不超过96个字符。sms否String短信通知的手机号码。最大不超过127个字符。deptName否String组织名称。最大不超过96个字符。userId否String预订者的用户uuidaccountId否String预订者的账号ID
-
查询历史会议列表管理员或普通用户可以通过该接口查询历史会议。管理员可以查询管理权限域内的所有会议,普通用户仅能查询当前帐号管理的会议。不带查询参数时,默认查询权限范围内的历史会议。请求格式说明调试工具: 在线调试请求方式: GET (HTTPS)请求地址: https://open.welink.huaweicloud.com/api/meeting/v1/queryhistoryconferences认证方式: access_token,请参考获取access_token。权限申请: 开发者在调用本接口前,需要到开发者后台申请接口权限,申请流程请参考接口权限申请请求头部:Content-Type:application/json x-wlk-Authorization:access_token请求参数说明: 参数名参数说明类型必选userId待查询的会议预定者的帐号。仅管理员有权限查询权限范围内的所有账号;普通账号改字段无效,只能查询自己的。String否pageIndex指定返回的页面索引。该值必须大于0,默认为1。Integer是pageSize待查询的会议预定者的uuid。指定返回的记录数。默认值由会议AS定义,默认是20,最大500条Integer是queryAll指定是否查询企业下所有用户的会议记录。如果登录帐号不是企业管理员,则该字段无效。如果该字段为true,则userId字段无效。默认值为False。Boolean是status0: 查询待召开的和已召开的1:查询待召开的2:查询已召开的Int是condition查询用来当作关键词的字符串。长度限制为1~128个字符。String否startDate查询的起始日期毫秒数Long是endDate查询的截止日期毫秒数Long是sortTypeASC_StartTIME:按会议开始时间升序排序(默认)DSC_StartTIME:按会议开始时间降序排序ASC_RecordTYPE:按会议是否有录播文件排序,之后默认按照会议开始时间升序排序DSC_RecordTYPE:按会议是否有录播文件排序,之后默认按照会议开始时间降序排序String是请求示例:curl -X GET 'https://open.welink.huaweicloud.com/api/meeting/v1/queryhistoryconferences?lang=zh_CN&pageIndex=1&pageSize=10&userId=zhangshan@example&queryAll=false&startDate=1541865600000&endDate=1544543999000 HTTP/1.1'响应格式说明返回结果示例: { "code":"0", "message":"Success", "data":{ "pageIndex":1, "pageSize":202, "totalCount":2, "countTotal":true, "totalPages":1, "lastPage":true, "nextPage":2, "firstPage":true, "prePage":0, "orderBySetted":false, "offset":0, "data":[ { "conferenceID":"914016429", "mediaTypes":"Data,Voice,HDVideo", "subject":"张三的会议", "size":1, "timeZoneID":"56", "startTime":"2019-10-29 01:42", "endTime":"2019-10-29 01:46", "conferenceState":"Destroyed", "accessNumber":"+9911110086", "language":"zh-CN", "passwordEntry":[ { "conferenceRole":"chair", "password":"8054" }, { "conferenceRole":"general", "password":"" } ], "userid":"admin@autotestworkplace", "scheduserName":"张三", "multiStreamFlag":1, "conferenceType":0, "confType":"IMMEDIATELY", "isAutoMute":0, "isAutoRecord":0, "guestJoinUri":"https://bmeeting.huaweicloud.com:36443/#/j/914016429", "recordType":0, "recordAuxStream":0, "confConfigInfo":{ "inviteMode":"AUTO_INVITE", "prolongLength":15, "dispatchMode":"AUTO_DISPATCH", "isGuestFreePwd":true, "isSendNotify":false, "isSendSms":false, "isAutoMute":false }, "vmrFlag":0, "scheduleVmr":false, "isHasRecordFile":false, "partAttendeeInfo":[ { "phone":"+9911110005370", "name":"张三", "role":0, "isMute":0, "type":"normal" } ], "terminlCount":0, "normalCount":1, "deptName":"研发部", "confUUID":"5ba424faf9ed11e99537ff8b288f19c0" }, { "conferenceID":"914016128", "mediaTypes":"Data,Voice,HDVideo", "subject":"张三的会议", "size":1, "timeZoneID":"56", "startTime":"2019-10-30 08:20", "endTime":"2019-10-30 08:56", "conferenceState":"Destroyed", "accessNumber":"+9911110086", "language":"zh-CN", "passwordEntry":[ { "conferenceRole":"chair", "password":"2917" }, { "conferenceRole":"general", "password":"" } ], "userid":"admin@autotestworkplace", "scheduserName":"张三", "multiStreamFlag":1, "conferenceType":0, "confType":"IMMEDIATELY", "isAutoMute":0, "isAutoRecord":0, "guestJoinUri":"https://bmeeting.huaweicloud.com:36443/#/j/914016128", "recordType":0, "recordAuxStream":0, "confConfigInfo":{ "inviteMode":"AUTO_INVITE", "prolongLength":15, "dispatchMode":"AUTO_DISPATCH", "isGuestFreePwd":true, "isSendNotify":false, "isSendSms":false, "isAutoMute":false }, "vmrFlag":0, "scheduleVmr":false, "isHasRecordFile":false, "partAttendeeInfo":[ { "phone":"+991111xxxx", "name":"张三", "role":0, "isMute":0, "type":"normal" }, { "phone":"+99111xxxxx", "name":"李四", "role":0, "isMute":0, "type":"normal" }, { "phone":"+9911110007204", "name":"autotest004", "role":0, "isMute":0, "type":"normal" } ], "terminlCount":0, "normalCount":3, "deptName":"研发部", "confUUID":"139960f0faee11e99537d50a298793a8" } ] } }返回参数说明:参数名必选类型参数说明code是string数据正常返回“0”,如果发生错误,会返回对应的错误码message否string返回信息,包括接口请求发生错误时的详细信息data否PageConferenceInfo会议列表,见PageConferenceInfo数据结构:PageConferenceInfo数据结构:参数名必选类型参数说明pageIndex是Int第几页pageSize是Int每页的记录数totalCount是Int总记录数countTotal否boolean取值:“true/false”totalPages否Int总页数lastPage否boolean是否是最后一页,取值:“true/false”nextPage否Int下一页是第几页firstPage否boolean是否是第一页,取值:“true/false”prePage否Int上一页是第几页sort否String[0..*]排序字段orderBySetted否String是否设置排序字段,取值:“true/false”offset否Int记录数偏移,这一页之前共有多少条data是ConferenceInfo [0..*]会议列表,参见ConferenceInfo数据结构:
-
查询会议信息管理员或普通用户可以通过该接口查询指定会议详情。管理员可以查询管理权限域内的所有会议,普通用户仅能查询当前帐号管理的会议。请求格式说明请求方式: GET (HTTPS)请求地址: https://open.welink.huaweicloud.com/api/meeting/v1/queryconferencedetail认证方式: access_token,请参考获取access_token。请求头部:Content-Type:application/json x-wlk-Authorization:access_token请求参数说明: 参数名参数说明类型必选conferenceid会议标识String是pageIndex指定返回的与会者列表的页面索引。该值必须大于0,默认为1。Int否pageSize指定返回的与会者记录数,默认值由会议AS定义,内置会议和MediaX默认是20Int否condition查询用来当做关键词的字符串,范围限定为1~128个字符。String否userId用户帐号String否type0:不区分终端和与会人。1:分页查询区分终端和与会人,结果合并返回。2:单独查询终端和与会人,结果单独返回。默认值为“0”。Int否queryType当“type”为“2”时,该字段有效。0:查询与会人。1:查询终端。默认值为“0”。Int否请求示例:curl -X GET \ 'https://open.welink.huaweicloud.com/api/meeting/v1/queryconferencedetail?conferenceid=914014590&pageIndex=1&pageSize=20&condition=128}2&userId=zhangshan@example&type=2&queryType=0' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: dc63dfa2-d338-47f4-84d9-c23be8c33200' \响应格式说明返回结果: { "code" :"0", "message" :"Success", "data" :{ "conferenceData" :{ "conferenceID" :"914013765", "mediaTypes" :"Data,Voice,HDVideo", "subject" :"testmodify1", "size" :2, "timeZoneID" :"56", "startTime" :"2019-11-08 08:30", "endTime" :"2019-11-08 08:46", "conferenceState" :"Schedule", "accessNumber" :"+9911110086", "language" :"zh-CN" , "passwordEntry" :[ { "conferenceRole" :"chair", "password" :"5987" }, { "conferenceRole":"general", "password" :"1069" } ], "userid" :"zhangshan@example", "scheduserName" :"zhangshan", "multiStreamFlag" :1, "conferenceType" :0, "confType" :"FUTURE", "isAutoMute" :0, "isAutoRecord" :0, "chairJoinUri" :"", "guestJoinUri" :"", "recordType" :0, "recordAuxStream" :0, "confConfigInfo" :{ "inviteMode" :"AUTO_INVITE", "prolongLength" :15, "dispatchMode":"AUTO_DISPATCH", "isGuestFreePwd" :false, "isSendNotify" :true, "isSendSms" :true, "isAutoMute" :false }, "vmrFlag" :0, "scheduleVmr" :false, "isHasRecordFile" :false, "terminlCount" :0, "normalCount" :2, "deptName" :"研发部 " }, "data" :{ "pageIndex" :1, "pageSize" :20, "totalCount" :2, "countTotal" :false, "totalPages" :0, "lastPage" :false, "nextPage" :0, "firstPage" :false, "prePage" :0, "orderBySetted" :false, "offset" :0, "data" :[ { "participantID":"1879xxxxxxx", "name" :"lisi ", "role" :0, "state":"MEETTING", "attendeeType" :"normal" }, { "participantID":"183xxxxxxxx ", "name" :"zhangsan", "role" :1, "state":"MEETTING", "attendeeType" :"normal" } ] } } }返回参数说明:参数名必选类型参数说明code是string数据正常返回“0”,如果发生错误,会返回对应的错误码message否string返回信息,包括接口请求发生错误时的详细信息data否ConferenceDetail返回数据,见ConferenceDetail数据结构:ConferenceDetail数据结构:参数名必选类型参数说明conferenceData否ConferenceInfo会议信息,参见ConferenceInfo数据结构:data否PageParticipant与会者列表,参见PageParticipant数据结构:PageParticipant数据结构:参数名必选类型参数说明pageIndex是Int第几页pageSize是Int每页的记录数totalCount是Int总记录数countTotal否boolean取值:“true/false”totalPages否Int总页数lastPage否boolean是否是最后一页,取值:“true/false”nextPage否Int下一页是第几页firstPage否boolean是否是第一页,取值:“true/false”prePage否Int上一页是第几页sort否String[0..*]排序字段orderBySetted否String是否设置排序字段,取值:“true/false”offset否Int记录数偏移,这一页之前共有多少条data是ParticipantInfo[0..*]会议列表,参见ParticipantInfo数据结构:ParticipantInfo数据结构:参数名必选类型参数说明participantID否String与会者唯一标识。(最长32字符)name否String与会者的名称(昵称)subscriberID否String与会者的号码role否Int会议中的角色。1:会议主席0:普通与会者state否String用户状态。MEETTING:会议中CALLING:正在呼叫JOINING:正在加入会议ALREADY_LEFT:已经离开NOT_EXIST:用户不存在BUSY:被叫用户忙NO_RESPONSE:用户无应答REFUSED:用户拒绝接听FAILED:呼叫失败(前面没有包含的失败情况)目前固定返回MEETTING状态,无其他状态。address否StringAttendee中的addressattendeeType否String默认值由会议AS定义。号码类型枚举值如下:“normal”:语音、高清、标清与会者地址(默认)“telepresence”:智真与会者地址类型,单屏、三屏智真均属此类。“terminal”:会议室或硬终端“outside”:外部与会人“anonymous”:匿名入会“mobile”:软终端用户手机,“telephone”:软终端用户固定电话phone2否String当attendeeType为telepresence时,且设备为三屏智真,则该字段填写左屏号码phone3否String当attendeeType为telepresence时,且设备为三屏智真,则该字段填写右屏号码email否String邮件地址。最大不超过96个字符。sms否String短信通知的手机号码。最大不超过127个字符。deptName否String组织名称。最大不超过96个字符。
-
查询会议列表管理员或普通用户可以通过该接口查询会议列表。管理员可以查询管理权限域内所有的会议,普通用户仅能查询当前帐号管理的会议。不带查询参数时,默认查询权限范围内正在召开或还未召开的会议。请求格式说明请求方式: GET (HTTPS)请求地址: https://open.welink.huaweicloud.com/api/meeting/v1/queryconferences认证方式: access_token,请参考获取access_token。请求头部:Content-Type: application/json x-wlk-Authorization: access_token请求参数说明: 参数名参数说明类型必选userId待查询的会议预定者的帐号。String否pageIndex指定返回的页面索引。该值必须大于0,默认为1。Int是pageSize指定返回的记录数。默认值由会议AS定义,默认是20,最大500条Int是queryAll指定是否查询企业下所有用户的会议记录。如果登录帐号不是企业管理员,则该字段无效。如果该字段为true,则userId字段无效。默认为False。Boolean是status0: 查询待召开的和已召开的(默认)1:查询待召开的2:查询正在召开的Int是condition查询用来当作关键词的字符串。长度限制为1~128个字符。String否queryConfModeADAY:一天AWEEK:一周AMONTH:一个月ALL:查询所有String否sortTypeASC_StartTIME:按会议开始时间升序排序DSC_StartTIME:按会议开始时间降序排序ASC_RecordTYPE:按会议是否有录播文件排序,之后默认按照会议开始时间升序排序DSC_RecordTYPE:按会议是否有录播文件排序,之后默认按照会议开始时间降序排序String否请求示例: curl -X GET \ 'https://open.welink.huaweicloud.com/api/meeting/v1/queryconferences?userId=zhangshan@exmaple&conferenceRight=2&conferenceState=Schedule&recordType=1,3 HTTP/1.1' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: dc63dfa2-d338-47f4-84d9-c23be8c33200' \响应格式说明返回结果示例: { "code":"0", "message":"Success", "data":{ "pageIndex":1, "pageSize":202, "totalCount":1, "countTotal":true, "totalPages":1, "lastPage":true, "nextPage":2, "firstPage":true, "prePage":0, "orderBySetted":false, "offset":0, "data":[ { "conferenceID":"914013765", "mediaTypes":"Data,Voice,HDVideo", "subject":"testmodify1", "size":2, "timeZoneID":"56", "startTime":"2019-11-08 08:30", "endTime":"2019-11-08 08:46", "conferenceState":"Schedule", "accessNumber":"+9911110086", "language":"zh-CN", "passwordEntry":[ { "conferenceRole":"chair", "password":"5987" }, { "conferenceRole":"general", "password":"1069" } ], "userid":"zhangshan@example ", "scheduserName":"zhangshan", "multiStreamFlag":1, "conferenceType":0, "confType":"FUTURE", "isAutoMute":0, "isAutoRecord":0, "chairJoinUri":"https://bmeeting.huaweicloud.com:36443/#/j/914013765/56e76a0ba4838b2a83d2ab83934c6f19fd5014843574fb64", "guestJoinUri":"https://bmeeting.huaweicloud.com:36443/#/j/914013765/7f3cc9b2b14cca77657151bbd74d33e868592226aee4153c", "recordType":0, "recordAuxStream":0, "confConfigInfo":{ "inviteMode":"AUTO_INVITE", "prolongLength":15, "dispatchMode":"AUTO_DISPATCH", "isGuestFreePwd":false, "isSendNotify":true, "isSendSms":true, "isAutoMute":false }, "vmrFlag":0, "scheduleVmr":false, "isHasRecordFile":false, "terminlCount":0, "normalCount":2, "deptName":"研发部" } ] } }返回参数说明:参数名必选类型参数说明code是string数据正常返回“0”,如果发生错误,会返回对应的错误码message否string返回信息,包括接口请求发生错误时的详细信息data否PageConferenceInfo会议列表,见PageConferenceInfo数据结构:PageConferenceInfo数据结构:参数名必选类型参数说明pageIndex是Int第几页pageSize是Int每页的记录数totalCount是Int总记录数countTotal否boolean取值:“true/false”totalPages否Int总页数lastPage否boolean是否是最后一页,取值:“true/false”nextPage否Int下一页是第几页firstPage否boolean是否是第一页,取值:“true/false”prePage否Int上一页是第几页sort否String[0..*]排序字段orderBySetted否String是否设置排序字段,取值:“true/false”offset否Int记录数偏移,这一页之前共有多少条data是ConferenceInfo [0..*]会议列表,参见ConferenceInfo数据结构:
-
修改预定会议管理员或普通用户可以通过该接口修改预定会议。会议开始时,不能修改会议。请求格式说明请求方式: PUT (HTTPS)请求地址: https://open.welink.huaweicloud.com/api/meeting/v1/updateconference认证方式: access_token,请参考获取access_token。请求头部:Content-Type: application/json x-wlk-Authorization: access_token请求参数示例:{ "conferenceType":0, "mediaTypes":"Video,Voice", "startTime": "2020-04-03 06:30", "length": 120, "subject":"技术讨论会" }请求param参数说明:参数名conferenceid会议标识String是userId用户帐号String是请求body参数说明:参数名参数说明类型必选conferenceType0 : 普通会议(默认);1 : 周期会议,此时cycleParams必须填写。Int否startTime会议开始时间。采用UTC时间。 会议本地的开始时间要通过startTime和timeZoneID计算得到。比如startTime为UTC 2020-03-20 02:00, timeZoneID为56,对应东八区, 则本地会议开始时间为东八区的2020-03-20 10:00。预定创建会议时,如果没有指定开始时间,或填空串,则表示会议马上开始。格式:YYYY-MM-DD HH:MMString否length会议持续时长。单位分钟,最长1440,最短15,默认为30。Int否subject会议主题。长度限制为128个字符。String否groupuri软终端创建即时会议时在当前字段带临时群组ID,由服务器在邀请其他与会者时在或者conference-info头域中携带。长度限制为31个字符。String否mediaTypes会议的媒体类型。由1个或多个枚举String组成,多个枚举时,每个枚举值之间通过”,”逗号分隔,枚举值如下:“Voice”:语音“Video”:标清视频“HDVideo”:高清视频(与Video互斥,如果同时选择Video、HDVideo,则系统默认选择Video)“Telepresence”:智真(与HDVideo、Video互斥,如果同时选择,系统使用Telepresence)—暂不支持“Data”:多媒体(AS会根据系统配置决定是否自动添加Data)String是attendees预定会议时,指定的与会者列表。该与会者列表可以用于发送会议通知、会议提醒、会议开始时候进行自动邀请。请参考RestAttendeeDTO。RestAttendeeDTO [0..*]否isAutoRecord会议是否自动启动录制,在录播类型为:录播、直播+录播时有效。1 :true:自动启动录制;0 :false:不自动启动录制。(默认)Int否encryptMode会议媒体加密模式。0 : auto:自适应加密;1 : must:强制加密;2 : 不出现:不加密Int否language会议的默认语言,默认值由会议AS定义,MediaX是“zh-CN”,对于系统支持的语言,按照RFC3066规范传递。zh-CN:简体中文;en-US:美国英文String否timeZoneID开始时间的时区信息。时区信息参考时区映射关系String否recordType录播类型。0: 禁用;1: 直播;2: 录播;3: 直播+录播Int否liveAddress主流直播地址。最大不超过255个字符。在录播类型为 :直播、直播+录播时有效。String否auxAddress辅流直播地址。最大不超过255个字符。在录播类型为: 直播、直播+录播时有效。String否recordAuxStream是否录制辅流。在录播类型为:录播、直播+录播时有效。0:否;1:是Int否confConfigInfo会议其他配置信息,用于其他会议配置参数。后续新增的会议配置参数都在该结构中定义。RestConfConfigDTO否vmrFlag是否使用VMR召开预约会议。0:不使用VMR;1:使用VMRInt否vmrID用于识别用户开会时绑定的VMR会议室。不为空,则用ID查询VMR信息;为空,则查用户所有VMR,如果有个人VMR,用个人;没有,取最小VMRIDString否请求示例:curl -X PUT \ 'https://open.welink.huaweicloud.com/api/meeting/v1/updateconference?conferenceid=914014479&userId=zhangshan@example' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: dc63dfa2-d338-47f4-84d9-12345678909' \ -d '{"请求参数 json格式"}'响应格式说明返回结果示例: { "code": "0", "message": "Success", "data": [ { "conferenceID": "914267387", "mediaTypes": "Video,Voice,Data", "subject": "技术会议", "size": 2, "timeZoneID": "56", "startTime": "2020-04-03 06:30", "endTime": "2020-04-03 08:30", "conferenceState": "Schedule", "accessNumber": "+991117", "language": "zh-CN", "passwordEntry": [ { "conferenceRole": "chair", "password": "46xxx" }, { "conferenceRole": "general", "password": "58XXXX" } ], "userId": "zhangsan@example", "scheduserName": "张三", "multiStreamFlag": 1, "conferenceType": 0, "confType": "FUTURE", "isAutoMute": 1, "isAutoRecord": 0, "chairJoinUri": "https://bmeeting.huaweicloud.com:36443/#/j/914267387/b0ec89d57ff2e0380c466fb4f6e085b298f96afb98911ca7", "guestJoinUri": "https://bmeeting.huaweicloud.com:36443/#/j/914267387/b600a2dcfee37c6db263f6a102c6e9f61d6452d8fc10e821", "recordType": 0, "recordAuxStream": 0, "confConfigInfo": { "inviteMode": "AUTO_INVITE", "prolongLength": 15, "dispatchMode": "AUTO_DISPATCH", "isGuestFreePwd": false, "isSendNotify": true, "isSendSms": true, "isSendCalendar": true, "isAutoMute": true }, "vmrFlag": 0, "scheduleVmr": false, "isHasRecordFile": false, "partAttendeeInfo": null, "terminlCount": 0, "normalCount": 0, "deptName": "XXX有限公司" } ] }返回参数说明:参数名必选类型参数说明code是string数据正常返回“0”,如果发生错误,会返回对应的错误码message否string返回信息,包括接口请求发生错误时的详细信息data否ConferenceInfo [0..1]会议信息,见数据结构:
-
取消预定会议管理员或普通用户可以通过该接口取消预定会议。请求格式说明请求方式: DELETE (HTTPS)请求地址: https://open.welink.huaweicloud.com/api/meeting/v1/deleteconference认证方式: access_token,请参考获取access_token。请求头部:Content-Type: application/json x-wlk-Authorization: access_token请求参数说明: 参数名参数说明类型必选conferenceid会议标识String是userId用户帐号String是请求示例:curl -X DELETE \ 'https://open.welink.huaweicloud.com/api/meeting/v1/deleteconference?conferenceid=914015457&userId=zhangshan@example' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: dc63dfa2-d338-47f4-84d9-12345678909' \响应格式说明返回结果: { "code": 0, "message": "Success", }返回参数说明:参数名必选类型参数说明code是string数据正常返回“0”,如果发生错误,会返回对应的错误码。message否string返回信息,包括接口请求发生错误时的详细信息。
-
预约会议(因敏感词汇问题,文中代码单词中间带.的请忽略.)管理员或普通用户可以过该接口创建会议。请求格式说明请求方式: POST (HTTPS)请求地址: https://open.welink.huaweicloud.com/api/meeting/v1/createconference?userId={userId}认证方式: access_token,请参考获取access_token。请求头部:Content-Type: application/json x-wlk-Authorization: access_token请求参数示例:{ "conferenceType":0, "mediaTypes":"HDVideo", "startTime": "2020-04-03 02:30", "length": 120, "subject":"研发技术会议", "attendees": [ { "name":"zhangsan", "accountId":"zhangsan@example", "role":"0", "phone":"+8615xxxx387xx", "isMute":"0" }, { "accountId":"lisi@example ", "name":" lisi", "role":"1", "phone":"+8613xxxx27xx", "isMute":"1" } ] }请求param参数说明: 参数名参数说明类型必选必选userId,用户帐号,如zhangsan@xxxString是请求body参数说明: 参数名参数说明类型必选conferenceType0 : 普通会议(默认);1 : 周期会议,此时cycleParams必须填写。Int否startTime会议开始时间。采用UTC时间。 会议本地的开始时间要通过startTime和timeZoneID计算得到。比如startTime为UTC 2020-03-20 02:00, timeZoneID为56,对应东八区, 则本地会议开始时间为东八区的2020-03-20 10:00。预定创建会议时,如果没有指定开始时间,或填空串,则表示会议马上开始。格式:YYYY-MM-DD HH:MMString否length会议持续时长。单位分钟,最长1440,最短15,默认为30。Int否subject会议主题。长度限制为128个字符。String否mediaTypes会议的媒体类型。由1个或多个枚举String组成,多个枚举时,每个枚举值之间通过”,”逗号分隔,枚举值如下:“Voice”:语音“Video”:标清视频“HDVideo”:高清视频(与Video互斥,如果同时选择Video、HDVideo,则系统默认选择Video)“Telepresence”:智真(与HDVideo、Video互斥,如果同时选择,系统使用Telepresence)。(预留字段)“Data”:多媒体(AS会根据系统配置决定是否自动添加Data)String是attendees预定会议时,指定的与会者列表。该与会者列表可以用于发送会议通知、会议提醒、会议开始时候进行自动邀请。请参考RestAttendeeDTO。RestAttendeeDTO [0..*]否isAutoRecord会议是否自动启动录制,在录播类型为:录播、直播+录播时有效。1 :true:自动启动录制;0 :false:不自动启动录制。(默认)Int否encryptMode会议媒体加密模式。0 : auto:自适应加密;1 : must:强制加密;2 : 不出现:不加密Int否language会议的默认语言,默认值由会议AS定义,MediaX是“zh-CN”,对于系统支持的语言,按照RFC3066规范传递。zh-CN:简体中文;en-US:美国英文String否timeZoneID开始时间的时区信息。时区信息参考时区映射关系String否recordType录播类型。0: 禁用;1: 直播;2: 录播;3: 直播+录播Int否liveAddress主流直播地址。最大不超过255个字符。在录播类型为 :直播、直播+录播时有效。String否auxAddress辅流直播地址。最大不超过255个字符。在录播类型为: 直播、直播+录播时有效。String否recordAuxStream是否录制辅流。在录播类型为:录播、直播+录播时有效。0:否;1:是Int否confConfigInfo会议其他配置信息,用于其他会议配置参数。后续新增的会议配置参数都在该结构中定义。RestConfConfigDTO否vmrFlag是否使用VMR召开预约会议。0:不使用VMR;1:使用VMRInt否vmrID用于识别用户开会时绑定的VMR会议室。不为空,则用ID查询VMR信息;为空,则查用户所有VMR,如果有个人VMR,用个人;没有,取最小VMRIDString否RestAttendeeDTO数据结构:参数名参数说明类型必选accountId与会者账号,即用户的userIdString否name与会者名称或昵称,长度限制为96个字符。String否role会议中的角色。1:会议主席;0:普通与会者(默认);2:单向会场(预留字段)Int否phone号码(可支持SIP、TEL号码格式)。最大不超过127个字符。当type为telepresence时,且设备为三屏智真,则该字段填写中屏号码。(三屏智真为预留字段)String是phone2取值类型同phone。当type为telepresence时,且设备为三屏智真,则该字段填写左屏号码。(三屏智真为预留字段)String否phone3取值类型同phone。当type为telepresence时,且设备为三屏智真,则该字段填写右屏号码。(三屏智真为预留字段)String否email邮件地址。最大不超过255个字符。String否sms短信通知的手机号码。最大不超过32个字符。String否isAutoInvite会议开始时是否自动邀请该与会者。0:不自动邀请;1:自动邀请(默认)Int否type默认值由会议AS定义,号码类型枚举值如下:“normal”:语音、高清、标清与会者地址(默认),软终端用户。“telepresence”:智真与会者地址类型,单屏、三屏智真均属此类。(三屏智真为预留字段)“terminal”:会议室或硬终端。“outside”:外部与会人。“anonymous”:匿名入会。“mobile”:软终端用户手机。“telephone”:软终端用户固定电话,暂不使用。String否address终端所在会议室信息。String否deptName组织名称。最大不超过128个字符。String否RestConfConfigDTO数据结构:参数名参数说明类型必选isGuestFreePwd来宾是否免密。True:免密False:不免密默认值由会议模板决定,适用于随机id会议。Boolean否isSendNotify是否需要发送会议邮件通知。True:需要False:不需要默认值由会议模板决定。Boolean否isSendSms是否需要发送会议通知。True:需要False:不需要默认值由会议模板决定。Boolean否时区映射关系:参数值时区信息1(GMT-12:00) Eniwetok, Kwajalein2(GMT-11:00) Midway Island, Samoa3(GMT-10:00) Hawaii4(GMT-09:00) Alaska5(GMT-08:00) Pacific Time(US&Can. a.da);Tijuana6(GMT-07:00) Arizona7(GMT-07:00) Mountain Time(US&Can.a.da)8(GMT-06:00) Central America9(GMT-06:00) Central Time(US&Can.a.da)10(GMT-06:00) Mexico City11(GMT-06:00) Saskatchewan12(GMT-05:00) Bogota, Lima, Quito13(GMT-05:00) Eastern Time(US&Can.a.da)14(GMT-05:00) Indiana(East)15(GMT-04:00) Atlantic time(Can.a.da)16(GMT-04:00) Caracas, La Paz17(GMT-04:00) Santiago18(GMT-03:30) Newfoundland19(GMT-03:00) Brasilia20(GMT-03:00) Buenos Aires, Georgetown21(GMT-03:00) Greenland22(GMT-02:00) Mid-Atlantic23(GMT-01:00) Azores24(GMT-01:00) Cape Verde Is.25(GMT) Casablanca, Monrovia26(GMT) Greenwich Mean Time:Dublin, Edinburgh, Lisbon, London27(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna28(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague29(GMT+01:00) Brussels, Copenhagen, Madrid, Paris30(GMT+01:00) Sarajevo, Skopje, Sofija, Warsaw, Zagreb31(GMT+01:00) West Central Africa32(GMT+02:00) Athens, Vilnius33(GMT+02:00) Bucharest34(GMT+02:00) Cairo35(GMT+02:00) Harare, Pretoria36(GMT+02:00) Helsinki, Riga, Tallinn37(GMT+02:00) Jerusalem38(GMT+03:00) Baghdad, Minsk39(GMT+03:00) Kuwait, Riyadh40(GMT+03:00) Moscow, St. Petersburg41(GMT+03:00) Nairobi, Istanbul42(GMT+03:30) Tehran43(GMT+04:00) Abu Dhabi, Muscat, Volgograd44(GMT+04:00) Baku, Tbilisi, Yerevan45(GMT+04:30) Kabul46(GMT+05:00) Ekaterinburg47(GMT+05:00) Is.la.mabad, Karachi, Tashkent48(GMT+05:30) Calcutta, Chennai, Mumbai, New Delhi49(GMT+05:45) Kathmandu50(GMT+06:00) Almaty51(GMT+06:00) Astana, Dhaka52(GMT+05:30) Sri Jayawardenepura53(GMT+06:30) Rangoon54(GMT+07:00) Bangkok, Hanoi, Jakarta55(GMT+07:00) Novosibirsk, Krasnoyarsk56(GMT+08:00) Beijing, Chongqing, Hong Kong, Ur.um.qi, Taipei57(GMT+08:00) Ulaan Bataar58(GMT+08:00) Kuala Lumpur, Singapore59(GMT+08:00) Perth60(GMT+09:00) Osaka, Sapporo, To.ky.o61(GMT+09:00) Seoul62(GMT+09:00) Yakutsk63(GMT+09:30) Adelaide64(GMT+09:30) Darwin65(GMT+10:00) Brisbane66(GMT+10:00) Canberra, Melbourne, Sydney67(GMT+10:00) Guam, Port Moresby68(GMT+10:00) Hobart69(GMT+10:00) Vladivostok70(GMT+11:00) Magadan, Solomon Is., New Caledonia71(GMT+12:00) Auckland, Welington72(GMT+12:00) Fiji73(GMT+13:00) Nuku'alofa74(GMT+08:00) Irkutsk75(GMT) Casablanca76(GMT+04:00) Baku77(GMT+12:00) Kamchatka, Marshall Is.请求示例: curl -X POST \ 'https://open.welink.huaweicloud.com/api/meeting/v1/createconference?userId=zhangshan@example' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: access_token' \ -d '{"请求参数 json格式"}'响应格式说明返回结果示例: { "code": "0", "message": "Success", "data": [ { "conferenceID": "914266362", "mediaTypes": "Data,Voice,HDVideo", "subject": "研发技术会议", "size": 2, "timeZoneID": "56", "startTime": "2020-04-03 02:30", "endTime": "2020-04-03 04:30", "conferenceState": "Schedule", "accessNumber": "+991117", "language": "zh-CN", "passwordEntry": [ { "conferenceRole": "chair", "password": "936755" }, { "conferenceRole": "general", "password": "22xxxx" } ], "userId": "zhangshan@example", "scheduserName": " zhangshan ", "multiStreamFlag": 1, "conferenceType": 0, "confType": "FUTURE", "isAutoMute": 1, "isAutoRecord": 0, "chairJoinUri": "https://bmeeting.huaweicloud.com:36443/#/j/914266362/8f466b3748e64c9019deaad388209046cc0388eaaa06d0d6", "guestJoinUri": "https://bmeeting.huaweicloud.com:36443/#/j/914266362/7875d825c195715ac073db2749c4ebf57ddf5a7b00fd6d2a", "recordType": 0, "recordAuxStream": 0, "confConfigInfo": { "inviteMode": "AUTO_INVITE", "prolongLength": 15, "dispatchMode": "AUTO_DISPATCH", "isGuestFreePwd": false, "isSendNotify": true, "isSendSms": true, "isSendCalendar": true, "isAutoMute": true }, "vmrFlag": 0, "scheduleVmr": false, "isHasRecordFile": false, "terminlCount": 0, "normalCount": 2, "deptName": "XXXX有限公司" } ] }返回参数说明:参数名必选类型参数说明code是string数据正常返回“0”,如果发生错误,会返回对应的错误码message否string返回信息,包括接口请求发生错误时的详细信息data否ConferenceInfo [0..1]会议信息,见ConferenceInfo数据结构:ConferenceInfo数据结构:参数名必选类型参数说明conferenceId是String会议ID,长度限制为不超过32个字符。subject否String会议主题,长度限制为128个字符。size是Integer会议方数。timeZoneID否String时区映射关系startTime否String会议起始时间 (YYYY-MM-DD HH:MM )endTime否String会议结束时间 (YYYY-MM-DD HH:MM )mediaTypes是String会议的媒体类型。由1个或多个枚举String组成,多个枚举时,每个枚举值之间通过”,”逗号分隔,枚举值如下:“Voice”:语音“Video”:标清视频“HDVideo”:高清视频(与Video互斥,如果同时选择Video、HDVideo,则系统默认选择Video)“Telepresence”:智真(与HDVideo、Video互斥,如果同时选择,系统使用Telepresence)。(预留字段)“Data”:多媒体conferenceState否StringConferenceState是一个枚举的String:“Schedule”:预定状态“Creating”:正在创建状态“Created”:会议已经被创建,并正在召开“Destroyed”:会议已经关闭目前只会返回Created状态,会议预约没有召开也是该状态。language否String会议语言accessNumber否String会议接入码passwordEntry是PasswordEntry[0..*]会议密码条目。预订者返回主席密码和来宾密码:主席查询时返回主席密码;来宾查询时返回来宾密码。见表PasswordEntry数据结构:userId否String会议预订者帐号scheduserName否String会议预订者账号名称,长度最大限制为96个字符。deptName否String会议预订者的组织名称。最大不超过96个字符。multiStreamFlag否int标识是否为多流视频会议。0:单流会议1:多流会议conferenceType否int0 : 普通会议1 : 周期会议,此时cycleParams必须填写isAutoMute否int是否入会自动闭音。isAutoRecord否int是否自动开启录音。chairJoinUri否String主席会议链接地址。guestJoinUri否String普通与会者会议链接地址。recordType否int录播类型。0: 禁用;1: 直播;2: 录播;3: 直播+录播auxAddress否String辅流直播地址liveAddress否String主流直播地址recordAuxStream否int是否录制辅流。0:否;1:是liveUrl否String直播播放地址confConfigInfo否RestConfConfigDTO会议其他配置信息confUUID是String会议的UUID(一个预约会议可能召开多次,对应多个历史会议,所以0531后的版本不再使用该字段查询历史会议详情)isHasRecordFile否booleanTrue:有录播文件False:没有录播文件(默认)partAttendeeInfo否RestAttendeeDTO [0..*]部分与会方信息,硬件终端/与会人最多各显示20条记录。见RestAttendeeDTOterminlCount否Int硬终端个数normalCount否Int普通终端个数PasswordEntry数据结构:参数名必选类型参数说明conferenceRole是String会议角色。“chair”:会议主席“general”:普通与会者“audience”:旁听会场(预留字段)password是String会议中角色的密码,明文。
-
删除知识接受文章来源及唯一识别字串,同步删除WeLink知识。此接口为同步接口,返回的信息是对应一条知识的删除状态。请求格式说明请求方式:DELETE (HTTPS)请求地址:https://open.welink.huaweicloud.com/api/knowledge/v1/articles/delete?sourceName={sourceName}&sourceArticleId={sourceArticleId}认证方式: access_token,请参考获取access_token请求头部:Accept-Charset:UTF-8 Content-Type:application/json x-wlk-Authorization:access_token请求参数: sourceName=example&sourceArticleId=a123&moduleType=bulletins请求参数说明: 参数参数类型必填说明sourceArticleIdString是当前来源识别文章的id【允许数字、字母、下划线,最大50个字符】sourceNameString是自定义来源识别字串【允许数字、字母、下划线,最大50个字符】moduleTypeString否文章模块【bulletins:信息发布文章,默认为bulletins】请求示例: curl -X DELETE \ 'https://open.welink.huaweicloud.com/api/knowledge/v1/articles/delete?sourceName=example&sourceArticleId=a123' \ -H 'Accept-Charset: UTF-8' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: access_token'响应格式说明返回结果:正常返回结果:{ "code": "0", "message": "success"}异常返回结果:{ "code": "43011", "message": "parameter sourceName is empty!" }返回参数说明:参数必选参数类型说明code是String数据正常返回“0”,如果发生错误,会返回对应的错误码。message否String返回信息,操作成功返回 success错误码说明:错误码说明0成功43021认证异常43011参数错误43012操作失败
-
更新知识接受文章信息,同步更新WeLink知识。此接口为同步接口,返回的信息是文章的ID。请求格式说明请求方式:PUT (HTTPS)请求地址:https://open.welink.huaweicloud.com/api/knowledge/v1/articles/update认证方式: access_token,请参考获取access_token请求头部:Accept-Charset:UTF-8 Content-Type:application/json x-wlk-Authorization:access_token请求参数: { "sourceArticleId":"id123", "sourceName":"example", "title":"标题示例", "contentType":1, "content":"内容示例", "link":"http://example.ex/", "lang":0, "isRecommended":1, "isTopped":0, "pubTime":1562633528, "coverImg":"http://example.ex/cover.jpg", "recDataStyle":1, "excerpt":"摘要示例", "cateName":"分类示例", "userId":"WeLink@tenant", "documents":"[{\"name\":\"text.doc\",\"url\":\"http://example.ex/abc.doc\"}]" }请求参数说明: 参数参数类型必填说明sourceArticleIdString是当前来源识别文章的id【允许数字、字母、下划线,最大50个字符】sourceNameString是自定义来源识别字串【允许数字、字母、下划线,最大50个字符】titleString否标题【不传或为空表示不修改】corpUserIdString否作者在客户系统的登录标示,客户内唯一。corpUserId、userId都存在时优先使用corpUserId。【不传或为空表示不修改】userIdString否作者在WeLink中的用户账号【可在用户管理看到类似 xx@tenant 】。corpUserId、userId都存在时优先使用corpUserId。【不传或为空表示不修改】contentTypeInteger否类型【0:链接型,1:内容型,不传或为空表示不修改】contentString否内容【不传或为空表示不修改】linkString否链接型文章的链接【不传或为空表示不修改】documentsArray否附件信息。【不传或为空表示不修改】每个文件内容,name:文档完整名,包含后缀;size:文件大小,单位B;url:下载地址(支持无需鉴权的附件下载地址)。示例:[{"name":"文档名称.doc","size":"1024","url":"http://xxx.com/xxx.doc"}, {"name":"Excel文件名称.xls","size":"1024","url":"http://xxx.com/xxx.xls"}]moduleTypeString否文章模块【bulletins:信息发布文章,默认为bulletins】langInteger否语言【0:中文 1:英文,不传或为空表示不修改】isRecommendedInteger否是否推荐【0:否 1:是,不传或为空表示不修改】isToppedInteger否是否置顶【0:否 1:是,不传或为空表示不修改】pubTimeLong否发布时间,秒为单位的时间戳【不传或为空表示不修改】coverImgString否封面图URL【不传表示不修改,为空表示置空】recDataStyleInteger否条目模板【1:'左文右图',2:'大图卡',3:'视频(大)',4:'视频(小)',5:'直播',6:'音频',7:'博客',8:问答,9:文档式,不传或为空表示不修改】excerptString否摘要信息【不传表示不修改,为空表示置空】cateNameString否文章所属分类,【不传或为空表示不修改,传则取传过来的分类,没有则新建分类】请求示例: curl -X PUT \ 'https://open.welink.huaweicloud.com/api/knowledge/v1/articles/update' \ -H 'Accept-Charset: UTF-8' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: access_token' \ -d '{"sourceName":"example", "sourceArticleId":"id123"}'响应格式说明返回结果:正常返回结果:{ "code": "0", "data": { "sourceArticleId" : "123456" } }异常返回结果:{ "code": "43011", "message": "parameter sourceArticleId is empty!" }返回参数说明:参数必选参数类型说明code是String数据正常返回“0”,如果发生错误,会返回对应的错误码。message否String返回接口请求发生错误时的详细信息。正常情况无此信息data否Object成功返回的数据data.sourceArticleId是String成功的文章的sourceArticleId错误码说明:错误码说明0成功43021认证异常43011参数错误43012操作失败
-
创建知识接受文章信息,同步新增WeLink知识。此接口为同步接口,返回的信息是文章的ID。请求格式说明请求方式:POST (HTTPS)请求地址:https://open.welink.huaweicloud.com/api/knowledge/v1/articles/add认证方式: access_token,请参考获取access_token请求头部:Accept-Charset:UTF-8 Content-Type:application/json x-wlk-Authorization:access_token请求参数: { "sourceName":"example", "sourceArticleId":"id123", "title":"标题示例", "contentType":1, "content":"内容示例", "link":"http://example.ex/", "lang":0, "isRecommended":1, "isTopped":0, "pubTime":1562633528, "coverImg":"http://example.ex/cover.jpg", "recDataStyle":1, "excerpt":"摘要示例", "cateName":"分类示例", "userId":"WeLink@tenant", "documents":"[{\"name\":\"text.doc\",\"url\":\"http://example.ex/abc.doc\"}]" }请求参数说明: 参数参数类型必填说明sourceNameString是自定义来源识别字串【允许数字、字母、下划线,最大50个字符】sourceArticleIdString是当前来源识别某篇文章的唯一id【允许数字、字母、下划线,最大50个字符】titleString是标题corpUserIdString特殊可选作者在客户系统的登录标示,客户内唯一。corpUserId、userId不可同时为空,都存在时优先使用corpUserIduserIdString特殊可选作者在WeLink中的用户账号【可在用户管理看到类似 xx@tenant 】。corpUserId、userId不可同时为空,都存在时优先使用corpUserIdcontentTypeInteger否类型【0:链接型,1:内容型,默认为:1】contentString否内容【contentType为1必传,其它非必须传】linkString否链接型文章的链接【contentType为0必传 】documentsArray否附件信息。每个文件内容,name:文档完整名,包含后缀;size:文件大小,单位B;url:下载地址。示例:[{"name":"文档名称.doc","size":"1024","url":"http://xxx.com/xxx.doc"}, {"name":"Excel文件名称.xls","size":"1024","url":"http://xxx.com/xxx.xls"}]moduleTypeString否文章模块【bulletins:信息发布文章,默认为bulletins】langInteger否语言【0:中文 1:英文,默认:0】isRecommendedInteger否是否推荐【0:否 1:是,默认:0】isToppedInteger否是否置顶【0:否 1:是,默认:0】pubTimeLong否发布时间,秒为单位的时间戳【不传则取当前时间】coverImgString否封面图URLrecDataStyleInteger否条目模板,【1:'左文右图',2:'大图卡',3:'视频(大)',4:'视频(小)',5:'直播',6:'音频',7:'博客',8:问答,9:文档式。默认为:1】excerptString否摘要信息cateNameString否文章所属分类,不传则取默认分类或第一个分类,传则取传过来的分类,没有则新建分类请求示例: curl -X POST \ 'https://open.welink.huaweicloud.com/api/knowledge/v1/articles/add' \ -H 'Accept-Charset: UTF-8' \ -H 'Content-Type: application/json' \ -H 'x-wlk-Authorization: access_token' \ -d '{"sourceName":"example", "sourceArticleId":"id123"}'响应格式说明返回结果:正常返回结果:{ "code": "0", "data": { "sourceArticleId" : "123456" } }异常返回结果:{ "code": "43011", "message": "parameter user is empty!" }返回参数说明:参数必选参数类型说明code是String数据正常返回“0”,如果发生错误,会返回对应的错误码。message否String返回接口请求发生错误时的详细信息。正常情况无此信息data否Object成功返回的数据data.sourceArticleId是String成功的文章的sourceArticleId错误码说明:错误码说明0成功43021认证异常43011参数错误43012操作失败
-
概述WeLink通过HTTP回调方式向应用推送相关业务事件,例如:人员变更,部门变更等。WeLink在回调时会通过开发者创建的应用对应client_secret进行加密,开发者需要解密对应的密文,获取相应的数据,成功处理后还需返回经过加密的特定字符串。HTTP回调方式包括以下几个主要场景:通讯录事件变更,如部门变更、部门删除、人员变更、人员销户企业事件变更,如企业名称改变可在接口权限申请中申请需要监听的事件。接口回调1、填写回调地址填写回调地址,例如:https://example.com/callback。 为了安全,强烈推荐使用https。2、验证回调参数以及解密数据WeLink每一次访问回调URL的时候将发出如下请求(下面链接中的值只是示例,并不代表真实值):POST https://您服务端部署的IP:您的端口/callback # 包含的json数据如下,其中encrypt是经过加密的消息体(采用base64编码), 其中包含事件类型以及相应的一些数据 {"encrypt": "MDgwNTY0NDIxODUyMjA3OA==RTE3Q0E5MEI5RDIyRjlFRkJGNDg3NTYyQTA3ODI0NEE2OTU4NjE0NDJBRDg0OURDQTVDNEFBNTlEODM0NkQ1MjJFMkM1ODVENzlDMENGQTFDOThBRkRGNzc2QjU1MjYwNUMyNDk1NkE5Mjc0RjUxOTdFMDM5MkQzRDIzRTg4M0M1NUY5ODQxNTZFOTIwNEVBQ0EyMkJEMzkxNUExQkM2Q0NCN0EyODdE"}encrypt内的数据为加密后的消息体,采用AES GCM算法,采用16字节的二进制偏移量(base64编码后就是24字节), 解密后的数据结构如下:{ "eventType": "xxx", "timestamp": "1565167553", "xxx": "xxx" }为防止重放攻击,请务必判断timestamp(Unix的秒级时间戳)是否与您服务器的时间偏差在允许的时间范围内, 这里推荐30min内的时间是合理的。具体的解密见5代码参考。3、返回结果返回结果也需要进行带上timestamp加密,防止重放攻击以及验证回调是否被正确推送到应用。应用返回原始数据结构应如下:{ "msg": "success", "timestamp": "1565167553" }经过AES GCM算法加密后(前16字节为偏移量),先进行base64编码(24字节)再和base64编码的密文拼接,拼成json格式。以上数据经过加密后,返回的结果应该为:{"encrypt": "NjA0NTQ4MzM0MTExMjQ3NQ==MzhEMTY5RDI2Qjg4RjRDRTEwNUZBRTMyNjcxNTlCNDcyODUyNzEzQkUzOEU1Qzc3ODc2MjlFRkUzMzlGM0JCMTQ5QURBM0VCODA1QjExRTQ5NkI5Mjc0MzRCMTI3OTExNEI3RjU1RDRDNDNGNEE2MA=="}需要注意的是,WeLink设置timestamp偏差超过30min时会认为返回值非法,推荐开发者直接以WeLink请求参数中timestamp返回即可。4、回调类型事件类型eventType请求示例原文测试test{"encrypt": "xxx"}{"eventType": "test","timestamp": "1562752619"}企业信息更改corpEditTenant{"encrypt": "xxx"}{"eventType": "corpEditTenant","timestamp": "1562752619", "tenantId": "xxx"}人员信息更改corpEditUser{"encrypt": "xxx"}{"eventType": "corpEditUser","timestamp": "1562752619", "data":[{"userId": "id1", "tenantId": "xxx"},{"userId": "id2", "tenantId":"xxx"}]}人员信息删除corpDelUser{"encrypt": "xxx"}{"eventType": "corpDelUser","timestamp": "1562752619", "data":[{"userId": "id1", "tenantId": "xxx"},{"userId": "id2", "tenantId":"xxx"}]}部门信息更改corpEditDept{"encrypt": "xxx"}{"eventType": "corpEditDept","timestamp": "1562752619", "data":[{"deptCode": "id1", "tenantId": "xxx"},{"deptCode": "id2", "tenantId":"xxx"}]}部门信息删除corpDelDept{"encrypt": "xxx"}{"eventType": "corpDelDept","timestamp": "1562752619", "data":[{"deptCode": "id1", "tenantId": "xxx"},{"deptCode": "id2", "tenantId":"xxx"}]}人员信息变更包括人员新增和人员修改, 部门信息更改包括部门新增和部门修改WeLink仅会通知发生内容变化的用户id或者部门id等,应用需要自行调用相关的查询接口,将接口返回的信息覆盖原来的信息。5、代码参考import java.security.Key;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java.util.Base64;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.GCMParameterSpec;import javax.crypto.spec.SecretKeySpec;/** * 加密和解密的示例代码 */public class Main{ private static final String ALGORITHM = "AES"; private static final String defaultCharset = "UTF-8"; private static final String KEY_GCM_AES = "AES/GCM/NoPadding"; private static final int AES_KEY_SIZE = 128; /** * 生成length字节的偏移量IV * createIV的功能 * * @param length * @return * @throws NoSuchAlgorithmException */ public static String createIV(int length) throws NoSuchAlgorithmException { SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); byte[] salt = new byte[length]; random.nextBytes(salt); return encodeToBase64(salt); } /** * 解密——使用自定义的加密key * * @param data * @param key * @param ivStr * @return * @throws Exception */ public static String decryptByGcm(String data, String key, String ivStr) throws Exception { Cipher cipher = Cipher.getInstance(KEY_GCM_AES); byte[] iv = decodeFromBase64(ivStr); SecretKeySpec keySpec = getSecretKeySpec(key); cipher.init(2, keySpec, new GCMParameterSpec(AES_KEY_SIZE, iv)); byte[] content = decodeFromBase64(data); byte[] result = cipher.doFinal(content); return new String(result); } /** * 加密——使用自定义的加密key * * @param data * @param key * @param ivStr * @return * @throws Exception */ public static String encryptByGcm(String data, String key, String ivStr) throws Exception { Cipher cipher = Cipher.getInstance(KEY_GCM_AES); byte[] iv = decodeFromBase64(ivStr); SecretKeySpec keySpec = getSecretKeySpec(key); cipher.init(1, keySpec, new GCMParameterSpec(AES_KEY_SIZE, iv)); byte[] content = data.getBytes(defaultCharset); byte[] result = cipher.doFinal(content); return encodeToBase64(result); } private static byte[] decodeFromBase64(String data) { return Base64.getDecoder().decode(data); } private static String encodeToBase64(byte[] data) { return Base64.getEncoder().encodeToString(data); } /** * 公共使用,获取SecretKeySpec * * @param key * @return */ private static SecretKeySpec getSecretKeySpec(String key) { SecretKeySpec keySpec = null; try { //1.构造密钥生成器,指定为AES算法,不区分大小写 KeyGenerator kgen = KeyGenerator.getInstance(ALGORITHM); //2.根据ecnodeRules规则初始化密钥生成器 //生成一个128位的随机源,根据传入的字节数组 SecureRandom secureRandom= SecureRandom.getInstance("SHA1PRNG"); secureRandom.setSeed(key.getBytes(defaultCharset)); kgen.init(AES_KEY_SIZE, secureRandom); //3.产生原始对称密钥 SecretKey secretKey = kgen.generateKey(); //4.获得原始对称密钥的字节数组 byte[] enCodeFormat = secretKey.getEncoded(); //5.根据字节数组生成AES密钥 keySpec = new SecretKeySpec(enCodeFormat, ALGORITHM); } catch (Exception e) { System.out.println("To do get SecretKeySpec exception!"); } return keySpec; } public static void main(String[] args) throws Exception { String secret = "8cf860c0-30b7-4357-a104-fa627c59085d";//app的secret,加解密使用,开放平台获得 String reqJson="{\"eventType\":\"corpAuth\",\"tenantId\":\"tenant\",\"timestamp\":\"1565167553\"}"; String respJson="{\"timestamp\":\"1565167553\",\"msg\":\"success\"}"; System.out.println("[请求Json]:"+reqJson); String ivStr = createIV(16); String reqStr=encryptByGcm(reqJson,secret, ivStr); System.out.println("[请求密文]:" + ivStr + reqStr); String reqJsonAfterDecrypt=decryptByGcm(reqStr, secret, ivStr); System.out.println("[请求密文解析后]:"+reqJsonAfterDecrypt); String ivStr2 = createIV(16); System.out.println("[响应Json]:"+respJson); String respStr=encryptByGcm(respJson,secret, ivStr2); System.out.println("[响应密文]:" + ivStr2 + respStr); String respJsonAfterDecrypt=decryptByGcm(respStr,secret, ivStr2); System.out.println("[响应密文解析后]:"+respJsonAfterDecrypt); } }/* [请求Json]:{"eventType":"corpAuth","tenantId":"tenant","timestamp":"1565167553"} [请求密文]:PGkTPQrrTwlqBEu5pzPyxw==3BWfWmYTj67h5qdD4og6el7GrxaXHqm0gndcv/X8zK6j9ablMO+571LbjQWJJogcIunLPkJf9Yo4iHAP+QIB3KcihrLj3IHrRhbE8KuQvzCPVAo= [请求密文解析后]:{"eventType":"corpAuth","tenantId":"tenant","timestamp":"1565167553"} [响应Json]:{"timestamp":"1565167553","msg":"success"} [响应密文]:5wwd5oVCbwgvaGzE2W9vPg==kdG1FYbicMlNY77ALZdBtC1ylS0aF+jzff8iyq2Ro1SJqUQCTAG96hLp+A7OyX/Im8IoFQ1XtfE= [响应密文解析后]:{"timestamp":"1565167553","msg":"success"} */
-
为了验证待办中心生成的签名和企业待办服务的签名是否一致,待办管理后台提供测试功能,点击“企业待办服务注册指导”中的配置链接右侧的“测试有效性”,可以打开如下界面。测试方法:按照上述签名步骤准备好服务,并在页面上配置测试参数,点击“test”按钮。待办中心会在请求参数中额外传递一个参数type=test,待办服务可以不用返回真实数据,如截图responseData中仅仅是mock数据,服务端捕获type后做出对应的响应。signature将返回待办中心生成的真实signature,如果双方校验一致待办服务自行返回mock数据,表示通过验证。
推荐直播
-
华为云IoT开源专家实践分享:开源让物联网平台更开放、易用
2024/05/22 周三 16:30-18:00
张俭 华为云IoT DTSE技术布道师
开源,意味着开放、共享、互助、共赢。作为万物上云及各行业数字化的物联网底座,华为云IoT积极拥抱开源,借助行业开源的最佳实践,构建可靠、易用的物联网平台,并通过开放南北向SDK,助力开发者快速构建物联网应用。本期直播,华为云IoT开源专家、物联网平台资深“程序猿”张俭,带你了解华为云IoT的开源生态,并手把手教你玩转开源社区!
去报名 -
华为云开发者日·广州站
2024/05/23 周四 14:30-17:30
华为云专家团
华为云开发者日HDC.Cloud Day是面向全球开发者的旗舰活动,汇聚来自千行百业、高校及科研院所的开发人员。致力于打造开发者专属的技术盛宴,全方位服务与赋能开发者围绕华为云生态“知、学、用、创、商”的成长路径。通过前沿的技术分享、场景化的动手体验、优秀的应用创新推介,为开发者提供沉浸式学习与交流平台。开放创新,与开发者共创、共享、共赢未来。
去报名
热门标签