Skip to content

Utwórz weryfikację AML

Tworzy nową weryfikację AML dla adresu portfela lub konkretnego hasha transakcji. Żądanie natychmiast rezerwuje środki potrzebne do przeprowadzenia weryfikacji i zwraca bieżący status.

POST /v1/aml-checks/new

Żądanie

Parametry

PoleTypWymaganeOpis
typestringTakTyp usługi AML: address lub hash
networkstringTakKod sieci blockchain (patrz tabela)
addressstringTakPrawidłowy adres dla wybranej sieci. Dla type = hash jest to adres odbiorcy.
hashstringWarunkowe*Prawidłowy hash dla wybranej sieci. Wymagany, gdy type = hash
directionstringWarunkowe**Kierunek transakcji (deposit lub withdrawal). Wymagany, gdy type = hash. Jeśli środki trafiają na twój adres, to deposit (odbierasz). Jeśli wychodzą na zewnętrzny adres, to withdrawal (wysyłasz).

* Dotyczy tylko weryfikacji hash.
** Dotyczy tylko weryfikacji hash. Domyślnie deposit, jeśli pominięto.

Dostępne typy usług

TypOpis
addressWeryfikuje adres portfela i oblicza profil ryzyka
hashWeryfikuje pojedynczy hash transakcji wraz z kierunkiem przepływu środków

Obsługiwane sieci

KodSieć
TRXTRON
BTCBitcoin
ETCEthereum Classic
LTCLitecoin
BSCBNB Chain
XRPRipple
MATICPolygon
ADACardano
XLMStellar
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "type": "address",
  "network": "ETH",
  "address": "0x6Dc1f03B1d2c27D6c741832F4AA83322D41De7Ea"
}'

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

# Wyślij żądanie API
curl -X POST "https://api.tronzap.com/v1/aml-checks/new" \
  -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({
  type: 'address',
  network: 'ETH',
  address: '0x6Dc1f03B1d2c27D6c741832F4AA83322D41De7Ea'
});

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

// Wyślij żądanie API
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/aml-checks/new',
  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([
  'type' => 'address',
  'network' => 'ETH',
  'address' => '0x6Dc1f03B1d2c27D6c741832F4AA83322D41De7Ea',
], JSON_UNESCAPED_SLASHES);

// Oblicz sygnaturę
$signature = hash('sha256', $requestBody . $apiSecret);

// Wyślij żądanie API
$ch = curl_init('https://api.tronzap.com/v1/aml-checks/new');
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({
  'type': 'address',
  'network': 'ETH',
  'address': '0x6Dc1f03B1d2c27D6c741832F4AA83322D41De7Ea'
})

# Oblicz sygnaturę
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Wyślij żądanie API
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

response = requests.post(
  'https://api.tronzap.com/v1/aml-checks/new',
  headers=headers,
  data=request_body
)

print(response.json())

Przykładowe żądanie dla hash

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "type": "hash",
  "network": "BTC",
  "address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
  "hash": "E3F2A1B66DBB9F0B24C4125229163944A7D91EB3F1AC5E409FFCEE0C81A913F2",
  "direction": "withdrawal"
}'

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

# Wyślij żądanie API
curl -X POST "https://api.tronzap.com/v1/aml-checks/new" \
  -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({
  type: 'hash',
  network: 'BTC',
  address: 'bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh',
  hash: 'E3F2A1B66DBB9F0B24C4125229163944A7D91EB3F1AC5E409FFCEE0C81A913F2',
  direction: 'withdrawal'
});

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

// Wyślij żądanie API
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/aml-checks/new',
  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([
  'type' => 'hash',
  'network' => 'BTC',
  'address' => 'bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh',
  'hash' => 'E3F2A1B66DBB9F0B24C4125229163944A7D91EB3F1AC5E409FFCEE0C81A913F2',
  'direction' => 'withdrawal'
], JSON_UNESCAPED_SLASHES);

// Oblicz sygnaturę
$signature = hash('sha256', $requestBody . $apiSecret);

// Wyślij żądanie API
$ch = curl_init('https://api.tronzap.com/v1/aml-checks/new');
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({
  'type': 'hash',
  'network': 'BTC',
  'address': 'bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh',
  'hash': 'E3F2A1B66DBB9F0B24C4125229163944A7D91EB3F1AC5E409FFCEE0C81A913F2',
  'direction': 'withdrawal'
})

# Oblicz sygnaturę
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Wyślij żądanie API
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

response = requests.post(
  'https://api.tronzap.com/v1/aml-checks/new',
  headers=headers,
  data=request_body
)

print(response.json())

Odpowiedź

Odpowiedź zwraca identyfikator weryfikacji AML oraz najnowsze dostępne dane ryzyka. Jeśli weryfikacja jest nadal w toku, status pozostaje pending lub processing, aż pojawi się wynik końcowy.

Pola odpowiedzi

PoleTypOpis
codeintegerKod odpowiedzi (0 = sukces)
resultobjectDane weryfikacji AML
result.idstringIdentyfikator weryfikacji AML
result.typestringTyp usługi AML (address lub hash)
result.addressstringWeryfikowany adres
result.hashstringWeryfikowany hash (tylko dla weryfikacji hash)
result.directionstringKierunek transakcji (deposit lub withdrawal), jeśli dotyczy
result.networkstringKod sieci blockchain
result.statusstringStatus weryfikacji (pending, processing, completed, failed)
result.risk_scorefloatOcena ryzyka
result.risk_levelstringPoziom ryzyka (low, medium, high)
result.blacklistbooleantrue, jeśli wykryto wpis na liście blokad
result.risk_factorsarrayLista czynników ryzyka
result.checked_atstringZnacznik czasu utworzenia weryfikacji (ISO 8601)

Przykładowa odpowiedź

json
{
  "code": 0,
  "result": {
    "id": "01jq7h6bvf6p5t1amnz6y3n8c4",
    "type": "address",
    "address": "0x6Dc1f03B1d2c27D6c741832F4AA83322D41De7Ea",
    "network": "ETH",
    "status": "completed",
    "risk_score": 12.5,
    "risk_level": "medium",
    "blacklist": false,
    "risk_factors": [
      {
        "name": "p2p_exchange_mlrisk_high",
        "label": "P2P Exchange (High Risk)",
        "group": "medium",
        "score": 0.796
      },
      {
        "name": "exchange",
        "label": "Exchange",
        "group": "low",
        "score": 0.203
      }
    ],
    "checked_at": "2024-03-25T10:42:12Z"
  }
}

Możliwe błędy

Kod błęduOpis
1Błąd uwierzytelniania (nieprawidłowy token lub sygnatura)
2Nieprawidłowa usługa lub parametry
5Portfel nie znaleziony
6Niewystarczające środki na weryfikację
35Usługa niedostępna dla projektu
500Wewnętrzny błąd serwera

Tron Energy API Documentation