curl -X PATCH 'https://verification.didit.me/v3/workflows/a1b2c3d4-5678-90ab-cdef-111111111111/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"workflow_label": "Premium KYC"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.workflows.update(
"11111111-2222-3333-4444-555555555555",
features=[{
"feature": "OCR",
}, {
"feature": "AML",
}],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.workflows.update("11111111-2222-3333-4444-555555555555", {
features: [{
feature: "OCR",
}, {
feature: "AML",
}],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Workflows.Update(ctx, "11111111-2222-3333-4444-555555555555", didit.SimpleWorkflowUpdateRequest{
Features: didit.Some([]didit.SimpleWorkflowFeature{{
Feature: "OCR",
}, {
Feature: "AML",
}}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.SimpleWorkflowFeature;
import me.didit.types.SimpleWorkflowUpdateRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.workflows().update("11111111-2222-3333-4444-555555555555", SimpleWorkflowUpdateRequest.builder()
.features(List.of(
SimpleWorkflowFeature.builder()
.feature(SimpleWorkflowFeature.Feature.of("OCR"))
.build(),
SimpleWorkflowFeature.builder()
.feature(SimpleWorkflowFeature.Feature.of("AML"))
.build()))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->workflows->update('11111111-2222-3333-4444-555555555555', [
'features' => [[
'feature' => 'OCR',
], [
'feature' => 'AML',
]],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.workflows.update(
"11111111-2222-3333-4444-555555555555",
features: [{
feature: "OCR",
}, {
feature: "AML",
}]
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Workflows.UpdateAsync("11111111-2222-3333-4444-555555555555", new SimpleWorkflowUpdateRequest
{
Features = new SimpleWorkflowFeature[]
{
new()
{
Feature = "OCR",
},
new()
{
Feature = "AML",
},
},
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow_label": "<string>",
"workflow_type": "kyc",
"is_default": true,
"is_archived": true,
"version": 123,
"status": "draft",
"published_at": "2023-11-07T05:31:56Z",
"is_simple_workflow": true,
"is_editable": true,
"workflow_url": "<string>",
"workflow_graph": {},
"features": "<string>",
"total_price": 123,
"min_price": 123,
"max_price": 123,
"special_add_on_prices": {},
"max_retry_attempts": 123,
"retry_window_days": 123,
"session_expiration_time": 123,
"questionnaire": {},
"kyb_role_settings": [
{}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"signature_availability": {
"simple": true,
"aes": true,
"qes": true
},
"is_bank_verification_enabled": true,
"bank_verification_config": {},
"is_geolocation_enabled": true,
"geolocation_config": {}
}{
"detail": "You do not have permission to perform this action."
}ワークフロー更新API:KYCフローの編集
DiditのKYC・KYBワークフローをAPIでプログラムから更新できます。名前の変更、機能の順序指定での置き換え、しきい値の調整に対応。従量課金で契約は不要です。
curl -X PATCH 'https://verification.didit.me/v3/workflows/a1b2c3d4-5678-90ab-cdef-111111111111/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"workflow_label": "Premium KYC"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.workflows.update(
"11111111-2222-3333-4444-555555555555",
features=[{
"feature": "OCR",
}, {
"feature": "AML",
}],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.workflows.update("11111111-2222-3333-4444-555555555555", {
features: [{
feature: "OCR",
}, {
feature: "AML",
}],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Workflows.Update(ctx, "11111111-2222-3333-4444-555555555555", didit.SimpleWorkflowUpdateRequest{
Features: didit.Some([]didit.SimpleWorkflowFeature{{
Feature: "OCR",
}, {
Feature: "AML",
}}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.SimpleWorkflowFeature;
import me.didit.types.SimpleWorkflowUpdateRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.workflows().update("11111111-2222-3333-4444-555555555555", SimpleWorkflowUpdateRequest.builder()
.features(List.of(
SimpleWorkflowFeature.builder()
.feature(SimpleWorkflowFeature.Feature.of("OCR"))
.build(),
SimpleWorkflowFeature.builder()
.feature(SimpleWorkflowFeature.Feature.of("AML"))
.build()))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->workflows->update('11111111-2222-3333-4444-555555555555', [
'features' => [[
'feature' => 'OCR',
], [
'feature' => 'AML',
]],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.workflows.update(
"11111111-2222-3333-4444-555555555555",
features: [{
feature: "OCR",
}, {
feature: "AML",
}]
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Workflows.UpdateAsync("11111111-2222-3333-4444-555555555555", new SimpleWorkflowUpdateRequest
{
Features = new SimpleWorkflowFeature[]
{
new()
{
Feature = "OCR",
},
new()
{
Feature = "AML",
},
},
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow_label": "<string>",
"workflow_type": "kyc",
"is_default": true,
"is_archived": true,
"version": 123,
"status": "draft",
"published_at": "2023-11-07T05:31:56Z",
"is_simple_workflow": true,
"is_editable": true,
"workflow_url": "<string>",
"workflow_graph": {},
"features": "<string>",
"total_price": 123,
"min_price": 123,
"max_price": 123,
"special_add_on_prices": {},
"max_retry_attempts": 123,
"retry_window_days": 123,
"session_expiration_time": 123,
"questionnaire": {},
"kyb_role_settings": [
{}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"signature_availability": {
"simple": true,
"aes": true,
"qes": true
},
"is_bank_verification_enabled": true,
"bank_verification_config": {},
"is_geolocation_enabled": true,
"geolocation_config": {}
}{
"detail": "You do not have permission to perform this action."
}PATCHを使用します。ワークフローの名前を変更する場合は、workflow_labelのみを送信してください。
{
"workflow_label": "Premium KYC"
}
features配列全体を送信します。これにより、以前の機能の順序と設定が置き換えられます。
{
"features": [
{
"feature": "OCR",
"config": {
"documents_allowed": {
"USA": {
"DL": {
"enabled": 1,
"sides": 2
}
}
}
}
},
{
"feature": "AML",
"config": {
"aml_score_review_threshold": 70,
"aml_score_approve_threshold": 30
}
}
]
}
機能設定リファレンス
PATCHでfeaturesを送信すると、その配列によって以前の機能の順序と設定が置き換えられます。必須の設定はすべて改めて含めてください。
configオブジェクトの正確な内容は機能によって異なります。フィールドの一覧、デフォルト値、必須の設定、値の範囲、例についてはワークフローの機能設定を参照してください。
OCRでは、config.documents_allowedを省略するか、nullまたは{}を送信すると、サポートされているすべての書類タイプが許可されます。ワークフローを特定の国や書類タイプに限定したい場合にのみ含めてください。QUESTIONNAIREではconfig.questionnaire_uuidが必須です。
ワークフロー設定の更新
機能の一覧に触れずに、セッションレベルの設定を部分的に更新できます。変更したいフィールドのみを送信してください。| フィールド | 型 | 説明 |
|---|---|---|
is_white_label_enabled | boolean | このワークフローで作成されたセッションのホワイトラベルカスタマイズを有効にします。 |
is_desktop_allowed | boolean | デスクトップブラウザで認証フローを実行できるようにします。 |
max_retry_attempts | integer (0–10) | 認証が却下された後に許可される再試行の最大回数です。0の場合、最初の却下でユーザーはブロックされます。 |
retry_window_days | integer (1–365)またはnull | 再試行回数のカウントに使用する日数単位のローリングウィンドウです(nullの場合は全期間での上限)。 |
session_expiration_time | integer (3600–2419200) | 未完了のセッションが期限切れになるまでの秒数です。最小1時間、最大4週間です。 |
{
"is_white_label_enabled": true,
"is_desktop_allowed": true,
"max_retry_attempts": 5,
"retry_window_days": 14,
"session_expiration_time": 86400
}
uuidを、このURLのsettings_uuidとして使用してください。承認
お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys
パスパラメータ
更新するワークフローのバージョンごとのUUIDです。
ボディ
ワークフローのメタデータを更新するか、線形の機能リスト全体を置き換えます。厳格なフィールドホワイトリストが適用され、ここに記載されていないキーは400で拒否されます。
ワークフローの表示名です(最大50文字)。
50このワークフローを新しいセッションのデフォルトに設定します。
バージョン管理を制御します。省略すると現在のバージョンがその場で更新されます(下書きは自動的に公開されます)。公開済みのバージョンにpublishedを指定すると、新しいバージョンが作成されて返されます。draftはバージョンがまだ下書きの間のみ有効です。
draft, published 指定した場合、機能の順序と設定の全体がこの値で置き換えられます。
1Show child attributes
Show child attributes
このワークフローで作成されたセッションのホワイトラベルカスタマイズを有効にします。
デスクトップブラウザでの認証フローの実行を許可します。
認証が却下された後に許可される最大再試行回数です。0の場合、最初の却下でユーザーはブロックされます。
0 <= x <= 10再試行回数のカウントに使用する日単位のローリングウィンドウ。nullの場合は期間無制限の上限が適用されます。
1 <= x <= 365セッション1件あたりのライブネス検知の最大送信回数です。機能レベルの設定で上書きされない限り、この値は生成されるライブネス検知および年齢推定のワークフローノードにもコピーされます。
1 <= x <= 3セッション1件あたりの顔照合の最大送信回数です。機能レベルの設定で上書きされない限り、この値は生成される顔照合のワークフローノードにもコピーされます。
1 <= x <= 3未完了のセッションが期限切れになるまでの秒数。最小1時間(3600)、最大4週間(2419200)。
3600 <= x <= 2419200レスポンス
ワークフローが更新されました。本文は、結果として得られたバージョンの完全な設定です(GET /v3/workflows/{settings_uuid}/と同じ生のVerificationSettings形式)。更新によって新しいバージョンが作成された場合(公開済みの行にstatus: "published"を送信した場合)、返されるuuidとversionはパッチを適用したものとは異なります。以降の呼び出しには返されたuuidを使用してください。
以下のフィールドには型が定義されています。このオブジェクトには、ワークフロー設定のその他すべての列(機能の切り替え、しきい値、警告アクション、許可される書類、コールバック)も追加プロパティとして含まれます。workflow_typeに該当しないフィールドはnullです。
バージョンごとの識別子(settings_uuid)です。ワークフローの各バージョンがそれぞれ固有の値を持ちます。
ワークフローのすべてのバージョンで共有される不変の識別子。これを使って作成したセッションでは、公開済みの最新バージョンが使用されます。
ワークフローの表示名。
ワークフローテンプレート。テンプレートなしで作成されたグラフワークフローではnullです。
kyc, kyb, adaptive_age_verification, biometric_authentication, address_verification, questionnaire_verification, email_verification, phone_verification, null アプリケーションのデフォルトのワークフローかどうか。
アーカイブ済みのワークフローでは新しいセッションを開始できません。
ワークフロー内のバージョン番号。
ドラフトバージョンは編集できます。公開済みバージョンは変更できず、新しいセッションで使用されます。
draft, published このバージョンが公開された日時。下書きの場合はnullです。
ワークフローにカスタムのworkflow_graphがない場合はtrueです。
draftバージョンの場合のみtrueです。
このワークフローでセッションを開始する公開URLです。
ワークフローのグラフ構造(ノードとエッジ)。シンプルなワークフローではnullです。
有効な機能を" + "で連結したものです。例: "OCR + LIVENESS"。
セッション1件あたりの料金。グラフ型ワークフローでは最も高い経路の料金です。
ワークフロー内で最も安い経路の料金。
ワークフロー内で最も高い経路の料金。
組織固有のアドオン料金です。設定されていない場合はnullです。
認証が却下された後に許可される再試行回数。
再試行が許可される日数。
未完了のセッションが期限切れになるまでの秒数。
ワークフローに紐づくアンケート、またはnullです。
KYBの主要人物に対する役割ごとの検証設定です。
現在署名に使用できる電子署名のレベル。signature_levelを設定する前に確認してください。kyc、kyb、グラフワークフローで返されます。
Show child attributes
Show child attributes
シンプルなKYCまたはKYBワークフローで銀行認証を実行するかどうかです。連絡先ステップ(および位置情報認証)の後、データベース検証、AML、IP分析の前に実行されます。銀行認証はまだ一般提供されていません。有効化されていない場合、オンにしようとしても拒否されます。
シンプルなKYCワークフローで位置情報認証を実行するかどうかです。連絡先ステップの後、銀行認証とデータベース検証の前に実行されます。企業(KYB)ワークフローでは実行できません。
シンプルなワークフローの位置情報検証設定で、GEOLOCATIONノードと同じキー(例: is_geolocation_geofencing_enabledやgeolocation_max_attempts)を受け付けます。不明なキーは破棄されます。すべてのキーは任意で、指定しないキーはデフォルト値のままとなるため、{}はすべてデフォルト値を意味します。
{}