Skip to content

Zatrzymaj Subskrypcję

Zatrzymuje aktywną subskrypcję według wewnętrznego ID lub zewnętrznego ID. Można zatrzymać tylko subskrypcje bez limitów transakcji.

POST /v1/subscription/stop

Żądanie

Musi być określone albo wewnętrzne ID subskrypcji (id) albo zewnętrzne ID (external_id).

Parametry żądania

PoleTypWymaganeOpis
idstringNie*ID subskrypcji
external_idstringNie*Zewnętrzne ID subskrypcji

* Przynajmniej jeden z parametrów musi być określony: id lub external_id

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "id": "01k33rz57drtqgqcedyn9tvk04"
}'

# Calculate signature
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Execute API request
curl -X POST "https://api.tronzap.com/v1/subscription/stop" \
  -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({
  id: "01k33rz57drtqgqcedyn9tvk04"
});

// Calculate signature
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Execute API request
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/subscription/stop',
  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([
  'id' => "01k33rz57drtqgqcedyn9tvk04"
]);

// Calculate signature
$signature = hash('sha256', $requestBody . $apiSecret);

// Execute API request
$ch = curl_init('https://api.tronzap.com/v1/subscription/stop');
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({
  'id': "01k33rz57drtqgqcedyn9tvk04"
})

# Calculate signature
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Execute API request
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

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

print(response.json())

Przykład żądania z zewnętrznym ID

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "external_id": "my-subscription-123"
}'

# Calculate signature
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Execute API request
curl -X POST "https://api.tronzap.com/v1/subscription/stop" \
  -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({
  external_id: 'my-subscription-123'
});

// Calculate signature
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Execute API request
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/subscription/stop',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

Odpowiedź

Odpowiedź zawiera informacje o zatrzymanej subskrypcji.

Pola odpowiedzi

PoleTypOpis
codeintegerKod odpowiedzi (0 = sukces)
resultobjectDane odpowiedzi
result.idstringID subskrypcji
result.subscription_idstringID typu subskrypcji
result.created_atstringData utworzenia (format ISO 8601)
result.stopped_atstringData zatrzymania (format ISO 8601)
result.statusstringStatus subskrypcji (powinien być "stopped")
result.external_idstringZewnętrzne ID subskrypcji (jeśli określone)
result.paramsobjectOryginalne parametry żądania

Przykład odpowiedzi

json
{
    "code": 0,
    "result": {
        "id": "01k33rz57drtqgqcedyn9tvk04",
        "subscription_id": "energy_monthly_unlimited",
        "created_at": "2024-03-22T12:00:00Z",
        "stopped_at": "2024-03-25T10:30:00Z",
        "status": "stopped",
        "external_id": "my-subscription-123",
        "params": {
            "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
            "duration": 30,
            "transactions_limit": 0,
            "activate_address": true
        }
    }
}

Możliwe błędy

Kod błęduOpis
1Błąd uwierzytelnienia (nieprawidłowy token lub podpis)
2Nieprawidłowa usługa lub parametry
20Subskrypcja nie została znaleziona
21Nie można zatrzymać subskrypcji (subskrypcja ma limit transakcji)
500Wewnętrzny błąd serwera

Tron Energy API Documentation