Skip to content

Calculer le Prix

POST /v1/orders/calculate

Retourne le prix exact en TRX pour une commande hypothétique sans en créer une. Utilisez ceci pour afficher le coût aux utilisateurs avant qu'ils s'engagent dans un dépôt.

Il s'agit d'un endpoint de tarification pure — il ne touche pas le réseau TRON.

Corps de la requête

ChampTypeRequisDescription
durationintegerouiDurée de location des ressources en heures. Doit être 1.
activationbooleannonSi true, inclut les frais d'activation du compte dans total. Par défaut false.
resources.energyintegernon*Quantité d'énergie à livrer.
resources.bandwidthintegernon*Quantité de bande passante à livrer.

* Au moins l'un de resources.energy ou resources.bandwidth doit être supérieur à zéro.

Exemples

bash
curl -X POST https://api.tronzap.com/v1/orders/calculate \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "duration": 1,
    "activation": false,
    "resources": {
      "energy": 65000,
      "bandwidth": 345
    }
  }'
javascript
const response = await fetch('https://api.tronzap.com/v1/orders/calculate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
  },
  body: JSON.stringify({
    duration: 1,
    activation: false,
    resources: { energy: 65000, bandwidth: 345 },
  }),
})
const data = await response.json()
console.log(data.result.total, data.result.currency)
php
$response = file_get_contents('https://api.tronzap.com/v1/orders/calculate', false, stream_context_create([
  'http' => [
    'method' => 'POST',
    'header' => "Content-Type: application/json\r\nAccept: application/json",
    'content' => json_encode([
      'duration' => 1,
      'activation' => false,
      'resources' => ['energy' => 65000, 'bandwidth' => 345],
    ]),
  ],
]));
$data = json_decode($response, true);
echo $data['result']['total'] . ' ' . $data['result']['currency'];
python
import requests

resp = requests.post('https://api.tronzap.com/v1/orders/calculate', json={
    'duration': 1,
    'activation': False,
    'resources': {'energy': 65000, 'bandwidth': 345},
})
result = resp.json()['result']
print(result['total'], result['currency'])

Réponse

json
{
  "code": 0,
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "result": {
    "energy":     { "amount": 65000, "price": 2.34 },
    "bandwidth":  { "amount": 345,   "price": 0.35 },
    "activation": { "required": false, "price": 0 },
    "total": 2.69,
    "currency": "TRX",
    "duration": 1
  }
}

Avec activation: true (activation d'un nouveau compte) :

json
{
  "code": 0,
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "result": {
    "energy":     { "amount": 65000, "price": 2.34 },
    "bandwidth":  { "amount": 345,   "price": 0.35 },
    "activation": { "required": true, "price": 1.40 },
    "total": 4.09,
    "currency": "TRX",
    "duration": 1
  }
}

Champs de la réponse

ChampTypeDescription
energy.amountintegerÉcho du montant d'énergie demandé.
energy.pricenumberCoût en TRX pour l'énergie.
bandwidth.amountintegerÉcho du montant de bande passante demandé.
bandwidth.pricenumberCoût en TRX pour la bande passante.
activation.requiredbooleanÉcho du flag activation que vous avez envoyé.
activation.pricenumberCoût en TRX de l'activation. 0 si non demandé.
totalnumberSomme des prix énergie + bande passante + activation.
currencystringToujours TRX.
durationintegerÉcho de la durée demandée.

total correspond au montant de create-order

Le total de cet endpoint est égal au amount que POST /v1/orders requerra, avec les mêmes paramètres d'entrée et le même résultat d'activation.

TronZap Partner Documentation