• curl
  • Ruby
  • Python
  • PHP
  • Node

Informations

API documentation for the OnPanel SMM Panel

پنل نمایندگان خدمات تلگرام اینستاگرام فالوور لایک ویو

شما در ان پنل تمامی خدمات اینستاگرام، تلگرام، روبیکا، ایتا و ... را میتوانید با کمترین قیمت و بالاترین کیفیت دریافت کنید.

API نمایندگان قابل اتصال به اسمارت پنل و قالب کندو می باشد.

API آن پنل بر خلاف دیگر نمایندگان که از سیستم اسکریپت اماده استفاده می کنند، بهبود سازی شده که سرعت و پردازش سریع تری بدون نیاز تغییر در اسکریپتتان آماده استفاده می باشد.

Please pay attention to the following points before implementation:

1. OnPanel APIs are RESTful, and requests and responses are exchanged in JSON format.

2. OnPanel will only respond to requests sent under the https domain.

3. You can use the following API in all panels under PerfectPanel, SmartPanel, Kando template, and more.

You can Get API Key from your personal dashboard Sign Up for a API Key

Get Started

OnPanel API allows you to interact with our platform programmatically, enabling you to automate follow, like and view for SMM panel Instagram, Telegram, Rubika, Eitaa, etc

HTTP Method

POST https://onpanel.ir/api/v2

Response format

JSON

Service List

GET Page Data

Endpoint to retrieve all OnPanel services.

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action services Fixed for get service list

To request page data, use this code:

                  
                    curl -X POST \
                      -H "Content-Type: application/json" \
                      -d '{
                        "key": "YOUR_API_KEY",
                        "action": "services"
                      }' \
                      https://onpanel.ir/api/v2
                  
                  
                    require 'net/http'
                    require 'uri'
                    require 'json'

                    uri = URI.parse("https://onpanel.ir/api/v2")

                    http = Net::HTTP.new(uri.host, uri.port)
                    http.use_ssl = true

                    request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
                    request.body = {
                      "key" => "YOUR_API_KEY",
                      "action" => "services"
                    }.to_json

                    response = http.request(request)
                    puts JSON.parse(response.body)
                  
                  
                    import requests

                    url = "https://onpanel.ir/api/v2"

                    payload = {
                        "key": "YOUR_API_KEY",
                        "action": "services"
                    }

                    headers = {
                        "Content-Type": "application/json"
                    }

                    response = requests.post(url, json=payload, headers=headers)
                    print(response.json())
                  
                  
                    $url = "https://onpanel.ir/api/v2";

                    $data = array(
                        "key" => "YOUR_API_KEY",
                        "action" => "services"
                    );

                    $options = array(
                        'http' => array(
                            'header' => "Content-Type: application/json\r\n",
                            'method' => 'POST',
                            'content' => json_encode($data)
                        )
                    );

                    $context = stream_context_create($options);
                    $result = file_get_contents($url, false, $context);

                    if ($result === FALSE) {
                        echo "Error";
                    } else {
                        echo $result;
                    }
                  
                  
                    const axios = require('axios');

                    const url = 'https://onpanel.ir/api/v2';

                    const data = {
                        key: 'YOUR_API_KEY',
                        action: 'services',
                    };

                    axios.post(url, data, {
                        headers: {
                            'Content-Type': 'application/json',
                        },
                    })
                        .then(response => {
                            console.log(response.data);
                        })
                        .catch(error => {
                            console.error(error);
                        });
                  
                

The above command returns JSON structured like this:

                  
                    [
                      {
                          "service": "1",
                          "name": "فالوور سرور الماس[پیشنهادی]",
                          "type": "Default",
                          "rate": "50000.00",
                          "min": "50",
                          "max": "10000",
                          "dripfeed": false,
                          "refill": true,
                          "cancel": false,
                          "category": "بازدید(ویو) IGTV و معمولی"
                      },
                      {
                          "service": "2",
                          "name": "ویوریلز سرور2[سرعت مناسب]",
                          "type": "Default",
                          "rate": "25000.00",
                          "min": "50",
                          "max": "9998",
                          "dripfeed": false,
                          "refill": false,
                          "cancel": false,
                          "category": "فالوور"
                      },...
                    ]
                  
                

Add order

Endpoint to add an order on OnPanel services

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action add Fixed for add order
service SERVICE_ID Service id that can get from service list.
link LINK_URL Link to page or id base on service description.
quantity QUANTITY_AMOUNT Needed quantity.
runs RUN_TO_DELIVER Runs to deliver (optional) you can use when dripfeed is true on that service.
interval INTERVAL_MINTUES Interval in minutes (optional) you can use when dripfeed is true on that service.

To request post data, use this code:

                  
                    curl -X POST \
                      -H "Content-Type: application/json" \
                      -d '{
                        "key": "YOUR_API_KEY",
                        "action": "add",
                        "service": "SERVICE_ID",
                        "link": "LINK_URL",
                        "quantity": QUANTITY_AMOUNT
                      }' \
                      https://onpanel.ir/api/v2
                  
                  
                    require 'net/http'
                    require 'uri'
                    require 'json'

                    uri = URI.parse("https://onpanel.ir/api/v2")

                    http = Net::HTTP.new(uri.host, uri.port)
                    http.use_ssl = true

                    request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
                    request.body = {
                      "key" => "YOUR_API_KEY",
                      "action" => "add",
                      "service" => "SERVICE_ID",
                      "link" => "LINK_URL",
                      "quantity" => QUANTITY_AMOUNT
                    }.to_json

                    response = http.request(request)
                    puts JSON.parse(response.body)
                  
                  
                    import requests

                    url = "https://onpanel.ir/api/v2"

                    payload = {
                        "key": "YOUR_API_KEY",
                        "action": "add",
                        "service": "SERVICE_ID",
                        "link": "LINK_URL",
                        "quantity": QUANTITY_AMOUNT
                    }

                    headers = {
                        "Content-Type": "application/json"
                    }

                    response = requests.post(url, json=payload, headers=headers)
                    print(response.json())
                  
                  
                    $url = "https://onpanel.ir/api/v2";

                    $data = array(
                        "key" => "YOUR_API_KEY",
                        "action" => "add",
                        "service" => "SERVICE_ID",
                        "link" => "LINK_URL",
                        "quantity" => QUANTITY_AMOUNT
                    );

                    $options = array(
                        'http' => array(
                            'header' => "Content-Type: application/json\r\n",
                            'method' => 'POST',
                            'content' => json_encode($data)
                        )
                    );

                    $context = stream_context_create($options);
                    $result = file_get_contents($url, false, $context);

                    if ($result === FALSE) {
                        echo "Error";
                    } else {
                        echo $result;
                    }
                  
                  
                    const axios = require('axios');

                    const url = 'https://onpanel.ir/api/v2';

                    const data = {
                        key: 'YOUR_API_KEY',
                        action: 'add',
                        service: 'SERVICE_ID',
                        link: 'LINK_URL',
                        quantity: QUANTITY_AMOUNT,
                    };

                    axios.post(url, data, {
                        headers: {
                            'Content-Type': 'application/json',
                        },
                    })
                        .then(response => {
                            console.log(response.data);
                        })
                        .catch(error => {
                            console.error(error);
                        });
                  
                

The above command returns JSON structured like this:

Success:

                  
                    {
                        "order": "20",
                    }
                  
                

Error:

                  
                    {
                        "error": "Incorrect service ID"
                    }
                  
                

Order status

Endpoint to get an order status

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action status Fixed for get order status
order ORDER_ID Order ID that you get when you add an order.

To request post data, use this code:

                  
                    curl -X POST \
                      -H "Content-Type: application/json" \
                      -d '{
                        "key": "YOUR_API_KEY",
                        "action": "status",
                        "order": "ORDER_ID"
                      }' \
                      https://onpanel.ir/api/v2
                  
                  
                    require 'net/http'
                    require 'uri'
                    require 'json'

                    uri = URI.parse("https://onpanel.ir/api/v2")

                    http = Net::HTTP.new(uri.host, uri.port)
                    http.use_ssl = true

                    request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
                    request.body = {
                      "key" => "YOUR_API_KEY",
                      "action" => "status",
                      "order" => "ORDER_ID"
                    }.to_json

                    response = http.request(request)
                    puts JSON.parse(response.body)
                  
                  
                    import requests

                    url = "https://onpanel.ir/api/v2"

                    payload = {
                        "key": "YOUR_API_KEY",
                        "action": "status",
                        "order": "ORDER_ID"
                    }

                    headers = {
                        "Content-Type": "application/json"
                    }

                    response = requests.post(url, json=payload, headers=headers)
                    print(response.json())
                  
                  
                    $url = "https://onpanel.ir/api/v2";

                    $data = array(
                        "key" => "YOUR_API_KEY",
                        "action" => "status",
                        "order" => "ORDER_ID"
                    );

                    $options = array(
                        'http' => array(
                            'header' => "Content-Type: application/json\r\n",
                            'method' => 'POST',
                            'content' => json_encode($data)
                        )
                    );

                    $context = stream_context_create($options);
                    $result = file_get_contents($url, false, $context);

                    if ($result === FALSE) {
                        echo "Error";
                    } else {
                        echo $result;
                    }
                  
                  
                    const axios = require('axios');

                    const url = 'https://onpanel.ir/api/v2';

                    const data = {
                        key: 'YOUR_API_KEY',
                        action: 'status',
                        order: 'ORDER_ID',
                    };

                    axios.post(url, data, {
                        headers: {
                            'Content-Type': 'application/json',
                        },
                    })
                        .then(response => {
                            console.log(response.data);
                        })
                        .catch(error => {
                            console.error(error);
                        });
                  
                

The above command returns JSON structured like this:

Success:

                  
                    {
                      "charge": "0.27819000",
                      "start_count": "3572",
                      "status": "Partial",
                      "remains": "157",
                      "currency": "Toman"
                    }
                  
                

Error:

                  
                    {
                        "error": "Incorrect order ID"
                    }
                  
                

Order status (Multiple)

Endpoint to get multiple order status

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action status Fixed for get order status
orders ORDER_IDS Order IDs are obtained when you add an order (separated by a comma, with up to 100 IDs).

To request post data, use this code:

                  
                    curl -X POST \
                      -H "Content-Type: application/json" \
                      -d '{
                        "key": "YOUR_API_KEY",
                        "action": "status",
                        "orders": "ORDER_ID_1,ORDER_ID_2,ORDER_ID_3"
                      }' \
                      https://onpanel.ir/api/v2
                  
                  
                    require 'net/http'
                    require 'uri'
                    require 'json'

                    uri = URI.parse("https://onpanel.ir/api/v2")

                    http = Net::HTTP.new(uri.host, uri.port)
                    http.use_ssl = true

                    request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
                    request.body = {
                      "key" => "YOUR_API_KEY",
                      "action" => "status",
                      "orders" => "ORDER_ID_1,ORDER_ID_2,ORDER_ID_3"
                    }.to_json

                    response = http.request(request)
                    puts JSON.parse(response.body)
                  
                  
                    import requests

                    url = "https://onpanel.ir/api/v2"

                    payload = {
                        "key": "YOUR_API_KEY",
                        "action": "status",
                        "orders": "ORDER_ID_1,ORDER_ID_2,ORDER_ID_3"
                    }

                    headers = {
                        "Content-Type": "application/json"
                    }

                    response = requests.post(url, json=payload, headers=headers)
                    print(response.json())

                  
                  
                    $url = "https://onpanel.ir/api/v2";

                    $data = array(
                        "key" => "YOUR_API_KEY",
                        "action" => "status",
                        "orders" => "ORDER_ID_1,ORDER_ID_2,ORDER_ID_3"
                    );

                    $options = array(
                        'http' => array(
                            'header' => "Content-Type: application/json\r\n",
                            'method' => 'POST',
                            'content' => json_encode($data)
                        )
                    );

                    $context = stream_context_create($options);
                    $result = file_get_contents($url, false, $context);

                    if ($result === FALSE) {
                        echo "Error";
                    } else {
                        echo $result;
                    }
                  
                  
                    const axios = require('axios');

                    const url = 'https://onpanel.ir/api/v2';

                    const data = {
                        key: 'YOUR_API_KEY',
                        action: 'status',
                        orders: 'ORDER_ID_1,ORDER_ID_2,ORDER_ID_3',
                    };

                    axios.post(url, data, {
                        headers: {
                            'Content-Type': 'application/json',
                        },
                    })
                        .then(response => {
                            console.log(response.data);
                        })
                        .catch(error => {
                            console.error(error);
                        });
                  
                

The above command returns JSON structured like this:

Success:

                  
                    {
                      "1": {
                          "charge": "0.27819000",
                          "start_count": "3572",
                          "status": "Partial",
                          "remains": "157",
                          "currency": "Toman"
                      },
                      "2": {
                          "charge": "0E-8",
                          "start_count": "0",
                          "status": "Pending",
                          "remains": "0",
                          "currency": "Toman"
                      },
                      "33": {
                          "error": "Incorrect order ID"
                      }
                    }
                  
                

Error:

                  
                    {
                      "33": {
                          "error": "Incorrect order ID"
                      }
                    }
                  
                

Create refill

Endpoint to create an refill on OnPanel services

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action refill Fixed for create refill
order ORDER_ID Order ID that you get when you add an order.

To request post data, use this code:

                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                

The above command returns JSON structured like this:

Success:

                  
                    {
                        "refill": "1",
                    }
                  
                

Error:

                  
                    {
                        "error": "Incorrect order ID"
                    }
                  
                

Create multiple refill

Endpoint to create multiple refill on OnPanel services

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action refill Fixed for create refill
orders ORDER_IDS Order IDs are obtained when you add an order (separated by a comma, with up to 100 IDs).

To request post data, use this code:

                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                

The above command returns JSON structured like this:

Success:

                  
                    [
                        {
                            "refill": 1,
                            "status": {
                                "error": "Incorrect order ID"
                            }
                        },
                        {
                            "refill": 2,
                            "status": "Pending"
                        }
                    ]
                  
                

Get refill status

Endpoint to get refill status on OnPanel services

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action refill_status Fixed for get refill status
refill REFILL_ID Refill ID that you get when you add an refill.

To request post data, use this code:

                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                

The above command returns JSON structured like this:

Success:

                  
                    {
                        "status": "Completed"
                    }
                  
                

Get refill status

Endpoint to get refill status on OnPanel services

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action refill_status Fixed for get refill status
refills REFILL_IDS Refill IDs are obtained when you add an refill (separated by a comma, with up to 100 IDs).

To request post data, use this code:

                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                  
                    -
                  
                

The above command returns JSON structured like this:

Success:

                  
                    [
                        {
                            "refill": 1,
                            "status": "Completed"
                        },
                        {
                            "refill": 2,
                            "status": "Rejected"
                        },
                        {
                            "refill": 3,
                            "status": {
                                "error": "Refill not found"
                            }
                        }
                    ]
                  
                

User balance

Endpoint to get user balance

HTTP Request

POST https://onpanel.ir/api/v2

Response format

JSON

Query Parameters

Parameter Default Description
key API_KEY Your API key.
action balance Fixed for get balance

To request post data, use this code:

                  
                    curl -X POST \
                      -H "Content-Type: application/json" \
                      -d '{
                        "key": "YOUR_API_KEY",
                        "action": "balance"
                      }' \
                      https://onpanel.ir/api/v2
                  
                  
                    require 'net/http'
                    require 'uri'
                    require 'json'

                    uri = URI.parse("https://onpanel.ir/api/v2")

                    http = Net::HTTP.new(uri.host, uri.port)
                    http.use_ssl = true

                    request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
                    request.body = {
                      "key" => "YOUR_API_KEY",
                      "action" => "balance"
                    }.to_json

                    response = http.request(request)
                    puts JSON.parse(response.body)
                  
                  
                    import requests

                    url = "https://onpanel.ir/api/v2"

                    payload = {
                        "key": "YOUR_API_KEY",
                        "action": "balance"
                    }

                    headers = {
                        "Content-Type": "application/json"
                    }

                    response = requests.post(url, json=payload, headers=headers)
                    print(response.json())
                  
                  
                    $url = "https://onpanel.ir/api/v2";

                    $data = array(
                        "key" => "YOUR_API_KEY",
                        "action" => "balance"
                    );

                    $options = array(
                        'http' => array(
                            'header' => "Content-Type: application/json\r\n",
                            'method' => 'POST',
                            'content' => json_encode($data)
                        )
                    );

                    $context = stream_context_create($options);
                    $result = file_get_contents($url, false, $context);

                    if ($result === FALSE) {
                        echo "Error";
                    } else {
                        echo $result;
                    }
                  
                  
                    const axios = require('axios');

                    const url = 'https://onpanel.ir/api/v2';

                    const data = {
                        key: 'YOUR_API_KEY',
                        action: 'balance',
                    };

                    axios.post(url, data, {
                        headers: {
                            'Content-Type': 'application/json',
                        },
                    })
                        .then(response => {
                            console.log(response.data);
                        })
                        .catch(error => {
                            console.error(error);
                        });
                  
                

The above command returns JSON structured like this:

Success:

                  
                    {
                      "balance": "6750000.0000",
                      "currency": "Toman"
                    }
                  
                

Responses

Successful request:

Error Code Meaning
200 Success -- Request was successful.
204 No Content -- Request was successful but no data found.

Bad request:

Error Code Meaning
400 Bad Request -- Your request is wrong.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The requested is hidden for administrators only.
404 Not Found -- The request could not be found.
406 Not Acceptable -- You requested a format that isn't json.
429 Too Many Requests -- Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Wrong action Parameter:

                  
                    {
                      "error": "Incorrect request"
                    }
                  
                

Wrong API Key:

                  
                    {
                      "error": "Invalid API key"
                    }