Skip to content

Obtenir l’historique AML

Récupérez une liste paginée des contrôles AML créés par l’utilisateur authentifié. Utilisez les filtres pour limiter par statut.

POST /v1/aml-checks/history

Requête

Paramètres

ChampTypeObligatoireDescription
pageintegerNonNuméro de page (par défaut : 1, minimum : 1)
per_pageintegerNonÉléments par page (par défaut : 10, plage : 1-50)
statusstringNonFiltrer par statut AML (voir tableau)

Valeurs de statut

ValeurDescription
pendingContrôle créé et en attente de traitement
processingContrôle en cours de traitement
completedContrôle terminé avec succès
failedContrôle échoué en raison d’erreurs
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "page": 1,
  "per_page": 10,
  "status": "completed"
}'

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

# Envoyer la requête API
curl -X POST "https://api.tronzap.com/v1/aml-checks/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: 'completed'
});

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

// Envoyer la requête API
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/aml-checks/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' => 'completed'
]);

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

// Envoyer la requête API
$ch = curl_init('https://api.tronzap.com/v1/aml-checks/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': 'completed'
})

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

# Envoyer la requête API
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

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

print(response.json())

Réponse

La réponse fournit les métadonnées de pagination ainsi qu’un tableau de contrôles AML au même format que les autres endpoints.

Champs de la réponse

ChampTypeDescription
codeintegerCode de réponse (0 = succès)
resultobjectRésultat paginé
result.pageintegerNuméro de page
result.per_pageintegerNombre d’éléments retournés
result.totalintegerNombre total de contrôles correspondant au filtre
result.itemsarrayListe des contrôles AML
result.items[].idstringIdentifiant du contrôle AML
result.items[].typestringType de service AML (address ou hash)
result.items[].addressstringAdresse analysée
result.items[].hashstringHash analysé (uniquement pour hash)
result.items[].directionstringDirection de la transaction le cas échéant
result.items[].networkstringCode du réseau blockchain
result.items[].statusstringStatut actuel (pending, processing, completed, failed)
result.items[].risk_scorefloatScore de risque
result.items[].risk_levelstringNiveau de risque textuel (low, medium, high)
result.items[].blacklistbooleanIndique si une correspondance sur liste noire est détectée
result.items[].risk_factorsarrayListe des facteurs de risque
result.items[].checked_atstringHorodatage de création du contrôle (ISO 8601)

Exemple de réponse

json
{
  "code": 0,
  "result": {
    "page": 1,
    "per_page": 2,
    "total": 5,
    "items": [
      {
        "id": "01jq7h6bvf6p5t1amnz6y3n8c4",
        "type": "hash",
        "address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
        "hash": "E3F2A1B66DBB9F0B24C4125229163944A7D91EB3F1AC5E409FFCEE0C81A913F2",
        "direction": "withdrawal",
        "network": "BTC",
        "status": "completed",
        "risk_score": 64.3,
        "risk_level": "high",
        "blacklist": true,
        "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-25T11:14:48Z"
      },
      {
        "id": "01jq7g0r7w1r6b2fayq5e4n9d7",
        "type": "address",
        "address": "0x6Dc1f03B1d2c27D6c741832F4AA83322D41De7Ea",
        "network": "ETH",
        "status": "pending",
        "risk_score": null,
        "risk_level": null,
        "blacklist": false,
        "risk_factors": [],
        "checked_at": "2024-03-25T11:12:03Z"
      }
    ]
  }
}

Erreurs possibles

Code d’erreurDescription
1Erreur d’authentification (token ou signature incorrects)
2Paramètres de pagination ou de statut invalides
500Erreur interne du serveur

Tron Energy API Documentation