curl -X POST 'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/resolve/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"resolution": "FALSE_POSITIVE", "note": "Confirmed legitimate activity after reviewing documents."}'from didit import Didit
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
client = Didit()
result = client.cases.resolve(
"c1a5e000-0000-4000-8000-000000000001",
resolution="FALSE_POSITIVE",
note="Confirmed legitimate activity after reviewing documents.",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
const didit = new Didit();
const result = await didit.cases.resolve("c1a5e000-0000-4000-8000-000000000001", {
resolution: "FALSE_POSITIVE",
note: "Confirmed legitimate activity after reviewing documents.",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
client := didit.NewClient()
result, err := client.Cases.Resolve(ctx, "c1a5e000-0000-4000-8000-000000000001", didit.CasesResolveParams{
Resolution: "FALSE_POSITIVE",
Note: didit.String("Confirmed legitimate activity after reviewing documents."),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.CasesResolveParams;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
Didit client = new Didit();
var result = client.cases().resolve("c1a5e000-0000-4000-8000-000000000001", CasesResolveParams.builder()
.resolution(CasesResolveParams.Resolution.of("FALSE_POSITIVE"))
.note("Confirmed legitimate activity after reviewing documents.")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
$didit = new DiditClient();
$result = $didit->cases->resolve('c1a5e000-0000-4000-8000-000000000001', [
'resolution' => 'FALSE_POSITIVE',
'note' => 'Confirmed legitimate activity after reviewing documents.',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
didit = Didit::Client.new
result = didit.cases.resolve(
"c1a5e000-0000-4000-8000-000000000001",
resolution: "FALSE_POSITIVE",
note: "Confirmed legitimate activity after reviewing documents."
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
using var client = new DiditClient();
var result = await client.Cases.ResolveAsync("c1a5e000-0000-4000-8000-000000000001", new CasesResolveParams
{
Resolution = "FALSE_POSITIVE",
Note = "Confirmed legitimate activity after reviewing documents.",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"case_number": "<string>",
"title": "<string>",
"status": "OPEN",
"resolution": "FALSE_POSITIVE",
"resolution_notes": "<string>",
"priority": "LOW",
"source": "MANUAL",
"tags": [
"<string>"
],
"subject": {
"type": "user",
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"external_id": "<string>",
"country": "ESP",
"portrait": "<string>"
},
"assigned_to": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "<string>",
"email": "jsmith@example.com"
},
"assigned_at": "2023-11-07T05:31:56Z",
"team": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"due_at": "2023-11-07T05:31:56Z",
"resolved_at": "2023-11-07T05:31:56Z",
"resolved_by_email": "<string>",
"pending_resolution": {
"resolution": "FALSE_POSITIVE",
"resolution_notes": "<string>",
"maker_email": "jsmith@example.com",
"maker_name": "<string>",
"maker_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"maker_blueprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"staged_at": "2023-11-07T05:31:56Z"
},
"checker": {
"member_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"email": "jsmith@example.com"
},
"metadata": {},
"blueprint": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"assignment_method": "MANUAL",
"assignee_pool": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"max_active_cases": 123,
"escalation_enabled": true,
"transfer_enabled": true,
"require_resolution_note": true,
"is_active": true,
"preset_key": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"escalation_blueprint": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"escalation_blueprint_name": "<string>",
"four_eyes_checker_blueprint": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"four_eyes_checker_blueprint_name": "<string>",
"content_config": {
"checklist": {
"enabled": true,
"optional": true,
"items": [
{
"label": "<string>",
"order": 123
}
]
},
"aml_control": {
"enabled": true,
"financial": true,
"identity": true
},
"identity": {
"enabled": true,
"personal_information": true,
"applicant_tags": true,
"contact_information": true,
"risk_overview": true,
"poi_documents": true,
"poa_documents": true
},
"verifications": {
"enabled": true,
"summary": true
},
"reporting": {
"enabled": true,
"fiu_reports": true
},
"financial": {
"enabled": true,
"payment_methods": true,
"transactions": true
}
},
"creation_sources": [
{
"kind": "aml",
"id": "<string>",
"name": "<string>"
}
],
"receives_escalation_from": [
{
"id": "<string>",
"name": "<string>"
}
],
"updated_at": "2023-11-07T05:31:56Z",
"version": 123,
"default_deadline_hours": 4380
},
"notes": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comment": "<string>",
"actor_email": "jsmith@example.com",
"actor_name": "<string>",
"mentioned_emails": [
"jsmith@example.com"
],
"is_internal": true,
"attachments": [
{
"s3_key": "<string>",
"filename": "<string>",
"file_size": 123,
"url": "<string>"
}
],
"tags": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z"
}
],
"events": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_type": "CREATED",
"actor_email": "jsmith@example.com",
"actor_name": "<string>",
"previous_status": "OPEN",
"new_status": "OPEN",
"metadata": {},
"created_at": "2023-11-07T05:31:56Z"
}
],
"links": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_entity_type": "session",
"linked_entity_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_entity_summary": {},
"created_at": "2023-11-07T05:31:56Z"
}
],
"links_count": 123,
"notes_count": 123,
"checklist_items": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"is_completed": true,
"completed_by": "jsmith@example.com",
"completed_at": "2023-11-07T05:31:56Z",
"order": 123
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}案件结案 API
使用 Didit 将案件结案为误报或有效威胁。了解清单门控、必填备注门控以及 4-eyes 暂存机制。
curl -X POST 'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/resolve/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"resolution": "FALSE_POSITIVE", "note": "Confirmed legitimate activity after reviewing documents."}'from didit import Didit
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
client = Didit()
result = client.cases.resolve(
"c1a5e000-0000-4000-8000-000000000001",
resolution="FALSE_POSITIVE",
note="Confirmed legitimate activity after reviewing documents.",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
const didit = new Didit();
const result = await didit.cases.resolve("c1a5e000-0000-4000-8000-000000000001", {
resolution: "FALSE_POSITIVE",
note: "Confirmed legitimate activity after reviewing documents.",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
client := didit.NewClient()
result, err := client.Cases.Resolve(ctx, "c1a5e000-0000-4000-8000-000000000001", didit.CasesResolveParams{
Resolution: "FALSE_POSITIVE",
Note: didit.String("Confirmed legitimate activity after reviewing documents."),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.CasesResolveParams;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
Didit client = new Didit();
var result = client.cases().resolve("c1a5e000-0000-4000-8000-000000000001", CasesResolveParams.builder()
.resolution(CasesResolveParams.Resolution.of("FALSE_POSITIVE"))
.note("Confirmed legitimate activity after reviewing documents.")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
$didit = new DiditClient();
$result = $didit->cases->resolve('c1a5e000-0000-4000-8000-000000000001', [
'resolution' => 'FALSE_POSITIVE',
'note' => 'Confirmed legitimate activity after reviewing documents.',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
didit = Didit::Client.new
result = didit.cases.resolve(
"c1a5e000-0000-4000-8000-000000000001",
resolution: "FALSE_POSITIVE",
note: "Confirmed legitimate activity after reviewing documents."
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
using var client = new DiditClient();
var result = await client.Cases.ResolveAsync("c1a5e000-0000-4000-8000-000000000001", new CasesResolveParams
{
Resolution = "FALSE_POSITIVE",
Note = "Confirmed legitimate activity after reviewing documents.",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"case_number": "<string>",
"title": "<string>",
"status": "OPEN",
"resolution": "FALSE_POSITIVE",
"resolution_notes": "<string>",
"priority": "LOW",
"source": "MANUAL",
"tags": [
"<string>"
],
"subject": {
"type": "user",
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"external_id": "<string>",
"country": "ESP",
"portrait": "<string>"
},
"assigned_to": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "<string>",
"email": "jsmith@example.com"
},
"assigned_at": "2023-11-07T05:31:56Z",
"team": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"due_at": "2023-11-07T05:31:56Z",
"resolved_at": "2023-11-07T05:31:56Z",
"resolved_by_email": "<string>",
"pending_resolution": {
"resolution": "FALSE_POSITIVE",
"resolution_notes": "<string>",
"maker_email": "jsmith@example.com",
"maker_name": "<string>",
"maker_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"maker_blueprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"staged_at": "2023-11-07T05:31:56Z"
},
"checker": {
"member_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"email": "jsmith@example.com"
},
"metadata": {},
"blueprint": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"assignment_method": "MANUAL",
"assignee_pool": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"max_active_cases": 123,
"escalation_enabled": true,
"transfer_enabled": true,
"require_resolution_note": true,
"is_active": true,
"preset_key": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"escalation_blueprint": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"escalation_blueprint_name": "<string>",
"four_eyes_checker_blueprint": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"four_eyes_checker_blueprint_name": "<string>",
"content_config": {
"checklist": {
"enabled": true,
"optional": true,
"items": [
{
"label": "<string>",
"order": 123
}
]
},
"aml_control": {
"enabled": true,
"financial": true,
"identity": true
},
"identity": {
"enabled": true,
"personal_information": true,
"applicant_tags": true,
"contact_information": true,
"risk_overview": true,
"poi_documents": true,
"poa_documents": true
},
"verifications": {
"enabled": true,
"summary": true
},
"reporting": {
"enabled": true,
"fiu_reports": true
},
"financial": {
"enabled": true,
"payment_methods": true,
"transactions": true
}
},
"creation_sources": [
{
"kind": "aml",
"id": "<string>",
"name": "<string>"
}
],
"receives_escalation_from": [
{
"id": "<string>",
"name": "<string>"
}
],
"updated_at": "2023-11-07T05:31:56Z",
"version": 123,
"default_deadline_hours": 4380
},
"notes": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comment": "<string>",
"actor_email": "jsmith@example.com",
"actor_name": "<string>",
"mentioned_emails": [
"jsmith@example.com"
],
"is_internal": true,
"attachments": [
{
"s3_key": "<string>",
"filename": "<string>",
"file_size": 123,
"url": "<string>"
}
],
"tags": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z"
}
],
"events": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_type": "CREATED",
"actor_email": "jsmith@example.com",
"actor_name": "<string>",
"previous_status": "OPEN",
"new_status": "OPEN",
"metadata": {},
"created_at": "2023-11-07T05:31:56Z"
}
],
"links": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_entity_type": "session",
"linked_entity_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_entity_summary": {},
"created_at": "2023-11-07T05:31:56Z"
}
],
"links_count": 123,
"notes_count": 123,
"checklist_items": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"is_completed": true,
"completed_by": "jsmith@example.com",
"completed_at": "2023-11-07T05:31:56Z",
"order": 123
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}pending_resolution 字段,以区分这两种结果。
指定复核人
在包含四眼复核步骤的蓝图上,请传入checker,其值为必须批准该解决结果的成员的用户 UUID。
此后只有该成员可以批准或拒绝该结果,其他人(包括 API 密钥)都会收到 403。
在该结果被批准、被拒绝,或因证据变更而退回重新审核之前,案件的 checker 字段会显示该复核人。
如果未传入 checker,该解决结果将在复核蓝图的队列中等待。
该成员必须拥有本应用的案件访问权限,且不能是提交该解决结果的人员。
在不包含复核步骤的蓝图上,传入 checker 会返回 400。
四眼复核需要控制台成员
提交需要进行四眼复核的解决结果时,请以控制台成员身份操作,而不是使用 API 密钥。 由 API 密钥提交的解决结果没有可记录的制单人,因此批准和拒绝批准操作对所有调用方都会返回403,包括指定的复核人。
访问权限
案件相关 endpoint 需要具备完全访问权限的 API 密钥。 权限受限的密钥会收到403。
相关链接
授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
路径参数
组织 UUID。
应用 UUID。
案件 UUID。
"c1a5e000-0000-4000-8000-000000000001"
请求体
FALSE_POSITIVE, VALID_THREAT, INCONCLUSIVE, REQUIREMENTS_NOT_MET, REQUIREMENTS_SATISFIED 当蓝图设置了 require_resolution_note 时必填。
仅限双人复核蓝图。必须批准此决议的成员用户 uuid(与案件上的 assigned_to.uuid 或审核团队中的 members[].user_id 相同)。该成员必须对此应用具有案件访问权限,且不能是提交该决议的工作人员。省略该字段或发送 null 可将决议交由复核员队列处理。
响应
已解决,或已暂存以待双人复核。
OPEN, AWAITING_USER, RESOLVED FALSE_POSITIVE, VALID_THREAT, INCONCLUSIVE, REQUIREMENTS_NOT_MET, REQUIREMENTS_SATISFIED LOW, MEDIUM, HIGH MANUAL, AML_SCREENING, TRANSACTION_RULE, WORKFLOW_BUILDER 该案件所绑定的单个用户或企业。
Show child attributes
Show child attributes
Show child attributes
Show child attributes
负责该案件的审核团队;没有团队负责时为 null。当路由规则将案件分配给其团队之一时,路由系统会对其进行设置。使用 PATCH .../cases/{case_uuid}/(team)进行修改或清除。
Show child attributes
Show child attributes
仅在双人复核(4-eyes)决议暂存于审核员蓝图、等待批准或拒绝批准时设置。
Show child attributes
Show child attributes
被指定批准或拒绝待决决定的成员。仅当双人复核(four-eyes)决议等待指定复核员时设置。在无待决事项、待决决议在复核员队列中等待,以及决议已获批准、被拒绝或因证据变更而退回重新审核后,该值为 null。
Show child attributes
Show child attributes
Show child attributes
Show child attributes
最新的 50 条备注。
Show child attributes
Show child attributes
最新的 100 个事件。
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes