curl -X POST 'https://verification.didit.me/v3/users/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "vendor_data_list": ["user-123", "user-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.users.set_aml_monitoring(
is_enabled=True,
estimate_only=True,
vendor_data_list=["user-123", "user-456"],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.users.setAmlMonitoring({
is_enabled: true,
estimate_only: true,
vendor_data_list: ["user-123", "user-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Users.SetAMLMonitoring(ctx, didit.UsersSetAMLMonitoringParams{
IsEnabled: true,
EstimateOnly: didit.Bool(true),
VendorDataList: didit.Some([]string{"user-123", "user-456"}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.UsersSetAmlMonitoringParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.users().setAmlMonitoring(UsersSetAmlMonitoringParams.builder()
.isEnabled(true)
.estimateOnly(true)
.vendorDataList(List.of("user-123", "user-456"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->users->setAmlMonitoring([
'is_enabled' => true,
'estimate_only' => true,
'vendor_data_list' => ['user-123', 'user-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.users.set_aml_monitoring(
is_enabled: true,
estimate_only: true,
vendor_data_list: ["user-123", "user-456"]
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Users.SetAmlMonitoringAsync(new UsersSetAmlMonitoringParams
{
IsEnabled = true,
EstimateOnly = true,
VendorDataList = new string[] { "user-123", "user-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true,
"unmatched": [
"<string>"
]
}{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "PENDING",
"is_enabled": true,
"target_type": "user",
"total": 123,
"processed": 123,
"outcomes": {
"enabled": 123,
"screened_and_enabled": 123,
"already_enabled": 123,
"disabled": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"skipped_sandbox": 123,
"failed_provider": 123,
"failed_insufficient_balance": 123
},
"results": [
{
"didit_internal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_data": "<string>",
"outcome": "enabled"
}
],
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"estimate": {
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true
},
"unmatched": [
"<string>"
]
}{
"error": "<string>",
"estimate": {
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true
}
}Activer/désactiver la surveillance AML des utilisateurs
Avec Didit, activez ou désactivez la surveillance AML continue de nombreux utilisateurs en un appel, avec estimation des coûts.
curl -X POST 'https://verification.didit.me/v3/users/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "vendor_data_list": ["user-123", "user-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.users.set_aml_monitoring(
is_enabled=True,
estimate_only=True,
vendor_data_list=["user-123", "user-456"],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.users.setAmlMonitoring({
is_enabled: true,
estimate_only: true,
vendor_data_list: ["user-123", "user-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Users.SetAMLMonitoring(ctx, didit.UsersSetAMLMonitoringParams{
IsEnabled: true,
EstimateOnly: didit.Bool(true),
VendorDataList: didit.Some([]string{"user-123", "user-456"}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.UsersSetAmlMonitoringParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.users().setAmlMonitoring(UsersSetAmlMonitoringParams.builder()
.isEnabled(true)
.estimateOnly(true)
.vendorDataList(List.of("user-123", "user-456"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->users->setAmlMonitoring([
'is_enabled' => true,
'estimate_only' => true,
'vendor_data_list' => ['user-123', 'user-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.users.set_aml_monitoring(
is_enabled: true,
estimate_only: true,
vendor_data_list: ["user-123", "user-456"]
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Users.SetAmlMonitoringAsync(new UsersSetAmlMonitoringParams
{
IsEnabled = true,
EstimateOnly = true,
VendorDataList = new string[] { "user-123", "user-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true,
"unmatched": [
"<string>"
]
}{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "PENDING",
"is_enabled": true,
"target_type": "user",
"total": 123,
"processed": 123,
"outcomes": {
"enabled": 123,
"screened_and_enabled": 123,
"already_enabled": 123,
"disabled": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"skipped_sandbox": 123,
"failed_provider": 123,
"failed_insufficient_balance": 123
},
"results": [
{
"didit_internal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_data": "<string>",
"outcome": "enabled"
}
],
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"estimate": {
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true
},
"unmatched": [
"<string>"
]
}{
"error": "<string>",
"estimate": {
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true
}
}Présentation
Active ou désactive la surveillance AML continue pour les entités utilisateur sélectionnées, exactement comme l’action Surveillance AML continue dans la Business Console. La Console et cet endpoint exécutent la même opération sous-jacente : les règles, la facturation et les résultats sont identiques. Envoyez d’abordestimate_only: true pour connaître le nombre d’utilisateurs sélectionnés, le nombre de ceux qui nécessitent un nouveau filtrage AML, le coût unique du filtrage et le coût annuel de la surveillance. Un essai à blanc n’écrit rien.
Quand l’utiliser
- Onboarding programmatique : activez la surveillance pour les utilisateurs que vous avez importés ou créés via l’API, sans les filtrer à nouveau manuellement.
- Offboarding : arrêtez la surveillance, ainsi que son renouvellement annuel, pour les utilisateurs qui ont quitté votre plateforme.
- Maîtrise des coûts : prévisualisez l’impact exact sur les coûts d’une sélection avant de vous engager.
Traitement d’une sélection
- Un filtrage surveillé par utilisateur. Un utilisateur qui a effectué plusieurs vérifications est surveillé et facturé une seule fois. La désactivation arrête la surveillance sur l’ensemble des filtrages de cet utilisateur.
- Les utilisateurs sans filtrage AML sont filtrés en premier. Didit crée une nouvelle vérification AML pour eux (visible dans l’onglet Vérifications de l’utilisateur), facturée comme un filtrage AML classique, puis y active la surveillance. Cela nécessite le nom complet, la date de naissance et le pays de l’utilisateur ; un utilisateur auquel il manque l’un de ces éléments est signalé avec
skipped_no_identity_dataau lieu d’être ignoré silencieusement. - Les utilisateurs bloqués sont ignorés (
skipped_blocked). Les applications sandbox ne créent jamais de filtrage (skipped_sandbox). - Le solde est vérifié au préalable. L’activation est refusée avec
403si votre solde ne couvre pas l’estimation. La réponse contient alors l’estimation, afin que vous sachiez quel montant recharger. - Renouvellement annuel. Un utilisateur nouvellement surveillé est facturé au prix annuel de la surveillance à sa prochaine date de renouvellement, celle qui s’affiche dans la colonne Surveillance continue de la Console. La désactivation arrête le renouvellement ; elle ne rembourse pas une période déjà facturée.
Sélection et taille des lots
Sélectionnez les utilisateurs avecvendor_data_list, didit_internal_id_list, ou les deux ; les deux listes sont combinées par OU logique. Une requête accepte au maximum 1000 identifiants au total sur les deux listes. Les identifiants qui ne correspondent à aucun utilisateur de votre application sont renvoyés sous unmatched, tels qu’envoyés, et ne font jamais échouer la requête : une sélection sans correspondance se termine comme une tâche vide (total: 0) avec tous les identifiants listés, selon la même convention que les endpoints de suppression par lot.
Traitement synchrone ou en arrière-plan
Les sélections de 20 utilisateurs ou moins sont traitées immédiatement, et l’appel renvoie200 avec la tâche terminée. Les sélections plus importantes renvoient 202 avec une tâche PENDING ; interrogez Obtenir la tâche de surveillance AML jusqu’à ce que status soit COMPLETED ou FAILED. Dans les deux cas, la tâche contient une entrée results par utilisateur, avec son outcome.
outcome | Signification |
|---|---|
enabled | Surveillance activée sur un filtrage AML existant. |
screened_and_enabled | Un nouveau filtrage AML a été créé (facturé) et la surveillance y a été activée. |
already_enabled | La surveillance était déjà active ; rien n’a changé, rien n’a été facturé. |
disabled | Surveillance désactivée sur l’ensemble des filtrages de l’utilisateur. |
skipped_no_identity_data | L’utilisateur ne dispose pas du nom complet, de la date de naissance ou du pays nécessaires au filtrage. |
skipped_blocked | L’utilisateur est bloqué. |
skipped_sandbox | Application sandbox ; aucun filtrage n’est créé. |
failed_provider | Le filtrage n’a pas pu être terminé. Réessayez plus tard. |
failed_insufficient_balance | Le solde a été épuisé pendant l’exécution de la tâche. |
Webhooks
L’activation ou la désactivation de la surveillance n’émet aucun webhook propre. Une fois la surveillance active, les revérifications continuent de déclencher les événements habituelsstatus.updated et data.updated décrits dans Surveillance AML continue.
Autorisations
Toute clé API active de l’application peut appeler cet endpoint. Les clés API de Didit sont limitées à l’application, et non à un rôle : les rôles et autorisations de la Console déterminent ce qu’une personne peut faire dans la Console et ne sont pas évalués pour le trafic de l’API de gestion.Voir aussi
- Obtenir la tâche de surveillance AML
- Activer ou désactiver la surveillance AML des entreprises
- Surveillance AML continue
- API de filtrage AML
- Lister les utilisateurs
Autorisations
La clé API de votre application, issue de Développeurs -> Clés API dans la Business Console. La clé principale dispose d'un accès complet. Une clé nommée peut être restreinte : aucun, lecture ou écriture par ressource, limitée à certains workflows ou aux sessions approuvées, à une liste d'adresses IP et à une date d'expiration. 401 signifie que la clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a été envoyée, que la clé n'a pas accès à cette ressource ou action, ou que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur une route de session signifie que la session est hors des workflows ou des statuts de la clé. Une clé sans accès aux médias reçoit les URL d'images, de vidéos et de PDF à null, et une clé sans accès en écriture aux sessions reçoit les liens et tokens de session à null. Voir https://docs.didit.me/console/api-keys.
Corps
Sélectionnez des utilisateurs avec vendor_data_list, didit_internal_id_list, ou les deux (les deux listes sont combinées avec un opérateur OU). Au maximum 1000 identifiants par requête sur l'ensemble des deux listes.
true pour activer la surveillance, false pour la désactiver.
Si true, renvoie l'estimation des coûts et n'effectue aucune écriture : aucun filtrage, aucune facturation, aucune tâche.
Vos propres identifiants des utilisateurs à basculer, mis en correspondance exacte avec ceux transmis.
Identifiants internes Didit des utilisateurs à basculer - le didit_internal_id renvoyé par les endpoints de création, d'obtention et de liste.
Réponse
L'estimation (lorsque estimate_only est true) ou la tâche terminée pour une sélection traitée en ligne.
- Option 1
- Option 2
Aperçu du coût. Renvoyé directement lorsque estimate_only est vrai (rien n'est écrit).
Profils correspondant à la sélection.
Profils déjà surveillés (aucune action lors de l'activation ; ce sont ceux que la désactivation désactive).
Profils dont le filtrage AML existant passera en mode surveillé (aucun nouveau filtrage).
Profils sans aucun filtrage AML qui seront d'abord filtrés (facturés comme un filtrage AML standard).
Profils ne pouvant pas faire l'objet d'un filtrage en raison de données d'identité manquantes.
Utilisateurs bloqués qui seront ignorés (toujours 0 pour les entreprises).
Coût ponctuel des nouveaux filtrages.
0.2
Coût de surveillance annuel des profils qui deviendront surveillés.
0.07
Indique si le solde de l'organisation couvre le filtrage ainsi que la première année de surveillance.
Identifiants de la requête ne correspondant à aucun profil dans cette application, exactement tels qu'envoyés.