انتقل إلى المحتوى
starproxy

StarProxy API

معظم ما في لوحة التحكم متاح من الكود. تحقق من رصيدك، وابحث عن الأسعار، ونفّذ الطلبات من رصيدك، واجلب أسماء مستخدمي البروكسي مع الخيارات، كل ذلك عبر REST API واحدة.

من أين أبدأ؟

  1. 1سجّل باسم مستخدم وادخل إلى لوحة التحكم.
  2. 2أنشئ مفتاح API في تبويب Connect. يظهر المفتاح كاملًا مرة واحدة، عند إنشائه، لذا احفظه في مكان آمن فورًا.
  3. 3أرسل المفتاح في ترويسة Authorization مع كل طلب يحتاج إليه.
  4. 4استدعِ /account أولًا للتحقق من أن المفتاح يعمل، ثم نفّذ الطلبات عبر /orders.

المصادقة

الطلبات الخاصة بحسابك (account وorders وproxy-user) تتطلب مفتاح API يُرسل في الترويسة بالشكل Authorization: Bearer spk_... أما الأسعار والدول وعروض الأسعار فعامة وتعمل دون مفتاح.

تحتفظ StarProxy بقيمة hash لكل مفتاح فقط، لا بالمفتاح نفسه. إذا فقدت مفتاحًا، فأنشئ مفتاحًا جديدًا في لوحة التحكم. يتوقف المفتاح القديم عن العمل في تلك اللحظة. احفظ المفاتيح في كود الخادم فقط. لا تضعها أبدًا في كود يعمل في المتصفح أو في مستودع عام.

HTTP header
Authorization: Bearer spk_your_api_key

عنوان URL الأساسي وصيغة البيانات

عنوان URL الأساسي
https://starproxy.shop/api/v1
محتوى الطلب والاستجابة
application/json
المبالغ
بالدولار الأمريكي كرقم، مثل 1047.70
الطوابع الزمنية
ISO 8601 (UTC)

هل هناك حد لعدد الطلبات؟

يمكن لمفتاح API واحد إجراء حتى 60 استدعاء في الدقيقة. نقاط الاتصال العامة دون مفتاح تسمح بـ 60 استدعاء في الدقيقة لكل IP. بعد تجاوز الحد تحصل على HTTP 429، فانتظر دقيقة وأعد الإرسال.

كيف تبدو الأخطاء؟

رمز حالة HTTP، مع محتوى JSON يتضمن رمز خطأ قصيرًا ورسالة.

مثال
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
code
bad_requestHTTP 400قيمة مطلوبة مفقودة، أو القيمة غير صالحة لهذا المنتج.
unauthorizedHTTP 401مفتاح API مفقود أو غير مطابق.
insufficient_balanceHTTP 402رصيدك أقل من إجمالي الطلب. لم يُخصم أي شيء.
not_foundHTTP 404لا يوجد طلب بهذا المعرّف في حسابك.
rate_limitedHTTP 429طلبات كثيرة جدًا خلال دقيقة واحدة.
server_errorHTTP 500تعذّر على الخادم إتمام الطلب. لم يُخصم أي شيء.

نقاط الاتصال

عرض الحساب

GET/api/v1/accountيتطلب مفتاح API

يعيد رصيدك، ومضيف البروكسي ومنافذه، واسم مستخدم البروكسي وكلمة المرور، وعناوين IP المسموح بها.

الطلب
curl https://starproxy.shop/api/v1/account \
  -H "Authorization: Bearer spk_your_api_key"
الاستجابة
{
  "username": "star_user01",
  "balance_usd": 1300,
  "proxy": {
    "host": "gate.starproxy.shop",
    "http_port": 6100,
    "socks5_port": 6200,
    "username": "spexample1",
    "password": "your_password"
  },
  "allowed_ips": [
    "203.0.113.10"
  ]
}

عرض المنتجات والأسعار

GET/api/v1/productsلا يحتاج إلى مفتاح

يعيد نطاق الطلب لكل منتج، والسعر لكل شريحة كمية، وخصومات المدة، من جدول الأسعار نفسه الموجود في صفحة الأسعار.

الطلب
curl https://starproxy.shop/api/v1/products
الاستجابة
{
  "currency": "USD",
  "prices_as_of": "2026-10-31",
  "products": [
    {
      "id": "unlimited",
      "unit": "day",
      "quantity": {
        "meaning": "days",
        "min": 1,
        "max": 365
      },
      "...": "..."
    },
    {
      "id": "residential",
      "unit": "gb",
      "...": "..."
    }
  ]
}

قائمة الدول والمدن

GET/api/v1/countriesلا يحتاج إلى مفتاح

يعيد الدول التي يدعمها كل منتج، مع قيم المدن لخيار -city- في اسم المستخدم.

الحقلالمعنى
productاختياريإحدى القيم unlimited أو residential أو isp أو datacenter. القيمة الافتراضية residential.
الطلب
curl "https://starproxy.shop/api/v1/countries?product=datacenter"
الاستجابة
{
  "product": "datacenter",
  "countries": [
    {
      "code": "us",
      "name": "United States",
      "region": "americas",
      "datacenter": true,
      "cities": [
        {
          "name": "New York",
          "value": "new_york"
        },
        {
          "name": "Los Angeles",
          "value": "los_angeles"
        }
      ]
    }
  ]
}

الحصول على عرض سعر

POST/api/v1/quoteلا يحتاج إلى مفتاح

يحسب إجمالي الطلب دون المساس برصيدك. أرسل المحتوى نفسه الذي ستستخدمه للطلب.

الحقلالمعنى
productمطلوبإحدى القيم unlimited أو residential أو isp أو datacenter.
quantityمطلوبالأيام لـ unlimited (1~365)، وGB لـ residential (5~5,000)، وعدد عناوين IP لـ isp (1~1,000) أو datacenter (5~5,000).
concurrencyاختياريلـ unlimited فقط. إحدى القيم 200 أو 500 أو 1000 أو 2000.
bandwidthاختياريلـ unlimited فقط، بوحدة Mbps. إحدى القيم 100 أو 200 أو 500 أو 1000.
monthsاختياريلـ isp وdatacenter فقط. إحدى القيم 1 أو 3 أو 6 أو 12.
countryاختياريلـ isp وdatacenter فقط. رمز دولة من حرفين مثل jp. راجع /countries للقيم الصالحة.
الطلب
curl -X POST https://starproxy.shop/api/v1/quote \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
الاستجابة
{
  "product": "unlimited",
  "quantity": 30,
  "unit_price_usd": 8.41,
  "unit": "day",
  "total_usd": 252.3
}

إنشاء طلب

POST/api/v1/ordersيتطلب مفتاح API

يأخذ الإجمالي من رصيدك وينشئ الطلب. تبدأ الحالة بـ pending (قيد التفعيل) وتتحول إلى active عندما يصبح الطلب جاهزًا. إذا تعذّر تفعيله، يصبح refunded ويعود المبلغ كاملًا إلى رصيدك. الرصيد المنخفض يعيد 402.

الحقلالمعنى
productمطلوبإحدى القيم unlimited أو residential أو isp أو datacenter.
quantityمطلوبالأيام لـ unlimited (1~365)، وGB لـ residential (5~5,000)، وعدد عناوين IP لـ isp (1~1,000) أو datacenter (5~5,000).
concurrencyاختياريلـ unlimited فقط. إحدى القيم 200 أو 500 أو 1000 أو 2000.
bandwidthاختياريلـ unlimited فقط، بوحدة Mbps. إحدى القيم 100 أو 200 أو 500 أو 1000.
monthsاختياريلـ isp وdatacenter فقط. إحدى القيم 1 أو 3 أو 6 أو 12.
countryاختياريلـ isp وdatacenter فقط. رمز دولة من حرفين مثل jp. راجع /countries للقيم الصالحة.
الطلب
curl -X POST https://starproxy.shop/api/v1/orders \
  -H "Authorization: Bearer spk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
الاستجابة
{
  "order": {
    "id": "SP-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.41,
    "total_usd": 252.3,
    "status": "pending",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:12:44.120Z"
  },
  "balance_usd": 1047.7
}

قائمة الطلبات

GET/api/v1/ordersيتطلب مفتاح API

يعيد حتى 100 طلب، الأحدث أولًا.

الحقلالمعنى
statusاختياريإحدى القيم pending أو active أو refunded. اتركها فارغة لكل الحالات.
الطلب
curl "https://starproxy.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer spk_your_api_key"
الاستجابة
{
  "orders": [
    {
      "id": "SP-7KQ2M-X4HTD",
      "product": "unlimited",
      "quantity": 30,
      "months": null,
      "concurrency": 1000,
      "bandwidth_mbps": 200,
      "country": null,
      "unit_price_usd": 8.41,
      "total_usd": 252.3,
      "status": "pending",
      "created_at": "2026-10-31T09:12:44.120Z",
      "updated_at": "2026-10-31T09:12:44.120Z"
    }
  ]
}

عرض طلب

GET/api/v1/orders/{id}يتطلب مفتاح API

يعيد طلبًا واحدًا حسب المعرّف. استخدمه لمعرفة ما إذا اكتمل التفعيل.

الحقلالمعنى
idمطلوبمعرّف الطلب، مثل SP-7KQ2M-X4HTD.
الطلب
curl https://starproxy.shop/api/v1/orders/SP-7KQ2M-X4HTD \
  -H "Authorization: Bearer spk_your_api_key"
الاستجابة
{
  "order": {
    "id": "SP-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.41,
    "total_usd": 252.3,
    "status": "active",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:40:02.511Z"
  }
}

إنشاء اسم مستخدم بروكسي

GET/api/v1/proxy-userيتطلب مفتاح API

يعيد اسم مستخدم بروكسي يتضمن خياراتك، مع عناوين URL جاهزة للصق لـ HTTP وSOCKS5. دون session، يحصل كل طلب على IP جديد.

الحقلالمعنى
productاختياريإحدى القيم unlimited أو residential أو isp أو datacenter. القيمة الافتراضية unlimited.
countryاختياريرمز دولة من حرفين مثل jp.
cityاختياريقيمة مدينة من /countries، مثل tokyo. يتطلب country.
sessionاختياريمن 1~32 حرفًا أو رقمًا. الطلبات التي تحمل session نفسها تتشارك IP واحدًا.
ttlاختياريعدد دقائق الاحتفاظ بـ IP الجلسة، من 1~60. القيمة الافتراضية 30.
الطلب
curl "https://starproxy.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \
  -H "Authorization: Bearer spk_your_api_key"
الاستجابة
{
  "username": "spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
  "password": "your_password",
  "http": "http://spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.starproxy.shop:6100",
  "socks5": "socks5h://spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.starproxy.shop:6200"
}

مثال كامل

سكربت واحد يحصل على عرض سعر، ويطلب من رصيدك، ويتصل عبر IP ياباني.

Python (requests)
import requests

API = "https://starproxy.shop/api/v1"
HEAD = {"Authorization": "Bearer spk_your_api_key"}

# 1) Check the price first
plan = {"product": "residential", "quantity": 100}
print(requests.post(f"{API}/quote", json=plan).json())

# 2) Order from your balance
r = requests.post(f"{API}/orders", json=plan, headers=HEAD)
order = r.json()["order"]
print(order["id"], order["status"])

# 3) Get a username for Japanese IPs
u = requests.get(f"{API}/proxy-user", headers=HEAD,
                 params={"product": "residential", "country": "jp"}).json()
proxies = {"http": u["http"], "https": u["http"]}
print(requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30).json())
Node.js 18+
const API = "https://starproxy.shop/api/v1";
const HEAD = { Authorization: "Bearer spk_your_api_key", "Content-Type": "application/json" };

// Check the balance
const acc = await fetch(`${API}/account`, { headers: HEAD }).then((r) => r.json());
console.log(acc.balance_usd);

// Order 7 days of unlimited
const res = await fetch(`${API}/orders`, {
  method: "POST",
  headers: HEAD,
  body: JSON.stringify({ product: "unlimited", quantity: 7, concurrency: 500, bandwidth: 100 }),
});
if (res.status === 402) console.log("Top up first");
else console.log((await res.json()).order.id);

تُعالج طلبات API بالطريقة نفسها التي تُعالج بها طلبات لوحة التحكم وتظهر في تبويب السجل. استبدل spk_your_api_key في الأمثلة بمفتاحك.

استخدم StarProxy مباشرة من الكود

سجّل باسم مستخدم، وأنشئ مفتاح API في لوحة التحكم، وابدأ باستدعاء API.