Tài Liệu Tích Hợp API

Sử dụng các endpoint dưới đây để tích hợp công cụ đọc mail (Microsoft Graph API) vào hệ thống của bạn. Tất cả các API đọc thư đều được tích hợp sẵn Smart OTP / Code Extractor tự động bóc tách mã xác nhận ngay trong response.

💡 Smart OTP Extractor: Trường code trong mỗi email sẽ tự động chứa mã xác nhận/OTP tinh gọn để người dùng hoặc bot copy/paste trực tiếp. Hệ thống tự động lược bỏ tiền tố thương hiệu (ví dụ: G-847291847291, FB-391024391024), hỗ trợ mã số có gạch nối (883-574), mã chữ Steam Guard (RD4K9), và mã chữ+số (8F2A1K). Nếu email không chứa mã, trường này sẽ là "" (chuỗi rỗng).
POST /api/read-mail-stream Đọc số lượng lớn tài khoản (NDJSON Streaming)

Tối ưu cho việc đọc từ 50-100 accounts đồng thời. Trả về dữ liệu dạng luồng (stream), mỗi dòng là một JSON độc lập ngay khi có kết quả.

Request Body
"accounts": [
  {
    "email": "test@hotmail.com",
    "password": "pass", // Optional
    "refresh_token": "M.C524_BAY...",
    "client_id": "9e5f94bc-..."
  }
]
Response (application/x-ndjson)
// Dòng 1 stream về ngay lập tức khi account 1 hoàn tất
{
  "email": "test@hotmail.com",
  "status": "ok",
  "messages": [
    {
      "id": "AQQkADAwATM3AD...",
      "subject": "SpaceXAI confirmation code: 883-574",
      "from_name": "SpaceXAI",
      "from_address": "noreply@x.ai",
      "date": "2026-08-17T12:45:00Z",
      "snippet": "Please use the code below to validate your email: 883-574",
      "code": "883-574" // ⭐ Tự động trích xuất mã OTP
    }
  ]
}
// Dòng 2...
{"email": "error@hotmail.com", "status": "error", "error": "Token het han"}
POST /api/mail-all Chỉ định số lượng thư cần đọc của 1 tài khoản

Lấy danh sách N thư mới nhất từ một tài khoản cụ thể (kèm mã xác thực trích xuất nhanh).

Request Body
{
  "refresh_token": "M.C524_BAY...",
  "client_id": "9e5f94bc-...",
  "limit": 10 // Số thư tối đa (Mặc định: 10)
}
Response (application/json)
{
  "messages": [
    {
      "id": "AQQkADAwATM3AD...",
      "subject": "095439 là mã để bạn xác nhận email này",
      "from_name": "Facebook",
      "from_address": "security@facebookmail.com",
      "date": "2026-08-17T11:20:00Z",
      "snippet": "095439 là mã xác nhận tài khoản của bạn",
      "code": "095439" // ⭐ Mã xác nhận Facebook
    },
    {
      "id": "AQQkADAwATM3AE...",
      "subject": "You're almost there!",
      "from_name": "Netflix",
      "from_address": "info@account.netflix.com",
      "date": "2026-08-17T10:15:00Z",
      "snippet": "Tap the link to finish signing up.",
      "code": "" // Thư không chứa mã OTP
    }
  ]
}
POST /api/mail-detail Lấy nội dung HTML chi tiết của 1 thư

Sử dụng Message ID (được trả về ở các API trên) để lấy mã nguồn HTML nguyên bản của email để render / hiển thị, đồng thời tự động bóc tách mã xác nhận nằm sâu trong HTML body.

Request Body
{
  "refresh_token": "M.C524_BAY...",
  "client_id": "9e5f94bc-...",
  "message_id": "AQQkADAwATM3AD..."
}
Response (application/json)
{
  "id": "AQQkADAwATM3AD...",
  "subject": "Steam Guard Code",
  "from_name": "Steam Support",
  "from_address": "noreply@steampowered.com",
  "date": "2026-08-17T13:51:00Z",
  "code": "RD4K9", // ⭐ Mã xác thực Steam Guard
  "html_body": "<html><body>Your login code is: <b>RD4K9</b></body></html>",
  "content_type": "html"
}