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 para atualizar o estado de hits AML
Marque hits AML como Correspondência confirmada, Falso positivo ou Inconclusivo, individualmente ou em massa, pela API da 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"
}O que faz
A triagem AML devolve uma lista de hits, ou seja, possíveis correspondências com listas de sanções, bases de dados de PEP, listas de vigilância e notícias adversas. Cada hit tem umreview_status (o seu estado de decisão), que começa como Unreviewed ou False Positive, consoante a pontuação de correspondência. Este endpoint permite à sua equipa (ou à sua automatização) registar uma decisão sobre cada hit, sem alterar a decisão global da sessão.
Encontre os hits e os respetivos IDs na decisão da sessão, no array hits da verificação AML, onde o id de cada hit é o hit_id que envia aqui.
O id de um hit tem o formato hit_ seguido de 24 caracteres hexadecimais e mantém-se igual quando o sujeito é submetido a nova triagem. Um id de hit devolvido no formato anterior continua a ser aceite; a resposta indica sempre o id atual do hit.
Estados de revisão
review_status | Significado |
|---|---|
Unreviewed | Predefinido para hits com uma pontuação de correspondência igual ou superior ao limiar; ainda precisa de uma decisão. |
Confirmed Match | Uma correspondência verdadeira com a pessoa ou entidade submetida a triagem. |
False Positive | Não se trata da mesma entidade. Predefinido para hits abaixo do limiar de correspondência. |
Inconclusive | Não foi possível determinar. |
False Positive mantém esse estado quando o fornecedor voltar a submeter a entidade a triagem.Atualizar um único 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 ao URL ou inclua "node_id" no corpo do pedido para indicar a verificação específica.
Atualizar vários hits de uma só vez
PATCH /v3/session/{sessionId}/bulk-update-aml-hit-status/
Envie hit_updates, uma lista de pares { hit_id, review_status }. A operação é tudo ou nada: se algum hit_id não for encontrado, o pedido devolve 404 e nenhum hit é alterado.
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 e regista uma entrada de atividade que cobre todas as alterações.
O que acontece após uma atualização
- Webhook: um evento
data.updatedé disparado na sessão. - Registo de auditoria: a alteração fica registada no histórico de revisão da sessão, com o autor (chave de API ou utilizador), visível na cronologia de atividade da consola.
- O estado global do passo AML não é alterado: alterar o estado de um hit não altera, por si só, o estado do passo AML nem a decisão da sessão. Para alterar o estado do passo AML (
Approved/Declined/In Review), use update-feature-status. Para alterar a decisão da sessão, use update-status.
Suporte para KYC e KYB
Funciona tanto para sessões de Verificação de utilizadores (KYC) como de Verificação de empresas (KYB): a Didit resolve osessionId em ambos os casos. Em KYB, a triagem AML é feita sobre a empresa e as suas pessoas-chave, e cada verificação AML expõe os seus próprios hits.
Permissão
Requer o privilégiowrite:sessions, com uma chave de API de cliente (x-api-key) ou um cabeçalho de autorização de utilizador.
Erros
| Estado | Significado |
|---|---|
400 | review_status não é um valor válido, hit_id está vazio ou hit_updates está vazio. |
403 | Credenciais em falta ou inválidas, ou quem faz o pedido não tem write:sessions. |
404 | Sessão não encontrada, a sessão não tem verificação AML, ou um hit_id não foi encontrado (em massa: nada é alterado). |
Relacionados
- Atualizar estado do passo: altere o estado do passo AML (ou de qualquer outro passo).
- Atualizar estado da sessão: altere a decisão global da sessão.
- Obter sessão: leia os
hitsAML e os respetivos IDs. - Triagem AML: como funcionam a triagem e a pontuação.
Autorizações
A chave de API da sua aplicação, a partir de Programadores -> Chaves de API na Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter o âmbito definido: nenhum, 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á incorreta, 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 o pedido veio de um endereço fora da sua lista de IP; 404 numa rota de sessão significa que a sessão está fora dos fluxos ou estados da chave. Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs como nulos, e uma chave sem permissão de escrita em sessões recebe ligações de sessão e tokens como nulos. Consulte https://docs.didit.me/console/api-keys.
Parâmetros de caminho
UUID da sessão de verificação. Aceita IDs de sessão de utilizador (KYC) e de empresa (KYB) — o serviço resolve o ID em ambos os tipos de sessão.
"11111111-2222-3333-4444-555555555555"
Parâmetros de consulta
ID do nó do grafo do fluxo. Obrigatório apenas quando a sessão possui múltiplas verificações AML (uma por nó); omita-o para sessões com apenas uma verificação AML.
"feature_aml_1"
Corpo
O id da ocorrência no array hits da verificação AML (hit_...). Um id de ocorrência retornado no formato anterior ainda é aceite.
"hit_7c1e9a40b2d35f86e0a4c912"
O novo estado de revisão para o resultado.
Unreviewed, Confirmed Match, False Positive, Inconclusive "False Positive"
ID do nó do grafo opcional. Utilize-o (aqui ou como parâmetro de consulta) quando a sessão tiver várias verificações AML.
"feature_aml_1"
Resposta
Estado de revisão de ocorrências atualizado.
Sempre Hit status updated successfully.
O id da ocorrência atualizada, conforme retornado pela decisão da sessão, também quando o pedido indicou a ocorrência por um id no formato anterior.
O estado de revisão agora armazenado na ocorrência.
Unreviewed, Confirmed Match, False Positive, Inconclusive