Tài liệu API
Tích hợp dịch vụ email tạm thời của chúng tôi vào ứng dụng của bạn một cách dễ dàng.
Giới thiệu
Chào mừng bạn đến với tài liệu API của TempMail. API của chúng tôi cho phép bạn tạo, quản lý và nhận email tạm thời theo chương trình.
Tất cả các phản hồi đều ở định dạng JSON. Chúng tôi sử dụng các mã trạng thái HTTP tiêu chuẩn để chỉ thị sự thành công hoặc thất bại của các yêu cầu.
Base URL
Thay thế `api.tempmailvip.io.vn` bằng backend URL thực tế của bạn nếu đang chạy ở môi trường khác.
Xác thực
Hầu hết các API công cộng không yêu cầu xác thực. Tuy nhiên, các API Admin yêu cầu một khóa bí mật trong Header.
| Header | Mô tả |
|---|---|
| X-Admin-Secret | Mã bí mật Admin cho các yêu cầu quản trị. |
Lấy danh sách Domains
Trả về danh sách các tên miền email hiện có hỗ trợ.
Phản hồi
| Field | Type | Description |
|---|---|---|
| success | boolean | Trạng thái yêu cầu. |
| domains | array | Danh sách các domain. |
curl -X GET "https://api.tempmailvip.io.vn/api/domains"
{
"success": true,
"domains": [
"tempmailvip.io.vn"
]
}
Danh sách tin nhắn
Lấy danh sách tất cả email nhận được cho một địa chỉ email cụ thể.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Có | Địa chỉ email cần kiểm tra. | |
| page | integer | Không | Số trang (mặc định 1). |
curl -X GET "https://api.tempmailvip.io.vn/api/messages?email=test@tempmailvip.io.vn"
{
"messages": [
{
"id": "uuid-v4",
"from": "sender@example.com",
"subject": "Hello World",
"body": "HTML content here...",
"time": "2026-01-11T...",
"isRead": false
}
],
"pagination": {
"page": 1,
"total": 1,
"totalPages": 1
}
}
Real-time Updates (SSE)
Sử dụng Server-Sent Events để nhận thông báo ngay lập tức khi có email mới đến.
Thiết lập kết nối Server-Sent Events để nhận thông báo thời gian thực.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| string | Email cần theo dõi. |
curl -N "https://api.tempmailvip.io.vn/api/sse?email=user@tempmailvip.io.vn"
{
"type": "update",
"newCount": 1
}
Đánh dấu đã đọc
Đánh dấu một tin nhắn cụ thể là đã đọc.
Request Body
| Field | Type | Description |
|---|---|---|
| string | Địa chỉ email. | |
| id | string | ID tin nhắn. |
curl -X POST "https://api.tempmailvip.io.vn/api/messages/mark-read" \
-H "Content-Type: application/json" \
-d '{
"email": "test@tempmailvip.io.vn",
"id": "msg-123"
}'
{ "success": true }
Xoá tin nhắn
Xoá một hoặc toàn bộ tin nhắn trong hòm thư.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| string | Địa chỉ email. | |
| id | string | ID (bỏ trống để xoá hết). |
curl -X DELETE "https://api.tempmailvip.io.vn/api/messages?email=t@tempmailvip.io.vn&id=msg1"
{ "success": true }
Đăng ký người dùng
Tạo tài khoản mới để quản lý các hòm thư tạm thời.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| username | string | Có | Ít nhất 3 ký tự. |
| string | Có | Email thật để nhận OTP. | |
| password | string | Có | Ít nhất 6 ký tự. |
curl -X POST "https://api.tempmailvip.io.vn/api/auth/register" \
-H "Content-Type: application/json" \
-d '{
"username": "newuser",
"email": "user@example.com",
"password": "strongpassword"
}'
{ "success": true }
Đăng nhập
Xác thực người dùng và nhận thông tin tài khoản.
Request Body
| Field | Type | Description |
|---|---|---|
| username | string | Tên đăng nhập. |
| password | string | Mật khẩu. |
curl -X POST "https://api.tempmailvip.io.vn/api/auth/login" \
-H "Content-Type: application/json" \
-d '{
"username": "user123",
"password": "password123"
}'
{
"success": true,
"user": {
"username": "user123",
"email": "real@example.com"
}
}
Thông tin hồ sơ
Lấy thông tin chi tiết của người dùng đang đăng nhập.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| username | string | Tên đăng nhập. |
curl -X GET "https://api.tempmailvip.io.vn/api/user/get-profile?username=user123"
{
"username": "user123",
"email": "test@example.com"
}
Danh sách hòm thư đã lưu
Lấy danh sách các địa chỉ email tạm thời mà người dùng đã lưu vào tài khoản.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| username | string | Tên đăng nhập. |
curl -X GET "https://api.tempmailvip.io.vn/api/user/inboxes?username=user123"
{
"success": true,
"inboxes": [
{ "address": "temp@tempmailvip.io.vn" }
]
}
⚠️ Xử lý lỗi
API trả về các mã lỗi HTTP tiêu chuẩn. Luôn kiểm tra status code trước khi xử lý response.
📊 HTTP Status Codes
| Code | Ý nghĩa | Mô tả |
|---|---|---|
| 200 | OK | Yêu cầu thành công. |
| 400 | Bad Request | Dữ liệu đầu vào không hợp lệ. |
| 401 | Unauthorized | Thiếu hoặc sai thông tin xác thực. |
| 404 | Not Found | Không tìm thấy tài nguyên. |
| 429 | Too Many Requests | Vượt quá giới hạn rate limit. |
| 500 | Server Error | Lỗi server nội bộ. |
{
"success": false,
"error": "Invalid email format"
}
💡 Best Practices
- Luôn sử dụng try-catch để xử lý exception
- Log lỗi để debug dễ dàng hơn
- Hiển thị thông báo lỗi thân thiện cho người dùng
- Retry với exponential backoff cho lỗi 429, 500
📝 Lưu ý quan trọng
⚡ Rate Limiting
API giới hạn 60 requests/phút cho mỗi IP address. Vượt quá sẽ nhận HTTP 429.
✅ Email Validation
Email phải có format hợp lệ: user@domain.com
🗂️ Data Retention
Email sẽ được lưu trữ trong 7 ngày, sau đó tự động xóa.
👤 User Cleanup
Tài khoản không hoạt động sẽ bị xóa sau 30 ngày.
🔒 Security
- Không chia sẻ thông tin đăng nhập
- Sử dụng HTTPS cho mọi request
- Không lưu password dưới dạng plain text
- Thường xuyên đổi mật khẩu
async function fetchWithRetry(url, options, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
const response = await fetch(url, options);
if (response.status === 429) {
const retryAfter = response.headers.get('Retry-After') || 60;
console.log(`Rate limited. Retry after ${retryAfter}s`);
await new Promise(r => setTimeout(r, retryAfter * 1000));
continue;
}
return response;
}
throw new Error('Max retries exceeded');
}