API 接入文档

面向自动化软件的接码 API:购买号码、轮询取码、取消退款,全程程序化处理。

🔑 认证方式

登录后在 用户中心 获取 API 密钥(apikey),每个请求二选一携带:

  • URL 参数:?apikey=你的密钥
  • 请求头:X-API-Key: 你的密钥

所有接口均为 GET,统一返回 JSON:{"ok": true/false, ...},失败时含 msg 错误说明。

📡 接口列表

接口参数说明
/api/v1/balance查询余额:{"balance": 可用, "frozen": 冻结}
/api/v1/servicescountry, q, limit服务列表(价格/库存/接码率),可按国家和关键词过滤,默认按接码率降序
/api/v1/countriesservice(必填)某服务可用国家列表(库存、最低价、接码率),默认按接码率降序
/api/v1/buyservice, country(必填)购买号码,返回 order_idphone;余额先冻结
/api/v1/smsorder_id(必填)轮询验证码:status=DONEcode 为验证码,同时自动扣费
/api/v1/cancelorder_id(必填)取消订单(未出码),全额退款
/api/v1/finishorder_id(必填)确认订单完成状态(收码后系统自动完成,无需必调)

⚙️ 规则说明

  • 订单 15 分钟内未出码自动取消并全额退款,不扣费
  • 同一账号最多同时 10 个进行中订单;下单限流 20 次/分钟
  • 价格、库存与近 24 小时接码率定时同步上游;下单前建议先查 services/countries,优先选择 rate 较高的国家
  • 已出码的订单不可取消;收码成功即自动完成扣费

🐍 Python 接入示例

import time, requests

KEY  = "你的API密钥"
BASE = "https://www.haomaleida.com"

def api(path, **params):
    params["apikey"] = KEY
    return requests.get(f"{BASE}{path}", params=params, timeout=30).json()

# 1. 查余额
print(api("/api/v1/balance"))

# 2. 买号(以 telegram / 美国为例,国家代码见 countries 接口)
r = api("/api/v1/buy", service="telegram", country="usa")
if not r["ok"]:
    raise SystemExit(r["msg"])
oid, phone = r["order_id"], r["phone"]
print("号码:", phone)

# 3. 轮询取码(最多 15 分钟)
for _ in range(90):
    s = api("/api/v1/sms", order_id=oid)
    if s["ok"] and s["status"] == "DONE" and s["code"]:
        print("验证码:", s["code"])
        break
    time.sleep(10)
else:
    api("/api/v1/cancel", order_id=oid)   # 超时未出码,取消退款

服务/国家代码可通过 /api/v1/services/api/v1/countries 实时查询;接入问题请联系客服。