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
}
}Monitoraggio AML utenti: attiva o disattiva via API
Attiva o disattiva il monitoraggio AML continuo per molti utenti con una sola chiamata, con stima dei costi in dry-run, job interrogabile ed esito per utente.
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
}
}Panoramica
Attiva o disattiva il monitoraggio AML continuo per le entità utente selezionate, esattamente come l’azione Monitoraggio AML continuo nella Business Console. La Console e questo endpoint eseguono la stessa operazione sottostante, quindi regole, fatturazione ed esiti sono identici. Invia primaestimate_only: true per vedere quanti utenti sono selezionati, quanti richiedono un nuovo Screening AML, il costo una tantum dello screening e il costo annuale del monitoraggio. Una simulazione non scrive nulla.
Quando usarlo
- Onboarding programmatico: attiva il monitoraggio per gli utenti importati o creati tramite API senza ripetere lo screening manualmente.
- Offboarding: interrompi il monitoraggio, e il relativo rinnovo annuale, per gli utenti che hanno lasciato la tua piattaforma.
- Controllo dei costi: visualizza in anticipo l’impatto esatto sui costi di una selezione prima di confermarla.
Come viene elaborata una selezione
- Un solo screening monitorato per utente. Un utente che ha effettuato più verifiche viene monitorato e fatturato una sola volta. La disattivazione spegne il monitoraggio su tutti gli screening di quell’utente.
- Gli utenti senza Screening AML vengono sottoposti prima a screening. Didit crea per loro una nuova verifica AML (visibile nella scheda Verifiche dell’utente), fatturata come uno Screening AML standard, e attiva su di essa il monitoraggio. Sono necessari nome completo, data di nascita e paese; un utente a cui manca uno di questi dati viene segnalato come
skipped_no_identity_datainvece di essere ignorato in silenzio. - Gli utenti bloccati vengono saltati (
skipped_blocked). Le applicazioni sandbox non creano mai screening (skipped_sandbox). - Il saldo viene verificato in anticipo. L’attivazione viene rifiutata con
403quando il saldo non copre la stima, e la risposta contiene la stima così sai quanto ricaricare. - Rinnovo annuale. A un utente appena monitorato viene addebitato il prezzo annuale del monitoraggio alla sua prossima data di rinnovo, la stessa data che la Console mostra nella colonna Monitoraggio continuo. La disattivazione interrompe il rinnovo; non rimborsa un periodo già fatturato.
Selezione e dimensione del batch
Seleziona gli utenti convendor_data_list, didit_internal_id_list, o con entrambi; le due liste sono combinate con OR. Una richiesta accetta al massimo 1000 identificativi in totale tra le due liste. Gli identificativi che non corrispondono a nessun utente della tua applicazione vengono restituiti in unmatched, esattamente come inviati, e non fanno mai fallire la richiesta: una selezione senza corrispondenze si completa come job vuoto (total: 0) con tutti gli identificativi elencati, secondo la stessa convenzione degli endpoint di eliminazione in batch.
In linea o in background
Le selezioni di 20 utenti o meno vengono elaborate in linea e la chiamata restituisce200 con il job completato. Le selezioni più grandi restituiscono 202 con un job PENDING; interroga Get AML Monitoring Job finché status non diventa COMPLETED o FAILED. In entrambi i casi il job contiene una voce results per ogni utente con il relativo outcome.
outcome | Significato |
|---|---|
enabled | Monitoraggio attivato su uno Screening AML esistente. |
screened_and_enabled | È stato creato un nuovo Screening AML (fatturato) e su di esso è stato attivato il monitoraggio. |
already_enabled | Il monitoraggio era già attivo; nulla è stato modificato, nulla è stato fatturato. |
disabled | Monitoraggio disattivato su tutti gli screening dell’utente. |
skipped_no_identity_data | All’utente mancano il nome completo, la data di nascita o il paese necessari per lo screening. |
skipped_blocked | L’utente è bloccato. |
skipped_sandbox | Applicazione sandbox; non viene creato alcuno screening. |
failed_provider | Lo screening non è stato completato. Riprova più tardi. |
failed_insufficient_balance | Il saldo si è esaurito mentre il job era in esecuzione. |
Webhook
L’attivazione o la disattivazione del monitoraggio non genera un webhook proprio. Una volta attivo il monitoraggio, i nuovi screening continuano a generare gli eventistatus.updated e data.updated descritti in Continuous AML Monitoring.
Autorizzazioni
Qualsiasi chiave API attiva dell’applicazione può chiamare questo endpoint. Le chiavi API di Didit sono limitate all’applicazione, non al ruolo: i ruoli e le autorizzazioni della Console determinano cosa può fare una persona nella Console e non vengono valutati per il traffico della Management API.Correlati
- Get AML Monitoring Job
- Toggle AML Monitoring for Businesses
- Continuous AML Monitoring
- AML Screening API
- List Users
Autorizzazioni
La chiave API della tua applicazione, da Developers -> API keys nella Business Console. La chiave primaria ha accesso completo. Una chiave con nome può avere un ambito definito: nessuno, lettura o scrittura per risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco di indirizzi IP e a una data di scadenza. 401 indica che la chiave è errata, revocata o scaduta; 403 indica che non è stata inviata alcuna chiave, che la chiave non ha accesso a questa risorsa o azione, oppure che la richiesta proviene da un indirizzo non incluso nel suo elenco IP; 404 su una route di sessione indica che la sessione non rientra nei workflow o negli stati previsti dalla chiave. Una chiave senza accesso ai media riceve gli URL di immagini, video e PDF come null, e una chiave senza permessi di scrittura sulle sessioni riceve link e token di sessione come null. Consulta https://docs.didit.me/console/api-keys.
Corpo
Seleziona gli utenti con vendor_data_list, didit_internal_id_list o entrambi (i due elenchi vengono combinati con OR). Al massimo 1000 identificatori per richiesta considerando entrambi gli elenchi.
true per abilitare il monitoraggio, false per disabilitarlo.
Se true, restituisce la stima dei costi e non esegue scritture: nessuno screening, nessuna fatturazione, nessun job.
I tuoi identificatori degli utenti da attivare/disattivare, confrontati esattamente come inviati.
ID interni Didit degli utenti da attivare o disattivare: il didit_internal_id restituito dagli endpoint di creazione, recupero ed elenco.
Risposta
La stima (quando estimate_only è true) o il processo completato per una selezione elaborata in linea.
- Option 1
- Option 2
Anteprima dei costi. Restituita direttamente quando estimate_only è true (non viene scritto nulla).
Profili corrispondenti alla selezione.
Profili già monitorati (nessuna operazione da eseguire durante l'abilitazione; sono quelli che vengono disattivati quando si disabilita il monitoraggio).
Profili il cui Screening AML esistente verrà impostato come monitorato (nessun nuovo screening).
Profili senza alcuno Screening AML che verranno prima sottoposti a screening (fatturati come normale Screening AML).
Profili di cui non è possibile effettuare lo screening a causa della mancanza dei dati di identità.
Utenti bloccati che verranno saltati (sempre 0 per le aziende).
Costo una tantum dei nuovi screening.
0.2
Costo annuale di monitoraggio dei profili che passeranno a essere monitorati.
0.07
Indica se il saldo dell'organizzazione copre lo screening e il primo anno di monitoraggio.
Identificatori della richiesta che non hanno trovato corrispondenza con alcun profilo in questa applicazione, esattamente come inviati.