Bayi ve geliştirici API dokümantasyonu

Dhru Fusion bayilik panelleriniz için sıfır kod entegrasyon veya özel PHP yansıma sistemleriniz için yüksek performanslı REST API uç noktaları.

Dhru Fusion API kurulum adımları

Dhru Fusion admin panelinizde 'Suppliers / API Server' ayarlarına girmeniz gereken bilgiler.

Önemli Dhru Fusion kurulum ipucu

Dhru Fusion eklentisi cURL isteği atarken arka planda URL sonuna otomatik olarak /api/index.php eklemektedir. Bu yüzden Dhru panelindeki API URL kutusuna /api/index.php eklemeden sadece ana alan adınızı yazmalısınız.

API URL (Dhru panel)
https://imeiveserver.com/
Dhru Fusion API URL kutusu
Kullanıcı adı
your_username
Sitemizdeki kullanıcı adınız
API erişim anahtarı (64 karakter)
your_64_character_api_key
Profil > API sayfanızdan üretin

Desteklenen Dhru Fusion v6.1 eylemleri

  • accountinfoAktif

    Hesap bakiyesi ve hesap bilgileri

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

  • imeiservicelist / serverservicelist / remoteservicelistAktif

    Aktif servisler ve gereken alanlar

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

  • placeimeiorder / placeserverorderAktif

    Yeni sipariş gönderme

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

  • getimeiorder / getserverorderAktif

    Sipariş durumunu ve sonucunu sorgulama

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

  • getdepositaddressHesaba bağlı

    Kişisel USDT adresi ve doğrulama verisi

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

  • getdepositsHesaba bağlı

    Kişisel adrese gelen ödemeler ve durumları

    LIMIT varsayılanı 50. SINCE Unix saniyesi ya da saat dilimli ISO 8601 tarihidir; o andan sonra değişen ödemeleri en eskisinden başlayarak verir, sonraki SINCE için son kaydın UPDATED değerini kullanın. AMOUNT gelen tutardır; ağ maliyetinin düşüldüğü ağlarda (varsayılan olarak BSC dışındakiler) hesaba eklenen tutar ağ maliyeti ve taşıma payı kadar azdır. Tekil anahtar ID (ya da TXID ile 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

Hesaba bağlı eylemler, kişisel USDT adresi hesabınızda açık değilse hata döner.

Adres doğrulama

FACTORY, IMPLEMENTATION ve INITCODEHASH aşağıdaki değerlerle aynı olmalı, ADDRESS da bu hesapla çıkmalı. Bu değerleri ve ilk aldığınız ADDRESS'i kendi sisteminizde saklayın; biri farklıysa ödeme göndermeyin.

Bu adresler sözleşme adresidir; bunlara ödeme göndermeyin. Yalnız getdepositaddress'in verdiği ADDRESS'e gönderin.

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

GENERATION     1
FACTORY        0xE126D3e733a1A7a80e592527Cf90D2a1Cf7Aa9Fb
IMPLEMENTATION 0x6A86F3b37D235bEEde0a455935530593a2A56A51
INITCODEHASH   0xf3df90581a9c492a338e9e5a97e77a2c7e158fbedebc2be2f7ef21293a0b4629

Entegrasyon rehberi

1. Bağlan ve kataloğu al

Profilinizden API erişimini ve izinli sunucu IP adresini kontrol edin. DHRU paneline site adresini, kullanıcı adınızı ve API anahtarını ekleyin. Önce accountinfo, sonra imeiservicelist / serverservicelist / remoteservicelist ile bağlantıyı doğrulayın.

2. Alanları eksiksiz eşleştir

Requires.Custom listesindeki fieldname, fieldtype, required ve fieldoptions değerlerini içe aktarın. Etiketi değil fieldname'i kullanın. Ana IMEI alanı CUSTOM ayarından gelebilir; ayrı custom alanlarla karıştırmayın. Servis detayı için getimeiservicedetails çağrısını kullanın. Hızlı ekleme sonrası alanlar yoksa servis ayrıntılarını yeniden senkronize edin.

3. Gönder ve sonucu takip et

Tam servis ID'sini, geçerli QNT miktarını ve zorunlu alanları gönderin. Dönen tam REFERENCEID'yi saklayın; ekrandaki 8 karakterlik kısa ID API sorgusu için kullanılmaz. getimeiorder ile durumu sorgulayın. SUCCESS kabul demektir; teslimat için STATUS değerini kontrol edin.

4. Mükerrer siparişi önle

Aynı mantıksal siparişte parameters içindeki client_request_id değerini sabit tutun. Zaman aşımında yeni kimlikle tekrar sipariş göndermeyin; önce mevcut kaydı kontrol edin. 429 / Retry-After yanıtlarında belirtilen süreyi bekleyin, sorguları kademeli yavaşlatın.

Anahtar güvenliği

Anahtarı tarayıcı JavaScript'ine veya açık depoya koymayın; yalnız sunucudan HTTPS ile kullanın. İzinli IP adresi tarayıcınızın değil entegrasyon sunucunuzun dış IP'sidir. Loglarda anahtarları, şifreleri ve müşterinin imzalı dosyalarını maskeleyin.

Hataları doğru işle

HTTP 200 tek başına başarı değildir; ERROR / SUCCESS zarflarını okuyun. Eksik alan hatasında belirtilen alanları doldurun. Kredi veya servis kullanılamıyor yanıtında müşteriye gerçek açıklamayı gösterin. Katalog fiyatı değişebilir; kabul edilen sipariş tutarını esas alın.

DHRU sipariş durumları

0

Alındı / bekliyor

1

İşleniyor

3

Reddedildi / iade

4

Tamamlandı

Örnek şemadır; alanları kendi servisinizin kontratına göre değiştirin. Bu kod çalıştırıldığında ücretli sipariş oluşturabilir. Önce accountinfo ile bağlantıyı doğrulayın. XML kullanan mevcut DHRU istemcileri de desteklenir.

<?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.
?>