Skip to content

Histórico de Assinaturas

Retorna o histórico de todas as assinaturas do usuário com suporte para paginação e filtragem por status.

POST /v1/subscriptions/history

Solicitação

Todos os parâmetros são opcionais. Se os parâmetros não forem especificados, retorna a primeira página com 10 itens.

Parâmetros da Solicitação

CampoTipoObrigatórioDescrição
pageintegerNãoNúmero da página (padrão: 1, mínimo: 1)
per_pageintegerNãoQuantidade de itens por página (padrão: 10, máximo: 50)
statusstringNãoFiltro por status da assinatura
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "page": 1,
  "per_page": 10,
  "status": "active"
}'

# 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/subscriptions/history" \
  -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({
  page: 1,
  per_page: 10,
  status: 'active'
});

// 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/subscriptions/history',
  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([
  'page' => 1,
  'per_page' => 10,
  'status' => 'active'
]);

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

// Execução da solicitação API
$ch = curl_init('https://api.tronzap.com/v1/subscriptions/history');
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({
  'page': 1,
  'per_page': 10,
  'status': 'active'
})

# 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/subscriptions/history',
  headers=headers,
  data=request_body
)

print(response.json())

Exemplo de Solicitação sem Parâmetros

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{}'

# 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/subscriptions/history" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"

Resposta

A resposta contém a lista de assinaturas do usuário com informações de paginação.

Campos da Resposta

CampoTipoDescrição
codeintegerCódigo de resposta (0 = sucesso)
resultobjectDados da resposta
result.pageintegerPágina atual
result.per_pageintegerQuantidade de itens por página
result.totalintegerNúmero total de assinaturas
result.itemsarrayLista de assinaturas
result.items[].idstringID da assinatura
result.items[].statusstringStatus da assinatura
result.items[].subscription_idstringID do tipo de assinatura
result.items[].addressstringEndereço TRON
result.items[].transactions_limitintegerLimite de transações
result.items[].transactions_usedintegerTransações utilizadas
result.items[].energy_usedintegerEnergia utilizada
result.items[].total_pricefloatCusto total
result.items[].started_atstringData de início (formato ISO 8601)
result.items[].renewed_atstringData de renovação (formato ISO 8601)
result.items[].stopped_atstringData de parada (formato ISO 8601)
result.items[].expire_atstringData de expiração (formato ISO 8601)
result.items[].created_atstringData de criação (formato ISO 8601)

Exemplo de Resposta

json
{
  "code": 0,
  "result": {
    "page": 1,
    "per_page": 10,
    "total": 1,
    "items": [
      {
        "id": "01k33rz57drtqgqcedyn9tvk04",
        "status": "active",
        "subscription_id": "unlimited_energy",
        "address": "TPY1Kb8cKAZQfm95gXQQs2Mh8Uygtos21D",
        "transactions_limit": 0,
        "transactions_used": 2,
        "energy_used": 131000,
        "total_price": "8.00",
        "started_at": "2025-08-20T12:58:52+00:00",
        "renewed_at": null,
        "stopped_at": null,
        "expire_at": "2025-08-21T12:58:52+00:00",
        "created_at": "2025-08-20T12:58:52+00:00"
      },
      {
        "id": "01k36gw6cbfx4r8jhvd1qyp697",
        "status": "stopped",
        "subscription_id": "energy_pay_per_use",
        "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
        "transactions_limit": 100,
        "transactions_used": 45,
        "energy_used": 2991000,
        "total_price": 184.0,
        "started_at": "2024-02-15T10:30:00Z",
        "renewed_at": null,
        "stopped_at": "2024-03-20T14:25:00Z",
        "expire_at": null,
        "created_at": "2024-02-15T10:25:00Z"
      }
    ]
  }
}

Status Possíveis das Assinaturas

StatusDescrição
newNova assinatura
pendingAssinatura pendente
errorErro na assinatura
activeAssinatura ativa
stoppedAssinatura parada
expiredAssinatura expirada

Possíveis Erros

Código de ErroDescrição
1Erro de autenticação (token ou assinatura inválidos)
2Serviço ou parâmetros inválidos
500Erro interno do servidor

Tron Energy API Documentation