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
}
}API para ativar monitoramento AML de empresas
Ative ou desative em lote o monitoramento AML contínuo de empresas na Didit, com simulação de custo, job consultável e resultado por empresa.
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
}
}Visão geral
Ativa ou desativa o monitoramento contínuo de AML para as entidades empresariais 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, portanto as regras, o faturamento e os resultados são idênticos. Envie primeiroestimate_only: true para ver quantas empresas estão selecionadas, quantas 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. A estimativa usa os mesmos nomes de campo do endpoint de usuários, então users_total é o número de empresas selecionadas.
Como uma seleção é processada
- Uma análise monitorada por empresa. Uma empresa que foi verificada várias vezes é monitorada e faturada uma única vez. A desativação desliga o monitoramento em todas as análises dessa empresa.
- Empresas sem análise AML são analisadas primeiro. A Didit cria uma nova verificação AML para elas (visível na aba Verificações da empresa), faturada como uma análise AML comum, e ativa o monitoramento nela. A análise usa a razão social (ou o nome de exibição) e o país da empresa; uma empresa sem nenhum nome é informada como
skipped_no_identity_dataem vez de ser descartada silenciosamente. - Aplicações 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 traz a estimativa para que você saiba quanto recarregar. - Renovação anual. Uma empresa recém-monitorada é faturada pelo preço anual de monitoramento na sua 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á faturado.
Seleção e tamanho do lote
Selecione empresas comvendor_data_list, didit_internal_id_list ou ambas; as duas listas são combinadas com OR. Uma requisição aceita no máximo 1000 identificadores somando as duas listas. Os identificadores que não correspondem a nenhuma empresa da sua aplicação são retornados em unmatched, exatamente como foram enviados, e nunca fazem com que a requisição falhe: uma seleção que não corresponde a nada é concluída como um job vazio (total: 0) com todos os identificadores listados, a mesma convenção dos endpoints de exclusão em lote.
De forma síncrona ou em segundo plano
Seleções de 20 empresas ou menos são processadas de forma síncrona 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 empresa, com o respectivo outcome.
outcome | Significado |
|---|---|
enabled | Monitoramento ativado em uma análise AML existente. |
screened_and_enabled | Uma nova análise AML foi criada (faturada) e o monitoramento foi ativado nela. |
already_enabled | O monitoramento já estava ativo; nada mudou, nada foi faturado. |
disabled | Monitoramento desligado em todas as análises da empresa. |
skipped_no_identity_data | A empresa não tem razão social nem nome de exibição para analisar. |
skipped_sandbox | Aplicação sandbox; nenhuma análise é criada. |
failed_provider | A análise não pôde ser concluída. 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. Depois que o monitoramento está ativo, as reaná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 associadas à aplicação, não à função: as funções e permissões do Console definem o que uma pessoa pode fazer no Console e não são avaliadas no tráfego da Management API.Relacionados
- Obter tarefa de monitoramento AML
- Ativar ou desativar o monitoramento AML de usuários
- Monitoramento AML contínuo
- Análise AML de empresas
- Listar empresas
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 empresas 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 das empresas a alternar, comparados exatamente como enviados.
IDs internos da Didit das empresas 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.