メインコンテンツへスキップ
POST
curl
Webhookの送信先を使うと、Diditのイベントごとに異なるURLへ送信できます。各送信先は、それぞれ独自のsecret_shared_key、webhook_version、subscribed_eventsリストを持ちます。

subscribed_eventsの仕組み

subscribed_eventsは、イベント名を正確に指定する必須の配列です。Diditは、ペイロードのwebhook_typeが配列内のいずれかの値と一致する場合にのみ、この送信先へWebhookを配信します。
  • イベントを少なくとも1つ含めてください。
  • 以下に記載されたサポート対象のイベント名のみを使用してください。
  • 配信を受けたいイベントをすべて追加してください。*やallのようなワイルドカード値はありません。
  • 製品領域ごとに異なるシステムへ振り分けるには、異なるsubscribed_eventsリストを持つ送信先を複数作成してください。

イベントカタログ

Investigator(investigator.*)およびAuthentication(auth.*)のイベントファミリーも受け付けられます。すべてのイベントとそのペイロードはWebhooksに記載されています。 よく使われる購読の組み合わせ:
ペイロードの例と署名のコードについては、Webhookガイドを参照してください。

承認

x-api-key
string
header
必須

お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys

ボディ

application/json
label
string
必須

Console → Webhooksに表示される、人が読める名前。複数の送信先がある場合に区別しやすくなります(例:"Prod"、"Staging mirror")。

Maximum string length: 255
url
string<uri>
必須

POSTリクエストを受信するHTTPS URL。アプリケーションの送信先の中で一意である必要があります。安定した堅牢なエンドポイントを使用してください。Diditは失敗した配信をバックオフスケジュールに従って再試行します。

Maximum string length: 2000
enabled
boolean
デフォルト:true

falseの場合、送信先は保存されますが、DiditはこのWebhookの送信先にWebhookを一切送信しません。保留しておきたいステージング用の設定に便利です。

webhook_version
enum<string>

Diditが送信するペイロードのスキーマバージョン。v3が現在の推奨形式です。旧バージョンは従来の連携との後方互換性のために維持されています。

利用可能なオプション:
v1,
v2,
v3
subscribed_events
enum<string>[]

配信するイベントです。実質的に必須です。明示的な[]は400で拒否され、フィールドを省略すると、サブスクリプションがなく何も受信しない送信先が作成されます。

Minimum array length: 1

サポートされているWebhookイベント名。subscribed_eventsではこれらの文字列を正確に使用してください。サポートされていない値は拒否されます。

利用可能なオプション:
status.updated,
data.updated,
user.status.updated,
user.data.updated,
business.status.updated,
business.data.updated,
activity.created,
transaction.created,
transaction.status.updated,
travel_rule.status.updated,
workflow.compliance_changed,
transaction_rule_suggestions.created,
auth.signup,
auth.login,
auth.login_failed,
auth.password_reset_requested,
auth.password_reset_completed,
auth.mfa_changed,
auth.new_device,
auth.account_locked,
investigator.report.ready,
investigator.decision.automated,
investigator.decision.overridden,
investigator.decision.contested,
investigator.question.raised,
investigator.automation.paused,
investigator.rfi.answered,
investigator.rfi.overdue,
investigator.drift.detected,
investigator.sla.breached,
investigator.qa.failed,
investigator.external.report.ready
例:

レスポンス

送信先が作成されました。secret_shared_keyはHMAC署名用のシークレットです。今すぐ保存してください。

uuid
string<uuid>

不変の送信先識別子。以降の呼び出しで{destination_uuid}として使用します。

label
string
url
string<uri>
enabled
boolean
webhook_version
enum<string>
利用可能なオプション:
v1,
v2,
v3
secret_shared_key
string

この送信先に紐付けられた、自動生成のHMAC署名シークレット(43文字のURLセーフなトークン)。受信したWebhookの署名ヘッダーの検証に使用します。APIキーで呼び出した場合は常に完全な値が返されます。Consoleユーザーにはread:webhooks権限が必要で、権限がない場合は空文字列が表示されます。

secret_last4
string

送信先の現在の署名シークレットの末尾4文字。シークレットを区別するために使用します。署名の検証にはこれだけでは不十分です。

previous_secret_expires_at
string<date-time> | null

Business Consoleで送信先の署名シークレットをローテーションしてから24時間、設定されます。この時刻までは、送信先へのすべての配信に、置き換えられたシークレットで作成されたX-Signature-Previous、X-Signature-V2-Previous、X-Signature-Simple-Previousも付与されます(署名検証を参照)。過去24時間にローテーションが行われていない場合はnullです。

subscribed_events
enum<string>[]

このWebhookの送信先のイベントフィルターです。Diditは、イベントタイプがこれらの値のいずれかに完全に一致するWebhookのみを配信します。ワイルドカードによるサブスクリプションはありません。送信する場合、リストには有効なイベントを1つ以上含める必要があります(明示的な[]は400で拒否されます)。リストが空の送信先(作成時にフィールドを省略した場合)は何も受信しません。更新時、リストはマージされず、常に全体が置き換えられます。

Minimum array length: 1

サポートされているWebhookイベント名。subscribed_eventsではこれらの文字列を正確に使用してください。サポートされていない値は拒否されます。

利用可能なオプション:
status.updated,
data.updated,
user.status.updated,
user.data.updated,
business.status.updated,
business.data.updated,
activity.created,
transaction.created,
transaction.status.updated,
travel_rule.status.updated,
workflow.compliance_changed,
transaction_rule_suggestions.created,
auth.signup,
auth.login,
auth.login_failed,
auth.password_reset_requested,
auth.password_reset_completed,
auth.mfa_changed,
auth.new_device,
auth.account_locked,
investigator.report.ready,
investigator.decision.automated,
investigator.decision.overridden,
investigator.decision.contested,
investigator.question.raised,
investigator.automation.paused,
investigator.rfi.answered,
investigator.rfi.overdue,
investigator.drift.detected,
investigator.sla.breached,
investigator.qa.failed,
investigator.external.report.ready
例:
created_by_email
string | null

送信先を作成したBusiness Consoleメンバーのメールアドレス。APIキーで作成された送信先の場合はnull。

created_by_name
string | null

送信先を作成したBusiness Consoleメンバーの名前。APIキーで作成された送信先の場合はnullです。

created_at
string<date-time>
updated_at
string<date-time>
health_status
enum<string>

配信の健全性。failing: 送信先が最後に正常に応答して以降、3件以上の連続したイベントで最初の配信試行が失敗した状態です(failing_streakを参照)。degraded: failingではないものの、過去24時間以内に配信試行が失敗し、そのイベントがその後の試行でまだ配信されていない状態です。再試行または再送信で配信されると、この状態は解消されます。healthy: どちらにも該当しない状態です。enabledとは独立しています。失敗した試行とは、HTTP 400以上で応答された試行、またはまったく応答がなかった試行です。

利用可能なオプション:
healthy,
degraded,
failing
failing_streak
integer

過去30日以内に、送信先が最後に成功応答して以降、最初の配信試行に連続して失敗したイベントの数です。再試行はカウントされず、再試行や再送を含め、いずれかの試行が成功すると連続記録は途切れます。最後の成功以降に失敗したイベントがない場合は0です。

failing_since
string<date-time> | null

現在のfailing_streakにおける最初の失敗した試行が行われた日時。failing_streakが0の場合はnull。

last_success_at
string<date-time> | null

過去30日以内に、送信先が配信に対して400未満のHTTPステータスで最後に応答した日時。その期間内に該当する応答がない場合はnull。

environment
enum<string>

送信先を所有するアプリケーションの環境。

利用可能なオプション:
live,
sandbox
summary
object

直近metrics_window_days(30)日間の配信メトリクス。last_delivery_atは、いつ行われたかにかかわらず最新の試行です。

最終更新日 2026年11月1日