POST /apiv2/subusergen
اپنے مین اکاؤنٹ سے منسلک ایک نیا SUB-user (ذیلی اکاؤنٹ) بنائیں۔ SUB-users کی اپنی API key، ڈپازٹ ایڈریس، اور خود مختار Energy آپریشنز کے لیے الگ بیلنس ہوتا ہے۔
اینڈپوائنٹ URL
POST https://netts.io/apiv2/subusergenدرخواست کے ہیڈرز
| ہیڈر | درکار | تفصیل |
|---|---|---|
| Content-Type | ہاں | application/json |
| X-API-KEY | ہاں | آپ کے Netts ڈیش بورڈ سے آپ کی API key |
| X-Real-IP | ہاں | آپ کی وائٹ لسٹ سے IP ایڈریس |
درخواست کا باڈی
json
{}کسی پیرامیٹر کی ضرورت نہیں۔ SUB-user خود بخود API key کے ذریعے شناخت شدہ اکاؤنٹ سے منسلک ہو جاتا ہے۔
مثالی درخواستیں
cURL
bash
curl -X POST https://netts.io/apiv2/subusergen \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-d '{}'Python
python
import requests
url = "https://netts.io/apiv2/subusergen"
headers = {
"Content-Type": "application/json",
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip"
}
response = requests.post(url, headers=headers, json={})
data = response.json()
if response.status_code == 200:
print(f"SUB User ID: {data['user_id']}")
print(f"Google ID: {data['google_id']}")
print(f"Email: {data['email']}")
print(f"Deposit Address: {data['deposit_address']}")
print(f"API Key: {data['api_key']}")
print(f"Referral Code: {data['referral_code']}")
print(f"Parent User ID: {data['referrer_user_id']}")
else:
print(f"Error: {data.get('detail', 'Unknown error')}")Node.js
javascript
const axios = require('axios');
async function createSubUser(apiKey, whitelistedIp) {
const url = 'https://netts.io/apiv2/subusergen';
const response = await axios.post(url, {}, {
headers: {
'Content-Type': 'application/json',
'X-API-KEY': apiKey,
'X-Real-IP': whitelistedIp
},
timeout: 30000
});
const data = response.data;
console.log(`SUB User ID: ${data.user_id}`);
console.log(`API Key: ${data.api_key}`);
console.log(`Deposit Address: ${data.deposit_address}`);
return data;
}
// Usage
createSubUser('your_api_key', 'your_whitelisted_ip')
.then(result => console.log('Created:', result))
.catch(err => console.error('Error:', err.response?.data || err.message));PHP
php
<?php
$url = 'https://netts.io/apiv2/subusergen';
$options = [
'http' => [
'header' => implode("\r\n", [
"Content-Type: application/json",
"X-API-KEY: your_api_key",
"X-Real-IP: your_whitelisted_ip"
]),
'method' => 'POST',
'content' => '{}',
'timeout' => 30
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);
echo "SUB User ID: {$data['user_id']}\n";
echo "API Key: {$data['api_key']}\n";
echo "Deposit Address: {$data['deposit_address']}\n";
?>جواب
کامیاب جواب (200 OK)
json
{
"user_id": 1379,
"google_id": "SUB123456789012345678",
"email": "[email protected]",
"name": "SUB123456789012345678",
"deposit_address": "TExampleAddress1234567890123456789",
"api_key": "mock1234567890abcdef1234567890ab",
"referral_code": "A2B4K9",
"created_at": "2026-03-14T12:00:00",
"referrer_user_id": 42,
"comment": "SUB user linked to main user (referrer_user_id). Google ID, Email and Name are mock data (not real) that can be updated via separate endpoint. For API services usage, requests must include this SUB user's API key and IP from main user's whitelist. Calculations use SUB user's balance. Generated deposit address is not active."
}جواب کے فیلڈز
| فیلڈ | قسم | تفصیل |
|---|---|---|
| user_id | integer | تیار کردہ SUB-user کی منفرد ID |
| google_id | string | جعلی شناخت کنندہ (فارمیٹ: SUB + 18 ہندسے)۔ یہ کوئی حقیقی Google اکاؤنٹ نہیں ہے — صرف SUB-user کی اندرونی شناخت کے لیے استعمال ہوتا ہے |
| string | جعلی ای میل (google_id + @gmail.com)۔ یہ کوئی حقیقی ای میل ایڈریس نہیں ہے — صرف اندرونی شناخت کے لیے استعمال ہوتا ہے | |
| name | string | ڈسپلے کا نام (ڈیفالٹ کے طور پر google_id)۔ اسے ڈیش بورڈ میں تبدیل کیا جا سکتا ہے |
| deposit_address | string | تیار کردہ TRON ڈپازٹ ایڈریس (پہلے سے فعال نہیں ہوتا) |
| api_key | string | SUB-user کے لیے API key (سابقہ: mock) |
| referral_code | string | تیار کردہ ریفرل کوڈ (6 حروف) |
| created_at | string | بنانے کا ٹائم اسٹیمپ ISO 8601 فارمیٹ میں |
| referrer_user_id | integer | پیرنٹ صارف کی ID (وہ اکاؤنٹ جس نے یہ SUB-user بنایا) |
| comment | string | استعمال کی ہدایات اور نوٹس |
جعلی Google ڈیٹا
google_id، email، اور name فیلڈز جعلی ڈیٹا ہیں — یہ حقیقی Google اکاؤنٹس یا ای میل ایڈریسز نہیں ہیں۔ یہ فیلڈز سسٹم کے اندر صرف SUB-user کی اندرونی شناخت کے لیے موجود ہیں۔ SUB-user کا نام اور ٹیگ ڈیش بورڈ میں تبدیل کیے جا سکتے ہیں۔
SUB-Users کیسے کام کرتے ہیں
اہم تصورات
- الگ بیلنس: ہر SUB-user کا اپنا TRX بیلنس ہوتا ہے جو پیرنٹ سے آزاد ہوتا ہے
- مشترکہ IP وائٹ لسٹ: SUB-user کی API درخواستوں کی توثیق پیرنٹ کی IP وائٹ لسٹ کے خلاف کی جاتی ہے
- اپنی API key: ہر SUB-user کو توثیق کے لیے ایک منفرد API key ملتی ہے
- پیرنٹ سے رابطہ: ریفرل سسٹم کے ذریعے SUB-user مستقل طور پر بنانے والے اکاؤنٹ سے منسلک ہوتا ہے
- تمام API اینڈپوائنٹس: SUB-users اپنی API key اور بیلنس کے ساتھ تمام API اینڈپوائنٹس (order1h، time/order وغیرہ) استعمال کر سکتے ہیں
استعمال کا طریقہ کار
- اس اینڈپوائنٹ کے ذریعے SUB-user بنائیں
- SUB-user کے ڈپازٹ ایڈریس پر TRX بھیج کر یا بیلنس منتقل کر کے اسے فنڈ کریں
- بعد کی API درخواستوں (order1h، time/order وغیرہ) میں SUB-user کی API key استعمال کریں
- SUB-user کی API key استعمال کرتے ہوئے userinfo اینڈپوائنٹ کے ذریعے مانیٹر کریں
غلطی کے جوابات
توثیق کی غلطی (401)
json
{
"detail": "X-API-KEY header required"
}ممنوع (403)
json
{
"detail": "Invalid API key or IP not whitelisted"
}توثیقی جانچ کی غلطی (422)
json
{
"detail": [...],
"body": {...}
}اندرونی سرور کی غلطی (500)
json
{
"detail": "Failed to create mock user: ..."
}غلطی کے کوڈز کا حوالہ
| HTTP اسٹیٹس | تفصیل |
|---|---|
200 | SUB-user کامیابی سے بن گیا |
401 | غائب API key ہیڈر |
403 | غلط API key یا IP وائٹ لسٹ میں شامل نہیں ہے |
422 | درخواست کی توثیق کی غلطی |
500 | اندرونی سرور کی غلطی |
نوٹس
- خالی درخواست باڈی
{}درکار ہے (Content-Type لازمی طور پر application/json ہونا چاہیے) - تیار کردہ ڈپازٹ ایڈریس پہلے سے فعال نہیں ہوتا
- SUB-user کا
google_idاورemailجعلی ڈیٹا ہیں (حقیقی Google اکاؤنٹس نہیں ہیں)، جو صرف اندرونی شناخت کے لیے استعمال ہوتے ہیں - SUB-user کا نام اور ٹیگ ڈیش بورڈ میں تبدیل کیے جا سکتے ہیں
- SUB-user کی API key کا آغاز
mockسابقہ سے ہوتا ہے - IP وائٹ لسٹ کی توثیق پیرنٹ صارف کی وائٹ لسٹ استعمال کرتی ہے
- ہر SUB-user کا اپنا بیلنس ہوتا ہے، جو پیرنٹ سے الگ ہوتا ہے
- SUB-users کو DELETE /apiv2/subuserdel اینڈپوائنٹ کے ذریعے ڈیلیٹ کیا جا سکتا ہے
- ڈپازٹ ایڈریس کو POST /apiv2/address/rotate اینڈپوائنٹ کے ذریعے تبدیل (روٹیٹ) کیا جا سکتا ہے