帮助中心

API调用说明

一、介绍

本文档作为Web端提供给第三方URL接口开发的依据

二、访问说明

1.所有请求采用HTTP访问,使用POST方式。 2.请使用UTF-8编码 3.所有返回结果使用JSON数据格式 4.使用此API前先联系客户经理开通权限,立即沟通权限申请 5.获取API/SDK的使用权限信息,点击查看

三、接口定义

1. 接口URL

http://e.vhall.com/api/vhallapi/v1/{资源名}/{函数名} http://e.vhall.com/api/vhallapi/v2/{资源名}/{函数名} v2完全兼容v1, 它们的区别,如: webinar/list接口v1平台返回json: {"code":"200","msg":"成功","data":{"lists":"[{"webinar_id":87654321,"subject":"活动标题", "start_time":"2015-02-12 18:00:00","status":3,"desc":""}]","total":1}} webinar/list接口v2平台返回json: {"code":"200","msg":"成功","data":{"lists":[{"webinar_id":87654321,"subject":"活动标题","start_time" :"2015-02-12 18:00:00","status":3,"desc":""}],"total":1}}

2. 公共请求数据

参数名 类型 必选 说明
auth_type int 授权类型,1为验证帐号和密码(目前只通过帐号和密码验证),2为appkey/secretkey验证方式,使用说明见“5、签名方式调用”
account string auth_type为1时为必填项,用于登录e.vhall.com的帐号,是在“帐号设置”页面里查找到的“帐号”
password string auth_type为1时为必填项,用于登录e.vhall.com的密码,用于登录的密码
接口中必须包含公共请求参数,接口页面中只描述所需不同的请求参数!

3. 返回值说明

所有返回值一律为JSON格式,形如: {'code':200,'data':****}

4. 响应示例PHP版

$url = 'http://e.vhall.com/api/vhallapi/v2/webinar/create';//webinar为资源名,create为函数名 $post_data = array( 'auth_type'=>'1', 'account'=>'vhall', 'password'=>'XXXXX', 'subject'=>'myvhall', 'start_time'=>1376934451, ); $data = http_build_query($post_data); $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_TIMEOUT, 6); $result = curl_exec($ch); curl_close($ch); var_dump($result);//操作成功,返回{'code':200,'data':'123456789'}

5. 签名方式调用

如果auth_type为2时,每个接口必须填写以下公共参数:
参数名 类型 必选 说明
auth_type int 授权类型,1为验证帐号和密码(目前只通过帐号和密码验证),2为appkey/secretkey验证方式
app_key string auth_type为2时为必填项, 点击获取app_key/secrect_key, 使用说明见“5、签名方式调用”
signed_at string auth_type为2时为必填项, unix时间戳
sign string auth_type为2时为必填项,见下面的生成规则
接口中必须包含公共请求参数,接口页面中只描述所需不同的请求参数! 参数sign的生成规则如下: 将接口中要求传递的所有参数(不包含sign,但包含auth_type、app_key、signed_at):
1按参数名升序排列
2然后按参数名1+参数值+参数名2+参数值拼接
3在首尾各加上secret_key
4计算md5作为sign
以接口”webinar_start_获取发起直播页面url”为例:点击查看接口说明 公共参数包括:auth_type、app_key、signed_at
专有参数包括:webinar_id
所以,在调用该接口时,应将上述所有参数一起签到sign中。
对于其他接口,公共参数部分不变,要将该接口的专有参数全部签入sign。
<?php /**** * 本示例代码是webinar_start_url接口的sign计算。 * 其他接口所签参数依据该接口专有参数确定。 */ $secret_key = "user_secret_key";   $params = [ "app_key" => "user_app_key", "auth_type"=> 2, "signed_at" => "timestamp_now", "webinar_id" => "123456789",//这个参数是本接口专有参数,其他接口使用该接口的参数。 ];   // 按参数名升序排列 ksort($params);   // 将键值组合 array_walk($params,function(&$value,$key){ $value = $key . $value; });   // 拼接,在首尾各加上$secret_key,计算MD5值 $sign = md5($secret_key . implode('',$params) . $secret_key);   // 结果形如 // $sign=md5("user_secret_keyapp_keyuser_app_keyauth_type2signed_attimestamp_nowwebinar_id123456789user_secret_key");   // 计算结果 // $sign = '4de932c67d65f26c6537ffb3a75401c3';