Skip to content

İşlem Oluştur

Enerji veya bandwidth satın alma, kaynak paketi ya da adres etkinleştirme için yeni işlem oluşturur.

Bir kaynak paketi, tek bir API isteğinde hem enerji hem de bandwidth satın almanızı sağlar.

POST /v1/transaction/new

İstek

İstek Parametreleri

AlanTürGerekliAçıklama
external_idstringHayırİsteğe bağlı dış işlem tanımlayıcısı
servicestringEvetHizmet türü: "energy", "bandwidth", "resource_bundle" veya "activate_address"
paramsobjectEvetHizmet parametreleri nesnesi
params.addressstringEvetTRON cüzdan adresi (34 karakter)
params.amount*integerKoşulluSatın alınacak energy veya bandwidth miktarı. service="energy" veya "bandwidth" olduğunda ve params.amounts sağlanmadığında gereklidir.
params.energy_amount*integerHayırKullanımdan kalktı. params.amount veya params.amounts.energy kullanın.
params.amounts*objectKoşulluKaynak miktarları nesnesi. service="resource_bundle" olduğunda gereklidir. "energy" ve "bandwidth" hizmetleri için de kullanılabilir.
params.amounts.energyintegerKoşulluSatın alınacak enerji miktarı. "resource_bundle" için amounts içinde gereklidir.
params.amounts.bandwidthintegerKoşulluSatın alınacak bandwidth miktarı. "resource_bundle" için amounts içinde gereklidir.
params.durationintegerEvetSaat cinsinden süre. Energy, bandwidth ve resource_bundle için şu anda yalnızca 1 saat desteklenmektedir.
params.activate_addressbooleanHayırAdresi etkinleştirip etkinleştirmeyeceği. Energy, bandwidth ve resource_bundle hizmetleri için isteğe bağlı.

* En evrensel yaklaşım olarak amounts nesnesini kullanmanızı öneririz. API, kaynak miktarını şu sırayla çözümler: params.amountsparams.amountparams.energy_amount.

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "external_id": "my-external-id-123",
  "service": "energy",
  "params": {
    "address": "TRX_ADDRESS",
    "amounts": {
      "energy": 65000
    },
    "duration": 1
  }
}'

# İmzayı hesapla
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# API isteği yap
curl -X POST "https://api.tronzap.com/v1/transaction/new" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"
javascript
const crypto = require('crypto');
const axios = require('axios');

const apiToken = 'your_api_token';
const apiSecret = 'your_api_secret';
const requestBody = JSON.stringify({
  external_id: 'my-external-id-123',
  service: 'energy',
  params: {
    address: 'TRX_ADDRESS',
    amounts: {
      energy: 65000
    },
    duration: 1
  }
});

// İmzayı hesapla
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// API isteği yap
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/transaction/new',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
php
<?php
$apiToken = 'your_api_token';
$apiSecret = 'your_api_secret';
$requestBody = json_encode([
  'external_id' => 'my-external-id-123',
  'service' => 'energy',
  'params' => [
    'address' => 'TRX_ADDRESS',
    'amounts' => [
      'energy' => 65000
    ],
    'duration' => 1
  ]
]);

// İmzayı hesapla
$signature = hash('sha256', $requestBody . $apiSecret);

// API isteği yap
$ch = curl_init('https://api.tronzap.com/v1/transaction/new');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer ' . $apiToken,
  'X-Signature: ' . $signature,
  'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
python
import hashlib
import json
import requests

api_token = 'your_api_token'
api_secret = 'your_api_secret'
request_body = json.dumps({
  'external_id': 'my-external-id-123',
  'service': 'energy',
  'params': {
    'address': 'TRX_ADDRESS',
    'amounts': {
      'energy': 65000
    },
    'duration': 1
  }
})

# İmzayı hesapla
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# API isteği yap
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

response = requests.post(
  'https://api.tronzap.com/v1/transaction/new',
  headers=headers,
  data=request_body
)

print(response.json())

Kaynak Paketi için Örnek İstek

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "external_id": "my-external-id-123",
  "service": "resource_bundle",
  "params": {
    "address": "TRX_ADDRESS",
    "amounts": {
      "energy": 65000,
      "bandwidth": 345
    },
    "duration": 1,
    "activate_address": true
  }
}'

# Calculate signature
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Make API request
curl -X POST "https://api.tronzap.com/v1/transaction/new" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"
javascript
const crypto = require('crypto');
const axios = require('axios');

const apiToken = 'your_api_token';
const apiSecret = 'your_api_secret';
const requestBody = JSON.stringify({
  external_id: 'my-external-id-123',
  service: 'resource_bundle',
  params: {
    address: 'TRX_ADDRESS',
    amounts: {
      energy: 65000,
      bandwidth: 5000
    },
    duration: 1,
    activate_address: true
  }
});

// Calculate signature
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Make API request
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/transaction/new',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
php
<?php
$apiToken = 'your_api_token';
$apiSecret = 'your_api_secret';
$requestBody = json_encode([
  'external_id' => 'my-external-id-123',
  'service' => 'resource_bundle',
  'params' => [
    'address' => 'TRX_ADDRESS',
    'amounts' => [
      'energy' => 65000,
      'bandwidth' => 5000
    ],
    'duration' => 1,
    'activate_address' => true
  ]
]);

// Calculate signature
$signature = hash('sha256', $requestBody . $apiSecret);

// Make API request
$ch = curl_init('https://api.tronzap.com/v1/transaction/new');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer ' . $apiToken,
  'X-Signature: ' . $signature,
  'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
python
import hashlib
import json
import requests

api_token = 'your_api_token'
api_secret = 'your_api_secret'
request_body = json.dumps({
  'external_id': 'my-external-id-123',
  'service': 'resource_bundle',
  'params': {
    'address': 'TRX_ADDRESS',
    'amounts': {
      'energy': 65000,
      'bandwidth': 5000
    },
    'duration': 1,
    'activate_address': True
  }
})

# Calculate signature
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Make API request
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

response = requests.post(
  'https://api.tronzap.com/v1/transaction/new',
  headers=headers,
  data=request_body
)

print(response.json())

Adres Etkinleştirme için Örnek İstek

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "external_id": "my-external-id-123",
  "service": "activate_address",
  "params": {
    "address": "TRX_ADDRESS"
  }
}'

# İmzayı hesapla
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# API isteği yap
curl -X POST "https://api.tronzap.com/v1/transaction/new" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"
javascript
const crypto = require('crypto');
const axios = require('axios');

const apiToken = 'your_api_token';
const apiSecret = 'your_api_secret';
const requestBody = JSON.stringify({
  external_id: 'my-external-id-123',
  service: 'activate_address',
  params: {
    address: 'TRX_ADDRESS'
  }
});

// İmzayı hesapla
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// API isteği yap
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/transaction/new',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

Yanıt

Yanıt, oluşturulan işlem hakkında ayrıntıları sağlar.

Yanıt Alanları

AlanTürAçıklama
codeintegerYanıt kodu (0 = başarılı)
request_idstringBenzersiz istek tanımlayıcısı
resultobjectYanıt verisi
result.idstringDahili işlem kimliği
result.external_idstring|nullDış işlem kimliği (sağlanmışsa)
result.servicestringHizmet türü: "energy", "bandwidth", "resource_bundle" veya "activate_address"
result.paramsobjectOrijinal istek parametreleri
result.params.activate_addressbooleanAdres etkinleştirmesinin istenip istenmediği
result.statusstringİşlem durumu (durum listesine bakın)
result.amountfloatİşlem tutarı
result.created_atstringOluşturma zaman damgası (ISO 8601 formatı)
result.hashstringİşlem hash'i (tamamlanmışsa)

Örnek Yanıt

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "id": "transaction_id",
        "external_id": "my-external-id-123",
        "service": "energy",
        "params": {
            "address": "TRX_ADDRESS",
            "amounts": {
                "energy": 65000
            },
            "duration": 1,
            "activate_address": false
        },
        "status": "success",
        "amount": 8.25,
        "created_at": "2024-03-22T12:00:00Z",
        "hash": "transaction_hash"
    }
}

Olası Hatalar

Hata KoduKeyAçıklama
1authKimlik doğrulama hatası (yanlış token veya imza)
2invalid_service_or_paramsGeçersiz hizmet veya parametreler
5wallet_not_foundCüzdan bulunamadı
6insufficient_fundsYetersiz bakiye
10invalid_tron_addressGeçersiz TRON adresi
11invalid_energy_amountGeçersiz enerji miktarı
12invalid_durationGeçersiz süre
50invalid_bandwidth_amountGeçersiz bandwidth miktarı
24address_not_activatedAdres etkinleştirilmemiş
25address_already_activatedAdres zaten etkinleştirilmiş
35service_unavailableHizmet kullanılamıyor
500internal_server_errorDahili sunucu hatası

Tron Energy API Documentation