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 включения AML-мониторинга для компаний
Включайте и выключайте постоянный AML-мониторинг сразу для многих компаний одним вызовом Didit: оценка стоимости, задача и результат по каждой компании.
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
}
}Обзор
Включает или отключает постоянный AML-мониторинг для выбранных компаний так же, как действие Постоянный AML-мониторинг в Business Console. Консоль и этот эндпоинт выполняют одну и ту же базовую операцию, поэтому правила, биллинг и результаты совпадают. Сначала отправьтеestimate_only: true, чтобы увидеть, сколько компаний выбрано, сколько из них нуждаются в новом AML-скрининге, разовую стоимость скрининга и годовую стоимость мониторинга. Пробный запуск ничего не записывает. Оценка использует те же имена полей, что и эндпоинт пользователей, поэтому users_total означает количество выбранных компаний.
Как обрабатывается выбор
- Один отслеживаемый скрининг на компанию. Компания, которая проходила верификацию несколько раз, мониторится и оплачивается один раз. Отключение выключает мониторинг во всех скринингах этой компании.
- Компании без AML-скрининга сначала проходят скрининг. Didit создает для них новую AML-верификацию (она видна на вкладке Верификации компании), оплачивается она как обычный AML-скрининг, и на ней включается мониторинг. Скрининг использует юридическое название компании (или отображаемое имя) и страну. Компания, у которой нет никакого названия, помечается как
skipped_no_identity_data, а не пропускается молча. - Приложения в песочнице никогда не создают скрининги (
skipped_sandbox). - Баланс проверяется заранее. Включение отклоняется с ответом
403, если баланса не хватает на оценку. Ответ содержит оценку, чтобы вы знали, на какую сумму нужно пополнить баланс. - Ежегодное продление. Для новой компании, на которой включен мониторинг, годовая стоимость мониторинга начисляется в следующую дату продления, та же дата отображается в колонке Постоянный мониторинг в консоли. Отключение останавливает продление, но не возвращает деньги за уже оплаченный период.
Выбор и размер пакета
Выбирайте компании черезvendor_data_list, didit_internal_id_list или оба параметра сразу. Списки объединяются по принципу ИЛИ. Один запрос принимает не более 1000 идентификаторов в сумме по обоим спискам. Идентификаторы, которые не совпадают ни с одной компанией в вашем приложении, возвращаются в unmatched в том виде, в котором были отправлены, и никогда не приводят к ошибке запроса. Выборка без совпадений завершается пустой задачей (total: 0), в которой перечислены все идентификаторы. Это то же правило, что и в эндпоинтах пакетного удаления.
Синхронно или в фоне
Выборки до 20 компаний включительно обрабатываются синхронно, и вызов возвращает200 с готовой задачей. Большие выборки возвращают 202 с задачей в статусе PENDING. В этом случае опрашивайте Получение задачи AML-мониторинга, пока status не станет COMPLETED или FAILED. В любом случае задача содержит один элемент results на каждую компанию с её outcome.
outcome | Значение |
|---|---|
enabled | Мониторинг включен на существующем AML-скрининге. |
screened_and_enabled | Создан новый AML-скрининг (оплачивается), и на нем включен мониторинг. |
already_enabled | Мониторинг уже был активен. Ничего не изменилось, ничего не оплачено. |
disabled | Мониторинг отключен во всех скринингах компании. |
skipped_no_identity_data | У компании нет юридического названия или отображаемого имени для скрининга. |
skipped_sandbox | Приложение в песочнице. Скрининг не создается. |
failed_provider | Скрининг не удалось завершить. Повторите попытку позже. |
failed_insufficient_balance | Баланс закончился во время выполнения задачи. |
Webhooks
Переключение мониторинга не отправляет собственный webhook. Когда мониторинг включен, повторные проверки продолжают отправлять стандартные событияstatus.updated и data.updated, описанные в Постоянный AML-мониторинг.
Разрешения
Любой активный API-ключ приложения может вызывать этот эндпоинт. API-ключи Didit привязаны к приложению, а не к роли. Роли и разрешения в консоли определяют, что может делать человек в консоли, и для трафика Management API они не проверяются.Связанные материалы
- Получение задачи AML-мониторинга
- Переключение AML-мониторинга для пользователей
- Постоянный AML-мониторинг
- AML-скрининг компании
- Список компаний
Авторизации
API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.
Тело
Выберите компании с помощью vendor_data_list, didit_internal_id_list или обоих параметров (два списка объединяются через OR). Не более 1000 идентификаторов на запрос в сумме по обоим спискам.
true для включения мониторинга, false для его отключения.
Если true, возвращает предварительную оценку стоимости и не выполняет операций записи: без скрининга, без биллинга, без создания задачи.
Ваши собственные идентификаторы компаний для переключения, сопоставляемые в точности с переданными.
Внутренние идентификаторы компаний в Didit для переключения: didit_internal_id, возвращаемый endpoints создания, получения и вывода списка.
Ответ
Предварительная оценка (когда estimate_only равно true) или завершённое задание для выборки, обработанной синхронно.
- Option 1
- Option 2
Предварительный расчёт стоимости. Возвращается напрямую, если estimate_only имеет значение true (ничего не записывается).
Профили, соответствующие выборке.
Профили, которые уже находятся на мониторинге (при включении действий не требуется; это профили, которые отключаются при деактивации).
Профили, для которых существующий AML-скрининг будет переведён в статус постоянного мониторинга (новый скрининг не проводится).
Профили без AML-скрининга, для которых скрининг будет проведён впервые (оплачивается как обычный AML-скрининг).
Профили, для которых невозможно провести скрининг из-за отсутствия идентификационных данных.
Заблокированные пользователи, которые будут пропущены (всегда 0 для компаний).
Разовая стоимость новых проверок.
0.2
Ежегодная стоимость мониторинга профилей, которые будут отслеживаться.
0.07
Покрывает ли баланс организации скрининг плюс первый год мониторинга.
Идентификаторы из запроса, которым не подошёл ни один профиль в этом приложении, в точности так, как они были отправлены.