接口
GET /ServicesList
获取所有服务的列表,包含 ID、单价、数量限制以及 link 的填写方式。 无需身份验证。
请求示例
curl "https://cappiservices.com/api/Reseller/ServicesList"
JSON 响应示例
[
{
"rate": 0.0152,
"service": 199825,
"category": "Steam",
"name": "Steam Like SharedFiles/Screenshots/Guides/Workshop",
"desc": "link: a steamcommunity.com/sharedfiles/filedetails/?id=... URL ...",
"type": "Default",
"min": 1,
"max": 1100,
"active": true,
"optionalParams": []
},
{
"rate": 0.0264,
"service": 199835,
"category": "Steam",
"name": "Steam Profile Comments (your own comments)",
"desc": "link: the profile SteamID64 ... Send \"comments\", \"comments_json\" or package=lib:<id> ...",
"type": "Custom Comments",
"min": 1,
"max": 10000,
"active": true,
"optionalParams": ["delay", "comments_json", "package", "allow_partial"]
}
]
响应参数
| 参数 | 类型 | 说明 |
service | integer | 服务的 ID。 |
rate | decimal | 单价,所有价格均以 USD 计。 |
category | string | 服务所属的分类。 |
name | string | 服务名称。 |
desc | string | 服务说明或使用方法。 |
type | string | Default(link + quantity;评论服务还需要 package)或 Custom Comments(还需要 comments、comments_json 或 package=lib:)。 |
min | integer | 该服务允许的最小数量。 |
max | integer | 该服务允许的最大数量。 |
active | boolean | 服务被关闭或缺货时为 false:RegisterOrder 会拒绝该服务。 |
optionalParams | string[] | 该服务接受的 RegisterOrder 可选参数。 |
GET /Balance
获取持有该 API 密钥的账户当前的钱包余额。
请求参数
| 参数 | 类型 | 说明 |
key | string | 用于身份验证的 API 密钥。 |
请求示例
curl -H "X-Api-Key: YOUR_API_KEY" "https://cappiservices.com/api/Reseller/Balance"
JSON 响应示例
{ "balance": 250.75, "currency": "USD" }
POST /RegisterOrder
创建订单并立即从您的钱包扣款(quantity × rate)。扣款前会先验证 link;当服务不可用、数量超出范围、link 与服务不匹配或余额不足时,订单将被拒绝且不会扣款。
请求参数
| 参数 | 类型 | 说明 |
key | string | 用于身份验证的 API 密钥。 |
serviceId | integer | 服务的 ID。 |
link | string | 订单的目标:URL、SteamID64 或交易链接,取决于具体服务(见服务表)。 |
quantity | integer | 要交付的数量,介于该服务的最小值和最大值之间。 |
comments | string | 仅限自定义评论服务:您的评论,每行一条。 |
comments_json | string | 仅限自定义评论服务,且仅限表单正文:字符串组成的 JSON 数组,每项一条评论(允许换行)。用来代替 comments。 |
package | string | 仅限评论服务。在预设评论服务中为必填;多个值用逗号分隔。 接受 cat:<category>[:<language>] 和 lib:<id>(每个订单最多 10 个 lib:<id>)。在自定义评论服务中:你自己的私有包的 lib:<id>。 |
delay | string | 仅限自定义评论服务:评论之间的间隔;每条评论的价格取决于该间隔。可选,默认 10 Seconds。 |
allow_partial | string | 仅限自定义评论服务:1 = 部分评论未通过时,仅用已通过的评论继续(价格不变)。可选。 |
请求示例
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
-d "serviceId=199825" \
-d "link=https://steamcommunity.com/sharedfiles/filedetails/?id=123456789" \
-d "quantity=100" \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# custom comments (199835): one comment per line, URL-encoded line breaks (%0A) in the form body
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199835" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode "delay=7 Minutes" \
--data-urlencode $'comments=Nice profile!\nGreat games.\n+rep' \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# comments_json (199835-199837, form body only): one comment per item, line breaks kept
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199835" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode 'comments_json=["Nice profile!","GG WP\nsee you next match"]' \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# library (199832-199834, package required): categories and/or packages, comma separated
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199832" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode "package=cat:praise:en,cat:emoji,lib:12" \
"https://cappiservices.com/api/Reseller/RegisterOrder"
JSON 响应示例
{ "success": true, "error": null, "insufficientFunds": false, "orderId": 12345, "charge": 1.52 }
{ "success": false, "error": "Insufficient Funds!!", "insufficientFunds": true, "orderId": 0, "charge": 1.52 }
{ "success": false, "error": "Some comments were not approved (see rejectedIndexes). ...", "insufficientFunds": false, "orderId": 0, "charge": 0,
"acceptedComments": 2, "rejectedComments": 1, "reviewComments": 0, "unverifiedComments": 0, "truncatedComments": 0,
"rejectedIndexes": [2], "rejectedReasons": ["link"] }
响应参数
| 参数 | 类型 | 说明 |
success | boolean | 表示订单是否提交成功。 |
orderId | integer | 已提交订单的 ID。 |
charge | decimal | 已扣除的金额(USD):quantity × rate。 |
insufficientFunds | boolean | 表示订单是否因余额不足而未被处理。 |
error | string | 订单提交失败时的错误信息。 |
acceptedComments
rejectedComments
reviewComments
unverifiedComments
truncatedComments | integer | 仅限自定义评论订单:你的列表中有多少条评论被通过、被拒绝、进入人工审核、未审核(请稍后重试),以及因按 quantity 截取而被略去。 |
rejectedIndexes
rejectedReasons | integer[] string[] | 仅限自定义评论订单:被拒绝的评论在你列表中的位置(从 0 开始)以及每条的原因(format、link、contact 或 policy)。 |
GET /OrderStatus
查询您某个订单的状态和交付数量。
请求参数
| 参数 | 类型 | 说明 |
key | string | 用于身份验证的 API 密钥。 |
orderId | integer | 订单编号。 |
请求示例
curl -H "X-Api-Key: YOUR_API_KEY" "https://cappiservices.com/api/Reseller/OrderStatus?orderId=12345"
JSON 响应示例
{
"status": "Complete",
"charge": 1.52,
"walletReturn": 0.0304,
"mode": "Like_SharedFile",
"sucess": 98,
"success": 98,
"failed": 2,
"quantity": 100,
"remains": 2,
"observation": "Info - Your order was finalized due to a lack of accounts in the database...",
"currency": "USD",
"date": "2026-11-01T14:03:27.1234567Z"
}
响应参数
| 参数 | 类型 | 说明 |
status | string | 订单状态:EnviarParaBackEnd(已付款,等待派发)、NaFila(排队中)、Processing(交付中)或 Complete(已结束:全部交付、部分交付、失败或已取消)。 |
charge | decimal | 创建订单时从您的钱包扣除的金额(USD)。 |
walletReturn | decimal | 未能交付的部分退回您钱包的金额(USD)。在订单变为 Complete 之前为 0。 |
mode | string | 内部服务名称(MODE)。 |
success | integer | 已交付的数量。 |
sucess | integer | 与 success 的值相同。为保持兼容而保留(旧拼写)。 |
failed | integer | 未交付的数量(仅当 status 为 Complete 时才是最终值)。 |
quantity | integer | 下单数量。 |
remains | integer | 仍待交付的数量。 |
observation | string | 关于结果的说明(链接无效、账号不足、已取消等)。全部交付时为空。 |
currency | string | 费用的货币单位。 |
date | string | 创建日期和时间(UTC)。 |