Skip to content

Criação de Assinatura

Cria uma nova assinatura Energy para o endereço TRON especificado.

POST /v1/subscription/start

Solicitação

Parâmetros da Solicitação

CampoTipoObrigatórioDescrição
subscription_idstringSimID do tipo de assinatura (de /v1/subscriptions)
external_idstringNãoID externo para rastreamento
paramsobjectSimParâmetros da assinatura
params.addressstringSimEndereço TRON
params.durationintegerSimDuração em dias (0 = ilimitado)
params.transactions_limitintegerSimLimite de transações (0 = ilimitado)
params.activate_addressbooleanNãoAtivar endereço se inativo
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "subscription_id": "unlimited_energy",
  "external_id": "my-subscription-123",
  "params": {
    "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
    "duration": 30,
    "transactions_limit": 0,
    "activate_address": true
  }
}'

# Cálculo da assinatura
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Execução da solicitação API
curl -X POST "https://api.tronzap.com/v1/subscription/start" \
  -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({
  subscription_id: 'unlimited_energy',
  external_id: 'my-subscription-123',
  params: {
    address: 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
    duration: 30,
    transactions_limit: 0,
    activate_address: true
  }
});

// Cálculo da assinatura
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Execução da solicitação API
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/subscription/start',
  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([
  'subscription_id' => 'unlimited_energy',
  'external_id' => 'my-subscription-123',
  'params' => [
    'address' => 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
    'duration' => 30,
    'transactions_limit' => 0,
    'activate_address' => true
  ]
]);

// Cálculo da assinatura
$signature = hash('sha256', $requestBody . $apiSecret);

// Execução da solicitação API
$ch = curl_init('https://api.tronzap.com/v1/subscription/start');
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({
  'subscription_id': 'unlimited_energy',
  'external_id': 'my-subscription-123',
  'params': {
    'address': 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
    'duration': 30,
    'transactions_limit': 0,
    'activate_address': True
  }
})

# Cálculo da assinatura
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Execução da solicitação API
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

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

print(response.json())

Exemplo de Solicitação com Limite de Transações

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "subscription_id": "unlimited_energy",
  "params": {
    "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
    "duration": 0,
    "transactions_limit": 100
  }
}'

# Cálculo da assinatura
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Execução da solicitação API
curl -X POST "https://api.tronzap.com/v1/subscription/start" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"

Resposta

A resposta contém informações sobre a assinatura criada.

Campos da Resposta

CampoTipoDescrição
codeintegerCódigo de resposta (0 = sucesso)
resultobjectDados da resposta
result.idstringID da assinatura criada
result.subscription_idstringID do tipo de assinatura
result.created_atstringData de criação
result.expire_atstringData de expiração (se duração especificada)
result.addressstringEndereço TRON
result.statusstringStatus da assinatura
result.external_idstringID externo da assinatura (se especificado)
result.paramsobjectParâmetros da solicitação original

Exemplo de Resposta

json
{
  "code": 0,
  "result": {
    "id": "01k33rz57drtqgqcedyn9tvk04",
    "subscription_id": "unlimited_energy",
    "created_at": "2025-08-20T12:58:52+00:00",
    "expire_at": "2025-08-21T12:58:52+00:00",
    "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
    "status": "active",
    "external_id": null,
    "params": {
      "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
      "activate_address": false,
      "duration": 1,
      "transactions_limit": 0
    }
  }
}

Possíveis Erros

Código de ErroDescrição
1Erro de autenticação (token ou assinatura inválidos)
2Serviço ou parâmetros inválidos
5Carteira não encontrada
6Saldo insuficiente
10Endereço TRON inválido ou endereço já possui assinatura ativa
24Endereço deve ser ativado antes da compra da assinatura
500Erro interno do servidor

Tron Energy API Documentation