curl -X GET 'https://verification.didit.me/v3/webhook/destinations/11111111-2222-3333-4444-555555555555/deliveries/66666666-7777-8888-9999-000000000001/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.webhooks.destinations.retrieve_delivery(
"11111111-2222-3333-4444-555555555555",
"66666666-7777-8888-9999-000000000001",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.webhooks.destinations.retrieveDelivery(
"11111111-2222-3333-4444-555555555555",
"66666666-7777-8888-9999-000000000001",
);
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Webhooks.Destinations.RetrieveDelivery(ctx, "11111111-2222-3333-4444-555555555555", "66666666-7777-8888-9999-000000000001")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.webhooks().destinations().retrieveDelivery("11111111-2222-3333-4444-555555555555", "66666666-7777-8888-9999-000000000001");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->webhooks->destinations->retrieveDelivery('11111111-2222-3333-4444-555555555555', '66666666-7777-8888-9999-000000000001');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.webhooks.destinations.retrieve_delivery(
"11111111-2222-3333-4444-555555555555",
"66666666-7777-8888-9999-000000000001"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Webhooks.Destinations.RetrieveDeliveryAsync("11111111-2222-3333-4444-555555555555", "66666666-7777-8888-9999-000000000001");
Console.WriteLine(JsonSerializer.Serialize(result));获取 Webhook 投递详情 API
通过 Didit 查看单次 Webhook 投递尝试,包括 Didit 实际发送的签名请求头和 JSON payload,以及您的端点返回的状态码。
curl -X GET 'https://verification.didit.me/v3/webhook/destinations/11111111-2222-3333-4444-555555555555/deliveries/66666666-7777-8888-9999-000000000001/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.webhooks.destinations.retrieve_delivery(
"11111111-2222-3333-4444-555555555555",
"66666666-7777-8888-9999-000000000001",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.webhooks.destinations.retrieveDelivery(
"11111111-2222-3333-4444-555555555555",
"66666666-7777-8888-9999-000000000001",
);
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Webhooks.Destinations.RetrieveDelivery(ctx, "11111111-2222-3333-4444-555555555555", "66666666-7777-8888-9999-000000000001")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.webhooks().destinations().retrieveDelivery("11111111-2222-3333-4444-555555555555", "66666666-7777-8888-9999-000000000001");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->webhooks->destinations->retrieveDelivery('11111111-2222-3333-4444-555555555555', '66666666-7777-8888-9999-000000000001');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.webhooks.destinations.retrieve_delivery(
"11111111-2222-3333-4444-555555555555",
"66666666-7777-8888-9999-000000000001"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Webhooks.Destinations.RetrieveDeliveryAsync("11111111-2222-3333-4444-555555555555", "66666666-7777-8888-9999-000000000001");
Console.WriteLine(JsonSerializer.Serialize(result));secret_shared_key,从 request_body 重新计算 X-Signature-V2,具体方法见签名验证。为此请使用具有完整权限的密钥:包含脱敏值的请求体将无法与其签名匹配。
要再次发送此投递,请调用重新发送 Webhook 目标投递。授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
路径参数
投递发送至的 Webhook 目标的 UUID。
投递的 UUID:由 GET /v3/webhook/destinations/{destination_uuid}/deliveries/ 返回的条目的 uuid。
响应
投递,包含其请求头和请求体。
向 Webhook 目标发送的一次投递尝试,包含 Didit 发送的确切请求头和请求体。
投递 ID,用于获取详情和重新发送调用。
该事件涉及的用户验证会话。对于企业会话、用户、企业、交易、Travel Rule 和工作流事件为 null。
投递发送的目标 URL:生成事件时目标的 URL。
您的 endpoint 返回的 HTTP 状态码。在投递已排队且尚未尝试时为 null。未收到 HTTP 响应时,Didit 会记录自身的状态码:您的 endpoint 未在 5 秒内响应记录为 504,连接失败记录为 503,因 URL 不安全而被拒绝(例如私有或内部地址)记录为 400,其他任何请求错误记录为 404。400 或更高视为投递失败。
尝试所花费的时间,以毫秒为单位。投递处于队列中时为 null。
x >= 0事件生成时报告的状态:会话事件对应会话状态(例如 Approved 或 In Review),用户和企业事件对应个人或公司的状态,交易事件对应交易状态。对于不携带状态的事件为 null。
支持的 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 投递创建的时间。
Didit 发送的请求头的 JSON 文本(字符串):Content-Type、X-Signature、X-Signature-V2、X-Signature-Simple、X-Timestamp 和 User-Agent。请使用 JSON 解析器进行解析。其中包含签名,绝不会包含签名密钥。
Didit 发送的准确 payload 的 JSON 文本(字符串),键已排序,包括 event_id 和 timestamp。请使用 JSON 解析器进行解析;参见 Payload 结构。对于没有 media: read 权限的作用域密钥,其中的媒体 URL 为 null;没有 sessions: write 权限时,会话 token 和托管验证链接为 null。以此方式修改的请求体将不再与其签名匹配。Didit 不会记录您的 endpoint 返回的响应体。