跳至主要內容

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.