PerfectPanel 互換プロバイダー API
パネルをWOWLIKEに接続します
サービスのインポート、注文、配送の追跡、キャンセルのリクエスト、THB 残高の読み取りのための本番環境に対応したリファレンスです。
- HTTPメソッド
- POST
- APIエンドポイント
- https://wowlike-th.com/api/v2
- 互換性のあるエイリアス
- https://wowlike-th.com/api/v1
- 応答フォーマット
- JSON
始めましょう
3 つのステップで接続する
PerfectPanel または一般的な SMM パネル API 形式をサポートするクライアントで同じ API URL とキーを使用します。
- 1
キーを作成する
アカウントを作成し、プロフィールから API キーを生成します。
- 2
パネルを設定する
API エンドポイントを PerfectPanel のプロバイダー URL として追加し、WOWLIKE API キーを貼り付けます。
- 3
スモークテストを実行する
Request your balance, then import services. A JSON balance response confirms the connection.
Use https://wowlike-th.com/api/v2 as the primary endpoint. If the provider panel connects through API version 1, use https://wowlike-th.com/api/v1. Both endpoints use the same API key and return the same service data.
curl -X POST "https://wowlike-th.com/api/v2" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=$WOWLIKE_API_KEY" \
-d "action=balance"安全
すべてのリクエストを認証する
key という名前のフォームフィールドに API キーを送信します。
鍵のライフサイクル
アカウントごとに 1 つの API キーをアクティブにできます。
レート制限
読み取りアクションでは、1 分あたり 120 リクエストが許可されます。
SERVICES
サービス一覧
このアカウントで現在利用可能なサービスとメンバー固有の価格をインポートします。
https://wowlike-th.com/api/v2action=services| パラメータ | タイプ | 説明 |
|---|---|---|
| key | string | あなたの秘密のWOWLIKEメンバーAPIキー。 |
| action | "services" | リテラル値サービスである必要があります。 |
curl -X POST "https://wowlike-th.com/api/v2" \
-d "key=$WOWLIKE_API_KEY" \
-d "action=services"応答例
[
{
"service": 123,
"name": "ผู้ติดตาม Instagram — เสถียร",
"nameEn": "Instagram followers — stable",
"descriptionEn": "Stable delivery with refill support.",
"type": "Default",
"rate": 42,
"min": 100,
"max": 10000,
"dripfeed": false,
"refill": true,
"cancel": true,
"category": "บริการ Instagram ประเทศไทย",
"categoryEn": "บริการ Instagram ประเทศไทย"
},
{
"service": 124,
"name": "ความคิดเห็นกำหนดเอง",
"nameEn": "Custom comments",
"descriptionEn": null,
"type": "Custom Comments",
"rate": 85,
"min": 10,
"max": 1000,
"dripfeed": false,
"refill": false,
"cancel": false,
"category": "บริการ Instagram ประเทศไทย",
"categoryEn": "บริการ Instagram ประเทศไทย"
}
]service is the permanent ID allocated by WOWLIKE and does not depend on a provider ID. category and categoryEn contain the service group; rate, min, and max are JSON numbers, while dripfeed, refill, and cancel publish the effective service capabilities.
すべてのリクエストは、応答キャッシュを使用せずに、最新の会員価格、制限、および利用可能なサービスのリストを返します。
ADD
注文を追加
公開されたサービスのオーダーを作成し、現在のメンバー固有の価格を使用してメンバーのウォレットから引き落としします。
https://wowlike-th.com/api/v2action=add| パラメータ | タイプ | 説明 |
|---|---|---|
| key | string | あなたの秘密のWOWLIKEメンバーAPIキー。 |
| action | "add" | リテラルの付加価値である必要があります。 |
| service | integer | サービス アクションによって返される永続的な数値のサービス ID。 |
| link | URL | ページ、投稿、プロフィール、またはメディアのパブリック ターゲット URL。 |
| quantity | integer | デフォルトのサービスに必要です。 |
| comments | string | カスタム コメント サービスに必要です。 |
デフォルトのサービス
curl -X POST "https://wowlike-th.com/api/v2" \
-d "key=$WOWLIKE_API_KEY" \
-d "action=add" \
-d "service=123" \
--data-urlencode "link=https://example.com/post" \
-d "quantity=1000"カスタムコメントサービス
curl -X POST "https://wowlike-th.com/api/v2" \
-d "key=$WOWLIKE_API_KEY" \
-d "action=add" \
-d "service=124" \
--data-urlencode "link=https://example.com/post" \
--data-urlencode $'comments=最初のコメント\n2 番目のコメント'{
"order": 9001
}カスタム コメントの場合は、数量を省略し、コメントを改行で区切られたテキストとして送信します。
転送失敗後、注文番号が返されなかったことが確実な場合にのみ再試行してください。
STATUS
注文状況
API キー所有者に属する 1 つの注文または最大 100 件の注文を読み取ります。
https://wowlike-th.com/api/v2action=status| パラメータ | タイプ | 説明 |
|---|---|---|
| key | string | あなたの秘密のWOWLIKEメンバーAPIキー。 |
| action | "status" | リテラル値ステータスである必要があります。 |
| order | integer | WOWLIKE 注文番号 1 つ。 |
| orders | string | カンマ区切りの注文番号 (最大 100)。注文と一緒に送信しないでください。 |
両方の注文を送信するのではなく、どちらか一方を送信してください。
# 単品注文
curl -X POST "https://wowlike-th.com/api/v2" \
-d "key=$WOWLIKE_API_KEY" -d "action=status" -d "order=9001"
# 複数の注文
curl -X POST "https://wowlike-th.com/api/v2" \
-d "key=$WOWLIKE_API_KEY" -d "action=status" -d "orders=9001,9002"{
"9001": {
"charge": "42",
"start_count": "1250",
"status": "In progress",
"remains": "600",
"currency": "THB"
},
"9002": {"error": "Incorrect order ID"}
}ステータス値
| 状態 | 説明 |
|---|---|
| Pending | 受信し、送信または処理を待っています。 |
| Processing | プロバイダーによって送信され、準備中です。 |
| In progress | 現在配信中です。 |
| Completed | 要求された数量すべてが納品されました。 |
| Partial | 注文の一部は配達され、未配達の残りは返金されました。 |
| Canceled | 注文はキャンセルまたは失敗し、該当する残高が返金されました。 |
CANCEL
注文をキャンセルする
サービスが cancel: true をアドバタイズしている、最大 100 件のアクティブな注文のキャンセルをリクエストします。
https://wowlike-th.com/api/v2action=cancel| パラメータ | タイプ | 説明 |
|---|---|---|
| key | string | あなたの秘密のWOWLIKEメンバーAPIキー。 |
| action | "cancel" | リテラル値 cancel である必要があります。 |
| orders | string | キャンセルする注文番号をカンマで区切って指定します (最大 100)。 |
curl -X POST "https://wowlike-th.com/api/v2" \
-d "key=$WOWLIKE_API_KEY" \
-d "action=cancel" \
-d "orders=9001,9002"[
{"order": 9001, "cancel": 1},
{"order": 9002, "cancel": {"error": "Error calling provider"}}
]cancel: 1 は、キャンセル要求が受け入れられたことを意味します。
BALANCE
ユーザー残高
利用可能なメンバーのウォレット残高を THB の 10 進数文字列として返します。
https://wowlike-th.com/api/v2action=balance| パラメータ | タイプ | 説明 |
|---|---|---|
| key | string | あなたの秘密のWOWLIKEメンバーAPIキー。 |
| action | "balance" | 文字通りの値のバランスでなければなりません。 |
curl -X POST "https://wowlike-th.com/api/v2" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=$WOWLIKE_API_KEY" \
-d "action=balance"{
"balance": "1250.7500",
"currency": "THB"
}エラー処理
Errors use a predictable JSON shape
PerfectPanel-compatible responses return an error field instead of the successful payload. Bulk actions report errors on the affected order so other items can still succeed.
| エラー | 意味 |
|---|---|
| Invalid API key | キーが見つからないか、形式が間違っているか、取り消されているか、アクティブなメンバーと一致しません。 |
| Too many requests | 現在の読み取りまたは突然変異のレート制限を超えています。 |
| Invalid request parameters | アクションまたはその必須パラメータの 1 つが欠落しているか、形式が不正です。 |
| Service not found | パブリック サービス ID が存在しないか、使用できません。 |
| Incorrect order ID | 注文は存在しないか、別のメンバーに属しています。 |
| Insufficient balance | ウォレットに十分なTHB残高がありません。 |
| Invalid quantity | 数量がサービスの最小値または最大値を超えています。 |
| Error calling provider | サービスまたは現在の注文の状態ではキャンセルができません。 |
PHP
Complete PHP example
この小規模クライアントは、TLS 検証を有効にし、接続とリクエストのタイムアウトを使用し、API がエラーを返したときにスローします。
<?php
final class WowlikeApi {
public function __construct(
private string $apiUrl,
private string $apiKey,
) {}
public function call(string $action, array $parameters = []): array {
$handle = curl_init($this->apiUrl);
curl_setopt_array($handle, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => http_build_query([
'key' => $this->apiKey,
'action' => $action,
...$parameters,
]),
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_HTTPHEADER => ['Accept: application/json'],
]);
$body = curl_exec($handle);
if ($body === false) {
throw new RuntimeException(curl_error($handle));
}
$result = json_decode($body, true, flags: JSON_THROW_ON_ERROR);
if (isset($result['error'])) {
throw new RuntimeException((string) $result['error']);
}
return $result;
}
}
$api = new WowlikeApi('https://wowlike-th.com/api/v2', getenv('WOWLIKE_API_KEY'));
$services = $api->call('services');
$order = $api->call('add', [
'service' => 123,
'link' => 'https://example.com/post',
'quantity' => 1000,
]);
$commentOrder = $api->call('add', [
'service' => 124,
'link' => 'https://example.com/post',
'comments' => "First comment\nSecond comment",
]);
$status = $api->call('status', ['order' => $order['order']]);
$statuses = $api->call('status', ['orders' => '9001,9002']);
$cancellations = $api->call('cancel', ['orders' => '9001,9002']);REST API
高度なREST API
カスタム サーバー統合には REST インターフェイスを使用します。これにより、HTTP ステータス コード、一貫した応答エンベロープ、冪等の注文作成のメリットが得られます。
| 方法 | 終点 | 目的 |
|---|---|---|
| GET | /api/v1/member/services | 利用可能なサービスを一覧表示する |
| GET | /api/v1/member/balance | ウォレット残高を読み取る |
| POST | /api/v1/member/orders | 冪等な順序を作成する |
| GET | /api/v1/member/orders/{orderNumber} | 1 件の注文を読む |
curl "https://wowlike-th.com/api/v1/member/services?locale=ja" \
-H "Authorization: Bearer $WOWLIKE_API_KEY"
curl -X POST "https://wowlike-th.com/api/v1/member/orders" \
-H "Authorization: Bearer $WOWLIKE_API_KEY" \
-H "Idempotency-Key: merchant-order-2026-0001" \
-H "Content-Type: application/json" \
-d '{"serviceId":123,"targetUrl":"https://example.com/post","quantity":1000}'ベアラー認証
Send the same member key in Authorization: Bearer <key>. REST endpoints return HTTP 401, 403, 422, or 429 when applicable.
安全な再試行
すべての REST 注文リクエストには、最大 200 文字の一意の冪等キーが含まれている必要があります。
成功の封筒
{
"success": true,
"data": {},
"error": null
}統合または予期しない応答を検証するのにサポートが必要ですか? サポートに連絡する