SofizPay Logo

SofizPay

SofizPay Logo
SofizPay
التوثيق التقني
شحن الألعاب والتطبيقات

واجهة برمجة تطبيقات شحن الألعاب والتطبيقات

واجهة برمجية موحدة وقياسية (Standard API) لاسترجاع كتالوج كافة المنتجات الرقمية وتنفيذ عمليات الشحن المباشر لمختلف الألعاب والتطبيقات عبر SofizPay.

آلية وسير العمل الموحد (Integration Workflow)

تعتمد عملية شحن أي لعبة أو تطبيق رقمي على مسار عمل قياسي موحد من خطوتين:

الخطوة الأولىGET /services/get_products/

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

استدعاء نقطة النهاية get_products لجلب قائمة كافة المنتجات والألعاب المتاحة، مع تفاصيل كود المشغل (operator) والباقات والأسعار المحدثة بالدينار الجزائري.

الخطوة الثانيةPOST /services/operation_post

تنفيذ عملية الشحن الموحدة

استدعاء نقطة النهاية operation_post وتمرير كود المشغل ومعرف الحساب (Player/Account ID) والعرض المطلوب لإتمام الشحن فورياً لأي منتج.

1. استعلام وجلب المنتجات والأسعار

استرجع قائمة كافة المنتجات الرقمية والتطبيقات المتاحة مع أسعارها الدقيقة وأكواد المشغلين

GET API
GEThttps://sofizpay.com/services/get_products/

تقوم هذه النقطة بإرجاع المنتجات المتاحة مع تصفيتها حسب التوفر وإعادة معلومات مبسطة فقط (الاسم والسعر)

تتطلب هذه النقطة مفتاحاً سرياً صالحاً من نوع SofizPay للمصادقة عبر الحقل encrypted_sk

معاملات الطلب

Content-Type: application/json

المعاملالنوعمطلوبالوصف
encrypted_skstringنعمالمفتاح السري المشفر أو النصي لـ SofizPay. يمكن أن يكون مفتاحاً نصياً يبدأ بـ "S" (56 حرفاً) أو مفتاحاً مشفراً بـ RSA بتشفير base64
searchstringلاكلمة بحث اختيارية لتصفية المنتجات حسب الاسم

مثال على الطلب

مثال مع كلمة البحث

bash
curl -X GET "https://sofizpay.com/services/get_products/" \
  -H "Content-Type: application/json" \
  -d '{
    "encrypted_sk": "SBXJ...",
    "search": "PUBG"
  }'

مثال بدون كلمة البحث (جميع المنتجات)

bash
curl -X GET "https://sofizpay.com/services/get_products/" \
  -H "Content-Type: application/json" \
  -d '{
    "encrypted_sk": "SBXJ..."
  }'

استجابة ناجحة (200)

يتم إرجاع قائمة المنتجات المتاحة مع أسمائها وأسعارها بالدينار الجزائري

json
1{
2  "status": "success",
3  "count": 8,
4  "products": [
5    {
6      "name": "PUBG 1320 UC",
7      "price": "4743.24"
8    },
9    {
10      "name": "PUBG 1800 UC",
11      "price": "5929.05"
12    },
13    {
14      "name": "PUBG 325 UC",
15      "price": "1185.81"
16    },
17    {
18      "name": "Free Fire 1080 Diamonds",
19      "price": "2150.00"
20    }
21  ]
22}

حقول الاستجابة

الحقلالنوعالوصف
statusstringحالة الاستجابة: "success" أو "error"
countintegerإجمالي عدد المنتجات المتاحة المُعادة
productsarrayمصفوفة كائنات المنتجات
products[].namestringاسم المنتج
products[].pricestringسعر المنتج بالدينار الجزائري

استجابات الأخطاء

400 - JSON غير صالح

json
{
  "status": "error",
  "message": "Invalid JSON"
}

400 - encrypted_sk مطلوب

json
{
  "status": "error",
  "message": "encrypted_sk is required"
}

400 - مفتاح سري غير صالح

json
{
  "status": "error",
  "message": "Invalid secret key"
}

400 - صيغة المفتاح السري غير صحيحة

json
{
  "status": "error",
  "message": "Invalid secret key format"
}

500 - خطأ في الواجهة الخارجية

json
{
  "status": "error",
  "message": "Error fetching products: [error details]"
}

الميزات

المصادقة: التحقق من صحة مفاتيح SofizPay السرية
دعم التشفير: يتعامل مع المفاتيح النصية والمشفرة بـ RSA
تصفية البحث: معامل بحث اختياري لتصفية المنتجات
تصفية التوفر: يُعيد فقط المنتجات المتاحة
استجابة مبسطة: يُعيد فقط المعلومات الأساسية (الاسم والسعر)
تكامل API خارجي: يجلب البيانات من sofizpay.dz

ملاحظات تقنية هامة:

  • تُعاد جميع المنتجات المتاحة إذا لم يتم تحديد كلمة بحث
  • تُعاد الأسعار كنصوص لتجنب مشاكل دقة الأرقام العشرية
  • يتم تضمين المنتجات ذات is_available: true فقط
  • النقطة معفاة من CSRF لسهولة تكامل العملاء

2. تنفيذ عملية شحن الألعاب والتطبيقات (Standard Endpoint)

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

POST APIUniversal
POSThttps://sofizpay.com/services/operation_post

تتعامل هذه النقطة الموحدة مع عمليات الشحن لكافة الألعاب والتطبيقات الرقمية المتوفرة في الكتالوج

واجهة قياسية موحدة لكافة المنتجات

تعمل نقطة النهاية هذه بشكل موحد وقياسي (Standard) مع جميع المنتجات والألعاب والتطبيقات المتوفرة في كتالوج SofizPay. لا تقتصر على منتج معين، بل تستقبل كود المشغل (operator) ومعرف الحساب المستهدف (playerId) المناسب لكل خدمة.

هيكل الطلب القياسي (Standard Request)

الهيكل العام الموحد المستخدم مع أي لعبة، تطبيق، أو بطاقة رقمية:

bash
curl --location 'https://sofizpay.com/services/operation_post' \
--header 'Content-Type: application/json' \
--data '{      
    "encrypted_sk": "YOUR_ENCRYPTED_SECRET_KEY OR PURE_SECRET_KEY",
    "operator": "PRODUCT_OPERATOR_CODE",
    "playerId": "TARGET_USER_OR_PLAYER_ID",
    "amount": AMOUNT_IN_DZD,
    "offer": "PACKAGE_OFFER_CODE"
}'

معاملات الطلب القياسية (Request Parameters)

Content-Type: application/json

المعاملالنوعالوصف القياسي
encrypted_skstringالمفتاح السري المشفر (أو النصي) المعتمد للمصادقة
operatorstringكود المنتج أو المشغل من كتالوج المنتجات (مثل: pubg, freefire وغيرها من المنتجات)
playerIdstringمعرف اللاعب أو الحساب المستهدف (Player ID / User ID / Account ID)
amountnumberمبلغ أو سعر الشحن بالدينار الجزائري (DZD) المطابق للباقة المحددة
offerstringرمز الباقة أو العرض المختار من كتالوج المنتجات

تحديد معرف الحساب (playerId) بحسب نوع المنتج

ألعاب الموبايل والكمبيوتر

ألعاب الموبايل والكمبيوتر: معرّف اللاعب داخل اللعبة (Player ID / UID).

التطبيقات والمنصات

التطبيقات والمنصات الرقمية: رقم الحساب أو اسم المستخدم أو معرف البروفايل (Account ID / Username).

الخدمات والبطاقات

البطاقات والخدمات الرقمية: معرف الحساب المستفيد أو رقم الهاتف المرتبط بالخدمة.

استجابة ناجحة قياسية (200 OK)

json
{
    "status": "success",
    "message": "Operation completed successfully",
    "operation_id": "OP_894321789",
    "transaction_id": "TX_448921102",
    "transaction_status": "confirmed"
}

ملاحظة هامة: تتم معالجة العملية وتأكيدها فورياً، وتُضاف العملة أو الخدمة مباشرة إلى حساب المستخدم في التطبيق أو اللعبة المحددة.