توثيق API
واجهة برمجة التطبيقات للعملاء من Smrt English
واجهة برمجة تطبيقات للقراءة فقط ترسل سجلات الطلاب والفصول إلى أنظمة مؤسستكم. ولا يصل كل مفتاح API إلا إلى بيانات مؤسسته.
آلية العمل
كيف يعمل الطلب.
يطلب نظامكم بيانات طالب أو فصل بمفتاح API المخصص له، وتعيد واجهة برمجة التطبيقات السجلات للقراءة فقط.
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.