跳至正文

API文档

Smrt English客户API

这是一个只读API,将学生和班级记录返回至您所在机构的系统。每个API密钥(API key)只能访问其所属机构的数据。

打开测试中心

运作方式

请求的处理流程

您的系统使用自己的API密钥请求某位学生或某个班级的数据,API以只读方式返回相应记录。

您的系统您的学生信息管理系统或报表工具。
您的API密钥随每个请求一同发送,并与您的学校绑定。
Smrt English API面向学生和班级数据的只读接口。
您的记录以JSON格式返回的成绩、考勤和班级学生名单。
keyboard_arrow_up

Smrt English API

error Error Handling

Error Response Format

All errors follow a consistent JSON structure:

{
  "error": true,
  "message": "Human-readable error description",
  "status_code": 401,
  "error_code": "AUTH_FAILED"
}

HTTP Status Codes

Status Code Meaning When It Occurs
200 OK Successful request
401 Unauthorized Invalid or missing API key
404 Not Found Student or class not found or not in your school
405 Method Not Allowed Using wrong HTTP method (only GET supported)
422 Validation Error Invalid parameter format (e.g., malformed email)
429 Too Many Requests Rate limit exceeded (if implemented)
500 Internal Server Error Server error (contact support)

Common Error Responses

Invalid API Key

{
  "error": true,
  "message": "Invalid or missing API key",
  "status_code": 401,
  "error_code": "AUTH_FAILED"
}

Causes:

  • API key not included in header
  • API key is incorrect
  • API key has been deactivated by Smrt English
  • Wrong header name used

Solution: Verify your API key and header format. If issues persist, contact your Smrt English representative.

Student Not Found

{
  "error": true,
  "message": "The requested student was not found or you don't have permission to access it",
  "status_code": 404,
  "error_code": "NOT_FOUND"
}

Causes:

  • Student ID doesn't exist in the Smrt English system
  • Student belongs to a different institution
  • Student account has been deleted
  • Email address doesn't match any student enrolled at your institution

Solution: Verify the student ID/email and confirm the student is enrolled at your institution through Smrt English.

Method Not Allowed

{
  "error": true,
  "message": "Method not allowed",
  "status_code": 405,
  "error_code": "METHOD_NOT_ALLOWED"
}

Causes:

  • Using POST, PUT, DELETE, or PATCH instead of GET

Solution: This is a read-only API. Use GET method only.