curl -X POST 'https://verification.didit.me/v3/webhook/destinations/11111111-2222-3333-4444-555555555555/deliveries/66666666-7777-8888-9999-000000000001/resend/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.webhooks.destinations.resend_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.resendDelivery(
"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.ResendDelivery(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().resendDelivery("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->resendDelivery('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.resend_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.ResendDeliveryAsync("11111111-2222-3333-4444-555555555555", "66666666-7777-8888-9999-000000000001");
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "66666666-7777-8888-9999-000000000004",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 200,
"response_time_ms": 151,
"status": "In Progress",
"webhook_type": "status.updated",
"created_at": "2026-10-16T14:05:42.330981Z",
"request_header": "{\"Content-Type\": \"application/json\", \"X-Signature\": \"b8eb1e376517ee0cad8ba98ff7f8fd35fc72eca231000963a96a335f82328835\", \"X-Signature-V2\": \"9efd2ce9ed1303e1d05273ef9608a59363ed9789a05253db4748b3e8e50cb109\", \"X-Signature-Simple\": \"bf3a9dc04b2c20ab539203b0cd5cca2a10f630bf62d8feb6d68d82af80f64774\", \"X-Timestamp\": \"1792159542\", \"User-Agent\": \"DiditWebhook/2.0 +https://didit.me\"}",
"request_body": "{\"application_id\":\"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\"created_at\":1792056057,\"environment\":\"live\",\"event_id\":\"33333333-4444-5555-6666-777777777777\",\"sandbox_scenario\":null,\"session_id\":\"22222222-3333-4444-5555-666666666666\",\"status\":\"In Progress\",\"timestamp\":1792159542,\"vendor_data\":\"user-123\",\"webhook_type\":\"status.updated\",\"workflow_id\":\"44444444-5555-6666-7777-888888888888\",\"workflow_version\":3}"
}Kirim Ulang Pengiriman Webhook API
Kirim ulang pengiriman webhook lama ke endpoint Anda dengan tanda tangan baru. Didit mengembalikan percobaan baru dan status HTTP-nya.
curl -X POST 'https://verification.didit.me/v3/webhook/destinations/11111111-2222-3333-4444-555555555555/deliveries/66666666-7777-8888-9999-000000000001/resend/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.webhooks.destinations.resend_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.resendDelivery(
"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.ResendDelivery(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().resendDelivery("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->resendDelivery('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.resend_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.ResendDeliveryAsync("11111111-2222-3333-4444-555555555555", "66666666-7777-8888-9999-000000000001");
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "66666666-7777-8888-9999-000000000004",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 200,
"response_time_ms": 151,
"status": "In Progress",
"webhook_type": "status.updated",
"created_at": "2026-10-16T14:05:42.330981Z",
"request_header": "{\"Content-Type\": \"application/json\", \"X-Signature\": \"b8eb1e376517ee0cad8ba98ff7f8fd35fc72eca231000963a96a335f82328835\", \"X-Signature-V2\": \"9efd2ce9ed1303e1d05273ef9608a59363ed9789a05253db4748b3e8e50cb109\", \"X-Signature-Simple\": \"bf3a9dc04b2c20ab539203b0cd5cca2a10f630bf62d8feb6d68d82af80f64774\", \"X-Timestamp\": \"1792159542\", \"User-Agent\": \"DiditWebhook/2.0 +https://didit.me\"}",
"request_body": "{\"application_id\":\"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\"created_at\":1792056057,\"environment\":\"live\",\"event_id\":\"33333333-4444-5555-6666-777777777777\",\"sandbox_scenario\":null,\"session_id\":\"22222222-3333-4444-5555-666666666666\",\"status\":\"In Progress\",\"timestamp\":1792159542,\"vendor_data\":\"user-123\",\"webhook_type\":\"status.updated\",\"workflow_id\":\"44444444-5555-6666-7777-888888888888\",\"workflow_version\":3}"
}event_id sebelum mengirim ulang secara massal, dan kirim ulang hanya pengiriman yang response_status-nya null atau 400 ke atas.Otorisasi
Kunci API aplikasi Anda, dari Developers -> API keys di Business Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat https://docs.didit.me/console/api-keys.
Parameter Path
UUID tujuan yang menjadi tujuan pengiriman tersebut.
UUID pengiriman yang akan dikirim ulang: uuid dari entri yang dikembalikan oleh GET /v3/webhook/destinations/{destination_uuid}/deliveries/.
Respons
Pengiriman baru, yang sudah dicoba. response_status adalah respons yang diberikan endpoint Anda kali ini (504 batas waktu habis, 503 kegagalan koneksi). Pengiriman asli tidak berubah.
Satu upaya pengiriman ke tujuan webhook, dengan header dan body permintaan persis seperti yang dikirimkan Didit.
ID pengiriman, untuk panggilan guna melihat detail dan mengirim ulang.
Sesi verifikasi pengguna yang terkait dengan event tersebut. null untuk event sesi bisnis, pengguna, bisnis, transaksi, Travel Rule, dan alur kerja.
URL tujuan pengiriman: URL tujuan saat event dibuat.
Status HTTP yang dikembalikan endpoint Anda. null saat pengiriman berada dalam antrean dan belum dicoba. Ketika tidak ada jawaban HTTP yang diterima, Didit mencatat statusnya sendiri: 504 ketika endpoint Anda tidak menjawab dalam 5 detik, 503 untuk kegagalan koneksi, 400 ketika URL ditolak karena tidak aman (misalnya alamat privat atau internal), dan 404 untuk kesalahan permintaan lainnya. 400 ke atas dihitung sebagai pengiriman gagal.
Waktu yang dibutuhkan percobaan, dalam milidetik. null saat pengiriman sedang dalam antrean.
x >= 0Status yang dilaporkan event saat dibuat: status sesi untuk event sesi (misalnya Approved atau In Review), status individu atau perusahaan untuk event pengguna dan bisnis, serta status transaksi untuk event transaksi. null untuk event yang tidak membawa status.
Nama event webhook yang didukung. Gunakan string persis ini di subscribed_events; nilai yang tidak didukung akan ditolak.
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 Waktu ketika pengiriman dibuat.
Teks JSON (string) dari header permintaan yang dikirim Didit: Content-Type, X-Signature, X-Signature-V2, X-Signature-Simple, X-Timestamp, dan User-Agent. Parse teks ini dengan parser JSON. Teks ini memuat tanda tangan, tidak pernah rahasia penandatanganan.
Teks JSON (string) dari payload persis yang dikirim Didit, kunci diurutkan, termasuk event_id dan timestamp. Parse teks ini dengan parser JSON; lihat Bentuk payload. Untuk kunci dengan cakupan tanpa media: read, URL media di dalamnya bernilai null; tanpa sessions: write, token sesi dan tautan verifikasi yang di-hosting bernilai null. Body yang diubah dengan cara tersebut tidak lagi cocok dengan tanda tangannya. Didit tidak merekam body respons yang dikembalikan endpoint Anda.