認証
ServicesList以外のすべてのリクエストにはAPIキーが必要です。次の3つの方法のいずれかで送信してください:
HTTPヘッダー X-Api-Key(推奨:キーがURLやサーバーログに残りません)。
クエリ文字列のパラメーター key。
application/x-www-form-urlencoded 形式のボディ内のフィールド key(POSTのみ)。
2026年11月より前に作成されたキーには + や / が含まれている場合があります。クエリ文字列で送信するときはURLエンコードしてください。そうしないと + がスペースになり、キーが拒否されます。新しいキーは16進数64文字で、エンコードは不要です。
リクエストとレスポンス
パラメーターはクエリ文字列またはフォームボディ(POST)で送信します。成功すると HTTP 200 を返し、業務エラーの場合は error フィールド付きで HTTP 400 を返します(RegisterOrder では success も false になります)。注文が拒否された場合、残高は引き落とされません。
IPアドレスごとに1分あたり120リクエストまで。上限を超えると、APIは Retry-After ヘッダー付きで HTTP 429 を返します。
エンドポイント
GET /ServicesList
すべてのサービスの一覧を、ID、単価、制限、リンクの入力方法とともに取得します。 認証は不要です。
リクエストの例
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"]
}
]
レスポンスパラメーター
パラメーター 型 説明
serviceinteger サービスのID。
ratedecimal 単価。価格はすべてUSDです。
categorystring サービスのカテゴリー。
namestring サービス名。
descstring サービスの説明、または利用方法。
typestring Default(link + quantity。コメントサービスは package も必要)または Custom Comments(comments、comments_json または package=lib: も必要)。
mininteger サービスで指定できる最小数量。
maxinteger サービスで指定できる最大数量。
activeboolean サービスが停止中または在庫切れの場合は false:RegisterOrder で拒否されます。
optionalParamsstring[] サービスが受け付ける RegisterOrder の任意パラメーター。
GET /Balance
APIキーの所有アカウントの現在のウォレット残高を取得します。
リクエストパラメーター
パラメーター 型 説明
keystring 認証用の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)。リンクは引き落とし前に検証されます。サービスが利用不可、数量が範囲外、リンクがサービスに一致しない、または残高不足の場合、注文は拒否され、引き落としは行われません。
リクエストパラメーター
パラメーター 型 説明
keystring 認証用のAPIキー。
serviceIdinteger サービスのID。
linkstring 注文の対象。サービスに応じて、URL、SteamID64、またはトレードURLを指定します(サービス表を参照)。
quantityinteger 配送するユニット数。サービスの min と max の範囲内で指定します。
commentsstring 独自コメントのサービスのみ:コメントを1行に1件ずつ指定します。
comments_jsonstring 独自コメントのサービスのみ、フォーム本文のみ:文字列の JSON 配列で1要素に1コメント(改行可)。comments の代わりに使用します。
packagestring コメントのサービスのみ。用意済みコメントのサービスでは必須で、複数の値はカンマで区切ります。 cat:<category>[:<language>] と lib:<id> を受け付けます(1注文あたり lib:<id> は最大 10 個)。独自コメントのサービスでは、自分の非公開パッケージの lib:<id> を指定します。
delaystring 独自コメントのサービスのみ:コメントの間隔。コメント1件あたりの料金はこの間隔の料金です。任意で、デフォルトは 10 Seconds です。
allow_partialstring 独自コメントのサービスのみ: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"] }
レスポンスパラメーター
パラメーター 型 説明
successboolean 注文が正常に登録されたかどうかを示します。
orderIdinteger 登録された注文のID。
chargedecimal 引き落とされた金額(USD):quantity × rate。
insufficientFundsboolean 残高不足のために注文が処理されなかったかどうかを示します。
errorstring 注文の登録に失敗した場合のエラーメッセージ。
acceptedCommentsrejectedCommentsreviewCommentsunverifiedCommentstruncatedCommentsinteger 独自コメントの注文のみ:リスト内のコメントのうち、承認、拒否、手動審査行き、未審査(後でもう一度お試しください)、quantity への切り詰めで除外された件数。
rejectedIndexesrejectedReasonsinteger[] string[] 独自コメントの注文のみ:拒否されたコメントのリスト内の位置(0 から)と、それぞれの理由(format、link、contact、policy)。
GET /OrderStatus
ご自身の注文1件のステータスと配送数を取得します。
リクエストパラメーター
パラメーター 型 説明
keystring 認証用のAPIキー。
orderIdinteger 注文の識別番号。
リクエストの例
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"
}
レスポンスパラメーター
パラメーター 型 説明
statusstring 注文のステータス:EnviarParaBackEnd(支払い済み、送信待ち)、NaFila(キュー待ち)、Processing(配送中)、Complete(完了:全量配送、一部配送、失敗、またはキャンセル)。
chargedecimal 注文の作成時にウォレットから引き落とされた金額(USD)。
walletReturndecimal 配送できなかったユニット分としてウォレットに返金された金額(USD)。注文が Complete になるまでは 0 です。
modestring 内部サービス名(MODE)。
successinteger 配送されたユニット数。
sucessinteger success と同じ値です。互換性のために残されています(旧スペル)。
failedinteger 配送されなかったユニット数(確定するのはステータスが Complete のときのみ)。
quantityinteger 注文したユニット数。
remainsinteger まだ配送されていないユニット数。
observationstring 結果に関するメッセージ(無効なリンク、アカウント不足、キャンセルなど)。すべて配送された場合は空です。
currencystring 請求額の通貨。
datestring 作成日時(UTC)。