// REST API

REST API 文档

工具类接口使用 GET 请求,返回形如 { "status": "success", "data": … } 的 JSON。登录后在 API Docs 页面获取 ?api_key= 参数进行认证。

接口列表

基础 URL: https://mailsmmo.com

GET/api/v1/services

服务 — 价格与库存

不带 ?service= 返回完整列表;带 ?service= 返回单个服务的价格和库存。无需 API 密钥。

无需认证

  • service (可选) — 留空返回完整列表;填写代码返回单个服务(也接受简写,如 facebook)

成功

{ "status": "success", "data": { "services": [
    { "code": "otp_gmail_facebook", "name": "Facebook", "price": 5000, "stock": 42 }
  ] } }

GET/api/v1/me

账户信息

当前调用所用 API 密钥对应的 ID、邮箱和余额。

需要 API 密钥

成功

{ "status": "success", "data": { "id": "b7e5...-uuid", "email": "demo@mailsmmo.com", "balance": 1000000, "created_at": "2026-01-15T08:30:00Z" } }

GET/api/v1/orders

创建订单

同一个接口处理两种情况:service 为 Gmail OTP 代码(otp_gmail_*)时分配 1 个 OTP 邮箱;为库存商品代码(hotmail_*…)时按 quantity 购买。按标价扣费。

需要 API 密钥

  • service — OTP 服务代码(otp_gmail_*)或库存商品代码(如 hotmail_imap_12m_36m)
  • quantity (可选) — 仅适用于一次性售出的邮箱 — 数量(默认 1)
  • unique_key (可选) — 自行生成的 UUID — 重发不会重复创建或扣费

成功

{ "status": "success", "data": {
    "id": "b7e5a1c2-3d4e-4f60-8a91-2c3d4e5f6a7b", "email": "zurhansuzu@gmail.com",
    "service": "otp_gmail_facebook", "amount": 5000
  } }

GET/api/v1/orders/otp

按订单获取 OTP

读取某个订单的 OTP。无需 API 密钥 — 订单号(order_id)即访问凭证。

无需认证

  • order_id — 订单号(创建订单时返回)
  • unique_key (可选) — 每次调用自行生成的 UUID
  • from (可选) — Unix 秒 — 若没有更新的验证码则不返回 otp/received_at

成功

{ "status": "success", "data": {
    "otp": "481253", "amount": 5000, "received_at": 1732000000,
    "from": "security@facebookmail.com", "otp_history": [
      { "value": "481253", "received_at": 1732000000 }
    ] } }

GET/api/v1/otp/orders

OTP 订单列表

已租用的 Gmail OTP 订单(分页),附带每个订单的最新 OTP。

需要 API 密钥

  • page (可选) — 页码(默认 1)
  • page_size (可选) — 每页行数(默认 20,最大 200)

成功

{ "status": "success", "data": { "orders": [
    { "id": "b7e5a1c2-3d4e-4f60-8a91-2c3d4e5f6a7b", "email": "...", "service": "otp_gmail_facebook",
      "latest_otp": "481253", "latest_link": null }
  ], "page": 1, "page_size": 20, "total": 137 } }

GET/api/v1/mail

读取全部邮件

某个邮箱的全部邮件,附带已提取的 OTP/链接。

需要 API 密钥

  • order_id — 订单号

成功

{ "status": "success", "data": { "count": 1, "messages": [
    { "id": 88, "from": "...", "subject": "...", "otp": "481253", "received_at": "..." }
  ] } }

常见错误码

{ "status": "error", "message": "out_of_stock", "retryable": true }
  • unauthorized — API 密钥无效或缺失(HTTP 401)
  • invalid_request — 请求参数无效(HTTP 400)
  • not_found — 未找到服务、订单或接口(HTTP 404)
  • insufficient_balance — 余额不足(HTTP 402)
  • out_of_stock — 缺货(HTTP 409)——Gmail OTP:可重试,几秒后再试;买断邮箱:等待补货
  • service_unavailable — 服务器暂时无法完成订单——请使用相同的 unique_key 重试(HTTP 503,可重试)
  • in_progress — 订单正在处理,或可能已在供应商处创建——请使用相同的 unique_key 重试(HTTP 409,可重试)
  • forbidden — 无权访问该资源(HTTP 403)
  • idempotency_mismatch — unique_key 已用于其他请求——请使用新的 unique_key(HTTP 422)
  • order_cancelled — 订单在扣费前被释放,未扣费——请重试(HTTP 409,可重试)
  • too_many_requests — 请求过于频繁——稍后重试(HTTP 429,可重试)
  • auth_unavailable — 暂时无法验证 API 密钥,密钥本身没问题——请重试(HTTP 503,可重试)
  • shutting_down — 服务器正在重启——几秒后重试(HTTP 503,可重试)
  • payload_too_large — 请求数据过大(HTTP 413)
  • internal_server_error — 系统错误,请稍后重试(HTTP 500)

面向 AI 和工具的文档

完整的 Markdown 文档位于 https://mailsmmo.com/llms.txt —— 粘贴到 Cursor、Claude 或 ChatGPT 中即可生成集成代码。

使用 unique_key 安全重试

每个订单都附带一个 unique_key(自行生成的 UUID)。如果网络中断,使用同一个 unique_key 重试:你会拿回同一个订单,不会新建订单,也不会重复扣费。

错误格式

出错时,响应只包含 status、message(snake_case 格式的错误代码)和 retryable,后者告诉你是否应该重试。

立即开始使用 MailSMMO

免费注册,充值钱包,几分钟内即可租到第一个邮箱。

创建账号 →