问卷星开放文档

问卷星开放文档


2.2.1 答卷提交[1001001]

<p>[TOC]</p> <h1>接口地址</h1> <p>生产环境:<code>https://www.wjx.cn/openapi/default.aspx</code> <code>注:如果您已经自定义域名,请将接口地址中的域名www.wjx.cn换成自定义域名</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 {     &amp;quot;encode&amp;quot;: &amp;quot;sha1&amp;quot;,     &amp;quot;vid&amp;quot;: &amp;quot;91432&amp;quot;,     &amp;quot;inputcosttime&amp;quot;: 2,     &amp;quot;appid&amp;quot;: &amp;quot;907&amp;quot;,     &amp;quot;sojumpparm&amp;quot;: &amp;quot;32199&amp;quot;,     &amp;quot;sign&amp;quot;: &amp;quot;ea9795633fcf5428b609020f42e1766f69bcabb4&amp;quot;,     &amp;quot;action&amp;quot;: &amp;quot;1001001&amp;quot;,     &amp;quot;ts&amp;quot;: 1583836856,     &amp;quot;submitdata&amp;quot;: &amp;quot;1$1}2$2}3$2&amp;quot; }</code></pre></li> </ul> <h2>2.2.1.1.1 答卷格式</h2> <p>按以下规则拼接答卷字符串: 1、题目与题目之间以&quot;}&quot;分隔 2、题号与答案之间以&quot;$&quot;分隔</p> <p>提交答卷时需要对问卷星保留特殊字符进行转换,转换规则如下(JavaScript代码):</p> <pre><code class="language-javascript">var spChars = [&amp;quot;$&amp;quot;, &amp;quot;}&amp;quot;, &amp;quot;^&amp;quot;, &amp;quot;|&amp;quot;, &amp;quot;!&amp;quot;, &amp;quot;&amp;lt;&amp;quot;]; var spToChars = [&amp;quot;ξ&amp;quot;, &amp;quot;}&amp;quot;, &amp;quot;ˆ&amp;quot;, &amp;quot;¦&amp;quot;, &amp;quot;!&amp;quot;, &amp;quot;<&amp;quot;]; function replace_specialChar(str) { for (var i = 0; i &amp;lt; spChars.length; i++) { var reg = new RegExp(&amp;quot;(\\&amp;quot; + spChars[i] + &amp;quot;)&amp;quot;, &amp;quot;g&amp;quot;); str = str.replace(reg, spToChars[i]); } if (/^[A-Za-z\s\.,]+$/.test(str)) str = str.replace(/\s+/g, &amp;#039; &amp;#039;); str = str.replace(/[^\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]/ig, &amp;quot;&amp;quot;); return trim(str); }</code></pre> <p>java示例</p> <pre><code class="language-java">private static final String[] SP_CHARS = {&amp;quot;$&amp;quot;, &amp;quot;}&amp;quot;, &amp;quot;^&amp;quot;, &amp;quot;|&amp;quot;, &amp;quot;!&amp;quot;, &amp;quot;&amp;lt;&amp;quot;}; private static final String[] SP_TO_CHARS = {&amp;quot;ξ&amp;quot;, &amp;quot;}&amp;quot;, &amp;quot;ˆ&amp;quot;, &amp;quot;¦&amp;quot;, &amp;quot;!&amp;quot;, &amp;quot;<&amp;quot;}; public static String replaceSpecialChar(String str) { for (int i = 0; i &amp;lt; SP_CHARS.length; i++) { String regex = &amp;quot;\\\\&amp;quot; + SP_CHARS[i]; str = str.replaceAll(regex, SP_TO_CHARS[i]); } if (str.matches(&amp;quot;^[A-Za-z\\s\\.,]+$&amp;quot;)) { str = str.replaceAll(&amp;quot;\\s+&amp;quot;, &amp;quot; &amp;quot;); } str = str.replaceAll(&amp;quot;[^\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]&amp;quot;, &amp;quot;&amp;quot;); return str.trim(); }</code></pre> <p>&lt;table&gt;&lt;tr&gt;&lt;th style=&quot;background-color: rgb(64, 158, 255);color: rgb(255, 255, 255);&quot;&gt;题型&lt;/th&gt;&lt;th style=&quot;background-color: rgb(64, 158, 255);color: rgb(255, 255, 255);&quot;&gt;答卷文本格式&lt;/th&gt;&lt;th style=&quot;background-color: rgb(64, 158, 255);color: rgb(255, 255, 255);&quot;&gt;举例&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;单选题&lt;br&gt;下拉框&lt;br&gt;量表题&lt;br&gt;评分单选&lt;br&gt;情景题&lt;br&gt;判断题&lt;/td&gt;&lt;td&gt;1、答案为选项序号&lt;br&gt;2、跳题时答案使用&quot;-3&quot;代替&lt;br&gt;3、允许填空时选项序号与填空以&quot;^&quot;分隔&lt;/td&gt;&lt;td&gt;1$1&lt;br&gt;1$-3&lt;br&gt;1$1^魂牵梦萦&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;多选题&lt;br&gt;评分多选&lt;br&gt;排序题&lt;br&gt;商品题&lt;/td&gt;&lt;td&gt;1、答案为选项序号&lt;br&gt;2、多个选项之间以&quot;&amp;#124;&quot;分隔&lt;br&gt;3、跳题时答案使用&quot;-3&quot;代替&lt;br&gt;4、允许填空时选项序号与填空以&quot;^&quot;分隔&lt;/td&gt;&lt;td&gt;2$2&amp;#124;3&amp;#124;5&lt;br&gt;2$-3&lt;br&gt;2$2^魂牵梦萦&amp;#124;3&amp;#124;5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;填空题&lt;/td&gt;&lt;td&gt;1、答案为用户填写文本&lt;br&gt;2、跳题时答案使用&quot;(跳过)&quot;代替&lt;/td&gt;&lt;td&gt;3$西安&lt;br&gt;3$(跳过)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;多项填空题&lt;br&gt;普通多项填空&lt;br&gt;考试多项填空&lt;br&gt;考试完型填空&lt;/td&gt;&lt;td&gt;1、答案为用户填写文本&lt;br&gt;2、多个选项之间以&quot;&amp;#124;&quot;分隔&lt;br&gt;3、跳题时答案使用&quot;(跳过)&quot;代替&lt;/td&gt;&lt;td&gt;4$10^2^2^2&lt;br&gt;4$(跳过)^(跳过)^(跳过)^(跳过)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;矩阵单选题&lt;br&gt;矩阵量表题&lt;br&gt;矩阵滑动条&lt;br&gt;表格下拉框&lt;/td&gt;&lt;td&gt;1、行答案由行号加列答案组成&lt;br&gt;2、行号与列答案之间以&quot;!&quot;分隔&lt;br&gt;3、允许填空时列选项与填空以&quot;^&quot;分隔&lt;br&gt;4、行答案之间以&quot;,&quot;分隔&lt;br&gt;5、跳题时答案使用&quot;-3&quot;代替&lt;/td&gt;&lt;td&gt;5$1!1,2!2,3!1&lt;br&gt;5$-3,-3,-3&lt;br&gt;5$1!5^城,2!5^魂牵梦萦,3!1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;矩阵多选题&lt;/td&gt;&lt;td&gt;1、行答案由行号加列答案组成&lt;br&gt;2、行号与列答案之间以&quot;!&quot;分隔&lt;br&gt;3、允许填空时列选项与填空以&quot;^&quot;分隔&lt;br&gt;4、行答案之间以&quot;,&quot;分隔&lt;br&gt;5、多个选项之间使用&quot;;&quot;分隔&lt;br&gt;6、跳题时答案使用&quot;-3&quot;代替&lt;/td&gt;&lt;td&gt;6$1!1;2,2!2;3,3!3;4&lt;br&gt;6$-3,-3,-3&lt;br&gt;6$1!1^城在,2!2,3!1^城在;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;矩阵填空题&lt;br&gt;矩阵数值题&lt;br&gt;表格填空题&lt;br&gt;表格组合题&lt;/td&gt;&lt;td&gt;1、行答案由行号加列答案组成&lt;br&gt;2、行号与列答案之间以&quot;!&quot;分隔&lt;br&gt;3、行答案之间以&quot;^&quot;分隔&lt;br&gt;4、多个选项之间使用&quot;&amp;#124;&quot;分隔&lt;br&gt;5、跳题时答案使用&quot;(跳过)&quot;代替&lt;/td&gt;&lt;td&gt;7$1!需要&amp;#124;88&amp;#124;男^2!魂牵梦萦&amp;#124;88&amp;#124;女&lt;br&gt;7$(跳过)&amp;#124;(跳过)&amp;#124;(跳过)^(跳过)&amp;#124;(跳过)&amp;#124;(跳过)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;表格自增题&lt;/td&gt;&lt;td&gt;1、行答案由行号加列答案组成&lt;br&gt;2、行号与列答案之间以&quot;!&quot;分隔&lt;br&gt;3、行答案之间以&quot;^&quot;分隔&lt;br&gt;4、多个选项之间使用&quot;&amp;#124;&quot;分隔&lt;br&gt;5、自增最大列数中未填写的部分,答案使用使用&quot;Ⅳ&quot;代替&lt;br&gt;6、跳题时答案使用&quot;(跳过)&quot;代替&lt;/td&gt;&lt;td&gt;8$1!1&amp;#124;1&amp;#124;男^2!1&amp;#124;1&amp;#124;女^3!Ⅳ&amp;#124;Ⅳ&amp;#124;Ⅳ^4!Ⅳ&amp;#124;Ⅳ&amp;#124;Ⅳ^5!Ⅳ&amp;#124;Ⅳ&amp;#124;Ⅳ&lt;br&gt;8$(跳过)&amp;#124;(跳过)&amp;#124;(跳过)^(跳过)&amp;#124;(跳过)&amp;#124;(跳过)^(跳过)&amp;#124;(跳过)&amp;#124;(跳过)^(跳过)&amp;#124;(跳过)&amp;#124;(跳过)^(跳过)&amp;#124;(跳过)&amp;#124;(跳过)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</p> <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>

页面列表

ITEM_HTML