curl -X POST 'https://verification.didit.me/v3/users/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["user-123", "user-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.users.batch_delete(
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.batchDelete({
vendor_data_list: ["user-123", "user-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Users.BatchDelete(ctx, didit.UsersBatchDeleteParams{
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.UsersBatchDeleteParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.users().batchDelete(UsersBatchDeleteParams.builder()
.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->batchDelete([
'vendor_data_list' => ['user-123', 'user-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.users.batch_delete(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.BatchDeleteAsync(new UsersBatchDeleteParams
{
VendorDataList = new string[] { "user-123", "user-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"deleted": 2
}API eliminazione utenti in batch: cancellazione GDPR
Elimina in blocco gli utenti Didit per vendor_data oppure tutti gli utenti di un’applicazione. Conforme al diritto all’oblio GDPR e CCPA.
curl -X POST 'https://verification.didit.me/v3/users/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["user-123", "user-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.users.batch_delete(
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.batchDelete({
vendor_data_list: ["user-123", "user-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Users.BatchDelete(ctx, didit.UsersBatchDeleteParams{
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.UsersBatchDeleteParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.users().batchDelete(UsersBatchDeleteParams.builder()
.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->batchDelete([
'vendor_data_list' => ['user-123', 'user-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.users.batch_delete(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.BatchDeleteAsync(new UsersBatchDeleteParams
{
VendorDataList = new string[] { "user-123", "user-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"deleted": 2
}Panoramica
Elimina una o più entità Utente. I record degli utenti vengono rimossi in modo permanente. Le loro sessioni di verifica non sono coperte da questo endpoint e restano, con il collegamento all’utente rimosso; eliminale con Delete Session o Batch Delete Sessions. Anche le transazioni non sono coperte: eliminale con Batch Delete Transactions.Quando usarlo
- Richieste di diritto all’oblio (GDPR / CCPA).
- Pulizia degli utenti di test durante il QA.
- Disattivazione degli utenti rimossi dalla tua piattaforma.
Note
- Accetta un elenco di valori
vendor_data, un elenco di valorididit_internal_id, oppuredelete_all: true. I due elenchi possono essere combinati e vengono combinati con OR. - Questo endpoint non restringe mai
delete_allcon filtri, e i parametri batchfilter_*della Console vengono rifiutati con un400, quindi una richiesta con filtri non elimina tutti gli utenti dell’applicazione. Le eccezioni sonofilter_has_approved_sessionsefilter_has_declined_sessions: non vengono né rifiutate né applicate, quindi non inviarle insieme adelete_all. - Tutto o niente: se l’eliminazione non può essere completata per gli utenti selezionati, nessuno di essi viene eliminato e puoi ripetere la stessa richiesta senza rischi.
- Idempotente: reinviare lo stesso elenco restituisce
deleted: 0dopo la prima esecuzione. - Restituisce solo il conteggio di quanto eliminato, non un report per singolo elemento. I valori che non corrispondono a nulla vengono ignorati senza segnalazione. Invia un elenco senza duplicati se vuoi confrontare
deletedcon il numero di identificatori inviati, perché un identificatore ripetuto viene conteggiato una sola volta. - Per un’eliminazione non viene emesso alcun webhook. I webhook si attivano per le modifiche di stato e dei dati dell’utente, non per l’eliminazione, quindi un’integrazione che necessita di un segnale di eliminazione deve registrarlo autonomamente.
- Le sessioni di verifica collegate all’utente NON vengono eliminate da questo endpoint. Restano, con il collegamento all’utente rimosso, quindi i loro documenti, volti e contenuti multimediali vengono rimossi solo quando elimini le sessioni stesse.
retain_face_embeddings(booleano, predefinitofalse) eface_retention_days(da 1 a 3650) sono la tua scelta esplicita di conservare, per il numero di giorni indicato, un unico modello biometrico senza immagini per ogni persona eliminata, per il rilevamento dei duplicati. Non viene conservato nient’altro sulla persona. Ometti entrambi per eliminare i modelli insieme agli utenti.face_retention_dayssenzaretain_face_embeddings: true, oppureretain_face_embeddings: truesenzaface_retention_days, restituisce400perface_retention_days.- A meno che tu non imposti
retain_face_embeddingssutrue, i modelli biometrici conservati associati all’utente VENGONO eliminati, prima che l’utente venga cancellato. Se un modello non può essere eliminato perché un archivio biometrico non è disponibile, la chiamata restituisce503, nessun utente della richiesta viene eliminato e ripetere la richiesta completa l’operazione.
Dati in un report normativo finalizzato
Se una delle persone selezionate fa parte di un caso con un report normativo finalizzato, l’intera richiesta restituisce409 e non viene eliminato nulla. La risposta usa code: in_filed_report e indica ogni report per nome, così puoi aprirlo nella Console:
{
"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"
}
]
}
Un’eliminazione già in corso
Una persona viene eliminata da una sola richiesta alla volta. Se un’altra richiesta sta ancora eliminando una delle persone selezionate, questa richiesta attende al massimo alcuni secondi, poi restituisce409 con code: subject_deletion_in_progress e non elimina nulla:
{
"detail": "This person or company is being deleted. Retry after deletion completes.",
"code": "subject_deletion_in_progress"
}
Autorizzazioni
Qualsiasi chiave API attiva dell’applicazione può chiamare questo endpoint. Le chiavi API di Didit sono limitate all’applicazione, non ai ruoli: i ruoli e le autorizzazioni della Console (delete:users e le altre) determinano cosa una persona può fare nella Console, e non vengono valutati per il traffico della Management API. Controlla chi può chiamare questo endpoint controllando chi può leggere la chiave API dell’applicazione.
Correlati
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
Fornisci vendor_data_list, didit_internal_id_list o delete_all: true. Le due liste possono essere combinate e vengono valutate in OR. Quando delete_all è true, ha la precedenza ed entrambe le liste vengono ignorate.
I tuoi identificatori da eliminare, confrontati esattamente come inviati.
ID utente interni Didit da eliminare: il didit_internal_id restituito dagli endpoint di creazione e recupero.
Se true, elimina ogni utente nell'applicazione.
La tua scelta esplicita di conservare un modello biometrico privo di immagini di ciascuna persona eliminata per il rilevamento di duplicati, per face_retention_days. Tutti gli altri dati della persona vengono eliminati. Omettilo o invia false per eliminare i modelli insieme agli utenti. Quando è true, face_retention_days è obbligatorio.
Numero di giorni per cui viene conservato il modello biometrico senza immagini quando retain_face_embeddings è true. Obbligatorio con esso, e rifiutato senza di esso con un errore 400 su face_retention_days.
1 <= x <= 3650365
Risposta
Utenti eliminati. Restituisce il numero di utenti effettivamente eliminati.
Numero di utenti eliminati (esclude i valori vendor_data che non corrispondevano a nulla).