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. 1

    キーを作成する

    アカウントを作成し、プロフィールから API キーを生成します。

  2. 2

    パネルを設定する

    API エンドポイントを PerfectPanel のプロバイダー URL として追加し、WOWLIKE API キーを貼り付けます。

  3. 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.

bash
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 リクエストが許可されます。

キーは秘密にしておいてください。 Store it in a server-side secret or environment variable. Never put it in browser JavaScript, a public repository, screenshots, or support messages.

SERVICES

サービス一覧

このアカウントで現在利用可能なサービスとメンバー固有の価格をインポートします。

POSThttps://wowlike-th.com/api/v2action=services
パラメータタイプ説明
keystringあなたの秘密のWOWLIKEメンバーAPIキー。
action"services"リテラル値サービスである必要があります。
bash
curl -X POST "https://wowlike-th.com/api/v2" \
  -d "key=$WOWLIKE_API_KEY" \
  -d "action=services"

応答例

json
[
  {
    "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

注文を追加

公開されたサービスのオーダーを作成し、現在のメンバー固有の価格を使用してメンバーのウォレットから引き落としします。

POSThttps://wowlike-th.com/api/v2action=add
パラメータタイプ説明
keystringあなたの秘密のWOWLIKEメンバーAPIキー。
action"add"リテラルの付加価値である必要があります。
serviceintegerサービス アクションによって返される永続的な数値のサービス ID。
linkURLページ、投稿、プロフィール、またはメディアのパブリック ターゲット URL。
quantityintegerデフォルトのサービスに必要です。
commentsstringカスタム コメント サービスに必要です。

デフォルトのサービス

bash
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"

カスタムコメントサービス

bash
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 番目のコメント'
json
{
  "order": 9001
}

カスタム コメントの場合は、数量を省略し、コメントを改行で区切られたテキストとして送信します。

転送失敗後、注文番号が返されなかったことが確実な場合にのみ再試行してください。

STATUS

注文状況

API キー所有者に属する 1 つの注文または最大 100 件の注文を読み取ります。

POSThttps://wowlike-th.com/api/v2action=status
パラメータタイプ説明
keystringあなたの秘密のWOWLIKEメンバーAPIキー。
action"status"リテラル値ステータスである必要があります。
orderintegerWOWLIKE 注文番号 1 つ。
ordersstringカンマ区切りの注文番号 (最大 100)。注文と一緒に送信しないでください。

両方の注文を送信するのではなく、どちらか一方を送信してください。

bash
# 単品注文
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"
json
{
  "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 件のアクティブな注文のキャンセルをリクエストします。

POSThttps://wowlike-th.com/api/v2action=cancel
パラメータタイプ説明
keystringあなたの秘密のWOWLIKEメンバーAPIキー。
action"cancel"リテラル値 cancel である必要があります。
ordersstringキャンセルする注文番号をカンマで区切って指定します (最大 100)。
bash
curl -X POST "https://wowlike-th.com/api/v2" \
  -d "key=$WOWLIKE_API_KEY" \
  -d "action=cancel" \
  -d "orders=9001,9002"
json
[
  {"order": 9001, "cancel": 1},
  {"order": 9002, "cancel": {"error": "Error calling provider"}}
]

cancel: 1 は、キャンセル要求が受け入れられたことを意味します。

BALANCE

ユーザー残高

利用可能なメンバーのウォレット残高を THB の 10 進数文字列として返します。

POSThttps://wowlike-th.com/api/v2action=balance
パラメータタイプ説明
keystringあなたの秘密のWOWLIKEメンバーAPIキー。
action"balance"文字通りの値のバランスでなければなりません。
bash
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"
json
{
  "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サービスまたは現在の注文の状態ではキャンセルができません。
The API follows the MeeLike error contract: an invalid key or order-related business error returns HTTP 200 with an error field, request validation returns HTTP 400 with status, message, timestamp, and path, unsupported methods return HTTP 404, and OPTIONS returns HTTP 204.

PHP

Complete PHP example

この小規模クライアントは、TLS 検証を有効にし、接続とリクエストのタイムアウトを使用し、API がエラーを返したときにスローします。

php
<?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 件の注文を読む
bash
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 文字の一意の冪等キーが含まれている必要があります。

成功の封筒

json
{
  "success": true,
  "data": {},
  "error": null
}

統合または予期しない応答を検証するのにサポートが必要ですか? サポートに連絡する