Bienvenue dans l'API AML Company
L'API AML Company vous permet d'intégrer les fonctionnalités de conformité anti-blanchiment directement dans vos applications. Créez, consultez et gérez des rapports AML de manière programmatique.
Authentification par clés API avec scopes, expiration et IP whitelisting
Réponses optimisées et structure JSON claire
Exemples en JavaScript, PHP, Python et cURL
Obtenir une clé API
Créez une clé avec les scopes aml:read et aml:write
Récupérer les questions AML
GET /api/external/aml-questions
Créer un rapport AML
POST /api/external/aml-report avec les réponses
Authentification
Toutes les requêtes API nécessitent une clé API valide dans le header Authorization.
Authorization: Bearer amlc_VOTRE_CLE_API_ICIToutes les clés commencent par le préfixe amlc_
Lecture des données
Requis pour GET /aml-questions et GET /aml-report
Création de données
Requis pour POST /aml-report
GET /api/external/aml-questions
Liste toutes les questions AML avec leurs options et scores de risque
Authorization: Bearer amlc_VOTRE_CLE_API
Scope requis: aml:read
Aucun paramètre requis
{
"success": true,
"questions": [
{
"id": "cm...",
"category": "RISQUE_GEOGRAPHIQUE",
"questionText": "Dans quel pays l'activité est-elle exercée ?",
"weight": 10,
"options": [
{
"id": "cm...",
"optionText": "Pays à haut risque",
"riskImpact": "HIGH",
"score": 10
},
{
"optionText": "Belgique ou UE",
"riskImpact": "LOW",
"score": 2
}
]
}
]
}curl -X GET "https://votre-domaine.com/api/external/aml-questions" \
-H "Authorization: Bearer amlc_VOTRE_CLE_API"POST /api/external/aml-report
Crée un nouveau rapport AML complet (client + entreprise + analyse)
Authorization: Bearer amlc_VOTRE_CLE_API
Scope requis: aml:write
{
"client": {
"name": "Jean Dupont",
"email": "jean@example.com",
"phone": "+32 2 123 45 67"
},
"company": {
"name": "Example SPRL",
"vatNumber": "BE0123456789",
"legalForm": "SPRL",
"registeredCapital": "18550.00",
"mainActivity": "Services informatiques",
"registrationDate": "2020-01-15",
"address": {
"street": "Rue de la Loi",
"number": "123",
"box": "A",
"postalCode": "1000",
"city": "Bruxelles",
"country": "BE"
},
"contactEmail": "contact@example.com",
"contactPhone": "+32 2 123 45 67"
},
"amlAnswers": [
{
"questionId": "cm...",
"selectedOptionId": "cm..."
}
],
"beneficiaries": [
{
"firstName": "Jean",
"lastName": "Dupont",
"birthDate": "1980-05-15",
"nationality": "BE",
"ownershipPercentage": 100
}
]
}{
"success": true,
"report": {
"metadata": {
"reportId": "cm123abc",
"generatedAt": "2026-03-10T10:00:00Z"
},
"ids": {
"clientId": "client_xyz",
"companyId": "company_abc",
"onboardingId": "onb_def"
},
"riskAssessment": {
"score": 45,
"maxScore": 150,
"level": "MEDIUM",
"percentage": 30
},
"recommendations": [
{
"priority": "MEDIUM",
"message": "Vérification supplémentaire recommandée"
}
]
}
}Invalid Data
Données manquantes ou invalides
Conflict
Entreprise déjà existante pour ce numéro de TVA
GET /api/external/aml-report
Récupère un rapport AML existant par numéro de TVA
| Nom | Type | Requis | Description |
|---|---|---|---|
| tva | string | Oui | Numéro de TVA belge (BE + 10 chiffres) |
curl -X GET "https://votre-domaine.com/api/external/aml-report?tva=BE0123456789" \
-H "Authorization: Bearer amlc_VOTRE_CLE_API"Exemples d'intégration
Exemples complets dans plusieurs langages de programmation
// Installation: npm install node-fetch
const fetch = require('node-fetch');
// 1. Récupérer toutes les questions AML
async function getAMLQuestions() {
const response = await fetch(
'https://votre-domaine.com/api/external/aml-questions',
{ headers: { 'Authorization': 'Bearer amlc_VOTRE_CLE_API' } }
);
return await response.json();
}
// 2. Créer un nouveau rapport AML
async function createAMLReport(reportData) {
const response = await fetch(
'https://votre-domaine.com/api/external/aml-report',
{
method: 'POST',
headers: {
'Authorization': 'Bearer amlc_VOTRE_CLE_API',
'Content-Type': 'application/json'
},
body: JSON.stringify(reportData)
}
);
return await response.json();
}
// 3. Récupérer un rapport existant
async function getAMLReport(vatNumber) {
const response = await fetch(
'https://votre-domaine.com/api/external/aml-report?tva=' + vatNumber,
{ headers: { 'Authorization': 'Bearer amlc_VOTRE_CLE_API' } }
);
return await response.json();
}Bonnes Pratiques
Stockez vos clés API dans des variables d'environnement
Ne committez jamais vos clés dans Git
Utilisez uniquement HTTPS en production
Définissez une date d'expiration pour vos clés
Mettez en cache les réponses côté client
Respectez la limite de 1000 requêtes/heure
Implémentez un retry avec backoff exponentiel
Utilisez des timeouts pour éviter les blocages
Codes d'Erreur HTTP
Unauthorized
Clé API invalide, expirée ou révoquée
Forbidden
Permissions insuffisantes (scope requis manquant)
Not Found
Ressource introuvable ou aucun rapport validé
Conflict
Ressource déjà existante (duplication)
Too Many Requests
Limite de débit dépassée (1000 requêtes/heure)
Besoin d'Aide ?
En cas de problème, contactez-nous avec le code d'erreur reçu pour un support rapide.