运作方式
请求的处理流程
您的系统使用自己的API密钥请求某位学生或某个班级的数据,API以只读方式返回相应记录。
dns您的系统您的学生信息管理系统或报表工具。
arrow_forwardkey您的API密钥随每个请求一同发送,并与您的学校绑定。
arrow_forwardapiSmrt English API面向学生和班级数据的只读接口。
arrow_forwardtable_view您的记录以JSON格式返回的成绩、考勤和班级学生名单。
Smrt English API
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.