ProxyWorld API

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

جديد هنا؟ اتبع هذه الخطوات

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

كيف تعمل المصادقة؟

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

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

HTTP header
Authorization: Bearer pwk_your_api_key

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

عنوان URL الأساسي
https://proxyworld.shop/api/v1
محتوى الطلب والاستجابة
application/json
المبالغ
بالدولار الأمريكي كرقم، مثل 1058.50
الطوابع الزمنية
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

يعيد طريقة تسجيل دخولك (login: email أو token)، وبريدك الإلكتروني، والرصيد، ومضيف البروكسي ومنافذه، واسم مستخدم البروكسي وكلمة المرور، وعناوين IP المسموح بها. في الحسابات المنشأة برمز تكون قيمة email هي null.

الطلب
curl https://proxyworld.shop/api/v1/account \
  -H "Authorization: Bearer pwk_your_api_key"
الاستجابة
{
  "login": "email",
  "email": "you@example.com",
  "balance_usd": 1300,
  "proxy": {
    "host": "gate.proxyworld.shop",
    "http_port": 6100,
    "socks5_port": 6200,
    "username": "pwexample1",
    "password": "your_password"
  },
  "allowed_ips": [
    "203.0.113.10"
  ]
}

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

GET/api/v1/productsيعمل دون مفتاح

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

الطلب
curl https://proxyworld.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://proxyworld.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://proxyworld.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.05,
  "unit": "day",
  "total_usd": 241.5
}

تنفيذ طلب

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://proxyworld.shop/api/v1/orders \
  -H "Authorization: Bearer pwk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
الاستجابة
{
  "order": {
    "id": "PW-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.05,
    "total_usd": 241.5,
    "status": "pending",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:12:44.120Z"
  },
  "balance_usd": 1058.5
}

عرض طلباتك

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

يعرض حتى 100 طلب، بدءًا من الأحدث.

الاسمالمعنى
statusاختياريإحدى القيم pending أو active أو refunded. اتركها فارغة للحصول على الطلبات بأي حالة.
الطلب
curl "https://proxyworld.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer pwk_your_api_key"
الاستجابة
{
  "orders": [
    {
      "id": "PW-7KQ2M-X4HTD",
      "product": "unlimited",
      "quantity": 30,
      "months": null,
      "concurrency": 1000,
      "bandwidth_mbps": 200,
      "country": null,
      "unit_price_usd": 8.05,
      "total_usd": 241.5,
      "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مطلوبرقم الطلب، مثل PW-7KQ2M-X4HTD.
الطلب
curl https://proxyworld.shop/api/v1/orders/PW-7KQ2M-X4HTD \
  -H "Authorization: Bearer pwk_your_api_key"
الاستجابة
{
  "order": {
    "id": "PW-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.05,
    "total_usd": 241.5,
    "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://proxyworld.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \
  -H "Authorization: Bearer pwk_your_api_key"
الاستجابة
{
  "username": "pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
  "password": "your_password",
  "http": "http://pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyworld.shop:6100",
  "socks5": "socks5h://pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyworld.shop:6200"
}

مثال كامل من البداية إلى النهاية

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

Python (requests)
import requests

API = "https://proxyworld.shop/api/v1"
HEAD = {"Authorization": "Bearer pwk_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://proxyworld.shop/api/v1";
const HEAD = { Authorization: "Bearer pwk_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 تُعالج تمامًا مثل طلبات لوحة التحكم وتظهر في تبويب السجل مع غيرها. استبدل pwk_your_api_key في الأمثلة بمفتاح API الخاص بك.

اربط ProxyWorld بالكود الخاص بك

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