وثائق API للموزعين والمطورين

تكامل بدون كود لوحات Dhru Fusion أو نقاط نهاية REST API عالية الأداء لتطبيقات PHP المخصصة.

خطوات إعداد Dhru Fusion API

قيم التكوين المطلوبة ضمن 'Suppliers / API Server' في لوحة مسؤول Dhru Fusion الخاصة بك.

نصيحة إعداد مهمة لـ Dhru Fusion

يقوم إضافة Dhru Fusion بتذييل /api/index.php تلقائياً لنهاية الرابط. لذلك في حقل API URL ضع النطاق الرئيسي فقط بدون إضافة /api/index.php.

رابط API URL (حقل Dhru)
https://imeiveserver.com/
حقل API URL في لوحة Dhru
اسم المستخدم (Username)
your_username
اسم المستخدم الخاص بك في موقعنا
مفتاح API Access Key (64-Char)
your_64_character_api_key
إنشاء من الملف الشخصي > صفحة API

إجراءات Dhru Fusion v6.1 المدعومة

  • accountinfoنشط

    رصيد الحساب وبياناته

    { SUCCESS: [{ AccoutInfo: { credit, currency } }] }

  • imeiservicelist / serverservicelist / remoteservicelistنشط

    الخدمات النشطة والحقول المطلوبة

    { SUCCESS: [{ LIST: { Category: { SERVICES: { } } } }] }

  • placeimeiorder / placeserverorderنشط

    إرسال طلب جديد

    { SUCCESS: [{ REFERENCEID: "full-order-uuid" }] }

  • getimeiorder / getserverorderنشط

    الاستعلام عن حالة الطلب ونتيجته

    { SUCCESS: [{ STATUS: 4, CODE: "RESULT" }] }

  • getdepositaddressحسب الحساب

    عنوان USDT الشخصي وبيانات التحقق منه

    { SUCCESS: [{ ADDRESS, CURRENCY, NETWORKS, GENERATION, SALT, FACTORY, IMPLEMENTATION, INITCODEHASH }] }

  • getdepositsحسب الحساب

    الدفعات الواردة إلى العنوان الشخصي وحالاتها

    القيمة الافتراضية لـ LIMIT هي 50. تكون SINCE بثواني Unix أو بتاريخ ISO 8601 مع المنطقة الزمنية، وتعيد الدفعات التي تغيّرت منذ ذلك الوقت بدءًا من الأقدم، فاستخدم قيمة UPDATED لآخر دفعة في طلب SINCE التالي. AMOUNT هو المبلغ الوارد، وفي الشبكات التي تُخصم فيها تكلفة الشبكة (افتراضيًا كل الشبكات عدا BSC) يقل المبلغ المضاف إلى الحساب بمقدار تكلفة الشبكة ورسم النقل. المفتاح الفريد هو ID (أو TXID مع LOGINDEX)

    LIMIT (1-50) · SINCE · TXID

    { SUCCESS: [{ DEPOSITS: { ID: { ID, TXID, LOGINDEX, NETWORK, CHAINID, AMOUNT, CURRENCY, STATUS, CONFIRMATIONS, DATE, UPDATED } } }] }

    STATUS: SEEN | CONFIRMING | CREDITED | HELD | BELOW_MIN | WRONG_NETWORK

تُرجع الإجراءات المرتبطة بالحساب خطأً ما دام عنوان USDT الشخصي غير مفعّل في حسابك.

التحقق من العنوان

يجب أن تطابق قيم FACTORY وIMPLEMENTATION وINITCODEHASH القيم أدناه، وأن يطابق ADDRESS هذا الحساب. احفظ هذه القيم وأول ADDRESS تستلمه في نظامك، وإن اختلف أي منها فلا ترسل الدفعة.

هذه عناوين عقود؛ لا ترسل إليها أي دفعة. أرسل فقط إلى ADDRESS الذي يُرجعه getdepositaddress.

ADDRESS == keccak256(0xff ++ FACTORY ++ SALT ++ INITCODEHASH)[12:]

GENERATION     1
FACTORY        0xE126D3e733a1A7a80e592527Cf90D2a1Cf7Aa9Fb
IMPLEMENTATION 0x6A86F3b37D235bEEde0a455935530593a2A56A51
INITCODEHASH   0xf3df90581a9c492a338e9e5a97e77a2c7e158fbedebc2be2f7ef21293a0b4629

دليل التكامل

١. الاتصال وجلب الكتالوج

تحقق من صلاحية API وعناوين IP المسموحة في ملفك. أضف عنوان الموقع واسم المستخدم والمفتاح في DHRU. اختبر accountinfo ثم imeiservicelist / serverservicelist / remoteservicelist.

٢. مطابقة الحقول المطلوبة

استورد fieldname وfieldtype وrequired وfieldoptions من Requires.Custom. استخدم اسم الحقل لا التسمية. قد يصف CUSTOM حقل IMEI الرئيسي؛ افصله عن الحقول الإضافية. استخدم getimeiservicedetails وأعد مزامنة التفاصيل إذا غابت الحقول.

٣. الإرسال ومتابعة النتيجة

أرسل معرف الخدمة الكامل وكمية QNT الصحيحة والحقول المطلوبة. احفظ REFERENCEID كاملاً؛ المعرف المختصر للعرض فقط. تابع عبر getimeiorder. تعني SUCCESS قبول الطلب، أما التسليم فيحدده STATUS.

٤. تجنب الطلبات المكررة

ثبّت parameters.client_request_id للطلب نفسه. لا ترسل معرفاً جديداً بعد انتهاء المهلة؛ تحقق من الطلب الحالي أولاً. احترم 429 وRetry-After وقلل معدل الاستعلام.

أمان المفتاح

لا تضع المفتاح في JavaScript المتصفح أو مستودع عام. استخدم HTTPS بين الخوادم واسمح بعنوان IP العام لخادم التكامل. احجب المفاتيح وكلمات المرور وملفات العملاء الموقعة من السجلات.

معالجة الأخطاء

لا يكفي HTTP 200؛ افحص ERROR وSUCCESS. أكمل الحقول المذكورة في الخطأ واعرض السبب الفعلي لأخطاء الرصيد أو توفر الخدمة. قد تتغير الأسعار؛ اعتمد مبلغ الطلب المقبول.

حالات طلب DHRU

0

مستلم / معلق

1

قيد المعالجة

3

مرفوض / مسترد

4

مكتمل

هذا قالب؛ عدّل الحقول وفق الخدمة. قد ينشئ تشغيله طلباً مدفوعاً. اختبر accountinfo أولاً. عملاء DHRU الحاليون بصيغة XML مدعومون أيضاً.

<?php
$fields = ['PRODUCTID' => 'example', 'IMEI1' => 'YOUR_IMEI'];
$parameters = [
  'ID' => 'FULL_SERVICE_ID',
  'QNT' => 1,
  'CUSTOMFIELD' => base64_encode(json_encode($fields)),
  'client_request_id' => 'YOUR_UNIQUE_REQUEST_ID'
];
$body = http_build_query([
  'username' => getenv('RESELLER_USERNAME'),
  'apiaccesskey' => getenv('RESELLER_API_KEY'),
  'action' => 'placeimeiorder', 'requestformat' => 'JSON',
  'parameters' => base64_encode(json_encode($parameters))
]);
$ch = curl_init('https://imeiveserver.com/api/index.php');
curl_setopt_array($ch, [CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => $body, CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 60]);
$response = curl_exec($ch);
if ($response === false) throw new RuntimeException('Transport error; reconcile before retry');
$result = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
curl_close($ch);
// Inspect ERROR / SUCCESS; persist the complete REFERENCEID.
?>