2.2.1 答卷提交[1001001]
<p>[TOC]</p>
<h1>接口地址</h1>
<p>生产环境:<code>https://www.wjx.cn/openapi/default.aspx</code></p>
<ul>
<li>
<h1>2.2.1.1 请求参数格式</h1>
</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
<th>必需</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">vid</td>
<td style="text-align: left;">int</td>
<td>问卷编号</td>
<td>是</td>
<td>问卷星发送问卷链接中activityid的值</td>
</tr>
<tr>
<td style="text-align: left;">inputcosttime</td>
<td style="text-align: left;">int</td>
<td>用户填写时间(秒)</td>
<td>是</td>
<td>用户打开问卷到提交答卷的时间差,单位为秒,当填写时间小于等于1秒时,视为机器提交</td>
</tr>
<tr>
<td style="text-align: left;">submitdata</td>
<td style="text-align: left;">string</td>
<td>答卷内容</td>
<td>是</td>
<td>参见</td>
</tr>
<tr>
<td style="text-align: left;">udsid</td>
<td style="text-align: left;">int</td>
<td>自定义来源编号</td>
<td>否</td>
<td>问卷发送页面中获取</td>
</tr>
<tr>
<td style="text-align: left;">sojumpparm</td>
<td style="text-align: left;">string</td>
<td>自定义链接参数</td>
<td>否</td>
<td>自定义的链接参数,答卷推送或答卷提交后跳转时原样返回</td>
</tr>
</tbody>
</table>
<ul>
<li>举例
<pre><code class="language-csharp">Content-Type:application/json
{
"encode": "sha1",
"vid": "91432",
"submittime": "20200310140600",
"inputcosttime": 2,
"appid": "907",
"sojumpparm": "32199",
"sign": "ea9795633fcf5428b609020f42e1766f69bcabb4",
"action": "1001001",
"ts": 1583836856,
"submitdata": "1$1}2$2}3$2"
}</code></pre></li>
</ul>
<h2>2.2.1.1.1 答卷格式</h2>
<p>按以下规则拼接答卷字符串:
1、题目与题目之间以"}"分隔
2、题号与答案之间以"$"分隔</p>
<p>提交答卷时需要对问卷星保留特殊字符进行转换,转换规则如下(JavaScript代码):</p>
<pre><code class="language-javascript">var spChars = ["$", "}", "^", "|", "!", "<"];
var spToChars = ["ξ", "}", "ˆ", "¦", "!", "<"];
function replace_specialChar(str) {
for (var i = 0; i < spChars.length; i++) {
var reg = new RegExp("(\\" + spChars[i] + ")", "g");
str = str.replace(reg, spToChars[i]);
}
if (/^[A-Za-z\s\.,]+$/.test(str))
str = str.replace(/\s+/g, ' ');
str = str.replace(/[^\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]/ig, "");
return trim(str);
}</code></pre>
<table><tr><th style="background-color: rgb(64, 158, 255);color: rgb(255, 255, 255);">题型</th><th style="background-color: rgb(64, 158, 255);color: rgb(255, 255, 255);">答卷文本格式</th><th style="background-color: rgb(64, 158, 255);color: rgb(255, 255, 255);">举例</th></tr><tr><td>单选题<br>下拉框<br>量表题<br>评分单选<br>情景题<br>判断题</td><td>1、答案为选项序号<br>2、跳题时答案使用"-3"代替<br>3、允许填空时选项序号与填空以"^"分隔</td><td>1$1<br>1$-3<br>1$1^魂牵梦萦</td></tr><tr><td>多选题<br>评分多选<br>排序题<br>商品题</td><td>1、答案为选项序号<br>2、多个选项之间以"|"分隔<br>3、跳题时答案使用"-3"代替<br>4、允许填空时选项序号与填空以"^"分隔</td><td>2$2|3|5<br>2$-3<br>2$2^魂牵梦萦|3|5</td></tr><tr><td>填空题</td><td>1、答案为用户填写文本<br>2、跳题时答案使用"(跳过)"代替</td><td>3$西安<br>3$(跳过)</td></tr><tr><td>多项填空题<br>普通多项填空<br>考试多项填空<br>考试完型填空</td><td>1、答案为用户填写文本<br>2、多个选项之间以"|"分隔<br>3、跳题时答案使用"(跳过)"代替</td><td>4$10^2^2^2<br>4$(跳过)^(跳过)^(跳过)^(跳过)</td></tr><tr><td>矩阵单选题<br>矩阵量表题<br>矩阵滑动条<br>表格下拉框</td><td>1、行答案由行号加列答案组成<br>2、行号与列答案之间以"!"分隔<br>3、允许填空时列选项与填空以"^"分隔<br>4、行答案之间以","分隔<br>5、跳题时答案使用"-3"代替</td><td>5$1!1,2!2,3!1<br>5$-3,-3,-3<br>5$1!5^城,2!5^魂牵梦萦,3!1</td></tr><tr><td>矩阵多选题</td><td>1、行答案由行号加列答案组成<br>2、行号与列答案之间以"!"分隔<br>3、允许填空时列选项与填空以"^"分隔<br>4、行答案之间以","分隔<br>5、多个选项之间使用";"分隔<br>6、跳题时答案使用"-3"代替</td><td>6$1!1;2,2!2;3,3!3;4<br>6$-3,-3,-3<br>6$1!1^城在,2!2,3!1^城在;4</td></tr><tr><td>矩阵填空题<br>矩阵数值题<br>表格填空题<br>表格组合题</td><td>1、行答案由行号加列答案组成<br>2、行号与列答案之间以"!"分隔<br>3、行答案之间以"^"分隔<br>4、多个选项之间使用"|"分隔<br>5、跳题时答案使用"(跳过)"代替</td><td>7$1!需要|88|男^2!魂牵梦萦|88|女<br>7$(跳过)|(跳过)|(跳过)^(跳过)|(跳过)|(跳过)</td></tr><tr><td>表格自增题</td><td>1、行答案由行号加列答案组成<br>2、行号与列答案之间以"!"分隔<br>3、行答案之间以"^"分隔<br>4、多个选项之间使用"|"分隔<br>5、自增最大列数中未填写的部分,答案使用使用"Ⅳ"代替<br>6、跳题时答案使用"(跳过)"代替</td><td>8$1!1|1|男^2!1|1|女^3!Ⅳ|Ⅳ|Ⅳ^4!Ⅳ|Ⅳ|Ⅳ^5!Ⅳ|Ⅳ|Ⅳ<br>8$(跳过)|(跳过)|(跳过)^(跳过)|(跳过)|(跳过)^(跳过)|(跳过)|(跳过)^(跳过)|(跳过)|(跳过)^(跳过)|(跳过)|(跳过)</td></tr><tr><td></td><td></td><td></td></tr></table>
<h1>2.2.1.2 响应参数列表</h1>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
<th>必需</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">vid</td>
<td style="text-align: left;">int</td>
<td>问卷编号</td>
<td>是</td>
</tr>
<tr>
<td style="text-align: left;">jid</td>
<td style="text-align: left;">long</td>
<td>答卷编号</td>
<td>是</td>
</tr>
<tr>
<td style="text-align: left;">index</td>
<td style="text-align: left;">long</td>
<td>答卷序号</td>
<td>是</td>
<td>从1开始按提交时间的顺序编号</td>
</tr>
<tr>
<td style="text-align: left;">jumpurl</td>
<td style="text-align: left;">string</td>
<td>跳转地址</td>
<td>是</td>
<td>提交答卷成功后的跳转地址</td>
</tr>
<tr>
<td style="text-align: left;">sojumpparm</td>
<td style="text-align: left;">string</td>
<td>自定义链接参数</td>
<td>否</td>
<td>提交答卷请求中带入该值时,原样返回</td>
</tr>
<tr>
<td style="text-align: left;">udsid</td>
<td style="text-align: left;">int</td>
<td>自定义来源编号</td>
<td>否</td>
<td>提交答卷请求中带入该值时,原样返回</td>
</tr>
</tbody>
</table>