Neukol API--EN


Classroom report data query interface

<h5>Interface introduction</h5> <ul> <li>Classroom report data query</li> </ul> <h5>Interface information</h5> <table> <thead> <tr> <th style="text-align: left;"></th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">URL</td> <td style="text-align: left;"><a href="https://neukol.axzt.net/edu_openapi/billing/classData">https://neukol.axzt.net/edu_openapi/billing/classData</a></td> </tr> <tr> <td style="text-align: left;">HTTP Request Methods</td> <td style="text-align: left;">POST</td> </tr> <tr> <td style="text-align: left;">Coding format</td> <td style="text-align: left;">UTF-8</td> </tr> </tbody> </table> <h5>Request header</h5> <table> <thead> <tr> <th style="text-align: left;">Field name</th> <th style="text-align: left;">Type</th> <th style="text-align: left;">Required</th> <th style="text-align: left;">Description</th> <th style="text-align: left;">Example</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">no</td> <td style="text-align: left;">no</td> <td style="text-align: left;">no</td> <td style="text-align: left;">no</td> <td style="text-align: left;">no</td> </tr> </tbody> </table> <h5>表单参数</h5> <table> <thead> <tr> <th style="text-align: left;">Field name</th> <th style="text-align: left;">Type</th> <th style="text-align: left;">Required</th> <th style="text-align: left;">Description</th> <th style="text-align: left;">Example</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">sid</td> <td style="text-align: left;">String</td> <td style="text-align: left;">True</td> <td style="text-align: left;">Institution ID</td> <td style="text-align: left;">5f1140092302bd0ac2dbc7c4</td> </tr> <tr> <td style="text-align: left;">sign</td> <td style="text-align: left;">String</td> <td style="text-align: left;">True</td> <td style="text-align: left;">Fixed 32-bit all lowercase characters, institution authentication security key,sign=MD5(params+SECRET),Among them, params represents the concatenated string of all parameters in the request body except sign in lexicographic order(like: “key1=value1key2=value2”)</td> <td style="text-align: left;">c09636a3a529a386fdaa389228e36fac</td> </tr> <tr> <td style="text-align: left;">timestamp</td> <td style="text-align: left;">Long</td> <td style="text-align: left;">True</td> <td style="text-align: left;">Unix Epoch timestamp within 20 minutes of current calling interface, unit: milliseconds</td> <td style="text-align: left;">1600140360000</td> </tr> <tr> <td style="text-align: left;">classRoomId</td> <td style="text-align: left;">String</td> <td style="text-align: left;">True</td> <td style="text-align: left;">Class section ID</td> </tr> <tr> <td style="text-align: left;">callBack</td> <td style="text-align: left;">boolean</td> <td style="text-align: left;">True</td> <td style="text-align: left;">whether to trigger the callback interface ( i.e. treasure live / cal _ over / interface )</td> </tr> </tbody> </table> <h5>Response parameter explanation</h5> <table> <thead> <tr> <th style="text-align: left;">Parameter name</th> <th style="text-align: left;">Type</th> <th>Description</th> <th>Example</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">responseHeader</td> <td style="text-align: left;">Object</td> <td>Response header information</td> </tr> <tr> <td style="text-align: left;"> └status</td> <td style="text-align: left;">int</td> <td>HTTP corresponding status code</td> <td>200</td> </tr> <tr> <td style="text-align: left;"> └msg</td> <td style="text-align: left;">String</td> <td>Error message</td> <td>OK</td> </tr> <tr> <td style="text-align: left;">response</td> <td style="text-align: left;">Object</td> <td>Response body content</td> </tr> <tr> <td style="text-align: left;"> └sid</td> <td style="text-align: left;">String</td> <td>Institution ID</td> <td>60486d95e5e9bee409ba5b14</td> </tr> <tr> <td style="text-align: left;"> └classroomId</td> <td style="text-align: left;">String</td> <td>Class section ID</td> <td>60498219e5e9be24642e5a45</td> </tr> <tr> <td style="text-align: left;"> └studentsNumber</td> <td style="text-align: left;">String</td> <td>Classrooms numbers ( including teachers and assistants )</td> <td>3</td> </tr> <tr> <td style="text-align: left;"> └mcNumber</td> <td style="text-align: left;">String</td> <td>Teacher sets the number of answering machines</td> <td>6</td> </tr> <tr> <td style="text-align: left;"> └rpdNumber</td> <td style="text-align: left;">String</td> <td>Teacher sets the number of responders</td> <td>4</td> </tr> <tr> <td style="text-align: left;"> └classDuration</td> <td style="text-align: left;">String</td> <td>Total class time (unit: seconds)</td> <td>989</td> </tr> <tr> <td style="text-align: left;"> └data</td> <td style="text-align: left;">List<Object></td> <td>Student Bookstore</td> <td></td> </tr> <tr> <td style="text-align: left;">  └uid</td> <td style="text-align: left;">String</td> <td>Student uid</td> <td>86166421663238823</td> </tr> <tr> <td style="text-align: left;">  └userId</td> <td style="text-align: left;">String</td> <td>Student userid(userid specified when booking a class section),Format 1: 3-20 digits plus character combination ID does not allow special characters to exist, which means ordinary account(like: tea00001),Format 2 : country code + character’ # ‘ + mobile phone number, indicating mobile phone account number(like: 86#15751860597)</td> <td>stu001</td> </tr> <tr> <td style="text-align: left;">  └name</td> <td style="text-align: left;">String</td> <td>Student name</td> <td>Zhang San</td> </tr> <tr> <td style="text-align: left;">  └joinTime</td> <td style="text-align: left;">Long</td> <td>Class entry time, timestamp, unit: milliseconds</td> <td>1615430733502</td> </tr> <tr> <td style="text-align: left;">  └stayDuration</td> <td style="text-align: left;">Integer</td> <td>Attendance duration, unit: seconds</td> <td>866</td> </tr> <tr> <td style="text-align: left;">  └correctMcNumber</td> <td style="text-align: left;">Integer</td> <td>Number of correct answers</td> <td>1</td> </tr> <tr> <td style="text-align: left;">  └rpdNumber</td> <td style="text-align: left;">Integer</td> <td>Number grabbed when answering</td> <td>1</td> </tr> <tr> <td style="text-align: left;">  └cupNumber</td> <td style="text-align: left;">Integer</td> <td>Number of trophies obtained</td> <td>1</td> </tr> <tr> <td style="text-align: left;">  └raiseHandsNumber</td> <td style="text-align: left;">Integer</td> <td>Number of hands raised</td> <td>1</td> </tr> <tr> <td style="text-align: left;">  └bgNumber</td> <td style="text-align: left;">Integer</td> <td>Number of times on the blackboard</td> <td>1</td> </tr> </tbody> </table> <h5>Request example</h5> <pre><code>POST /edu_openapi/billing/classData HTTP/1.1 Host: neukol.axzt.net Content-Type: application/x-www-form-urlencoded Cookie: JSESSIONID=FBB6DC9832FC5A73CB00473EF8BAF6E1 Content-Length: 142 timestamp=1615435761632&amp;sid=60486d95e5e9bee409ba5b14&amp;sign=c68f444df2000ce4b427d48e49a7c827&amp;classRoomId=60498219e5e9be24642e5a45&amp;callBack=false</code></pre> <h5>Response example</h5> <pre><code>{ "responseHeader": { "status": 200, "msg": "OK" }, "response": { "sid": "60486d95e5e9bee409ba5b14", "classroomId": "60498219e5e9be24642e5a45", "studentsNumber": "3", "mcNumber": "6", "rpdNumber": "4", "classDuration": "989", "data": [ { "uid": "86166421663238823", "userId": "stu001", "name": "stu001", "joinTime": 1615430733502, "stayDuration": 866, "correctMcNumber": 1, "noCommitMcNumber": 0, "rpdNumber": 2, "cupNumber": 17, "raiseHandsNumber": 6, "bgNumber": 2 }, { "uid": "864879353572641", "userId": "stu002", "name": "stu002", "joinTime": 1615430649659, "stayDuration": 944, "correctMcNumber": 1, "noCommitMcNumber": 0, "rpdNumber": 2, "cupNumber": 4, "raiseHandsNumber": 2, "bgNumber": 1 } ] } }</code></pre> <h5>Error code</h5> <table> <thead> <tr> <th style="text-align: left;">Error code</th> <th>Explanation</th> </tr> </thead> <tbody> </tbody> </table>

页面列表

ITEM_HTML