Utwórz zamówienie
POST /v1/orders
Tworzy zamówienie na energię i zwraca adres depozytowy. Użytkownik musi wysłać dokładnie amount TRX z address_from na deposit_address, aby uruchomić dostawę.
Treść żądania
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
referral_code | string | nie* | Twój kod polecający. Prowizja za to zamówienie jest przypisywana jego właścicielowi. Maks. 64 znaki. |
address_from | string | tak | Adres TRON, który wyśle płatność TRX. |
address_to | string | tak | Adres TRON, który otrzyma energię i przepustowość. |
resources.duration | integer | tak | Czas wynajmu zasobów w godzinach. Musi wynosić 1. |
resources.energy | integer | nie** | Ilość energii do dostarczenia. |
resources.bandwidth | integer | nie** | Ilość przepustowości do dostarczenia. |
address_to_activation | boolean | nie | Jeśli true, aktywuje address_to w łańcuchu. Domyślnie false. |
* Wymagane dla prowizji partnerskiej. Bez prawidłowego referral_code zamówienie nie jest przypisywane do żadnego konta partnerskiego.
** Co najmniej jedno z pól resources.energy lub resources.bandwidth musi być większe od zera.
Zawsze dołączaj referral_code
Przekazuj referral_code w każdym wywołaniu POST /v1/orders. Brakujący lub pusty referral_code oznacza brak prowizji — nawet jeśli zamówienie zostanie pomyślnie zrealizowane.
Przykłady
curl -X POST https://api.tronzap.com/v1/orders \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"referral_code": "YOUR_CODE",
"address_from": "TKzxdSv2FZKQrEqkKVgp5DcwEXBEKMg2Ax",
"address_to": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"resources": {
"duration": 1,
"energy": 65000
}
}'const response = await fetch('https://api.tronzap.com/v1/orders', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
},
body: JSON.stringify({
referral_code: 'YOUR_CODE',
address_from: 'TKzxdSv2FZKQrEqkKVgp5DcwEXBEKMg2Ax',
address_to: 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
resources: { duration: 1, energy: 65000 },
}),
})
const { result } = await response.json()
// result.deposit_address — send result.amount TRX here
// result.order_id — save for polling$response = file_get_contents('https://api.tronzap.com/v1/orders', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/json\r\nAccept: application/json",
'content' => json_encode([
'referral_code' => 'YOUR_CODE',
'address_from' => 'TKzxdSv2FZKQrEqkKVgp5DcwEXBEKMg2Ax',
'address_to' => 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
'resources' => ['duration' => 1, 'energy' => 65000],
]),
],
]));
$data = json_decode($response, true)['result'];
// $data['deposit_address'] — send $data['amount'] TRX hereimport requests
resp = requests.post('https://api.tronzap.com/v1/orders', json={
'referral_code': 'YOUR_CODE',
'address_from': 'TKzxdSv2FZKQrEqkKVgp5DcwEXBEKMg2Ax',
'address_to': 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
'resources': {'duration': 1, 'energy': 65000},
})
result = resp.json()['result']
# result['deposit_address'] — send result['amount'] TRX hereOdpowiedź
{
"code": 0,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"result": {
"order_id": "01HZX5N6Q9TY3K2P0VWB7HRD4M",
"status": "new",
"deposit_address": "TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7",
"amount": 2.69,
"currency": "TRX",
"expires_at": "2026-05-18T16:07:05+00:00",
"ttl": 3600
}
}Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
order_id | string | ULID utworzonego zamówienia. Użyj do sprawdzenia i anulowania. |
status | string | Zawsze new dla świeżo utworzonego zamówienia. |
deposit_address | string | Użytkownik musi wysłać TRX z address_from na ten adres. |
amount | number | Dokładna kwota TRX do wysłania. Jakakolwiek różnica nie będzie pasować do zamówienia. |
currency | string | Zawsze TRX. |
expires_at | string | Znacznik czasu ISO-8601. Zamówienie automatycznie przechodzi do stanu expired po tym czasie. |
ttl | integer | Pozostałe sekundy do expires_at. Zazwyczaj 3600 (1 godzina). |
Wymagana dokładna kwota i nadawca
Transfer TRX musi pochodzić z address_from i wynosić dokładnie amount TRX. Jakakolwiek inna kwota lub adres nadawcy nie będzie pasować do zamówienia.
