Xifarm
More

Search services

Browse services

Facebook Engagement Bundles↗Facebook Live Stream Views↗Instagram Engagement Services↗Quora Engagement Bundles↗SoundCloud Engagement Bundles↗Telegram Engagement Services↗TikTok Engagement Bundles↗Twitch Engagement Bundles↗

Navigation

Shop/API 分销商接口

API 分销商接口

API 分销商接口

POST /api/ · JSON 响应 · VIP 卡密作为 key

支持 application/json 和表单编码。请在服务端调用,勿将卡密放进网页源码或 URL。

查询卡密与消费记录 →

MCP 接入:在 AI 助手中使用同一套 API 能力 →

服务列表 services

返回本站当前可售套餐。price 是套餐总价(元),price_minor 是最小货币单位,rate 按每 1000 单位折算供比较。当前套餐为固定数量,quantity/min/max 相同;下单按该数量填写,可用 package_id 精确指定套餐。可选 search、category 过滤,传 limit(1–100)和 cursor 分页;不分页时返回数组,分页时返回 services 与 next_cursor。

{
  "key": "YOUR_VIP_CARD",
  "action": "services"
}

提交订单 add

服务端重新计价并使用卡余额付款。建议传 request_id UUID,超时后保持编号与内容完全一致,避免重复扣款;为兼容原接口,不传编号时每次请求都会新建订单。评论使用 comment_input(换行分隔),关键词使用 hashtag_input,也可使用纯文本 details;多个文本参数内容冲突会拒绝。复杂套餐仍按服务端规则校验,不自动替换服务。

{
  "key": "YOUR_VIP_CARD",
  "action": "add",
  "sku": "从服务列表获取",
  "quantity": 100,
  "link": "https://www.instagram.com/example/",
  "request_id": "生成并保存一个 UUID"
}

订单状态 status

最多 100 个订单号;只返回该卡归属的已迁入订单,处理中订单可尝试更新供应商状态。返回 charge、url、count、status、currency、payment_state、refund 等;无法取得的 start_count、remains 返回 null。canceled 不代表已退款;同步失败时返回已保存状态并标注 sync_unavailable。

{
  "key": "YOUR_VIP_CARD",
  "action": "status",
  "order": "原订单号1,原订单号2"
}

下单前报价 quote

扩展接口:只报价,不创建订单、不扣款。返回 quote_id、amount_minor、currency、expires_at 与 terms,有效期 5 分钟。包月 terms 标明每帖数量、帖子数和天数。核对后可用 action=add、quote_id、request_id 和 max_amount 下单;max_amount 为该币种最小单位,人民币 100 分为 1 元。报价下单不要同时再传 sku、link 等另一组订单内容。

{
  "key": "YOUR_VIP_CARD",
  "action": "quote",
  "sku": "从服务列表获取",
  "quantity": 100,
  "link": "https://www.instagram.com/example/"
}

卡密余额 balance

返回 balance、available、currency,金额以元表示。查询不激活卡密、不扣款。

{
  "key": "YOUR_VIP_CARD",
  "action": "balance"
}

Python 调用示例

import os, requests

response = requests.post(
    "https://www.xifarm.com/api/",
    json={"key": os.environ["ZFENSI_CARD"], "action": "balance"},
    timeout=30,
)
response.raise_for_status()
print(response.json())

本地调试把域名改为当前本地地址。正式域名是否已运行新接口,以部署验收结果为准。

错误处理

INVALID_CARD:卡密无效或过期;OFFER_UNAVAILABLE:没有匹配套餐;IDEMPOTENCY_CONFLICT:重复编号的内容发生变化;RATE_LIMITED:请求过于频繁。资金不足时不创建成功订单。

PRICE_LIMIT_EXCEEDED:金额超过上限;QUOTE_EXPIRED:报价过期;AMBIGUOUS_PACKAGE:需补充 package_id;CONFLICTING_DETAILS:文本参数或报价参数冲突。所有金额由服务端核算,客户端自填 price、charge 不会覆盖报价。

核对报价后再下单

import os, uuid, requests

base_url = "https://www.xifarm.com/api/"
key = os.environ["ZFENSI_CARD"]
quote = requests.post(base_url, json={
    "key": key, "action": "quote",
    "sku": os.environ["ZFENSI_SKU"],
    "quantity": int(os.environ["ZFENSI_QUANTITY"]),
    "link": os.environ["ZFENSI_TARGET"]
}, timeout=30)
quote.raise_for_status()
quote = quote.json()
print(quote)

# 核对目标、金额和币种后执行;保存 payload 用于超时重试
payload = {
    "key": key, "action": "add",
    "quote_id": quote["quote_id"],
    "request_id": str(uuid.uuid4()),
    "max_amount": quote["amount_minor"]
}
# 付费操作:重试时复用上面的 payload,不生成新 UUID
order = requests.post(base_url, json=payload, timeout=30)
order.raise_for_status()
print(order.json())