curl -X PATCH \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/update-aml-hit-status/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"hit_id": "abc123",
"review_status": "False Positive"
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.update_aml_hit_status(
"11111111-2222-3333-4444-555555555555",
hit_id="hit_7c1e9a40b2d35f86e0a4c912",
review_status="False Positive",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.updateAmlHitStatus("11111111-2222-3333-4444-555555555555", {
hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
review_status: "False Positive",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.UpdateAMLHitStatus(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsUpdateAMLHitStatusParams{
HitID: "hit_7c1e9a40b2d35f86e0a4c912",
ReviewStatus: "False Positive",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsUpdateAmlHitStatusParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().updateAmlHitStatus("11111111-2222-3333-4444-555555555555", SessionsUpdateAmlHitStatusParams.builder()
.hitId("hit_7c1e9a40b2d35f86e0a4c912")
.reviewStatus(SessionsUpdateAmlHitStatusParams.ReviewStatus.of("False Positive"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->updateAmlHitStatus('11111111-2222-3333-4444-555555555555', [
'hit_id' => 'hit_7c1e9a40b2d35f86e0a4c912',
'review_status' => 'False Positive',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.update_aml_hit_status(
"11111111-2222-3333-4444-555555555555",
hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
review_status: "False Positive"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.UpdateAmlHitStatusAsync("11111111-2222-3333-4444-555555555555", new SessionsUpdateAmlHitStatusParams
{
HitId = "hit_7c1e9a40b2d35f86e0a4c912",
ReviewStatus = "False Positive",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"message": "Hit status updated successfully",
"hit_id": "hit_7c1e9a40b2d35f86e0a4c912",
"review_status": "False Positive"
}API de mise à jour du statut AML : valider ou confirmer
Marquez les correspondances AML comme confirmées, faux positifs ou non concluantes, individuellement ou en masse, directement via l’API Didit.
curl -X PATCH \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/update-aml-hit-status/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"hit_id": "abc123",
"review_status": "False Positive"
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.update_aml_hit_status(
"11111111-2222-3333-4444-555555555555",
hit_id="hit_7c1e9a40b2d35f86e0a4c912",
review_status="False Positive",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.updateAmlHitStatus("11111111-2222-3333-4444-555555555555", {
hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
review_status: "False Positive",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.UpdateAMLHitStatus(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsUpdateAMLHitStatusParams{
HitID: "hit_7c1e9a40b2d35f86e0a4c912",
ReviewStatus: "False Positive",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsUpdateAmlHitStatusParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().updateAmlHitStatus("11111111-2222-3333-4444-555555555555", SessionsUpdateAmlHitStatusParams.builder()
.hitId("hit_7c1e9a40b2d35f86e0a4c912")
.reviewStatus(SessionsUpdateAmlHitStatusParams.ReviewStatus.of("False Positive"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->updateAmlHitStatus('11111111-2222-3333-4444-555555555555', [
'hit_id' => 'hit_7c1e9a40b2d35f86e0a4c912',
'review_status' => 'False Positive',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.update_aml_hit_status(
"11111111-2222-3333-4444-555555555555",
hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
review_status: "False Positive"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.UpdateAmlHitStatusAsync("11111111-2222-3333-4444-555555555555", new SessionsUpdateAmlHitStatusParams
{
HitId = "hit_7c1e9a40b2d35f86e0a4c912",
ReviewStatus = "False Positive",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"message": "Hit status updated successfully",
"hit_id": "hit_7c1e9a40b2d35f86e0a4c912",
"review_status": "False Positive"
}Ce que fait cet endpoint
Le filtrage AML renvoie une liste de hits : des correspondances potentielles avec des listes de sanctions, des bases de PEP, des listes de surveillance et de la presse négative. Chaque hit possède unreview_status (sa décision) qui commence à Unreviewed ou à False Positive, selon le score de correspondance. Cet endpoint permet à votre équipe (ou à votre automatisation) d’enregistrer une décision sur chaque hit, sans modifier la décision globale de la session.
Vous trouverez les hits et leurs identifiants dans la décision de la session : le tableau hits de la vérification AML, où le id de chaque hit correspond au hit_id que vous transmettez ici.
L’id d’un hit est constitué de hit_ suivi de 24 caractères hexadécimaux. Il reste le même lorsque la personne est de nouveau contrôlée. Un identifiant de hit au format précédent est toujours accepté : la réponse indique toujours le hit par son id actuel.
Statuts de revue
review_status | Signification |
|---|---|
Unreviewed | Valeur par défaut pour les hits égaux ou supérieurs au seuil de correspondance : une décision reste à prendre. |
Confirmed Match | Une véritable correspondance avec la personne ou l’entité contrôlée. |
False Positive | Il ne s’agit pas de la même entité. Valeur par défaut pour les hits inférieurs au seuil de correspondance. |
Inconclusive | Impossible à déterminer. |
False Positive conserve ce statut lorsque le fournisseur relance le filtrage de l’entité.Mettre à jour un seul hit
PATCH /v3/session/{sessionId}/update-aml-hit-status/
curl -X PATCH https://verification.didit.me/v3/session/4c5c7f3a-.../update-aml-hit-status/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hit_id": "hit_7c1e9a40b2d35f86e0a4c912",
"review_status": "False Positive"
}'
?node_id=feature_aml_1 à l’URL ou incluez "node_id" dans le corps de la requête pour cibler une vérification précise.
Mettre à jour plusieurs hits en une fois
PATCH /v3/session/{sessionId}/bulk-update-aml-hit-status/
Transmettez hit_updates, une liste de paires { hit_id, review_status }. L’opération est tout ou rien : si un hit_id est introuvable, la requête renvoie 404 et aucun hit n’est modifié.
curl -X PATCH https://verification.didit.me/v3/session/4c5c7f3a-.../bulk-update-aml-hit-status/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hit_updates": [
{ "hit_id": "hit_7c1e9a40b2d35f86e0a4c912", "review_status": "Confirmed Match" },
{ "hit_id": "hit_3b8f20d6a91c4e75f0b2d6a8", "review_status": "False Positive" }
]
}'
data.updated et enregistre une seule entrée d’activité couvrant l’ensemble des modifications.
Ce qui se passe après une mise à jour
- Webhook : un événement
data.updatedest déclenché sur la session. - Piste d’audit : la modification est enregistrée dans la piste de revue de la session, avec l’auteur (clé API ou utilisateur), visible dans la chronologie d’activité de la console.
- Le statut global de l’étape AML ne change pas : modifier la décision d’un hit ne modifie pas, à lui seul, le statut de l’étape AML ni la décision de la session. Pour changer le statut de l’étape AML (
Approved,DeclinedouIn Review), utilisez update-feature-status. Pour changer la décision de la session, utilisez update-status.
Prise en charge KYC et KYB
Cet endpoint fonctionne pour les sessions Vérification des utilisateurs (KYC) et Vérification d’entreprise (KYB) : Didit retrouve lesessionId dans les deux cas. Pour le KYB, le filtrage AML porte sur l’entreprise et sur ses personnes clés ; chaque vérification AML expose ses propres hits.
Autorisation
Requiert le privilègewrite:sessions, avec une clé API client (x-api-key) ou un en-tête d’autorisation utilisateur.
Erreurs
| Statut | Signification |
|---|---|
400 | review_status n’est pas une valeur valide, hit_id est vide ou hit_updates est vide. |
403 | Identifiants absents ou invalides, ou l’appelant ne dispose pas de write:sessions. |
404 | Session introuvable, session sans vérification AML, ou hit_id introuvable (en groupé : aucune modification n’est effectuée). |
Liens connexes
- Mettre à jour le statut d’une fonctionnalité : modifier le statut de l’étape AML (ou de toute autre étape).
- Mettre à jour le statut de la session : modifier la décision globale de la session.
- Récupérer la session : lire les
hitsAML et leurs identifiants. - Filtrage AML : fonctionnement du filtrage et de la notation.
Autorisations
La clé API de votre application, issue de Développeurs -> Clés API dans la Business Console. La clé principale dispose d'un accès complet. Une clé nommée peut être restreinte : aucun, lecture ou écriture par ressource, limitée à certains workflows ou aux sessions approuvées, à une liste d'adresses IP et à une date d'expiration. 401 signifie que la clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a été envoyée, que la clé n'a pas accès à cette ressource ou action, ou que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur une route de session signifie que la session est hors des workflows ou des statuts de la clé. Une clé sans accès aux médias reçoit les URL d'images, de vidéos et de PDF à null, et une clé sans accès en écriture aux sessions reçoit les liens et tokens de session à null. Voir https://docs.didit.me/console/api-keys.
Paramètres de chemin
UUID de la session de vérification. Accepte les identifiants de session d'utilisateur (KYC) et d'entreprise (KYB) — le service résout l'identifiant pour les deux types de session.
"11111111-2222-3333-4444-555555555555"
Paramètres de requête
ID de nœud du graphe de workflow. Requis uniquement lorsque la session comporte plusieurs contrôles AML (un par nœud) ; omettez-le pour les sessions avec un seul contrôle AML.
"feature_aml_1"
Corps
L'id du résultat dans le tableau hits du contrôle AML (hit_...). Un identifiant de résultat renvoyé dans l'ancien format est toujours accepté.
"hit_7c1e9a40b2d35f86e0a4c912"
Le nouveau statut d'examen pour la correspondance.
Unreviewed, Confirmed Match, False Positive, Inconclusive "False Positive"
Identifiant de nœud de graphe optionnel. Utilisez-le (ici ou comme paramètre de requête) lorsque la session comporte plusieurs vérifications AML.
"feature_aml_1"
Réponse
Statut d'examen des correspondances mis à jour.
Toujours Hit status updated successfully.
L'id du résultat mis à jour, tel que renvoyé par la décision de session, y compris lorsque la requête a désigné le résultat par un identifiant à l'ancien format.
Le statut d'examen désormais enregistré sur la correspondance.
Unreviewed, Confirmed Match, False Positive, Inconclusive