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
| Champ | Type | Requis | Description |
|---|---|---|---|
duration | integer | oui | Durée de location des ressources en heures. Doit être 1. |
activation | boolean | non | Si true, inclut les frais d'activation du compte dans total. Par défaut false. |
resources.energy | integer | non* | Quantité d'énergie à livrer. |
resources.bandwidth | integer | non* | 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
| Champ | Type | Description |
|---|---|---|
energy.amount | integer | Écho du montant d'énergie demandé. |
energy.price | number | Coût en TRX pour l'énergie. |
bandwidth.amount | integer | Écho du montant de bande passante demandé. |
bandwidth.price | number | Coût en TRX pour la bande passante. |
activation.required | boolean | Écho du flag activation que vous avez envoyé. |
activation.price | number | Coût en TRX de l'activation. 0 si non demandé. |
total | number | Somme des prix énergie + bande passante + activation. |
currency | string | Toujours TRX. |
duration | integer | É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.
