API mua Gmail live ngắn: đặt đơn và đọc hộp thư bằng code

Mua Gmail live ngắn không còn chỉ làm được trên web. Mọi việc trang "Mua gmail live ngắn" làm được, từ xem giá, đặt đơn, tải tài khoản đến đọc hộp thư, giờ đều gọi được qua API /v1/mail-shop, bằng đúng API key và số dư bạn đang dùng để thuê Gmail. Đơn mua qua API hiện cả trong tab Lịch sử trên web, và đơn mua trên web cũng đọc được qua API.

Bài này dành cho developer, QA và người làm tự động hóa. Tài liệu đầy đủ và luôn mới nhất nằm ở tài liệu API, mục Mua Gmail live ngắn.

Chín lệnh của API mua Gmail

Lệnh Dùng để
GET /v1/mail-shop/products Xem các loại đang bán: mã sản phẩm, bảng giá theo số lượng, tồn kho, số tối đa mỗi đơn, điều khoản
GET /v1/mail-shop/quote Báo giá cho một số lượng (không giữ hàng)
POST /v1/mail-shop/orders Mua: trừ tiền ngay, tài khoản là của bạn
GET /v1/mail-shop/orders Danh sách đơn, mới nhất trước (không kèm tài khoản)
GET /v1/mail-shop/orders/{id} Một đơn cùng mọi tài khoản đã giao tới lúc đó
GET /v1/mail-shop/orders/{id}/download Tải tài khoản dạng .txt, mỗi tài khoản một dòng
GET /v1/mail-shop/orders/{id}/items/{lineNo}/inbox Đọc thư mới nhất của một tài khoản
POST /v1/mail-shop/orders/{id}/items/{lineNo}/inbox-link Tạo link đọc hộp thư mới hoặc tắt link
GET /v1/mail-shop/orders/{id}/items/{lineNo}/status Kiểm tra tài khoản còn sống

Xác thực giống API thuê: header Authorization: Bearer <API key>, key bắt đầu bằng og_, lấy ở trang tài liệu sau khi đăng nhập.

Luồng bốn bước

  1. Chọn sản phẩm. Gọi GET /v1/mail-shop/products, lấy code của loại muốn mua (ví dụ gm_used), kiểm tra available là true và số lượng không vượt maxQty. Đọc kỹ terms: đó là điều khoản và bảo hành của loại đó.
  2. Báo giá (tùy chọn). GET /v1/mail-shop/quote?product=gm_used&quantity=5 trả đơn giá, tổng tiền và bậc giá áp dụng. Lệnh này không giữ hàng.
  3. Đặt đơn. POST /v1/mail-shop/orders với body {"product": "...", "quantity": n} và header Idempotency-Key mới (UUID). Tiền trừ ngay. Lệnh này chờ giao hàng tối đa khoảng 16 giây, nên đặt timeout phía client ít nhất 60 giây. Phản hồi thường đã là đơn completed kèm items[].
  4. Theo dõi nếu chưa xong. Khi status là queued hoặc processing, gọi GET /v1/mail-shop/orders/{id} mỗi 5 giây tới khi đơn chốt: completed, partial hoặc failed. Đơn nhiều tài khoản có thể giao dần; tài khoản về tới đâu hiện trong items[] tới đó.

Ví dụ Python

Đặt biến môi trường OTPGMAIL_BASE là tên miền OTPGmail kèm https:// (không thêm /v1, vì đường dẫn trong ví dụ đã có sẵn /v1), và thay YOUR_API_KEY bằng key của bạn.

import os, time, uuid, requests

BASE = os.environ["OTPGMAIL_BASE"]
H = {"Authorization": "Bearer YOUR_API_KEY"}

# 1. Chọn một sản phẩm đang bán
products = requests.get(f"{BASE}/v1/mail-shop/products", headers=H, timeout=30).json()["data"]
product = next(p for p in products if p["available"])

# 2. Mua 2 tài khoản: key mới cho mỗi lần mua, giữ lại để thử lại khi timeout
key = str(uuid.uuid4())
r = requests.post(f"{BASE}/v1/mail-shop/orders",
                  json={"product": product["code"], "quantity": 2},
                  headers={**H, "Idempotency-Key": key}, timeout=60)
body = r.json()
if not body["success"]:
    raise SystemExit(f'{r.status_code} {body["error"]["code"]}: {body["error"]["message"]}')
order = body["data"]

# 3. Chờ tới khi đơn chốt
while order["status"] in ("queued", "processing"):
    time.sleep(5)
    order = requests.get(f"{BASE}/v1/mail-shop/orders/{order['id']}", headers=H, timeout=30).json()["data"]

print(order["status"], order["deliveredCount"], order["refundVnd"])
for it in order["items"]:
    print(it["lineNo"], it["email"], "đọc được hộp thư" if it["inbox"] else "")

Ví dụ Node.js

Chạy trên Node 18 trở lên (có sẵn fetch). Key được tạo bên ngoài hàm để lần thử lại dùng đúng key cũ.

import { randomUUID } from "node:crypto";

const BASE = process.env.OTPGMAIL_BASE;
const H = { Authorization: "Bearer YOUR_API_KEY" };

export async function buy(product, quantity, key = randomUUID()) {
  const res = await fetch(`${BASE}/v1/mail-shop/orders`, {
    method: "POST",
    headers: { ...H, "Content-Type": "application/json", "Idempotency-Key": key },
    body: JSON.stringify({ product, quantity }),
    signal: AbortSignal.timeout(60_000),
  });
  const body = await res.json();
  if (!body.success) throw new Error(`${res.status} ${body.error.code}`);
  let order = body.data;
  while (order.status === "queued" || order.status === "processing") {
    await new Promise((r) => setTimeout(r, 5000));
    order = (await (await fetch(`${BASE}/v1/mail-shop/orders/${order.id}`, { headers: H })).json()).data;
  }
  return order;
}

Đọc kết quả: trạng thái, định dạng và hoàn tiền

Tài khoản đã giao là mua đứt, không hoàn ngoài điều khoản của sản phẩm. Bảo hành chỉ cho lần đăng nhập thành công đầu tiên trong 2 giờ sau khi mua: không vào được thì nhắn hỗ trợ kèm mã đơn (id) để được đổi tài khoản khác hoặc hoàn vào số dư, tùy tình trạng kho. Chi tiết ở bài bảo hành Gmail live ngắn.

Đọc hộp thư và kiểm tra còn sống

Các lệnh dưới đây chỉ dùng được cho tài khoản có inbox: true trong items[]:

Đọc hộp thư và kiểm tra còn sống có giới hạn số lần mỗi giờ, dùng chung với web, và kết quả được lưu đệm 15 giây, nên gọi dồn không cho dữ liệu mới hơn. Cách hiểu các trạng thái live, die có ở bài check Gmail live/die.

Idempotency, timeout và lỗi nên xử lý

Dùng API này cho việc gì

API hợp với developer, QA kiểm thử luồng "Đăng nhập bằng Google", hay agency cần tài khoản riêng cho từng dự án ngắn và muốn quy trình chạy tự động. Không dùng để đăng ký tài khoản hàng loạt hay gửi thư rác; hãy tuân thủ điều khoản của Google và của từng nền tảng. Google có thể đòi captcha hoặc xác minh khi đăng nhập Gmail ngắn hạn, và OTPGmail không giải captcha: tool của bạn không tự xử lý được bước này thì đừng mua.

Nếu chỉ cần nhận mã chứ không cần đăng nhập, API thuê Gmail rẻ hơn: xem thuê Gmail qua API cho tool tự động. Tổng quan sản phẩm ở trang mua Gmail live ngắn.

Câu hỏi thường gặp

API mua Gmail có dùng chung key với API thuê Gmail không?

Có. Một API key cho cả hai, cùng một số dư. Đơn mua qua API hiện trong tab Lịch sử của trang mua trên web.

Mua qua API có khác giá trên web không?

Không. API trả đúng giá áp cho tài khoản của bạn, đó cũng là số tiền bị trừ, và giá được khóa lúc mua.

Lệnh mua bị timeout, tôi có bị trừ tiền hai lần không?

Không, nếu bạn gửi lại với đúng Idempotency-Key cũ: hệ thống trả lại đơn đã tạo. Chỉ tạo key mới khi muốn mua thêm.

Đọc được hộp thư của mọi tài khoản đã mua không?

Chỉ tài khoản có inbox: true; xem trường này của từng tài khoản trong items[]. Với tài khoản khác, bạn đăng nhập để đọc thư.

Mua loại "mới, chưa qua dịch vụ" qua API thế nào?

Giống mọi loại khác: lấy code của loại đó từ GET /v1/mail-shop/products, kiểm tra available là true và số lượng không vượt maxQty, rồi mua theo đúng code đó. Tồn kho từng loại cũng hiện trên trang mua.

Mở tài liệu API để lấy key và xem ví dụ đầy đủ, hoặc mua tay thử một tài khoản tại /app/buy.

Bài liên quan

Thuê Gmail nhận OTP ngay

Đăng ký miễn phí, chỉ trừ tiền khi thuê thành công. Không có mã trong 25 phút — hoàn tiền 100% tự động.

Không thấy dịch vụ bạn cần? Bấm Thêm dịch vụ trên trang thuê, admin bổ sung nếu hạ tầng hỗ trợ.

Cần tài khoản Gmail đăng nhập được chứ không chỉ nhận mã? Xem mua Gmail live ngắn · Hoàn tiền và bảo hành