问卷网_网络调查平台,问卷调查,报名表、考试测验

开放平台

版本:2.0 updated: 2014-07-23

2.开放接口列表

   2.1.第三方用户登录

   2.2.查看第三方用户项目列表

   2.3.查看项目状态

   2.4.查看项目具体信息

   2.5.答卷链接

   2.6.答卷回调

   2.7.查看结果报表

   2.8.查看答卷详情

   2.9.创建项目

   3.0.删除项目

   3.1.修改项目状态

   3.2.复制项目

   3.3.查看答卷详情列表

1.MD5校验码生成规则

url传入参数按参数字母顺序升序排列,然后调用各编程语言md5库函数生成md5值


以登陆接口为例:调用登录接口时传入

http://apitest.wenjuan.com/openapi/login/?site=99999&user=Mike.Chen&ctime=15-01-01 00:00&email=test@test.com&mobile=13812345678

url传入参数顺序为 site, user, ctime, email, mobile

参数排序后为ctime, email, mobile, site, user

所以md5校验码就为md5(“15-01-01 00:00”+“test@test.com”+“13812345678”+“99999”+“Mike.Chen" + SECRET_KEY) SECRET_KEY由问卷网提供。

/openapi/testmd5/ 这是测试验证签名地址 后面跟对应api后面提供的参数即可

java示例  python示例

2.开放接口列表

2.1.第三方用户登录

/openapi/login/?site=***&user=***&ctime=***&email=***&mobile=***&md5=***

参数名 类型 参数意义 备注
site String 网站编号,由问卷网分配 必须
user String 用户编号,接入方用户的唯一标识 必须
nickname String 用户姓名或昵称, 将与唯一字段拼接, 作为问卷网登录名, 当昵称不存在时, 选用user拼接 可选
ctime DateTime 登录时间戳 "yyyy-mm-dd HH:MM" 必须
email String 用户邮件 必须
mobile String 用户手机号码 可选
md5 String 校验码 必须

通过本接口,用户可直接免登录进入问卷网,在上面创建问卷,发布问卷、查看报表

2.2.查看第三方用户项目列表

/openapi/proj_list/?site=***&user=***&type=***&page=***&num=***&md5=***&status=***

参数名 类型 参数意义 备注
site String 网站编号,由问卷网分配 必须
user String 用户编号 可选
type String 项目类型(form或survey, 默认全部) 可选
page String 查看第几页, 如果不带page参数,则返回所有项目列表 可选
num String 每页包含多少条目,默认20条 可选
status String 问卷状态 可选
md5 String 校验码 必须

如果请求不带user参数,那么获取该site下的所有的项目; 如果带user参数,获得该site该user创建的问卷项目

如果请求带status参数,那么获取指定状态的项目,status的值为delete、created、publish、complete, pdelete中的一个或多个,例:

查特定状态: status=created

查多个状态: status=created|publish|complete|pdelete

返回值:问卷列表数组转换成的json字符串, 列表中的每一项代表一个问卷project

问卷列表数组格式:

[

       {

              'user':'xxxx',    # 如果请求不带user参数,那么包含此字段, 否则不包含此字段

              'proj_id':'QJrMJr',

              'proj_pid':'561756ccf7405b375d07efc4',

              'title':'xx问卷',

              'status':1,

              'ctime':'yyyy-mm-dd HH:MM',

              'updated_time':'yyyy-mm-dd HH:MM',

              'respondent_count':2

              'type':survey

       },

       {

              'user':'xxxx',     # 如果请求不带user参数,那么包含此字段, 否则不包含此字段

              'proj_id':'MaRcKn',

              'proj_pid':'561756ccf7405b375d07efc4',

              'title':'yy问卷',

              'status':2,

              'ctime':'yyyy-mm-dd HH:MM',

              'updated_time':'yyyy-mm-dd HH:MM',

              'respondent_count':5

              'type':survey

       }

]

status 问卷状态:  0:"未发布", 1:"收集中", 2:"已结束", 3:"暂停中", -2:"已删除,"-1:"永久删除

proj_id为问卷ID

proj_pid为问卷的主键

ctime为问卷的创建时间

updated_time为问卷的更新时间

respondent_count为已收集答卷数

2.3.查看项目状态

/openapi/proj_status/?site=***&proj_id=***&md5=***

参数名 类型 参数意义 备注
site String 网站编号,由问卷网分配 必须
proj_id String 项目ID 必须
md5 String 校验码 必须

返回值:

json格式:{'status': 0}

status 问卷状态 0:"未发布", 1:"收集中", 2:"已结束", 3:"暂停中", -2:"已删除", -1:"永久删除"

2.4.查看项目具体信息

/openapi/proj_detail/?site=***&proj_id=***&md5=***

参数名 类型 参数意义 备注
site String 网站编号,由问卷网分配 必须
proj_id String 项目ID 必须
md5 String 校验码 必须

返回值:

json格式:

       {

              'status':1,

              'user':'user'

              'rspd_count':2

       }

status 问卷状态 0:"未发布", 1:"收集中", 2:"已结束", 3:"暂停中", -2:"已删除", -1:"永久删除"

user:用户编号

rspd_count为已收集答卷数

2.5.答卷链接

/s/proj_id/?site=***&user=***&callback=***&md5=***&proj_id=***&redirect_uri=***&test=***

/s/proj_id/ 中proj_id是项目ID,是需要替换的

参数名 类型 参数意义 备注
proj_id String 项目ID 必须
site String 网站编号,由问卷网分配 必须
user String 答题者编号 必须
repeat String 同一答题者可重复答题 可选(1-可重复答题)
callback String 回调地址,需要escape转义,计算md5时使用未转义的callback字符串 可选
redirect_uri String 答题重定向地址,需要escape转义,计算md5时使用未转义的redirect_uri字符串 可选
test String 如果test=1, 那么为答卷预览 可选
md5 String 校验码 必须

通过本接口,答题者即可进入问卷网开始答题。

2.6.答卷回调

参数名 类型 参数意义 备注
user String 用户编号  
proj_id String 项目ID  
status String 答题状态 1: 有效答卷
2: 无效答卷
time Date 当前时间戳  
md5 String 校验码  

如果答题链接的参数里有callback,问卷网会在答题结束后,在callback后加上上述参数,发送一个get请求进行回调

2.7.查看结果报表

/openapi/basic_chart/?site=***&user=***&proj_id=***&md5=***

参数名 类型 参数意义 备注
user String 用户编号 必须
proj_id String 项目ID 必须
site String 网站编号,由问卷网分配 必须
md5 String 校验码 必须

2.8.查看答题者最新一条答卷详情

/openapi/detail?site=***&user=***&proj_id=***&respondent=***&datatype=***&md5=***

参数名 类型 参数意义 备注
user String 用户编号 必须
proj_id String 项目ID 必须
site String 网站编号,由问卷网分配 必须
respondent String 答题者编号 必须
datatype String 返回数据类型(json或html, 默认html) 可选
md5 String 校验码 必须

返回值:根据请求参数显示html页面或json格式数据

       {

              'status':'成功完成',

              'Q1':'{',

              'answer':'选项1',

              'type_desc':'单选题',

              'title':'单选题'

                 },

              'seq':4

              'source':'test'

              'time_used':'0分2秒'

              'ip':'127.0.0.1'

              'finish':'2015-08-12 15:29:26'

              'score':13.0   # 如果project类型是一个测评,那么会有这个分数字段

              'start':'2015-08-12 15:29:24'

       },

2.9.创建项目

/openapi/create?site=***&user=***&type=***&md5=***

参数名 类型 参数意义 备注
user String 用户编号 必须
site String 网站编号,由问卷网分配 必须
type String 项目类型(form或survey, 默认survey) 可选
md5 String 校验码 必须

3.0.删除项目

/openapi/delete?site=***&proj_id=***&md5=***

参数名 类型 参数意义 备注
user String 用户编号 必须
site String 网站编号,由问卷网分配 必须
proj_id String 项目ID 可选
md5 String 校验码 必须

返回值:

json格式:{'status': 'ok'}

其他字符串:错误信息

3.1.修改项目状态

/openapi/changestatus?site=***&proj_id=***&tostatus=***&md5=***

参数名 类型 参数意义 备注
user String 用户编号 必须
site String 网站编号,由问卷网分配 必须
proj_id String 项目ID 必须
tostatus String 状态
(delete、created、publish、complete、pdelete)
必须
md5 String 校验码 必须

返回值:

json格式:{'status': 'ok'}

其他字符串:错误信息

3.2.复制项目

/openapi/copy?site=***&proj_id=***&fromuser=***&touser=***&md5=***

参数名 类型 参数意义 备注
fromuser String 用户编号 必须
site String 网站编号,由问卷网分配 必须
proj_id String 项目ID 必须
touser String 用户编号 必须
md5 String 校验码 必须

返回值:

json格式:{'proj_id': '***'} 返回新项目ID

其他字符串:错误信息

3.3.查看答卷详情列表

/openapi/detail_list?site=***&user=***&proj_id=***&begin_seq=***&length=***&md5=***

参数名 类型 参数意义 备注
user String 用户编号 必须
proj_id String 项目ID 必须
site String 网站编号,由问卷网分配 必须
begin_seq String 开始答卷序号,默认为1 可选
length String 答卷列表长度,默认长度为50 可选
md5 String 校验码 必须

返回值:答卷列表数组转换成的json字符串

问卷列表数组格式:

[

       {

              'status':'成功完成',

              'Q1':'{',

              'answer':'选项1',

              'type_desc':'单选题',

              'title':'单选题'

                 },

              'seq':4

              'source':'test'

              'time_used':'0分2秒'

              'ip':'127.0.0.1'

              'finish':'2015-08-12 15:29:26'

              'start':'2015-08-12 15:29:24'

       },

       {

              'status':'成功完成',

              'Q2':'{',

              'answer':'选项2',

              'type_desc':'单选题',

              'title':'单选题'

                 },

              'seq':4

              'source':'testtest'

              'time_used':'0分3秒'

              'ip':'127.0.0.1'

              'finish':'2015-08-12 15:29:26'

              'score':13.0   # 如果project类型是一个测评,那么会有这个分数字段

              'start':'2015-08-12 15:29:24'

       },

]

答卷列表数组格式

开放平台_问卷网