curl -X POST 'https://verification.didit.me/v3/businesses/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["company-123", "company-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.businesses.batch_delete(
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.batchDelete({
vendor_data_list: ["company-123", "company-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Businesses.BatchDelete(ctx, didit.BusinessesBatchDeleteParams{
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.BusinessesBatchDeleteParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.businesses().batchDelete(BusinessesBatchDeleteParams.builder()
.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->batchDelete([
'vendor_data_list' => ['company-123', 'company-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.businesses.batch_delete(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.BatchDeleteAsync(new BusinessesBatchDeleteParams
{
VendorDataList = new string[] { "company-123", "company-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));API удаления компаний: пакетное удаление KYB-данных
Удаляйте компании Didit Business (KYB) пакетно по vendor_data или didit_internal_id. Соответствует требованиям GDPR и CCPA.
curl -X POST 'https://verification.didit.me/v3/businesses/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["company-123", "company-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.businesses.batch_delete(
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.batchDelete({
vendor_data_list: ["company-123", "company-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Businesses.BatchDelete(ctx, didit.BusinessesBatchDeleteParams{
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.BusinessesBatchDeleteParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.businesses().batchDelete(BusinessesBatchDeleteParams.builder()
.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->batchDelete([
'vendor_data_list' => ['company-123', 'company-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.businesses.batch_delete(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.BatchDeleteAsync(new BusinessesBatchDeleteParams
{
VendorDataList = new string[] { "company-123", "company-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));Обзор
Удаляет одну или несколько сущностей компаний. Записи компаний удаляются безвозвратно. Сессии верификации бизнеса (KYB) этот endpoint не затрагивает: они сохраняются, а их связь с компанией очищается. Удалите их с помощью Удаление сессии. Транзакции тоже не затрагиваются; удалите их с помощью Пакетное удаление транзакций.Когда использовать
- Запросы на право на забвение.
- Очистка тестовых компаний во время QA.
- Деактивация компаний, удалённых с вашей платформы.
Примечания
- Принимает список значений
vendor_dataилиdidit_internal_id. - Идемпотентно: удаление уже удалённой компании ничего не меняет.
- Возвращает только количество удалённых записей, а не отчёт по каждому элементу. Значения, которым ничего не соответствует, пропускаются без уведомления.
- Отправляет событие
business.data.updatedс заполненнымdeleted_at. - Записи, принадлежащие самой компании, удаляются вместе с ней: её связи с тегами, история комментариев и её собственные записи об устройствах и сети.
- Записи, созданные сессией KYB, НЕ удаляются: данные реестра компаний, загруженные документы, срабатывания AML-проверки, бенефициарные владельцы и проверки ключевых лиц принадлежат сессии и сохраняются, пока вы не удалите саму сессию.
Данные в завершённом регуляторном отчёте
Если какая-либо из выбранных компаний входит в кейс с завершённым регуляторным отчётом, весь запрос возвращает409, и ничего не удаляется. В ответе используется code: in_filed_report, и перечислен каждый отчёт:
{
"detail": "A case about this person or company has a filed regulatory report, so it cannot be deleted.",
"code": "in_filed_report",
"reports": [
{
"uuid": "5ec00000-0000-4000-8000-000000000007",
"report_number": "SAR-0001",
"report_type": "SAR",
"case_uuid": "c1a5e000-0000-4000-8000-000000000001"
}
]
}
Удаление, которое уже выполняется
Компания удаляется одним запросом за раз. Если другой запрос ещё удаляет одну из выбранных компаний, этот запрос ждёт не более нескольких секунд, затем возвращает409 с code: subject_deletion_in_progress и ничего не удаляет:
{
"detail": "This person or company is being deleted. Retry after deletion completes.",
"code": "subject_deletion_in_progress"
}
Разрешения
Роль должна предоставлятьdelete:businesses. Как правило, это право предоставляется ролям OWNER и ADMIN.
Связанные материалы
Авторизации
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 или delete_all: true. Приоритет при отправке нескольких параметров: delete_all > vendor_data_list > didit_internal_id_list (используется только селектор с наивысшим приоритетом).
Ваши собственные идентификаторы для удаления, сопоставляемые в точности с переданными.
Внутренние UUID Didit (didit_internal_id) для удаления.
Если true, удаляет все компании в приложении. Не может сочетаться с селекторами списка.
Ответ
Компании удалены. Возвращает количество фактически удалённых строк.
Количество удалённых компаний (исключает значения vendor_data, для которых ничего не найдено).