使用 AI 草拟案件蓝图
curl --request POST \
--url https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"prompt": "Draft an AML review policy with triage and evidence review stages."
}
'import requests
url = "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/"
payload = { "prompt": "Draft an AML review policy with triage and evidence review stages." }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt: 'Draft an AML review policy with triage and evidence review stages.'})
};
fetch('https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'Draft an AML review policy with triage and evidence review stages.'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/"
payload := strings.NewReader("{\n \"prompt\": \"Draft an AML review policy with triage and evidence review stages.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Draft an AML review policy with triage and evidence review stages.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"Draft an AML review policy with triage and evidence review stages.\"\n}"
response = http.request(request)
puts response.read_body{
"draft": {
"name": "AML review",
"applies_to": [
"AML"
],
"require_resolution_note": true,
"content_config": {
"stages": {
"items": [
{
"key": "triage",
"label": "Triage",
"sla_hours": 24
}
]
}
}
}
}{
"detail": "A blueprint draft could not be generated. Please try again."
}案件蓝图
使用 AI 起草案件蓝图 API
通过 Didit 管理 API,根据提示生成未保存的案件蓝图草案,审核阶段与案件类型后,再单独保存所选策略设置。
POST
/
v3
/
organization
/
{organization_id}
/
application
/
{application_id}
/
cases
/
blueprints
/
ai-draft
/
使用 AI 草拟案件蓝图
curl --request POST \
--url https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"prompt": "Draft an AML review policy with triage and evidence review stages."
}
'import requests
url = "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/"
payload = { "prompt": "Draft an AML review policy with triage and evidence review stages." }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt: 'Draft an AML review policy with triage and evidence review stages.'})
};
fetch('https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'Draft an AML review policy with triage and evidence review stages.'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/"
payload := strings.NewReader("{\n \"prompt\": \"Draft an AML review policy with triage and evidence review stages.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Draft an AML review policy with triage and evidence review stages.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"Draft an AML review policy with triage and evidence review stages.\"\n}"
response = http.request(request)
puts response.read_body{
"draft": {
"name": "AML review",
"applies_to": [
"AML"
],
"require_resolution_note": true,
"content_config": {
"stages": {
"items": [
{
"key": "triage",
"label": "Triage",
"sla_hours": 24
}
]
}
}
}
}{
"detail": "A blueprint draft could not be generated. Please try again."
}Didit 的蓝图 AI 草稿 API 可将策略描述转换为未保存的审核策略提案。
请使用
提案可以包含
生成失败时返回:
x-api-key 以及应用的 write:cases 权限,以进行身份验证。
生成并审阅提案
发送一个非空白的prompt,长度不超过 4000 个字符。响应状态码为 200,返回的是 draft 对象,而不是已保存的案件蓝图或 UUID。
{"prompt": "Draft an AML review policy with triage and evidence review stages."}
name、description、applies_to、content_config、require_resolution_note、assignment_method、max_active_cases 和 default_deadline_hours 字段。部分字段可能不存在,因此使用前请务必审阅响应内容。顶层提案不包括处理人列表、审批设置和路由引用。
保存前,请自行选择处理人、团队、审批和路由。如果生成的阶段包含 worked_by,应用会将其验证为一个已启用的审核团队 UUID;不要把提案视为已批准的指派。
审阅后,使用创建案件蓝图,并填写其必填的 name 和非空的 assignee_pool。生成提案不会保存策略草稿、发布策略,也不会修改现有案件。已保存草稿与发布流程与此相互独立。
错误
| 状态 | 含义 |
|---|---|
400 | 提示词缺失、为空或超出长度限制 |
401 / 403 | 缺少身份验证或权限 |
404 | 未找到应用 |
503 | 生成失败,或生成的提案未通过校验;请稍后重试 |
{"detail": "A blueprint draft could not be generated. Please try again."}
相关内容
授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
请求体
application/json
拟提议的审核策略描述,不得为空。
Required string length:
1 - 4000示例:
"Draft an AML review policy with triage and evidence review stages."
响应
未保存的提案。未更改任何状态。
未保存、已验证的提案。字段均为可选;请检查结果,并在保存前选择负责人、团队和路由。
Show child attributes
Show child attributes
最后修改于 2026年11月12日