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
}
}Ativar ou desativar monitoramento AML de usuários na API
Ative ou desative o monitoramento contínuo AML da Didit para vários usuários, com simulação de custo, job consultável e resultado por usuário.
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
}
}Visão geral
Ativa ou desativa o monitoramento AML contínuo das entidades de usuário selecionadas, exatamente como faz a ação Monitoramento contínuo AML no Business Console. O Console e este endpoint executam a mesma operação subjacente, então as regras, o faturamento e os resultados são idênticos. Envie primeiroestimate_only: true para ver quantos usuários estão selecionados, quantos precisam de uma nova análise AML, o custo único da análise e o custo anual do monitoramento. Uma simulação (dry-run) não grava nada.
Quando usar
- Onboarding programático: ative o monitoramento de usuários que você importou ou criou pela API sem precisar analisá-los de novo manualmente.
- Desligamento de usuários: interrompa o monitoramento, e a respectiva renovação anual, de usuários que saíram da sua plataforma.
- Controle de custos: visualize o impacto exato de uma seleção no custo antes de confirmá-la.
Como uma seleção é processada
- Uma análise monitorada por usuário. Um usuário que se verificou várias vezes é monitorado e cobrado uma única vez. A desativação desliga o monitoramento em todas as análises desse usuário.
- Usuários sem Análise AML são analisados primeiro. A Didit cria uma nova verificação AML para eles (visível na aba Verificações do usuário), cobrada como uma Análise AML comum, e ativa o monitoramento nela. Isso exige o nome completo, a data de nascimento e o país do usuário; um usuário sem algum desses dados recebe o status
skipped_no_identity_dataem vez de ser descartado silenciosamente. - Usuários bloqueados são ignorados (
skipped_blocked). Aplicações de sandbox nunca criam análises (skipped_sandbox). - O saldo é verificado antecipadamente. A ativação é recusada com
403quando o seu saldo não cobre a estimativa, e a resposta inclui a estimativa para que você saiba quanto recarregar. - Renovação anual. Um usuário recém-monitorado é cobrado pelo preço anual do monitoramento na próxima data de renovação, a mesma data que o Console mostra na coluna Monitoramento contínuo. A desativação interrompe a renovação; ela não reembolsa um período já cobrado.
Seleção e tamanho do lote
Selecione usuários comvendor_data_list, didit_internal_id_list ou ambos; as duas listas são combinadas com OR. Uma requisição aceita no máximo 1000 identificadores somando as duas listas. Identificadores que não correspondem a nenhum usuário da sua aplicação são retornados em unmatched, exatamente como foram enviados, e nunca fazem a requisição falhar: uma seleção sem nenhuma correspondência é concluída como um job vazio (total: 0) com todos os identificadores listados, a mesma convenção dos endpoints de exclusão em lote.
Processamento imediato ou em segundo plano
Seleções de 20 usuários ou menos são processadas imediatamente e a chamada retorna200 com o job concluído. Seleções maiores retornam 202 com um job PENDING; consulte Obter job de monitoramento AML periodicamente até que status seja COMPLETED ou FAILED. Em ambos os casos, o job traz uma entrada em results por usuário, com o respectivo outcome.
outcome | Significado |
|---|---|
enabled | Monitoramento ativado em uma triagem AML existente. |
screened_and_enabled | Uma nova triagem AML foi criada (e cobrada) e o monitoramento foi ativado nela. |
already_enabled | O monitoramento já estava ativo; nada foi alterado e nada foi cobrado. |
disabled | Monitoramento desativado em todas as triagens AML do usuário. |
skipped_no_identity_data | O usuário não tem o nome completo, a data de nascimento ou o país necessários para a triagem. |
skipped_blocked | O usuário está bloqueado. |
skipped_sandbox | Aplicação de sandbox; nenhuma triagem é criada. |
failed_provider | Não foi possível concluir a triagem. Tente novamente mais tarde. |
failed_insufficient_balance | O saldo acabou enquanto o job estava em execução. |
Webhooks
Ativar ou desativar o monitoramento não emite nenhum webhook próprio. Com o monitoramento ativo, as novas análises continuam disparando os eventos habituaisstatus.updated e data.updated descritos em Monitoramento AML contínuo.
Permissões
Qualquer chave de API ativa da aplicação pode chamar este endpoint. As chaves de API da Didit têm escopo de aplicação, não de função: as funções e permissões do Console definem o que uma pessoa pode fazer no Console e não são consideradas no tráfego da Management API.Relacionados
- Obter tarefa de monitoramento AML
- Ativar ou desativar o monitoramento AML de empresas
- Monitoramento AML contínuo
- API de Triagem AML
- Listar usuários
Autorizações
Chave de API da sua aplicação, em Developers -> API keys no Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está errada, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que a requisição veio de um endereço fora da sua lista de IPs; 404 em uma rota de sessão significa que a sessão está fora dos fluxos ou status da chave. Uma chave sem acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave sem permissão de escrita em sessões recebe links e tokens de sessão como null. Consulte https://docs.didit.me/console/api-keys.
Corpo
Selecione usuários com vendor_data_list, didit_internal_id_list ou ambos (as duas listas são combinadas com OR). No máximo 1000 identificadores por requisição, somando as duas listas.
true para ativar o monitoramento, false para desativá-lo.
Quando verdadeiro, retorna a estimativa de custo e não realiza nenhuma gravação: sem triagem, sem faturamento, sem tarefa.
Seus próprios identificadores dos usuários a alternar, comparados exatamente como enviados.
IDs internos da Didit dos usuários cujo status será alternado: o didit_internal_id retornado pelos endpoints de criação, consulta e listagem.
Resposta
A estimativa (quando estimate_only é true) ou o job concluído para uma seleção processada na própria requisição.
- Option 1
- Option 2
Prévia de custo. Retornada diretamente quando estimate_only é true (nada é gravado).
Perfis correspondentes à seleção.
Perfis já monitorados (nada a fazer ao ativar; são estes que a desativação desliga).
Perfis cuja análise AML existente passará a ser monitorada (sem nova análise).
Perfis sem nenhuma análise AML, que serão analisados primeiro (cobrado como uma análise AML comum).
Perfis que não podem ser analisados porque faltam dados de identidade.
Usuários bloqueados que serão ignorados (sempre 0 para empresas).
Custo único das novas análises.
0.2
Custo anual de monitoramento dos perfis que passarão a ser monitorados.
0.07
Se o saldo da organização cobre a triagem mais o primeiro ano de monitoramento.
Identificadores da requisição que não corresponderam a nenhum perfil nesta aplicação, exatamente como enviados.