curl -X POST 'https://verification.didit.me/v3/businesses/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "vendor_data_list": ["company-123", "company-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.businesses.set_aml_monitoring(
is_enabled=True,
estimate_only=True,
vendor_data_list=["company-123", "company-456"],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.businesses.setAmlMonitoring({
is_enabled: true,
estimate_only: true,
vendor_data_list: ["company-123", "company-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Businesses.SetAMLMonitoring(ctx, didit.BusinessesSetAMLMonitoringParams{
IsEnabled: true,
EstimateOnly: didit.Bool(true),
VendorDataList: didit.Some([]string{"company-123", "company-456"}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.BusinessesSetAmlMonitoringParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.businesses().setAmlMonitoring(BusinessesSetAmlMonitoringParams.builder()
.isEnabled(true)
.estimateOnly(true)
.vendorDataList(List.of("company-123", "company-456"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->businesses->setAmlMonitoring([
'is_enabled' => true,
'estimate_only' => true,
'vendor_data_list' => ['company-123', 'company-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.businesses.set_aml_monitoring(
is_enabled: true,
estimate_only: true,
vendor_data_list: ["company-123", "company-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.Businesses.SetAmlMonitoringAsync(new BusinessesSetAmlMonitoringParams
{
IsEnabled = true,
EstimateOnly = true,
VendorDataList = new string[] { "company-123", "company-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 entreprises
Activez ou désactivez la surveillance AML de plusieurs entreprises en un seul appel Didit, avec estimation de coût et résultat par entreprise.
curl -X POST 'https://verification.didit.me/v3/businesses/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "vendor_data_list": ["company-123", "company-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.businesses.set_aml_monitoring(
is_enabled=True,
estimate_only=True,
vendor_data_list=["company-123", "company-456"],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.businesses.setAmlMonitoring({
is_enabled: true,
estimate_only: true,
vendor_data_list: ["company-123", "company-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Businesses.SetAMLMonitoring(ctx, didit.BusinessesSetAMLMonitoringParams{
IsEnabled: true,
EstimateOnly: didit.Bool(true),
VendorDataList: didit.Some([]string{"company-123", "company-456"}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.BusinessesSetAmlMonitoringParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.businesses().setAmlMonitoring(BusinessesSetAmlMonitoringParams.builder()
.isEnabled(true)
.estimateOnly(true)
.vendorDataList(List.of("company-123", "company-456"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->businesses->setAmlMonitoring([
'is_enabled' => true,
'estimate_only' => true,
'vendor_data_list' => ['company-123', 'company-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.businesses.set_aml_monitoring(
is_enabled: true,
estimate_only: true,
vendor_data_list: ["company-123", "company-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.Businesses.SetAmlMonitoringAsync(new BusinessesSetAmlMonitoringParams
{
IsEnabled = true,
EstimateOnly = true,
VendorDataList = new string[] { "company-123", "company-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
}
}Vue d’ensemble
Active ou désactive la surveillance AML continue pour les entreprises sélectionnées, exactement comme l’action Surveillance AML continue du 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 donc identiques. Envoyez d’abordestimate_only: true pour connaître le nombre d’entreprises sélectionnées, le nombre d’entreprises qui nécessitent un nouveau filtrage AML, le coût unique du filtrage et le coût annuel de la surveillance. Une exécution à blanc n’écrit rien. L’estimation utilise les mêmes noms de champs que l’endpoint des utilisateurs : users_total correspond donc au nombre d’entreprises sélectionnées.
Traitement d’une sélection
- Un seul filtrage surveillé par entreprise. Une entreprise qui a été vérifiée plusieurs fois est surveillée et facturée une seule fois. La désactivation arrête la surveillance sur l’ensemble des filtrages de cette entreprise.
- Les entreprises sans filtrage AML sont d’abord filtrées. Didit crée pour elles une nouvelle vérification AML (visible dans l’onglet Vérifications de l’entreprise), facturée comme un filtrage AML classique, et active la surveillance sur ce filtrage. Le filtrage utilise la raison sociale (ou le nom d’affichage) et le pays de l’entreprise. Une entreprise sans aucun nom est signalée avec
skipped_no_identity_dataau lieu d’être ignorée silencieusement. - 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
403lorsque votre solde ne couvre pas l’estimation. La réponse contient alors l’estimation, afin que vous sachiez combien recharger. - Renouvellement annuel. Une entreprise nouvellement surveillée est facturée au tarif annuel de la surveillance à sa prochaine date de renouvellement, celle que la Console affiche dans la colonne Surveillance continue. La désactivation arrête le renouvellement ; elle ne rembourse pas une période déjà facturée.
Sélection et taille du lot
Sélectionnez des entreprises avecvendor_data_list, didit_internal_id_list, ou les deux ; les deux listes sont combinées par un opérateur OR. Une requête accepte au maximum 1000 identifiants au total pour les deux listes. Les identifiants qui ne correspondent à aucune entreprise 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 entreprises ou moins sont traitées de manière synchrone, 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 vaille COMPLETED ou FAILED. Dans les deux cas, la tâche contient une entrée results par entreprise, 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 tous les filtrages de l’entreprise. |
skipped_no_identity_data | L’entreprise n’a ni raison sociale ni nom d’affichage à filtrer. |
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 s’est é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 refiltrages 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 Didit sont limitées à l’application, et non au 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 la Management API.Voir aussi
- Obtenir la tâche de surveillance AML
- Activer ou désactiver la surveillance AML des utilisateurs
- Surveillance AML continue
- Filtrage AML d’une entreprise
- Lister les entreprises
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 entreprises 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 entreprises à basculer, mis en correspondance exacte avec ceux transmis.
Identifiants internes Didit des entreprises à basculer - le didit_internal_id renvoyé par les endpoints de création, de récupération 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.